yl
2024-06-14 54bfe544f50d0933ebc27583decb9ab61e01146f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
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
    }
}