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();
|
RedisCommon redis = new RedisCommon();
|
|
#region[质量管理,缺陷定义查询列表]
|
/// <summary>
|
/// 质量管理,缺陷定义查询列表
|
/// </summary>
|
/// <param name="defectcode">缺陷代码</param>
|
/// <param name="defectname">缺陷名称</param>
|
/// <param name="defectdescr">缺陷描述</param>
|
/// <param name="page">页码</param>
|
/// <param name="rows">每页显示条数</param>
|
/// <param name="prop">排序字段</param>
|
/// <param name="order">排序规则</param>
|
/// <returns></returns>
|
[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[质量管理,缺陷定义新增、编辑提交]
|
/// <summary>
|
/// 质量管理,缺陷定义新增、编辑提交
|
/// </summary>
|
/// <param name="obj">提交数据</param>
|
/// <returns></returns>
|
[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[质量管理,缺陷定义删除]
|
/// <summary>
|
/// 质量管理,缺陷定义删除
|
/// </summary>
|
/// <param name="defectcode">缺陷代码</param>
|
/// <returns></returns>
|
[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[工序检验项目列表查询]
|
/// <summary>
|
/// 工序检验项目列表查询
|
/// </summary>
|
/// <param name="itemcode">检验项目编码</param>
|
/// <param name="itemname">检验项目名称</param>
|
/// <param name="itemdescr">检验项目描述</param>
|
/// <param name="page">页码</param>
|
/// <param name="rows">每页显示条数</param>
|
/// <param name="prop">排序字段</param>
|
/// <param name="order">排序规则</param>
|
/// <returns></returns>
|
[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[工序检验项目新增、编辑提交]
|
/// <summary>
|
/// 工序检验项目新增、编辑提交
|
/// </summary>
|
/// <param name="obj">提交数据</param>
|
/// <returns></returns>
|
[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[工序检验项目删除]
|
/// <summary>
|
/// 工序检验项目删除
|
/// </summary>
|
/// <param name="checkitemcode">检验项目代码</param>
|
/// <returns></returns>
|
[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[工序质检方案列表查询]
|
/// <summary>
|
/// 工序质检方案列表查询
|
/// </summary>
|
/// <param name="qualityinsptcode">质检方案编码</param>
|
/// <param name="qualityinsptname">质检方案名称</param>
|
/// <param name="status">有效状态</param>
|
/// <param name="checktype">质检类型</param>
|
/// <param name="sampltype">抽样方式</param>
|
/// <param name="suitobject">适用对象</param>
|
/// <param name="page">页码</param>
|
/// <param name="rows">每页显示条数</param>
|
/// <param name="prop">排序字段</param>
|
/// <param name="order">排序规则</param>
|
/// <returns></returns>
|
[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[工序质检方案查看编辑]
|
/// <summary>
|
/// 工序质检方案查看编辑
|
/// </summary>
|
/// <param name="qualityinsptcode">质检方案编码</param>
|
/// <returns></returns>
|
[Route(template: "QualityInspectionSeeEdit")]
|
[HttpGet]
|
public JsonResult QualityInspectionSeeEdit(string qualityinsptcode)
|
{
|
mes = QualityManagementBLL.QualityInspectionSeeEdit(qualityinsptcode);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[工序质检方案新增、编辑获取检验项目下拉列表]
|
/// <summary>
|
/// 工序质检方案新增、编辑获取检验项目下拉列表
|
/// </summary>
|
/// <returns></returns>
|
[Route(template: "QualityStepCheckItemSelect")]
|
[HttpGet]
|
public JsonResult QualityStepCheckItemSelect()
|
{
|
mes = QualityManagementBLL.QualityStepCheckItemSelect();
|
return Json(mes);
|
}
|
#endregion
|
|
#region[工序质检方案新增/编辑提交]
|
/// <summary>
|
/// 工序质检方案新增/编辑提交
|
/// </summary>
|
/// <param name="obj">提交数据</param>
|
/// <returns></returns>
|
[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[工序质检方案删除]
|
/// <summary>
|
/// 工序质检方案删除
|
/// </summary>
|
/// <param name="qualityinsptcode">质检方案编码</param>
|
/// <returns></returns>
|
[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[工序检验扫码获取任务信息]
|
/// <summary>
|
/// 工序检验扫码获取任务信息
|
/// </summary>
|
/// <param name="orderstepqrcode">扫描工序二维码信息</param>
|
/// <param name="checktype">检验方式FirstCheck(首检) PatroCheck(巡检) EndCheck(完工检)</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderStepCheckSearch")]
|
[HttpGet]
|
public JsonResult MesOrderStepCheckSearch(string orderstepqrcode, string checktype)
|
{
|
mes = QualityManagementBLL.MesOrderStepCheckSearch(orderstepqrcode, checktype);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[工序检验根据选择的检验方案查找检验项目]
|
/// <summary>
|
/// 入厂检验,工序检验根据选择的检验方案查找检验项目
|
/// </summary>
|
/// <param name="checkstandcode">检验方案编码</param>
|
/// <returns></returns>
|
[Route(template: "MesOrderStepCheckItemList")]
|
[HttpGet]
|
public JsonResult MesOrderStepCheckItemList(string checkstandcode)
|
{
|
mes = QualityManagementBLL.MesOrderStepCheckItemList(checkstandcode);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[工序检验,提交]
|
/// <summary>
|
/// 工序检验,提交
|
/// </summary>
|
/// <returns></returns>
|
[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[工序检验记录列表查询]
|
/// <summary>
|
/// 工序检验记录列表查询
|
/// </summary>
|
/// <param name="wocode">工单编号</param>
|
/// <param name="partcode">产品编码</param>
|
/// <param name="partname">产品名称</param>
|
/// <param name="partapec">产品名称</param>
|
/// <param name="stepname">产品名称</param>
|
/// <param name="standname">产品名称</param>
|
/// <param name="checktype">检验类型编码</param>
|
/// <param name="checkresult">检验结果</param>
|
/// <param name="page">页码</param>
|
/// <param name="rows">每页显示条数</param>
|
/// <param name="prop">排序字段</param>
|
/// <param name="order">排序规则</param>
|
/// <returns></returns>
|
[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[工序检验记录列表明细查询]
|
/// <summary>
|
/// 工序检验记录列表查询
|
/// </summary>
|
/// <param name="id">主表id</param>
|
/// <returns></returns>
|
[Route(template: "StepCheckTableSubSearch")]
|
[HttpGet]
|
public JsonResult StepCheckTableSubSearch(string id)
|
{
|
mes = QualityManagementBLL.StepCheckTableSubSearch(id);
|
return Json(mes);
|
}
|
#endregion
|
|
#region[工序检验记录导出]
|
/// <summary>
|
/// 工序检验记录导出
|
/// </summary>
|
/// <param name="wocode">工单编号</param>
|
/// <param name="partcode">产品编码</param>
|
/// <param name="partname">产品名称</param>
|
/// <param name="partapec">产品名称</param>
|
/// <param name="stepname">产品名称</param>
|
/// <param name="standname">产品名称</param>
|
/// <param name="checktype">检验类型编码</param>
|
/// <param name="checkresult">检验结果</param>
|
/// <param name="prop">排序字段</param>
|
/// <param name="order">排序规则</param>
|
/// <returns></returns>
|
[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
|
}
|
}
|