using Microsoft.AspNetCore.Mvc; using Newtonsoft.Json.Linq; using System; using System.Collections.Generic; using System.Linq; using System.Threading.Tasks; using VueWebCoreApi.DLL.BLL; using VueWebCoreApi.Models; using VueWebCoreApi.Tools; namespace VueWebCoreApi.Controllers { [ApiExplorerSettings(GroupName = "质量管理")] [ApiController] [Route("api/[controller]")] [ChannelActionFilter] public class QualityManagementController : Controller { //定义全局信息返回变量 ToMessage mes = new ToMessage(); RedisHelper redis = new RedisHelper(); #region[质量管理,缺陷定义查询列表] /// /// 质量管理,缺陷定义查询列表 /// /// 缺陷代码 /// 缺陷名称 /// 缺陷描述 /// 页码 /// 每页显示条数 /// 排序字段 /// 排序规则 /// [Route(template: "DedectSearch")] [HttpGet] public JsonResult DedectSearch(string defectcode = null, string defectname = null, string defectdescr = null, int page = 0, int rows = 0, string prop = null, string order = null) { int startNum = rows * (page - 1) + 1; //起始记录rowNum int endNum = rows * page; //结束记录 rowNum mes = QualityManagementBLL.DedectSearch(defectcode, defectname, defectdescr, startNum, endNum, prop, order); return Json(mes); } #endregion #region[质量管理,缺陷定义新增、编辑提交] /// /// 质量管理,缺陷定义新增、编辑提交 /// /// 提交数据 /// [Route(template: "AddUpdateDedect")] [HttpPost] public JsonResult AddUpdateDedect([FromBody] JObject obj) { var token = HttpContext.Request.Headers["Token"].ToString(); User us = JwtTools.Denocode(token.ToString()); string defectcode = obj["defectcode"].ToString(); //缺陷代码 string defectname = obj["defectname"].ToString(); //缺陷名称 string defectdescr = obj["defectdescr"].ToString(); //缺陷描述 string opertype = obj["OperType"].ToString(); //操作类型 mes = QualityManagementBLL.AddUpdateDedect(defectcode, defectname, defectdescr, opertype, us); return Json(mes); } #endregion #region[质量管理,缺陷定义删除] /// /// 质量管理,缺陷定义删除 /// /// 缺陷代码 /// [Route(template: "DeleteDedect")] [HttpPost] public JsonResult DeleteDedect(string defectcode) { var token = HttpContext.Request.Headers["Token"].ToString(); User us = JwtTools.Denocode(token.ToString()); mes = QualityManagementBLL.DeleteDedect(defectcode,us); return Json(mes); } #endregion #region[工序检验项目列表查询] /// /// 工序检验项目列表查询 /// /// 检验项目编码 /// 检验项目名称 /// 检验项目描述 /// 页码 /// 每页显示条数 /// 排序字段 /// 排序规则 /// [Route(template: "StepCheckItemSearch")] [HttpGet] public JsonResult StepCheckItemSearch(string itemcode = null, string itemname = null, string itemdescr = null, int page = 0, int rows = 0, string prop = null, string order = null) { int startNum = rows * (page - 1) + 1; //起始记录rowNum int endNum = rows * page; //结束记录 rowNum mes = QualityManagementBLL.StepCheckItemSearch(itemcode, itemname, itemdescr, startNum, endNum, prop, order); return Json(mes); } #endregion #region[工序检验项目新增、编辑提交] /// /// 工序检验项目新增、编辑提交 /// /// 提交数据 /// [Route(template: "AddUpdateStepCheckItem")] [HttpPost] public JsonResult AddUpdateStepCheckItem([FromBody] JObject obj) { var token = HttpContext.Request.Headers["Token"].ToString(); User us = JwtTools.Denocode(token.ToString()); string checkitemcode = obj["checkitemcode"].ToString(); //工序检验项目代码 string checkitemname = obj["checkitemname"].ToString(); //工序检验项目名称 string checkitemdescr = obj["checkitemdescr"].ToString(); //工序检验项目描述 string opertype = obj["OperType"].ToString(); //操作类型 mes = QualityManagementBLL.AddUpdateStepCheckItem(checkitemcode, checkitemname, checkitemdescr, opertype, us); return Json(mes); } #endregion #region[工序检验项目删除] /// /// 工序检验项目删除 /// /// 检验项目代码 /// [Route(template: "DeleteStepCheckItem")] [HttpPost] public JsonResult DeleteStepCheckItem(string checkitemcode) { var token = HttpContext.Request.Headers["Token"].ToString(); User us = JwtTools.Denocode(token.ToString()); mes = QualityManagementBLL.DeleteStepCheckItem(checkitemcode, us); return Json(mes); } #endregion #region[工序质检方案列表查询] /// /// 工序质检方案列表查询 /// /// 质检方案编码 /// 质检方案名称 /// 有效状态 /// 质检类型 /// 抽样方式 /// 适用对象 /// 页码 /// 每页显示条数 /// 排序字段 /// 排序规则 /// [Route(template: "QualityInspectionSearch")] [HttpGet] public JsonResult QualityInspectionSearch(string qualityinsptcode = null, string qualityinsptname = null, string status = null, string checktype = null, string sampltype = null, string suitobject = null, int page = 0, int rows = 0, string prop = null, string order = null) { int startNum = rows * (page - 1) + 1; //起始记录rowNum int endNum = rows * page; //结束记录 rowNum mes = QualityManagementBLL.QualityInspectionSearch(qualityinsptcode, qualityinsptname, status, checktype, sampltype, suitobject, startNum, endNum, prop, order); return Json(mes); } #endregion #region[工序质检方案查看编辑] /// /// 工序质检方案查看编辑 /// /// 质检方案编码 /// [Route(template: "QualityInspectionSeeEdit")] [HttpGet] public JsonResult QualityInspectionSeeEdit(string qualityinsptcode) { mes = QualityManagementBLL.QualityInspectionSeeEdit(qualityinsptcode); return Json(mes); } #endregion #region[工序质检方案新增、编辑获取检验项目下拉列表] /// /// 工序质检方案新增、编辑获取检验项目下拉列表 /// /// [Route(template: "QualityStepCheckItemSelect")] [HttpGet] public JsonResult QualityStepCheckItemSelect() { mes = QualityManagementBLL.QualityStepCheckItemSelect(); return Json(mes); } #endregion #region[工序质检方案新增/编辑提交] /// /// 工序质检方案新增/编辑提交 /// /// 提交数据 /// [Route(template: "QualityInspectionAddEditSave")] [HttpPost] public JsonResult QualityInspectionAddEditSave([FromBody] JObject obj) { string qualityinsptcode = obj["qualityinsptcode"].ToString(); //质检方案编码 string qualityinsptname = obj["qualityinsptname"].ToString(); //质检方案名称 string status = obj["status"].ToString(); //有效状态 string checktype = obj["checktype"].ToString(); //检验类型 string sampmethod = obj["sampmethod"].ToString(); //抽检方式 string sampscare = obj["sampscare"].ToString(); //固定抽检(样本数) 比例抽检(百分比) string suitobject = obj["suitobject"].ToString(); //适用对象 string suitpart = obj["suitpart"].ToString(); //适用物料(编码)或者物料类型(编码) string descr = obj["descr"].ToString(); //检验方案描述 string stepcode = obj["stepcode"].ToString(); //工序编码(首检、巡检、完工检验) string checkitem = obj["checkitem"].ToString(); //质检列表 string type = obj["type"].ToString(); //操作类型 var token = HttpContext.Request.Headers["Token"].ToString(); User us = JwtTools.Denocode(token.ToString()); mes = QualityManagementBLL.QualityInspectionAddEditSave(qualityinsptcode, qualityinsptname, status, checktype, sampmethod, sampscare, suitobject, suitpart, descr, stepcode, checkitem, type, us); return Json(mes); } #endregion #region[工序质检方案删除] /// /// 工序质检方案删除 /// /// 质检方案编码 /// [Route(template: "QualityInspectionDelete")] [HttpPost] public JsonResult QualityInspectionDelete(string qualityinsptcode) { var token = HttpContext.Request.Headers["Token"].ToString(); User us = JwtTools.Denocode(token.ToString()); mes = QualityManagementBLL.QualityInspectionDelete(qualityinsptcode, us); return Json(mes); } #endregion #region[工序检验扫码获取任务信息] /// /// 工序检验扫码获取任务信息 /// /// 扫描工序二维码信息 /// 检验方式FirstCheck(首检) PatroCheck(巡检) EndCheck(完工检) /// [Route(template: "MesOrderStepCheckSearch")] [HttpGet] public JsonResult MesOrderStepCheckSearch(string orderstepqrcode, string checktype) { mes = QualityManagementBLL.MesOrderStepCheckSearch(orderstepqrcode, checktype); return Json(mes); } #endregion #region[工序检验根据选择的检验方案查找检验项目] /// /// 入厂检验,工序检验根据选择的检验方案查找检验项目 /// /// 检验方案编码 /// [Route(template: "MesOrderStepCheckItemList")] [HttpGet] public JsonResult MesOrderStepCheckItemList(string checkstandcode) { mes = QualityManagementBLL.MesOrderStepCheckItemList(checkstandcode); return Json(mes); } #endregion #region[工序检验,提交] /// /// 工序检验,提交 /// /// [Route(template: "SaveMesOrderStepCheckItem")] [HttpPost] public JsonResult SaveMesOrderStepCheckItem([FromBody] JObject obj) { var token = HttpContext.Request.Headers["Token"].ToString(); User us = JwtTools.Denocode(token.ToString()); string wocode = obj["wocode"].ToString(); //工单编号 string partcode = obj["partcode"].ToString(); //产品编码 string stepcode = obj["stepcode"].ToString(); //工序编码 string checkstandcode = obj["checkstandcode"].ToString(); //质检方案编码 string check_type = obj["check_type"].ToString(); //检验方式FirstCheck(首检) PatroCheck(巡检) EndCheck(完工检) string sampmethod = obj["sampmethod"].ToString(); //抽检方式:固定抽检(FIXED) 比例抽检(SCARE) string qualitystatus = obj["qualitystatus"].ToString(); //质量状态(合格、不合格) string labqty = obj["good_qty"].ToString(); //工序任务合格数量 string sampleqty = obj["sampleqty"].ToString(); //样本数量 string goodqty = obj["goodqty"].ToString(); //合格数量 string ngqty = obj["ngqty"].ToString();//不合格数量 string checkitemcont = obj["checkitemcont"].ToString(); //检验项目数据 mes = QualityManagementBLL.SaveMesOrderStepCheckItem(wocode, partcode, stepcode, checkstandcode, check_type, sampmethod, qualitystatus, labqty, sampleqty, goodqty, ngqty, checkitemcont, us); return Json(mes); } #endregion #region[工序检验记录列表查询] /// /// 工序检验记录列表查询 /// /// 工单编号 /// 产品编码 /// 产品名称 /// 产品名称 /// 产品名称 /// 产品名称 /// 检验类型编码 /// 检验结果 /// 页码 /// 每页显示条数 /// 排序字段 /// 排序规则 /// [Route(template: "StepCheckTableSearch")] [HttpGet] public JsonResult StepCheckTableSearch(string wocode = null, string partcode = null, string partname = null, string partapec = null, string stepname = null, string standname = null, string checktype = null, string checkresult = null, int page = 0, int rows = 0, string prop = null, string order = null) { int startNum = rows * (page - 1) + 1; //起始记录rowNum int endNum = rows * page; //结束记录 rowNum mes = QualityManagementBLL.StepCheckTableSearch(wocode, partcode, partname, partapec, stepname, standname, checktype, checkresult, startNum, endNum, prop, order); return Json(mes); } #endregion #region[工序检验记录列表明细查询] /// /// 工序检验记录列表查询 /// /// 主表id /// [Route(template: "StepCheckTableSubSearch")] [HttpGet] public JsonResult StepCheckTableSubSearch(string id) { mes = QualityManagementBLL.StepCheckTableSubSearch(id); return Json(mes); } #endregion #region[工序检验记录导出] /// /// 工序检验记录导出 /// /// 工单编号 /// 产品编码 /// 产品名称 /// 产品名称 /// 产品名称 /// 产品名称 /// 检验类型编码 /// 检验结果 /// 排序字段 /// 排序规则 /// [Route(template: "StepCheckTableOutExcel")] [HttpGet] public JsonResult StepCheckTableOutExcel(string wocode = null, string partcode = null, string partname = null, string partapec = null, string stepname = null, string standname = null, string checktype = null, string checkresult = null, string prop = null, string order = null) { mes = QualityManagementBLL.StepCheckTableOutExcel(wocode, partcode, partname, partapec, stepname, standname, checktype, checkresult, prop, order); return Json(mes); } #endregion } }