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[质量管理,缺陷定义查询列表]
///
/// 质量管理,缺陷定义查询列表
///
/// 缺陷代码
/// 缺陷名称
/// 缺陷描述
/// 页码
/// 每页显示条数
/// 排序字段
/// 排序规则
///
[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
}
}