diff --git a/src/main/java/com/xujie/sys/modules/pms/controller/QcController.java b/src/main/java/com/xujie/sys/modules/pms/controller/QcController.java index ddf94987..787f2f41 100644 --- a/src/main/java/com/xujie/sys/modules/pms/controller/QcController.java +++ b/src/main/java/com/xujie/sys/modules/pms/controller/QcController.java @@ -6,7 +6,6 @@ import com.xujie.sys.modules.pms.data.*; import com.xujie.sys.modules.pms.data.QcMasterInformationData; import com.xujie.sys.modules.pms.entity.DetailTree; import com.xujie.sys.modules.pms.entity.vo.CheckSubDetailValueVo; -import com.xujie.sys.modules.pms.mapper.QcMapper; import com.xujie.sys.modules.pms.service.EamService; import com.xujie.sys.modules.pms.service.QcService; import com.xujie.sys.modules.pms.util.ResponseData; @@ -31,9 +30,6 @@ public class QcController { @Autowired private EamService eamService; - @Autowired - private QcMapper qcMapper; - // ======================= 检验方法API ======================= /** @@ -43,19 +39,10 @@ public class QcController { * @param: [data] * @return: java.util.Map **/ - @PostMapping("/qcCheckOutMethodSearch") - @ResponseBody - public Map qcCheckOutMethodSearch(@RequestBody QcMethodData data){ - Map map = new HashMap<>(); - try { - List row = qcService.qcCheckOutMethodSearch(data); - map.put("rows", row); - map.put("success", true); - } catch (Exception e) { - map.put("success", false); - map.put("msg", e.getMessage()); - } - return map; + @PostMapping("/qcMethodSearch") + public R qcMethodSearch(@RequestBody QcMethodData data){ + List list = qcService.qcMethodSearch(data); + return R.ok().put("rows", list); } /** @@ -65,17 +52,10 @@ public class QcController { * @param: [data] * @return: com.xujie.sys.modules.pms.util.ResponseData **/ - @PostMapping(value="/qcCheckOutMethodSave") - @ResponseBody - public ResponseData qcCheckOutMethodSave(@RequestBody QcMethodData data){ - ResponseData responseData = new ResponseData(); - try { - responseData = qcService.qcCheckOutMethodSave(data); - } catch (Exception e) { - responseData.setCode("400"); - responseData.setMsg(e.getMessage()); - } - return responseData; + @PostMapping(value="/qcMethodSave") + public R qcMethodSave(@RequestBody QcMethodData data){ + qcService.qcMethodSave(data); + return R.ok(); } /** @@ -85,17 +65,10 @@ public class QcController { * @param: [data] * @return: com.xujie.sys.modules.pms.util.ResponseData **/ - @PostMapping(value="/qcCheckOutMethodUpdate") - @ResponseBody - public ResponseData qcCheckOutMethodUpdate(@RequestBody QcMethodData data){ - ResponseData responseData = new ResponseData(); - try { - responseData = qcService.qcCheckOutMethodUpdate(data); - } catch (Exception e) { - responseData.setCode("400"); - responseData.setMsg(e.getMessage()); - } - return responseData; + @PostMapping(value="/qcMethodUpdate") + public R qcMethodUpdate(@RequestBody QcMethodData data){ + qcService.qcMethodUpdate(data); + return R.ok(); } /** @@ -105,41 +78,26 @@ public class QcController { * @param: [data] * @return: com.xujie.sys.modules.pms.util.ResponseData **/ - @PostMapping(value="/qcCheckOutMethodDelete") + @PostMapping(value="/qcMethodDelete") @ResponseBody - public ResponseData qcCheckOutMethodDelete(@RequestBody QcMethodData data){ - ResponseData responseData = new ResponseData(); - try { - responseData = qcService.qcCheckOutMethodDelete(data); - } catch (Exception e) { - responseData.setCode("400"); - responseData.setMsg(e.getMessage()); - } - return responseData; + public R qcMethodDelete(@RequestBody QcMethodData data){ + qcService.qcMethodDelete(data); + return R.ok(); } // ======================= 检验项目API ======================= /** - * @description: 根据条件查询检验项目 + * @description: 查询检验项目 * @author: fengyuan_yang * @date: 2023/3/20 17:03 * @param: [data] * @return: java.lang.Object **/ - @PostMapping(value="/qcCheckOutItemSearch") - @ResponseBody - public Object qcCheckOutItemSearch(@RequestBody QcCheckOutItemData data){ - Map map = new HashMap<>(); - try { - List row = qcService.qcCheckOutItemSearch(data); - map.put("rows", row); - map.put("success", true); - } catch (Exception e) { - map.put("success", false); - map.put("msg", e.getMessage()); - } - return map; + @PostMapping(value="/qcItemSearch") + public R qcItemSearch(@RequestBody QcItemData data){ + List list = qcService.qcItemSearch(data); + return R.ok().put("rows", list); } /** @@ -149,17 +107,10 @@ public class QcController { * @param: [data] * @return: java.lang.Object **/ - @PostMapping(value="/qcCheckOutItemSave") - @ResponseBody - public Object qcCheckOutItemSave(@RequestBody QcCheckOutItemData data){ - ResponseData responseData = new ResponseData(); - try { - responseData = qcService.qcCheckOutItemSave(data); - } catch (Exception e) { - responseData.setCode("400"); - responseData.setMsg(e.getMessage()); - } - return responseData; + @PostMapping(value="/qcItemSave") + public R qcItemSave(@RequestBody QcItemData data){ + qcService.qcItemSave(data); + return R.ok(); } /** @@ -169,17 +120,11 @@ public class QcController { * @param: [data] * @return: java.lang.Object **/ - @PostMapping(value="/qcCheckOutItemUpdate") + @PostMapping(value="/qcItemUpdate") @ResponseBody - public Object qcCheckOutItemUpdate(@RequestBody QcCheckOutItemData data){ - ResponseData responseData = new ResponseData(); - try { - responseData = qcService.qcCheckOutItemUpdate(data); - } catch (Exception e) { - responseData.setCode("400"); - responseData.setMsg(e.getMessage()); - } - return responseData; + public R qcItemUpdate(@RequestBody QcItemData data){ + qcService.qcItemUpdate(data); + return R.ok(); } /** @@ -189,30 +134,11 @@ public class QcController { * @param: [data] * @return: java.lang.Object **/ - @PostMapping(value="/qcCheckOutItemDelete") + @PostMapping(value="/qcItemDelete") @ResponseBody - public Object qcCheckOutItemDelete(@RequestBody QcCheckOutItemData data){ - ResponseData responseData = new ResponseData(); - try { - responseData = qcService.qcCheckOutItemDelete(data); - } catch (Exception e) { - responseData.setCode("400"); - responseData.setMsg(e.getMessage()); - } - return responseData; - } - - /** - * @description: 搜索工单列表 - * @author: fengyuan_yang - * @date: 2023/4/6 9:26 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/workOrderSearch") - public R workOrderSearch(@RequestBody ShopOrderData data){ - List list = qcService.workOrderSearch(data); - return R.ok().put("rows",list); + public R qcItemDelete(@RequestBody QcItemData data){ + qcService.qcItemDelete(data); + return R.ok(); } /** @@ -228,154 +154,8 @@ public class QcController { return R.ok(); } - // ======================= 根据分类设置检验模板API ======================= - - /** - * @description: 条件查询检验模板 - * @author: fengyuan_yang - * @date: 2023/3/21 14:26 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping(value="/qcCheckOutModelSearch") - public R qcCheckOutModelSearch(@RequestBody QcModelFamilyData data){ - PageUtils page = qcService.qcFamilyModelSearch(data); - return R.ok().put("page", page); - } - - /** - * @description: 新增检验模板 - * @author: fengyuan_yang - * @date: 2023/3/21 14:27 - * @param: [inData] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/qcCheckOutModelSave") - public R qcCheckOutModelSave(@RequestBody QcModelFamilyData data){ - qcService.qcCheckOutModelSave(data); - return R.ok(); - } - - /** - * @description: 修改检验模板 - * @author: fengyuan_yang - * @date: 2023/3/21 14:39 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/qcCheckOutModelUpdate") - public R qcCheckOutModelUpdate(@RequestBody QcModelFamilyData data){ - qcService.qcCheckOutModelUpdate(data); - return R.ok(); - } - - /** - * @description: 删除检验模板 - * @author: fengyuan_yang - * @date: 2023/3/21 14:50 - * @param: [inData] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/qcCheckOutModelDelete") - public R qcCheckOutModelDelete(@RequestBody QcModelFamilyData data){ - qcService.qcCheckOutModelDelete(data); - return R.ok(); - } - - /** - * @description: 查询模板里的项目详情 - * @author: fengyuan_yang - * @date: 2023/3/21 15:14 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping(value="/searchModalDetails") - public R searchModalDetails(@RequestBody EamPropertiesModelDetailData data){ - List list = qcService.searchModalDetails(data); - return R.ok().put("rows", list); - } - - /** - * @description: 新增模板里的项目详情 - * @author: fengyuan_yang - * @date: 2023/3/21 21:51 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/saveModalDetails") - public R saveModalDetails(@RequestBody EamPropertiesModelDetailData data){ - eamService.saveModalDetails(data); - return R.ok(); - } - - /** - * @description: 删除模板里的项目详情 - * @author: fengyuan_yang - * @date: 2023/3/21 22:09 - * @param: [inData] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/deleteModalDetails") - public R deleteModalDetails(@RequestBody EamPropertiesModelDetailData inData){ - eamService.deleteModalDetails(inData); - return R.ok(); - } - // ======================= 根据物料设置检验模板API ======================= - /** - * @description: 查询物料模板 - * @author: fengyuan_yang - * @date: 2023/4/3 16:46 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping(value="/qcPartModelSearch") - public R qcPartModelSearch(@RequestBody QcModelPartData data){ - PageUtils page = qcService.qcPartModelSearch(data); - return R.ok().put("page", page); - } - - /** - * @description: 新增物料属性 - * @author: fengyuan_yang - * @date: 2023/4/3 17:27 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/qcPartModelSave") - public R qcPartModelSave(@RequestBody QcModelPartData data){ - qcService.qcPartModelSave(data); - return R.ok(); - } - - /** - * @description: 修改模板 - * @author: fengyuan_yang - * @date: 2023/4/3 21:38 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/qcPartModelUpdate") - public R qcPartModelUpdate(@RequestBody QcModelPartData data){ - qcService.qcPartModelUpdate(data); - return R.ok(); - } - - /** - * @description: 修改模板 - * @author: fengyuan_yang - * @date: 2023/4/3 21:43 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/qcPartModelDelete") - public R qcPartModelDelete(@RequestBody QcModelPartData data){ - qcService.qcPartModelDelete(data); - return R.ok(); - } - - /** * @description: 快速获取模板列表 * @author: fengyuan_yang @@ -392,150 +172,6 @@ public class QcController { return R.ok().put("row1", row1).put("row2", row2); } - - // ======================= 检验录入API ======================= - - /** - * @description: 查询检验记录 - * @author: fengyuan_yang - * @date: 2023/3/28 10:25 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping(value="/qcInspectionInformationSearch") - public R qcInspectionInformationSearch(@RequestBody QcInspectionRecordsData data){ - PageUtils page = qcService.qcInspectionInformationSearch(data); - return R.ok().put("page", page); - } - - /** - * @description: 模板信息 - * @author: fengyuan_yang - * @date: 2023/3/28 13:08 - * @param: [inData] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/modalCodeBlur") - public R modalCodeBlur(@RequestBody EamPropertiesModelHeaderData inData){ - List resultList = eamService.modalCodeBlur(inData); - return R.ok().put("rows", resultList).put("total",resultList.size()); - } - - /** - * @description: 新增检验记录 - * @author: fengyuan_yang - * @date: 2023/3/28 15:39 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/qcInspectionInformationSave") - public R qcInspectionInformationSave(@RequestBody QcMasterInformationData data){ - qcService.qcInspectionInformationSave(data); - return R.ok(); - } - - /** - * @description: 查询主记录信息 - * @author: fengyuan_yang - * @date: 2023/3/28 17:44 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/masterInformationSearch") - public R masterInformationSearch(@RequestBody QcInspectionRecordsData data){ - List resultList = qcService.masterInformationSearch(data); - return R.ok().put("rows", resultList); - } - - /** - * @description: 查询明细记录信息 - * @author: fengyuan_yang - * @date: 2023/3/29 16:04 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/detailInformationSearch") - public R detailInformationSearch(@RequestBody QcInspectionRecordsData data){ - List resultList = qcService.detailInformationSearch(data); - return R.ok().put("rows", resultList); - } - - /** - * @description: 新增主信息值 - * @author: fengyuan_yang - * @date: 2023/3/28 21:57 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/saveMasterInformationValue") - public R saveMasterInformationValue(@RequestBody List data){ - qcService.saveMasterInformationValue(data); - return R.ok(); - } - - - - /** - * @description: 明细信息的分类级联 - * @author: fengyuan_yang - * @date: 2023/3/29 14:29 - * @param: [data] - * @return: java.util.List - **/ - @PostMapping("/searchModelTree") - public List searchModelTree(@RequestBody QcInspectionRecordsData data){ - // 查出所有分类 - List list = qcService.searchFamily(data.getFamilyType()); - // 根据分类ID查出所有模板 - for (int i = 0; i < list.size(); i++) { - List modelList = qcService.searchModel(list.get(i).getValue()); - // 将模板集合加入tree - list.get(i).setChildren(modelList); - } - return list; - } - - - /** - * @description: 判断主信息和明细信息是否已填写 - * @author: fengyuan_yang - * @date: 2023/4/1 19:44 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/checkCompleted") - public ResponseData checkCompleted(@RequestBody QcInspectionRecordsData data){ - ResponseData responseData = qcService.checkCompleted(data); - return responseData; - } - - /** - * @description: 根据物料编码查询检验模板 - * @author: fengyuan_yang - * @date: 2023/4/4 0:00 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/selectModelByPartNo") - public R selectModelByPartNo(@RequestBody QcModelPartData data){ - List list = qcService.selectModelByPartNo(data.getPartNo(),data.getInspectionTypeNo()); - return R.ok().put("rows", list); - } - - /** - * @description: 根据工单号查询物料编码 - * @author: fengyuan_yang - * @date: 2023/4/6 10:37 - * @param: [data] - * @return: com.xujie.sys.common.utils.R - **/ - @PostMapping("/selectInformationByWorkOrderNo") - public R selectInformationByWorkOrderNo(@RequestBody ShopOrderData data){ - List list = qcService.selectInformationByWorkOrderNo(data); - return R.ok().put("rows", list); - } - - // ======================= 质检员信息维护API ======================= /** @@ -750,9 +386,9 @@ public class QcController { * @param: [data] * @return: com.xujie.sys.common.utils.R **/ - @PostMapping(value="/ItemDetailsSearch") - public R ItemDetailsSearch(@RequestBody QcTemplateData data){ - List list = qcService.ItemDetailsSearch(data); + @PostMapping(value="/templateDetailsSearch") + public R templateDetailsSearch(@RequestBody QcTemplateData data){ + List list = qcService.templateDetailsSearch(data); return R.ok().put("rows", list); } @@ -781,7 +417,7 @@ public class QcController { // 获取当前项目不包含的明细 List row1 = qcService.getItemList(data); // 获取当前项目所包含的明细 - List row2 = qcService.ItemDetailsSearch(data); + List row2 = qcService.templateDetailsSearch(data); return R.ok().put("row1", row1).put("row2", row2); } @@ -1534,6 +1170,125 @@ public class QcController { return R.ok(); } + // ======================= IQC检验API ======================= + + /** + * @description: IQC检验记录查询 + * @author: fengyuan_yang + * @date: 2023/4/29 13:38 + * @param: [data] + * @return: com.xujie.sys.common.utils.R + **/ + @PostMapping(value="/qcIQCInspectionSearch") + public R qcIQCInspectionSearch(@RequestBody QcFAIRecordData data){ + PageUtils page = qcService.qcIQCInspectionSearch(data); + return R.ok().put("page", page); + } + + /** + * @description: iqc检验记录查询 + * @author: fengyuan_yang + * @date: 2023/5/4 11:46 + * @param: [data] + * @return: com.xujie.sys.common.utils.R + **/ + @PostMapping("/iqcDetailSearch") + public R iqcDetailSearch(@RequestBody QcFAIRecordData data){ + List list = qcService.iqcDetailSearch(data); + return R.ok().put("rows", list); + } + + /** + * @description: 查询IQC子明细记录 + * @author: fengyuan_yang + * @date: 2023/5/4 13:11 + * @param: [data] + * @return: com.xujie.sys.common.utils.R + **/ + @PostMapping("/selectIQCSubDetailedRecord") + public R selectIQCSubDetailedRecord(@RequestBody SubDetailValues data){ + List list = qcService.selectIQCSubDetailedRecord(data); + return R.ok().put("rows", list); + } + + /** + * @description: 检查子明细中的实测值是否在规定范围 + * @author: fengyuan_yang + * @date: 2023/5/4 13:17 + * @param: [data] + * @return: com.xujie.sys.common.utils.R + **/ + @PostMapping("/checkIQCSubDetailValue") + public R checkIQCSubDetailValue(@RequestBody CheckSubDetailValueVo data){ + Integer flag = qcService.checkIQCSubDetailValue(data); + return R.ok().put("flag", flag); + } + + /** + * @description: 新增明细信息 + * @author: fengyuan_yang + * @date: 2023/5/4 13:27 + * @param: [data] + * @return: com.xujie.sys.common.utils.R + **/ + @PostMapping("/saveIQCDetailedRecord") + public R saveIQCDetailedRecord(@RequestBody QcFAIRecordData data){ + qcService.saveIQCDetailedRecord(data); + return R.ok(); + } + + /** + * @description: 检查是否已提交 + * @author: fengyuan_yang + * @date: 2023/5/4 13:59 + * @param: [data] + * @return: com.xujie.sys.common.utils.R + **/ + @PostMapping("/checkIQCIsSubmit") + public R checkIQCIsSubmit(@RequestBody SubDetailValues data){ + Integer flag = qcService.checkIQCIsSubmit(data); + return R.ok().put("flag", flag); + } + + /** + * @description: 新增子明细信息 + * @author: fengyuan_yang + * @date: 2023/5/4 15:54 + * @param: [data] + * @return: com.xujie.sys.common.utils.R + **/ + @PostMapping("/saveIQCSubDetailed") + public R saveIQCSubDetailed(@RequestBody QcSubDetailInformationData data){ + qcService.saveIQCSubDetailed(data); + return R.ok(); + } + + /** + * @description: 审核 + * @author: fengyuan_yang + * @date: 2023/5/4 17:31 + * @param: [data] + * @return: com.xujie.sys.common.utils.R + **/ + @PostMapping("/saveIQCSubmitResult") + public R saveIQCSubmitResult(@RequestBody QcFAIRecordData data){ + qcService.saveIQCSubmitResult(data); + return R.ok(); + } + + /** + * @description: 删除检验记录 + * @author: fengyuan_yang + * @date: 2023/5/4 17:38 + * @param: [data] + * @return: com.xujie.sys.common.utils.R + **/ + @PostMapping("/iqcRecordDelete") + public R iqcRecordDelete(@RequestBody QcFAIRecordData data){ + qcService.iqcRecordDelete(data); + return R.ok(); + } + } diff --git a/src/main/java/com/xujie/sys/modules/pms/data/QcFAIRecordData.java b/src/main/java/com/xujie/sys/modules/pms/data/QcFAIRecordData.java index 501d93a7..68473a20 100644 --- a/src/main/java/com/xujie/sys/modules/pms/data/QcFAIRecordData.java +++ b/src/main/java/com/xujie/sys/modules/pms/data/QcFAIRecordData.java @@ -17,6 +17,8 @@ public class QcFAIRecordData extends QueryPage { private String ssrId; // 状态 private String state; + // 供应商编码 + private String supplierNo; // 检验结果 private String inspectionResult; // 任务生成日期 @@ -128,6 +130,16 @@ public class QcFAIRecordData extends QueryPage { private List itemList; // IPQC的检验类型(巡检/末件检) private String checkType; + // 标签条码 + private String rollNo; + + public String getRollNo() { + return rollNo; + } + + public void setRollNo(String rollNo) { + this.rollNo = rollNo; + } public String getOperationNo() { return operationNo; @@ -568,4 +580,12 @@ public class QcFAIRecordData extends QueryPage { public void setItemList(List itemList) { this.itemList = itemList; } + + public String getSupplierNo() { + return supplierNo; + } + + public void setSupplierNo(String supplierNo) { + this.supplierNo = supplierNo; + } } diff --git a/src/main/java/com/xujie/sys/modules/pms/data/QcCheckOutItemData.java b/src/main/java/com/xujie/sys/modules/pms/data/QcItemData.java similarity index 93% rename from src/main/java/com/xujie/sys/modules/pms/data/QcCheckOutItemData.java rename to src/main/java/com/xujie/sys/modules/pms/data/QcItemData.java index 272da556..05e0640a 100644 --- a/src/main/java/com/xujie/sys/modules/pms/data/QcCheckOutItemData.java +++ b/src/main/java/com/xujie/sys/modules/pms/data/QcItemData.java @@ -11,7 +11,7 @@ import java.util.Date; * @author: fengyuan_yang * @date: 2023/3/20 16:43 **/ -public class QcCheckOutItemData { +public class QcItemData { // 检验项目编码 private String itemNo; // 检验项目名称 @@ -42,6 +42,16 @@ public class QcCheckOutItemData { private String methodNo; // 方法名称 private String methodName; + // 方法备注 + private String methodRemark; + + public String getMethodRemark() { + return methodRemark; + } + + public void setMethodRemark(String methodRemark) { + this.methodRemark = methodRemark; + } public String getItemNo() { return itemNo; diff --git a/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java b/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java index b61421cd..dbb42189 100644 --- a/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java +++ b/src/main/java/com/xujie/sys/modules/pms/mapper/QcMapper.java @@ -19,57 +19,29 @@ import java.util.List; @Mapper public interface QcMapper { - List qcCheckOutItemSearch(QcCheckOutItemData data); + List qcItemSearch(QcItemData data); - List checkEamPropertiesItem(QcCheckOutItemData data); + List checkQcItem(QcItemData data); - void saveNewEamPropertiesItem(QcCheckOutItemData data); + void qcItemSave(QcItemData data); - void qcCheckOutItemUpdate(QcCheckOutItemData data); + void qcItemUpdate(QcItemData data); - void qcCheckOutItemDelete(QcCheckOutItemData data); + void qcItemDelete(QcItemData data); - List qcCheckOutMethodSearch(QcMethodData data); + List qcMethodSearch(QcMethodData data); List checkQcMethod(QcMethodData data); - void qcCheckOutMethodSave(QcMethodData data); + void qcMethodSave(QcMethodData data); - void qcCheckOutMethodUpdate(QcMethodData data); + void qcMethodUpdate(QcMethodData data); List checkMethodIsUsed(QcMethodData data); - void qcCheckOutMethodDelete(QcMethodData data); + void qcMethodDelete(QcMethodData data); - QcMethodItemData checkMethod(QcMethodItemData data); - - List checkItemIsUsed(QcCheckOutItemData data); - - IPage qcInspectionInformationSearch(Page qcInspectionRecordsDataPage, @Param("query") QcInspectionRecordsData data); - - void qcInspectionInformationSave(QcMasterInformationData data); - - List masterInformationSearch(QcInspectionRecordsData data); - - void saveMasterInformationValue(List data); - - List checkOutMasterInformation(String inspectionNo); - - void updateMasterInformation(QcMasterInformationData data); - - List searchFamily(String familyType); - - List searchModel(String familyID); - - List checkOutDetailInformation(String inspectionNo); - - List detailInformationSearch(QcInspectionRecordsData data); - - void updateDetailInformation(QcDetailInformationData qcDetailInformationData); - - void saveDetailInformation(List data); - - void deleteMasterInformationRecord(QcFAIRecordData data); + List checkItemIsUsed(QcItemData data); void deleteFAIDetailedRecord(QcFAIRecordData data); @@ -85,47 +57,10 @@ public interface QcMapper { void inspectorDelete(QcInspectorData data); - void methodItemUpdate(QcMethodData data); - - void saveSubmitResult(QcInspectionRecordsData data); - void updateFAIMasterSubmitFlag(QcFAIRecordData data); void updateFAIDetailSubmitFlag(QcFAIRecordData data); - IPage qcFamilyModelSearch(Page eamPropertiesModelHeaderDataPage,@Param("query") QcModelFamilyData data); - - List checkFamilyModel(QcModelFamilyData data); - void qcCheckOutModelSave(QcModelFamilyData data); - - void saveFamilyModel(QcModelFamilyData data); - - void updateModel(QcModelFamilyData data); - - void updateFamilyModel(QcModelFamilyData data); - - void deleteModel(QcModelFamilyData data); - - void deleteFamilyModel(QcModelFamilyData data); - - void deleteItemModel(QcModelFamilyData data); - - IPage qcPartModelSearch(Page qcModelFamilyDataPage,@Param("query") QcModelPartData data); - - void savePartModel(QcModelPartData data); - - List searchModalDetails(EamPropertiesModelDetailData data); - - void updatePartModel(QcModelPartData data); - - void qcPartModelDelete(QcModelPartData data); - - List selectPartModelByPartNo(String partNo, String inspectionTypeNo); - - List selectFamilyModelByPartNo(String partNo, String inspectionTypeNo); - - Integer addMasterInformation(QcMasterInformationData data); - void saveFAISubDetailed(List subDetailValues); List selectFAISubDetailedRecord(SubDetailValues data); @@ -134,10 +69,6 @@ public interface QcMapper { QcFAIRecordData checkFAIIsSubmit(SubDetailValues data); - List workOrderSearch(ShopOrderData data); - - List selectInformationByWorkOrderNo(ShopOrderData data); - List selectFAISubDetailValue(String inspectionNo, String itemNo); void deleteFAISubDetailedRecord(QcFAIRecordData data); @@ -156,7 +87,7 @@ public interface QcMapper { void templateUpdate(QcTemplateData data); - List ItemDetailsSearch(QcTemplateData data); + List templateDetailsSearch(QcTemplateData data); QcTemplateData selectItemDetails(QcTemplateData data); @@ -178,7 +109,7 @@ public interface QcMapper { String selectLastItemNo(); - String queryLastItemNo(QcCheckOutItemData data); + String queryLastItemNo(QcItemData data); QcTemplateData selectTemplateByDesc(QcTemplateData data); @@ -232,8 +163,6 @@ public interface QcMapper { String queryLastSamplingPlanNo(QcSamplingInspectionPlanData data); - String queryLastPartModelNo(String functionType); - String queryLastTemplateNo(); List InspectionTypeSearch(); @@ -371,4 +300,52 @@ public interface QcMapper { QcFAIRecordData selectResourceDesc(QcFAIRecordData data); QcFAIRecordData selectPartDesc(QcFAIRecordData data); + + List selectIQCBasicData(); + + String queryLastIQCInspectionNo(QcFAIRecordData qcFAIRecordData); + + void saveIQCDetailedRecord(QcFAIRecordData faiRecordData); + + void updateIQCRecord(QcFAIRecordData qcFAIRecordData); + + IPage qcIQCInspectionSearch(Page qcFAIRecordDataPage,@Param("query") QcFAIRecordData data); + + List iqcDetailSearch(QcFAIRecordData data); + + List selectIQCSubDetailedRecord(SubDetailValues data); + + List selectIQCSubDetailValue(String inspectionNo, String itemNo); + + void updateIQCMasterRecord(QcFAIRecordData data); + + void updateIQCDetailedRecord(QcFAIRecordData data); + + List checkIQCDetail(QcFAIRecordData data); + + QcFAIRecordData checkIQCIsSubmit(SubDetailValues data); + + void delIQCSubDetailedRecord(QcSubDetailInformationData data); + + void saveIQCSubDetailed(List subDetailValues); + + void updateIQCMasterSubmitFlag(QcFAIRecordData data); + + void updateIQCDetailSubmitFlag(QcFAIRecordData data); + + void updateIQCSubDetailSubmitFlag(QcFAIRecordData data); + + void deleteIQCRecord(QcFAIRecordData data); + + void deleteIQCDetailedRecord(QcFAIRecordData data); + + void deleteIQCSubDetailedRecord(QcFAIRecordData data); + + String queryLastMethodNo(); + + void qcItemMethodDelete(QcItemData data); + + void qcItemMethodSave(QcItemData data); + + void qcItemMethodUpdate(QcItemData data); } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java b/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java index af79e148..45a599ce 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/Impl/QcServiceImpl.java @@ -3,6 +3,7 @@ package com.xujie.sys.modules.pms.service.Impl; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.xujie.sys.common.utils.PageUtils; +import com.xujie.sys.common.utils.R; import com.xujie.sys.modules.pms.data.*; import com.xujie.sys.modules.pms.data.QcMasterInformationData; import com.xujie.sys.modules.pms.entity.DetailTree; @@ -10,7 +11,6 @@ import com.xujie.sys.modules.pms.entity.vo.CheckSubDetailValueVo; import com.xujie.sys.modules.pms.mapper.QcMapper; import com.xujie.sys.modules.pms.service.QcService; import com.xujie.sys.modules.pms.util.ResponseData; -import org.apache.poi.hpsf.Decimal; import org.apache.poi.xssf.usermodel.XSSFRow; import org.apache.poi.xssf.usermodel.XSSFSheet; import org.apache.poi.xssf.usermodel.XSSFWorkbook; @@ -47,8 +47,8 @@ public class QcServiceImpl implements QcService { * @return: java.util.List **/ @Override - public List qcCheckOutMethodSearch(QcMethodData data) { - return qcMapper.qcCheckOutMethodSearch(data); + public List qcMethodSearch(QcMethodData data) { + return qcMapper.qcMethodSearch(data); } /** @@ -59,19 +59,22 @@ public class QcServiceImpl implements QcService { * @return: com.xujie.sys.modules.pms.util.ResponseData **/ @Override - public ResponseData qcCheckOutMethodSave(QcMethodData data) { - ResponseData responseData = new ResponseData(); + public void qcMethodSave(QcMethodData data) { + // 查询最大编码,自增后赋值 + String s = qcMapper.queryLastMethodNo(); + if (s == null){ + data.setMethodNo("10001"); + }else { + int no = Integer.parseInt(qcMapper.queryLastMethodNo()); + data.setMethodNo(String.valueOf(++no)); + } // 检验是否已存在该检验方法 List methodData = qcMapper.checkQcMethod(data); if(methodData.size() > 0){ throw new RuntimeException("该检验方法编码已存在!"); } // 新增数据 - qcMapper.qcCheckOutMethodSave(data); - responseData.setMsg("保存成功!"); - responseData.setSuccess(true); - responseData.setCode("0"); - return responseData; + qcMapper.qcMethodSave(data); } /** @@ -82,22 +85,14 @@ public class QcServiceImpl implements QcService { * @return: com.xujie.sys.modules.pms.util.ResponseData **/ @Override - @Transactional - public ResponseData qcCheckOutMethodUpdate(QcMethodData data) { - ResponseData responseData=new ResponseData(); + public void qcMethodUpdate(QcMethodData data) { // 检验是否已存在该检验方法 List methodData = qcMapper.checkQcMethod(data); - if(methodData.size() == 0){ - throw new RuntimeException("该设备分类编码不存在请刷新数据!"); + if(methodData.size() > 0){ + throw new RuntimeException("该方法名已存在!"); } // 修改方法 - qcMapper.qcCheckOutMethodUpdate(data); - // 修改中间表 - qcMapper.methodItemUpdate(data); - responseData.setMsg("修改成功!"); - responseData.setSuccess(true); - responseData.setCode("0"); - return responseData; + qcMapper.qcMethodUpdate(data); } /** @@ -108,18 +103,14 @@ public class QcServiceImpl implements QcService { * @return: com.xujie.sys.modules.pms.util.ResponseData **/ @Override - public ResponseData qcCheckOutMethodDelete(QcMethodData data) { - ResponseData responseData=new ResponseData(); + public void qcMethodDelete(QcMethodData data) { // 检查方法是否在被项目使用 List itemList = qcMapper.checkMethodIsUsed(data); if(itemList.size() > 0){ - throw new RuntimeException("该检验方法正在被检验项目使用,无法删除!"); + throw new RuntimeException("该方法正在被项目使用,无法删除!"); } - qcMapper.qcCheckOutMethodDelete(data); - responseData.setMsg("删除成功!"); - responseData.setSuccess(true); - responseData.setCode("0"); - return responseData; + // 删除 + qcMapper.qcMethodDelete(data); } // ======================= 检验项目 ======================= @@ -129,11 +120,12 @@ public class QcServiceImpl implements QcService { * @author: fengyuan_yang * @date: 2023/3/20 17:07 * @param: [data] - * @return: java.util.List + * @return: java.util.List **/ @Override - public List qcCheckOutItemSearch(QcCheckOutItemData data) { - return qcMapper.qcCheckOutItemSearch(data); + public List qcItemSearch(QcItemData data) { + List list = qcMapper.qcItemSearch(data); + return list; } /** @@ -144,8 +136,8 @@ public class QcServiceImpl implements QcService { * @return: com.xujie.sys.modules.pms.util.ResponseData **/ @Override - public ResponseData qcCheckOutItemSave(QcCheckOutItemData data) { - ResponseData responseData = new ResponseData(); + @Transactional + public void qcItemSave(QcItemData data) { if("T".equals(data.getValueTypeDb())){ data.setValueType("文本"); data.setMaxValue(null); @@ -158,8 +150,8 @@ public class QcServiceImpl implements QcService { } } } - List checkPropertiesItemLevel = qcMapper.checkEamPropertiesItem(data); - if(checkPropertiesItemLevel.size() > 0){ + List itemList = qcMapper.checkQcItem(data); + if(itemList.size() > 0){ throw new RuntimeException("该检验项目已存在!"); } // 查询最大编码,自增后赋值 @@ -171,11 +163,9 @@ public class QcServiceImpl implements QcService { data.setItemNo(String.valueOf(++no)); } // 新增项目 - qcMapper.saveNewEamPropertiesItem(data); - responseData.setMsg("保存成功!"); - responseData.setSuccess(true); - responseData.setCode("0"); - return responseData; + qcMapper.qcItemSave(data); + // 新增项目里的方法 + qcMapper.qcItemMethodSave(data); } /** @@ -186,8 +176,8 @@ public class QcServiceImpl implements QcService { * @return: com.xujie.sys.modules.pms.util.ResponseData **/ @Override - public ResponseData qcCheckOutItemUpdate(QcCheckOutItemData data) { - ResponseData responseData = new ResponseData(); + @Transactional + public void qcItemUpdate(QcItemData data) { if("T".equals(data.getValueTypeDb())){ data.setValueType("文本"); data.setMaxValue(null); @@ -200,11 +190,10 @@ public class QcServiceImpl implements QcService { } } } - qcMapper.qcCheckOutItemUpdate(data); - responseData.setMsg("修改成功!"); - responseData.setSuccess(true); - responseData.setCode("0"); - return responseData; + // 修改 + qcMapper.qcItemUpdate(data); + // 修改项目中的方法 + qcMapper.qcItemMethodUpdate(data); } /** @@ -215,19 +204,17 @@ public class QcServiceImpl implements QcService { * @return: com.xujie.sys.modules.pms.util.ResponseData **/ @Override - public ResponseData qcCheckOutItemDelete(QcCheckOutItemData data) { - ResponseData responseData = new ResponseData(); + @Transactional + public void qcItemDelete(QcItemData data) { // 检查项目是否在被模板使用 List modelList = qcMapper.checkItemIsUsed(data); if(modelList.size() > 0){ throw new RuntimeException("该检验项目正在被检验模板使用,无法删除!"); } // 删除项目 - qcMapper.qcCheckOutItemDelete(data); - responseData.setMsg("删除成功!"); - responseData.setSuccess(true); - responseData.setCode("0"); - return responseData; + qcMapper.qcItemDelete(data); + // 删除项目-方法中间表数据 + qcMapper.qcItemMethodDelete(data); } /** @@ -238,12 +225,8 @@ public class QcServiceImpl implements QcService { * @return: void **/ @Override + @Transactional public void taskUploadExcel(MultipartFile file) { - // 判断文件格式 我需要的是EXCEL表 - String fileName = file.getOriginalFilename(); - if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) { - throw new RuntimeException("上传文件格式不正确"); - } try{ // 转流 InputStream is = file.getInputStream(); @@ -254,38 +237,47 @@ public class QcServiceImpl implements QcService { // 获取行数 int rows = sheet.getPhysicalNumberOfRows(); // 声明对象 - EamPropertiesItemData task = null; + QcItemData task = null; // 查出最大的编码值 int no = Integer.parseInt(qcMapper.selectLastItemNo()); // 遍历每一行(从第二行开始) for (int j = 1; j < rows; j++) { // 实例化对象 - task = new EamPropertiesItemData(); + task = new QcItemData(); //获得该行 XSSFRow row = sheet.getRow(j); // 为对象赋值 task.setItemNo(String.valueOf(++no)); - task.setItemDesc(row.getCell(1).getStringCellValue()); - task.setValueType(row.getCell(2).getStringCellValue()); - task.setValueTypeDb(row.getCell(3).getStringCellValue()); - task.setItemRemark(row.getCell(4).getStringCellValue()); - if(row.getCell(5) == null){ - task.setDefaultValue(null); - }else { - task.setDefaultValue(row.getCell(5).getStringCellValue()); - } - if(row.getCell(6) == null){ + task.setItemDesc(row.getCell(0).getStringCellValue()); + task.setValueType(row.getCell(1).getStringCellValue()); + if (row.getCell(1).getStringCellValue().equals("文本")){ + task.setValueTypeDb("T"); task.setMaxValue(null); + task.setMinValue(null); + } else if (row.getCell(1).getStringCellValue().equals("数字")) { + task.setValueTypeDb("N"); + if(row.getCell(4) == null){ + task.setMaxValue(null); + }else { + task.setMaxValue(BigDecimal.valueOf(row.getCell(4).getNumericCellValue())); + } + if(row.getCell(5) == null){ + task.setMinValue(null); + }else { + task.setMinValue(BigDecimal.valueOf(row.getCell(5).getNumericCellValue())); + } }else { - task.setMaxValue(row.getCell(6).getNumericCellValue()); + task.setValueTypeDb(null); } - if(row.getCell(7) == null){ - task.setMinValue(null); + task.setItemRemark(row.getCell(2).getStringCellValue()); + if(row.getCell(3) == null){ + task.setDefaultValue(null); }else { - task.setMinValue(row.getCell(7).getNumericCellValue()); + task.setDefaultValue(row.getCell(3).getStringCellValue()); } - task.setItemType(row.getCell(8).getStringCellValue()); - task.setCreatedBy(row.getCell(9).getStringCellValue()); + task.setItemType("D"); + task.setCreatedBy(row.getCell(6).getStringCellValue()); + task.setMethodNo(row.getCell(7).getRawValue()); // 查重 String itemDesc = task.getItemDesc(); String itemType = task.getItemType(); @@ -294,368 +286,15 @@ public class QcServiceImpl implements QcService { throw new Exception("明细已存在"); } // 新增 - qcMapper.insertItem(task); + qcMapper.qcItemSave(task); + // 新增项目里的方法 + qcMapper.qcItemMethodSave(task); } }catch (Exception e){ throw new RuntimeException("导入失败:"+e.getMessage()); } } - - - // ======================= 根据分类设置检验模板 ======================= - - /** - * @description: 查询分类模板 - * @author: fengyuan_yang - * @date: 2023/4/3 11:43 - * @param: [data] - * @return: com.xujie.sys.common.utils.PageUtils - **/ - @Override - public PageUtils qcFamilyModelSearch(QcModelFamilyData data) { - IPage resultList = this.qcMapper.qcFamilyModelSearch(new Page(data.getPage(), data.getLimit()), data); - return new PageUtils(resultList); - } - - /** - * @description: 新增物料分类检验模板 - * @author: fengyuan_yang - * @date: 2023/4/3 14:43 - * @param: [data] - * @return: void - **/ - @Override - @Transactional - public void qcCheckOutModelSave(QcModelFamilyData data) { - // 检查该模板是否已经存在 - List list = qcMapper.checkFamilyModel(data); - if (list.size() > 0){ - throw new RuntimeException("该检验模板已存在!"); - } - // 查询最大编码,自增后赋值 - String s = qcMapper.queryLastPartModelNo(data.getFunctionType()); - if (s == null){ - data.setCodeNo("10001"); - }else { - int no = Integer.parseInt(qcMapper.queryLastPartModelNo(data.getFunctionType())); - data.setCodeNo(String.valueOf(++no)); - } - // 新增模板 - qcMapper.qcCheckOutModelSave(data); - // 新增模板-物料分类中间表数据 - qcMapper.saveFamilyModel(data); - } - - /** - * @description: 修改物料分类检验模板 - * @author: fengyuan_yang - * @date: 2023/4/3 15:09 - * @param: [data] - * @return: void - **/ - @Override - @Transactional - public void qcCheckOutModelUpdate(QcModelFamilyData data) { - // 修改模板 - qcMapper.updateModel(data); - // 修改模板-物料分类中间表数据 - qcMapper.updateFamilyModel(data); - } - - /** - * @description: 删除物料分类检验模板 - * @author: fengyuan_yang - * @date: 2023/4/3 15:31 - * @param: [data] - * @return: void - **/ - @Override - @Transactional - public void qcCheckOutModelDelete(QcModelFamilyData data) { - // 删除模板 - qcMapper.deleteModel(data); - // 删除模板-物料分类中间表数据 - qcMapper.deleteFamilyModel(data); - // 删除模板-项目中间表 - qcMapper.deleteItemModel(data); - } - - // ======================= 根据物料设置检验模板 ======================= - - /** - * @description: 查询物料模板 - * @author: fengyuan_yang - * @date: 2023/4/3 16:47 - * @param: [data] - * @return: com.xujie.sys.common.utils.PageUtils - **/ - @Override - public PageUtils qcPartModelSearch(QcModelPartData data) { - IPage resultList = this.qcMapper.qcPartModelSearch(new Page(data.getPage(), data.getLimit()), data); - return new PageUtils(resultList); - } - - /** - * @description: 新增物料模板 - * @author: fengyuan_yang - * @date: 2023/4/3 17:28 - * @param: [data] - * @return: void - **/ - @Override - @Transactional - public void qcPartModelSave(QcModelPartData data) { - QcModelFamilyData modelFamilyData = new QcModelFamilyData(); - BeanUtils.copyProperties(data,modelFamilyData); - // 检查该模板是否已经存在 - List list = qcMapper.checkFamilyModel(modelFamilyData); - if (list.size() > 0){ - throw new RuntimeException("该检验模板已存在!"); - } - // 查询最大编码,自增后赋值 - String s = qcMapper.queryLastPartModelNo(data.getFunctionType()); - if (s == null){ - modelFamilyData.setCodeNo("10001"); - }else { - int no = Integer.parseInt(qcMapper.queryLastPartModelNo(data.getFunctionType())); - modelFamilyData.setCodeNo(String.valueOf(++no)); - } - data.setCodeNo(modelFamilyData.getCodeNo()); - // 新增模板 - qcMapper.qcCheckOutModelSave(modelFamilyData); - // 新增模板-物料中间表数据 - qcMapper.savePartModel(data); - } - - /** - * @description: 查询模板里的项目详情 - * @author: fengyuan_yang - * @date: 2023/4/3 18:22 - * @param: [data] - * @return: java.util.List - **/ - @Override - public List searchModalDetails(EamPropertiesModelDetailData data) { - return qcMapper.searchModalDetails(data); - } - - /** - * @description: 修改模板 - * @author: fengyuan_yang - * @date: 2023/4/3 21:39 - * @param: [data] - * @return: void - **/ - @Override - @Transactional - public void qcPartModelUpdate(QcModelPartData data) { - QcModelFamilyData modelFamilyData = new QcModelFamilyData(); - BeanUtils.copyProperties(data,modelFamilyData); - // 修改模板 - qcMapper.updateModel(modelFamilyData); - // 修改模板-物料中间表数据 - qcMapper.updatePartModel(data); - } - - /** - * @description: 删除模板 - * @author: fengyuan_yang - * @date: 2023/4/3 21:43 - * @param: [data] - * @return: void - **/ - @Override - public void qcPartModelDelete(QcModelPartData data) { - QcModelFamilyData modelFamilyData = new QcModelFamilyData(); - BeanUtils.copyProperties(data,modelFamilyData); - // 删除模板 - qcMapper.deleteModel(modelFamilyData); - // 删除模板-物料中间表数据 - qcMapper.qcPartModelDelete(data); - // 删除模板-项目中间表 - qcMapper.deleteItemModel(modelFamilyData); - } - - - // ======================= 检验记录 ======================= - - /** - * @description: 查询检验记录 - * @author: fengyuan_yang - * @date: 2023/3/28 10:25 - * @param: [data] - * @return: com.xujie.sys.common.utils.PageUtils - **/ - @Override - public PageUtils qcInspectionInformationSearch(QcInspectionRecordsData data) { - IPage resultList = this.qcMapper.qcInspectionInformationSearch( - new Page(data.getPage(), data.getLimit()), data); - return new PageUtils(resultList); - } - - /** - * @description: 新增检验记录 - * @author: fengyuan_yang - * @date: 2023/3/28 15:48 - * @param: [data] - * @return: void - **/ - @Override - @Transactional - public void qcInspectionInformationSave(QcMasterInformationData data) { - SimpleDateFormat sdf = new SimpleDateFormat("yyyyMMdd"); - // 创建检验编码,规则:日期 - Date date = new Date(); - String inspectionNo = sdf.format(date) + date.getTime(); - data.setInspectionNo(inspectionNo); - // 新增主记录信息 - qcMapper.addMasterInformation(data); - data.setId(data.getId()); - // 新增检验记录信息 - qcMapper.qcInspectionInformationSave(data); - } - - /** - * @description: 查询主记录信息 - * @author: fengyuan_yang - * @date: 2023/3/28 17:45 - * @param: [data] - * @return: java.util.List - **/ - @Override - public List masterInformationSearch(QcInspectionRecordsData data) { - // 判断主信息是否已经插入值 - List masterList = qcMapper.checkOutMasterInformation(data.getInspectionNo()); - if (masterList.size() > 0){ - return masterList; - } - List resList = qcMapper.masterInformationSearch(data); - return resList; - } - - /** - * @description: 查询明细记录信息 - * @author: fengyuan_yang - * @date: 2023/3/29 16:16 - * @param: [data] - * @return: java.util.List - **/ - @Override - public List detailInformationSearch(QcInspectionRecordsData data) { - // 判断明细信息是否已经插入值 - List detailList = qcMapper.checkOutDetailInformation(data.getInspectionNo()); - if (detailList.size() > 0){ - return detailList; - } - List resList = qcMapper.detailInformationSearch(data); - return resList; - } - - /** - * @description: 新增主信息值 - * @author: fengyuan_yang - * @date: 2023/3/28 22:00 - * @param: [data] - * @return: void - **/ - @Override - public void saveMasterInformationValue(List data) { - // 检查主信息的值是否改变 - List masterList = qcMapper.checkOutMasterInformation(data.get(0).getInspectionNo()); - // 给id赋值 - for (int i = 0; i < masterList.size(); i++) { - data.get(i).setId(masterList.get(i).getId()); - } - if (masterList.size() > 0){ - // 修改主信息的值 - for (int i = 0; i < data.size(); i++) { - qcMapper.updateMasterInformation(data.get(i)); - } - }else { - // 新增主信息 - qcMapper.saveMasterInformationValue(data); - } - } - - - - /** - * @description: 查出所有分类 - * @author: fengyuan_yang - * @date: 2023/3/29 14:36 - * @param: [familyType] - * @return: java.util.List - **/ - @Override - public List searchFamily(String familyType) { - List list = qcMapper.searchFamily(familyType); - return list; - } - - /** - * @description: 根据分类ID查出所有模板 - * @author: fengyuan_yang - * @date: 2023/3/29 14:40 - * @param: [familyID] - * @return: java.util.List - **/ - @Override - public List searchModel(String familyID) { - List list = qcMapper.searchModel(familyID); - return list; - } - - - - /** - * @description: 根据物料编码查询检验模板 - * @author: fengyuan_yang - * @date: 2023/4/4 8:54 - * @param: [partNo] - * @return: void - **/ - @Override - public List selectModelByPartNo(String partNo, String inspectionTypeNo) { - // 先查物料模板 - List partList = qcMapper.selectPartModelByPartNo(partNo,inspectionTypeNo); - if (partList.size() > 0){ - return partList; - } - // 没有相应物料模板,查物料分类模板 - List familyList = qcMapper.selectFamilyModelByPartNo(partNo, inspectionTypeNo); - if (familyList.size() > 0){ - return familyList; - } - throw new RuntimeException("该模板不存在!"); - } - - /** - * @description: 搜索工单列表 - * @author: fengyuan_yang - * @date: 2023/4/6 9:27 - * @param: [data] - * @return: java.util.List - **/ - @Override - public List workOrderSearch(ShopOrderData data) { - List list = this.qcMapper.workOrderSearch(data); - return list; - } - - /** - * @description: 根据工单号查询物料编码和工单数量 - * @author: fengyuan_yang - * @date: 2023/4/6 10:41 - * @param: [workOrderNumber] - * @return: java.util.List - **/ - @Override - public List selectInformationByWorkOrderNo(ShopOrderData data) { - List list = qcMapper.selectInformationByWorkOrderNo(data); - return list; - } - // ======================= 质检员信息维护 ======================= /** @@ -730,33 +369,6 @@ public class QcServiceImpl implements QcService { return responseData; } - /** - * @description: 判断主信息和明细信息是否已填写 - * @author: fengyuan_yang - * @date: 2023/4/1 19:44 - * @param: [data] - * @return: void - **/ - @Override - public ResponseData checkCompleted(QcInspectionRecordsData data) { - ResponseData responseData = new ResponseData(); - // 获得该检验记录的主信息 - // List MasterList = qcMapper.checkOutMasterInformation(data.getInspectionNo()); - // 获得该检验记录的明细信息 - List detailList = qcMapper.checkOutDetailInformation(data.getInspectionNo()); - // 有没填写的内容 - if(detailList.size() == 0){ - responseData.setMsg("请填写明细信息!"); - responseData.setSuccess(false); - responseData.setCode("2"); - return responseData; - } - responseData.setSuccess(true); - responseData.setCode("1"); - return responseData; - } - - // ======================= 抽样方案维护 ======================= /** @@ -891,8 +503,8 @@ public class QcServiceImpl implements QcService { * @return: java.util.List **/ @Override - public List ItemDetailsSearch(QcTemplateData data) { - List list = qcMapper.ItemDetailsSearch(data); + public List templateDetailsSearch(QcTemplateData data) { + List list = qcMapper.templateDetailsSearch(data); return list; } @@ -982,11 +594,6 @@ public class QcServiceImpl implements QcService { @Override @Transactional public void uploadTemplateExcel(MultipartFile file) { - // 判断文件格式 我需要的是EXCEL表 - String fileName = file.getOriginalFilename(); - if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) { - throw new RuntimeException("上传文件格式不正确"); - } try{ // 转流 InputStream is = file.getInputStream(); @@ -1450,11 +1057,6 @@ public class QcServiceImpl implements QcService { @Override @Transactional public void uploadPartAttributeExcel(MultipartFile file) { - // 判断文件格式 我需要的是EXCEL表 - String fileName = file.getOriginalFilename(); - if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) { - throw new RuntimeException("上传文件格式不正确"); - } try{ // 转流 InputStream is = file.getInputStream(); @@ -1563,12 +1165,8 @@ public class QcServiceImpl implements QcService { * @return: void **/ @Override + @Transactional public void uploadFamilyAttributeExcel(MultipartFile file) { - // 判断文件格式 我需要的是EXCEL表 - String fileName = file.getOriginalFilename(); - if (!fileName.matches("^.+\\.(?i)(xls)$") && !fileName.matches("^.+\\.(?i)(xlsx)$")) { - throw new RuntimeException("上传文件格式不正确"); - } try{ // 转流 InputStream is = file.getInputStream(); @@ -1818,7 +1416,7 @@ public class QcServiceImpl implements QcService { QcTemplateData templateData = new QcTemplateData(); templateData.setTemplateId(partAttribute.getTemplateId()); templateData.setItemType("D"); - List itemList = qcMapper.ItemDetailsSearch(templateData); + List itemList = qcMapper.templateDetailsSearch(templateData); QcFAIRecordData faiRecordData = new QcFAIRecordData(); faiRecordData.setInspectionNo(qcFAIRecordData.getInspectionNo()); // 检验单号 faiRecordData.setOrderNo(qcFAIRecordData.getOrderNo()); // 工单号 @@ -1875,7 +1473,7 @@ public class QcServiceImpl implements QcService { QcTemplateData templateData = new QcTemplateData(); templateData.setTemplateId(familyAttribute.getTemplateId()); templateData.setItemType("D"); - List itemList = qcMapper.ItemDetailsSearch(templateData); + List itemList = qcMapper.templateDetailsSearch(templateData); QcFAIRecordData faiRecordData = new QcFAIRecordData(); faiRecordData.setInspectionNo(qcFAIRecordData.getInspectionNo()); // 检验单号 faiRecordData.setOrderNo(qcFAIRecordData.getOrderNo()); // 工单号 @@ -1994,7 +1592,7 @@ public class QcServiceImpl implements QcService { public Integer checkFAIIsSubmit(SubDetailValues data) { // 查询检验记录是否已提交 QcFAIRecordData inspectionRecordsData = qcMapper.checkFAIIsSubmit(data); - if ("Y".equals(inspectionRecordsData.getIsSubmit())){ + if (inspectionRecordsData != null && "Y".equals(inspectionRecordsData.getSubmitFlag())){ return 1; } return 2; @@ -2123,7 +1721,7 @@ public class QcServiceImpl implements QcService { QcTemplateData templateData = new QcTemplateData(); templateData.setTemplateId(partAttribute.getTemplateId()); templateData.setItemType("D"); - List itemList = qcMapper.ItemDetailsSearch(templateData); + List itemList = qcMapper.templateDetailsSearch(templateData); QcFAIRecordData faiRecordData = new QcFAIRecordData(); faiRecordData.setInspectionNo(qcFAIRecordData.getInspectionNo()); // 检验单号 faiRecordData.setOrderNo(qcFAIRecordData.getOrderNo()); // 工单号 @@ -2180,7 +1778,7 @@ public class QcServiceImpl implements QcService { QcTemplateData templateData = new QcTemplateData(); templateData.setTemplateId(familyAttribute.getTemplateId()); templateData.setItemType("D"); - List itemList = qcMapper.ItemDetailsSearch(templateData); + List itemList = qcMapper.templateDetailsSearch(templateData); QcFAIRecordData faiRecordData = new QcFAIRecordData(); faiRecordData.setInspectionNo(qcFAIRecordData.getInspectionNo()); // 检验单号 faiRecordData.setOrderNo(qcFAIRecordData.getOrderNo()); // 工单号 @@ -2326,7 +1924,7 @@ public class QcServiceImpl implements QcService { public Integer checkIPQCIsSubmit(SubDetailValues data) { // 查询检验记录是否已提交 QcFAIRecordData inspectionRecordsData = qcMapper.checkIPQCIsSubmit(data); - if ("Y".equals(inspectionRecordsData.getIsSubmit())){ + if (inspectionRecordsData != null && "Y".equals(inspectionRecordsData.getSubmitFlag())){ return 1; } return 2; @@ -2463,7 +2061,7 @@ public class QcServiceImpl implements QcService { QcTemplateData templateData = new QcTemplateData(); templateData.setTemplateId(partAttribute.getTemplateId()); templateData.setItemType("D"); - List itemList = qcMapper.ItemDetailsSearch(templateData); + List itemList = qcMapper.templateDetailsSearch(templateData); QcFAIRecordData faiRecordData = new QcFAIRecordData(); faiRecordData.setInspectionNo(data.getInspectionNo()); // 检验单号 faiRecordData.setOrderNo(data.getOrderNo()); // 工单号 @@ -2520,7 +2118,7 @@ public class QcServiceImpl implements QcService { QcTemplateData templateData = new QcTemplateData(); templateData.setTemplateId(familyAttribute.getTemplateId()); templateData.setItemType("D"); - List itemList = qcMapper.ItemDetailsSearch(templateData); + List itemList = qcMapper.templateDetailsSearch(templateData); QcFAIRecordData faiRecordData = new QcFAIRecordData(); faiRecordData.setInspectionNo(data.getInspectionNo()); // 检验单号 faiRecordData.setOrderNo(data.getOrderNo()); // 工单号 @@ -2551,6 +2149,291 @@ public class QcServiceImpl implements QcService { } + // ======================= IQC检验维护 ======================= + + /** + * @description: IQC检验记录查询 + * @author: fengyuan_yang + * @date: 2023/4/29 13:39 + * @param: [data] + * @return: com.xujie.sys.common.utils.PageUtils + **/ + @Override + @Transactional + public PageUtils qcIQCInspectionSearch(QcFAIRecordData data) { + // 查询IQC基础数据 + List basicData = qcMapper.selectIQCBasicData(); + QcFAIRecordData qcFAIRecordData = new QcFAIRecordData(); + qcFAIRecordData.setSite(data.getSite()); + for (int i = 0; i < basicData.size(); i++) { + // 查询该记录明细是否已存在 + List detailData = qcMapper.checkIQCDetail(basicData.get(i)); + if (detailData.size() > 0){ + continue; + } + // 主记录信息赋值 + qcFAIRecordData.setInspectionNo(basicData.get(i).getInspectionNo()); // 检验单号 + qcFAIRecordData.setInspectionTypeNo("103"); // 检验类型编 + qcFAIRecordData.setPartDesc(basicData.get(i).getPartDesc()); + // 明细记录信息赋值 + String partNo = basicData.get(i).getPartNo(); + String attributeType1 = "A"; + // 获取该物料属性下维护的IQC检验模板 + QcFAIRecordData partAttribute = qcMapper.selectPartAttributeByPartNo(partNo, attributeType1, qcFAIRecordData.getInspectionTypeNo()); + if (partAttribute != null){ + qcFAIRecordData.setInspectionCycle(partAttribute.getInspectionCycle()); // 检验周期 + + // 获取抽样数量 + QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); + samplingInspectionProgrammeData.setSamplingProgrammeNo(partAttribute.getSamplingProgrammeNo()); + // 获取抽样方案维护的矩阵详情 + List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); + // 先根据抽样方案确定抽样数 + for (int a = 0; a < dataList.size(); a++) { + if (dataList.get(a).getSamplingLevelNo() == partAttribute.getSamplingLevelNo() && (qcFAIRecordData.getRollQty().compareTo(dataList.get(a).getMinQty()) == 1 || qcFAIRecordData.getRollQty().compareTo(dataList.get(a).getMinQty()) == 0) && (qcFAIRecordData.getRollQty().compareTo(dataList.get(a).getMaxQty()) == -1 || qcFAIRecordData.getRollQty().compareTo(dataList.get(a).getMaxQty()) == 0) ){ + qcFAIRecordData.setSamplingQty(dataList.get(a).getSamplingQty()); + } + } + // 再根据默认抽样数来确定 + if (qcFAIRecordData.getSamplingQty() == null){ + qcFAIRecordData.setSamplingQty(partAttribute.getDefaultSamplingQuantity()); + } + // 再根据默认抽样比例来确定 + if (qcFAIRecordData.getSamplingQty() == null){ + qcFAIRecordData.setSamplingQty(partAttribute.getDefaultSamplingProportion().multiply(qcFAIRecordData.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP)); + } + + // 获取根据该检验模板下维护的检验项目 + QcTemplateData templateData = new QcTemplateData(); + templateData.setTemplateId(partAttribute.getTemplateId()); + templateData.setItemType("D"); + List itemList = qcMapper.templateDetailsSearch(templateData); + QcFAIRecordData faiRecordData = new QcFAIRecordData(); + faiRecordData.setInspectionNo(qcFAIRecordData.getInspectionNo()); // 检验单号 + faiRecordData.setTemplateId(partAttribute.getTemplateId()); // 模板编码 + faiRecordData.setSamplingLevelNo(partAttribute.getSamplingLevelNo()); // 检验水平编码 + faiRecordData.setSamplingLevelDesc(partAttribute.getSamplingLevelDesc()); // 检验水平名称 + faiRecordData.setSamplingProgrammeNo(partAttribute.getSamplingProgrammeNo()); // 抽样方案编码 + faiRecordData.setSamplingProgrammeDesc(partAttribute.getSamplingProgrammeDesc()); // 抽样方案名称 + faiRecordData.setAql(partAttribute.getAql()); // aql + faiRecordData.setAc(partAttribute.getAc()); // ac + faiRecordData.setRe(partAttribute.getRe()); // re + for (int j = 0; j < itemList.size(); j++) { + faiRecordData.setItemNo(itemList.get(j).getItemNo()); // 项目编码 + faiRecordData.setItemDesc(itemList.get(j).getItemDesc()); // 项目名称 + faiRecordData.setObjectId(itemList.get(j).getObjectID()); // 设备编码 + faiRecordData.setObjectDesc(itemList.get(j).getObjectDesc()); // 设备名称 + faiRecordData.setDefaultValue(itemList.get(j).getDefaultValue()); // 默认值 + faiRecordData.setMinValue(itemList.get(j).getMinValue()); // 最小值 + faiRecordData.setMaxValue(itemList.get(j).getMaxValue()); // 最大值 + faiRecordData.setValueType(itemList.get(j).getValueType()); // 检测值类型 + faiRecordData.setValueTypeDb(itemList.get(j).getValueTypeDb()); + // 新增IQC明细记录信息 + qcMapper.saveIQCDetailedRecord(faiRecordData); + } + }else { + // 获取物料的类别编码 + String familyId = qcMapper.selectFamilyIdByPartNo(partNo,data.getSite()); + String attributeType2 = "B"; + // 获取该类别属性下维护的IQC检验模板 + QcFAIRecordData familyAttribute = qcMapper.selectFamilyAttributeByFamilyId(familyId, attributeType2, qcFAIRecordData.getInspectionTypeNo()); + qcFAIRecordData.setInspectionCycle(familyAttribute.getInspectionCycle()); + + // 获取抽样数量 + QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); + samplingInspectionProgrammeData.setSamplingProgrammeNo(familyAttribute.getSamplingProgrammeNo()); + // 获取抽样方案维护的矩阵详情 + List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); + // 先根据抽样方案确定抽样数 + for (int a = 0; a < dataList.size(); a++) { + if (dataList.get(a).getSamplingLevelNo() == familyAttribute.getSamplingLevelNo() && (qcFAIRecordData.getRollQty().compareTo(dataList.get(a).getMinQty()) == 1 || qcFAIRecordData.getRollQty().compareTo(dataList.get(a).getMinQty()) == 0) && (qcFAIRecordData.getRollQty().compareTo(dataList.get(a).getMaxQty()) == -1 || qcFAIRecordData.getRollQty().compareTo(dataList.get(a).getMaxQty()) == 0) ){ + qcFAIRecordData.setSamplingQty(dataList.get(a).getSamplingQty()); + } + } + // 再根据默认抽样数来确定 + if (qcFAIRecordData.getSamplingQty() == null){ + qcFAIRecordData.setSamplingQty(familyAttribute.getDefaultSamplingQuantity()); + } + // 再根据默认抽样比例来确定 + if (qcFAIRecordData.getSamplingQty() == null){ + qcFAIRecordData.setSamplingQty(familyAttribute.getDefaultSamplingProportion().multiply(qcFAIRecordData.getRollQty()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP)); + } + + // 获取根据该检验模板下维护的检验项目 + QcTemplateData templateData = new QcTemplateData(); + templateData.setTemplateId(familyAttribute.getTemplateId()); + templateData.setItemType("D"); + List itemList = qcMapper.templateDetailsSearch(templateData); + QcFAIRecordData faiRecordData = new QcFAIRecordData(); + faiRecordData.setInspectionNo(qcFAIRecordData.getInspectionNo()); // 检验单号 + faiRecordData.setTemplateId(familyAttribute.getTemplateId()); // 模板编码 + faiRecordData.setSamplingLevelNo(familyAttribute.getSamplingLevelNo()); // 检验水平编码 + faiRecordData.setSamplingLevelDesc(familyAttribute.getSamplingLevelDesc()); // 检验水平名称 + faiRecordData.setSamplingProgrammeNo(familyAttribute.getSamplingProgrammeNo()); // 抽样方案编码 + faiRecordData.setSamplingProgrammeDesc(familyAttribute.getSamplingProgrammeDesc()); // 抽样方案名称 + faiRecordData.setAql(familyAttribute.getAql()); // aql + faiRecordData.setAc(familyAttribute.getAc()); // ac + faiRecordData.setRe(familyAttribute.getRe()); // re + for (int j = 0; j < itemList.size(); j++) { + faiRecordData.setItemNo(itemList.get(j).getItemNo()); // 项目编码 + faiRecordData.setItemDesc(itemList.get(j).getItemDesc()); // 项目名称 + faiRecordData.setObjectId(itemList.get(j).getObjectID()); // 设备编码 + faiRecordData.setObjectDesc(itemList.get(j).getObjectDesc()); // 设备名称 + faiRecordData.setDefaultValue(itemList.get(j).getDefaultValue()); // 默认值 + faiRecordData.setMinValue(itemList.get(j).getMinValue()); // 最小值 + faiRecordData.setMaxValue(itemList.get(j).getMaxValue()); // 最大值 + faiRecordData.setValueType(itemList.get(j).getValueType()); // 检测值类型 + faiRecordData.setValueTypeDb(itemList.get(j).getValueTypeDb()); + // 新增IQC明细记录信息 + qcMapper.saveIQCDetailedRecord(faiRecordData); + } + } + // 新增IQC主记录信息 + qcMapper.updateIQCRecord(qcFAIRecordData); + } + // 查询FAI主记录信息 + IPage resultList = this.qcMapper.qcIQCInspectionSearch(new Page(data.getPage(), data.getLimit()), data); + return new PageUtils(resultList); + } + + /** + * @description: iqc检验记录查询 + * @author: fengyuan_yang + * @date: 2023/5/4 11:47 + * @param: [data] + * @return: java.util.List + **/ + @Override + public List iqcDetailSearch(QcFAIRecordData data) { + List list = qcMapper.iqcDetailSearch(data); + return list; + } + + /** + * @description: 查询IQC子明细记录 + * @author: fengyuan_yang + * @date: 2023/5/4 13:11 + * @param: [data] + * @return: java.util.List + **/ + @Override + public List selectIQCSubDetailedRecord(SubDetailValues data) { + List list = qcMapper.selectIQCSubDetailedRecord(data); + return list; + } + + /** + * @description: 检查子明细中的实测值是否在规定范围 + * @author: fengyuan_yang + * @date: 2023/5/4 13:18 + * @param: [data] + * @return: java.lang.Integer + **/ + @Override + public Integer checkIQCSubDetailValue(CheckSubDetailValueVo data) { + // 获取该项目的子明细值 + List list = qcMapper.selectIQCSubDetailValue(data.getInspectionNo(), data.getItemNo()); + for (int i = 0; i < list.size(); i++) { + if (Double.parseDouble(list.get(i).getSubDetailValue()) > data.getMaxValue() || Double.parseDouble(list.get(i).getSubDetailValue()) < data.getMinValue()){ + return 2; + } + } + return 1; + } + + /** + * @description: 新增明细信息 + * @author: fengyuan_yang + * @date: 2023/5/4 13:27 + * @param: [data] + * @return: void + **/ + @Override + @Transactional + public void saveIQCDetailedRecord(QcFAIRecordData data) { + data.setState("待审核"); + qcMapper.updateIQCMasterRecord(data); + // 修改明细记录信息 + for (int i = 0; i < data.getItemList().size(); i++) { + qcMapper.updateIQCDetailedRecord(data.getItemList().get(i)); + } + } + + /** + * @description: 检查是否已提交 + * @author: fengyuan_yang + * @date: 2023/5/4 14:00 + * @param: [data] + * @return: java.lang.Integer + **/ + @Override + public Integer checkIQCIsSubmit(SubDetailValues data) { + // 查询检验记录是否已提交 + QcFAIRecordData inspectionRecordsData = qcMapper.checkIQCIsSubmit(data); + if (inspectionRecordsData != null && "Y".equals(inspectionRecordsData.getSubmitFlag())){ + return 1; + } + return 2; + } + + /** + * @description: 新增子明细信息 + * @author: fengyuan_yang + * @date: 2023/5/4 15:55 + * @param: [data] + * @return: void + **/ + @Override + @Transactional + public void saveIQCSubDetailed(QcSubDetailInformationData data) { + List subDetailValues = data.getSubDetailValues(); + for (int i = 0; i < subDetailValues.size(); i++) { + subDetailValues.get(i).setInspectionNo(data.getInspectionNo()); + subDetailValues.get(i).setItemNo(data.getItemNo()); + } + // 删除子明细的老数据 + qcMapper.delIQCSubDetailedRecord(data); + // 新增子明细新数据 + qcMapper.saveIQCSubDetailed(subDetailValues); + } + + /** + * @description: 审核 + * @author: fengyuan_yang + * @date: 2023/5/4 17:32 + * @param: [data] + * @return: void + **/ + @Override + @Transactional + public void saveIQCSubmitResult(QcFAIRecordData data) { + // 修改主记录标识为已提交 + qcMapper.updateIQCMasterSubmitFlag(data); + // 修改明细记录标识为已提交 + qcMapper.updateIQCDetailSubmitFlag(data); + // 修改子明细记录标识为已提交 + qcMapper.updateIQCSubDetailSubmitFlag(data); + } + + /** + * @description: + * @author: fengyuan_yang + * @date: 2023/5/4 17:39 + * @param: [data] + * @return: void + **/ + @Override + @Transactional + public void iqcRecordDelete(QcFAIRecordData data) { + // 删除检验记录 + qcMapper.deleteIQCRecord(data); + // 删除明细记录信息 + qcMapper.deleteIQCDetailedRecord(data); + // 删除子明细记录信息 + qcMapper.deleteIQCSubDetailedRecord(data); + } + + } diff --git a/src/main/java/com/xujie/sys/modules/pms/service/QcService.java b/src/main/java/com/xujie/sys/modules/pms/service/QcService.java index 59a8c249..abe8859c 100644 --- a/src/main/java/com/xujie/sys/modules/pms/service/QcService.java +++ b/src/main/java/com/xujie/sys/modules/pms/service/QcService.java @@ -11,35 +11,21 @@ import org.springframework.web.multipart.MultipartFile; import java.util.List; public interface QcService { - List qcCheckOutItemSearch(QcCheckOutItemData data); + List qcItemSearch(QcItemData data); - ResponseData qcCheckOutItemSave(QcCheckOutItemData data); + void qcItemSave(QcItemData data); - ResponseData qcCheckOutItemUpdate(QcCheckOutItemData data); + void qcItemUpdate(QcItemData data); - ResponseData qcCheckOutItemDelete(QcCheckOutItemData data); + void qcItemDelete(QcItemData data); - List qcCheckOutMethodSearch(QcMethodData data); + List qcMethodSearch(QcMethodData data); - ResponseData qcCheckOutMethodSave(QcMethodData data); + void qcMethodSave(QcMethodData data); - ResponseData qcCheckOutMethodUpdate(QcMethodData data); + void qcMethodUpdate(QcMethodData data); - ResponseData qcCheckOutMethodDelete(QcMethodData data); - - PageUtils qcInspectionInformationSearch(QcInspectionRecordsData data); - - void qcInspectionInformationSave(QcMasterInformationData data); - - List masterInformationSearch(QcInspectionRecordsData data); - - void saveMasterInformationValue(List data); - - List searchFamily(String familyType); - - List searchModel(String familyID); - - List detailInformationSearch(QcInspectionRecordsData data); + void qcMethodDelete(QcMethodData data); void saveFAIDetailedRecord(QcFAIRecordData data); @@ -55,38 +41,12 @@ public interface QcService { void saveFAISubmitResult(QcFAIRecordData data); - ResponseData checkCompleted(QcInspectionRecordsData data); - - PageUtils qcFamilyModelSearch(QcModelFamilyData data); - - void qcCheckOutModelSave(QcModelFamilyData data); - - void qcCheckOutModelUpdate(QcModelFamilyData data); - - void qcCheckOutModelDelete(QcModelFamilyData data); - - PageUtils qcPartModelSearch(QcModelPartData data); - - void qcPartModelSave(QcModelPartData data); - - List searchModalDetails(EamPropertiesModelDetailData data); - - void qcPartModelUpdate(QcModelPartData data); - - void qcPartModelDelete(QcModelPartData data); - - List selectModelByPartNo(String partNo, String inspectionTypeNo); - void saveFAISubDetailed(QcSubDetailInformationData data); List selectFAISubDetailedRecord(SubDetailValues data); Integer checkFAIIsSubmit(SubDetailValues data); - List workOrderSearch(ShopOrderData data); - - List selectInformationByWorkOrderNo(ShopOrderData data); - Integer checkFAISubDetailValue(CheckSubDetailValueVo data); PageUtils samplingInspectionPlanSearch(QcSamplingInspectionPlanData data); @@ -103,7 +63,7 @@ public interface QcService { void templateUpdate(QcTemplateData data); - List ItemDetailsSearch(QcTemplateData data); + List templateDetailsSearch(QcTemplateData data); void addItemDetails(QcTemplateData data); @@ -220,4 +180,22 @@ public interface QcService { List getPartList(QcFAIRecordData data); void saveOsInspection(QcFAIRecordData data); + + PageUtils qcIQCInspectionSearch(QcFAIRecordData data); + + List iqcDetailSearch(QcFAIRecordData data); + + List selectIQCSubDetailedRecord(SubDetailValues data); + + Integer checkIQCSubDetailValue(CheckSubDetailValueVo data); + + void saveIQCDetailedRecord(QcFAIRecordData data); + + Integer checkIQCIsSubmit(SubDetailValues data); + + void saveIQCSubDetailed(QcSubDetailInformationData data); + + void saveIQCSubmitResult(QcFAIRecordData data); + + void iqcRecordDelete(QcFAIRecordData data); } diff --git a/src/main/resources/mapper/pms/QcMapper.xml b/src/main/resources/mapper/pms/QcMapper.xml index 140c13c1..053e984c 100644 --- a/src/main/resources/mapper/pms/QcMapper.xml +++ b/src/main/resources/mapper/pms/QcMapper.xml @@ -6,124 +6,100 @@ - + SELECT + method_no, + method_name, + create_date, + create_by, + method_remark + FROM qc_method + + + AND method_name LIKE '%' + #{methodName} +'%' + + + + + + - - INSERT INTO t_method (method_no, - method_name, - create_date, - create_by, - method_remark, - method_type - ) VALUES - (#{methodNo}, - #{methodName}, - GetDate(), - #{createBy}, - #{methodRemark}, - #{methodType} - ) + + INSERT INTO qc_method (method_no, method_name, create_date, create_by, method_remark) + VALUES (#{methodNo}, #{methodName}, GetDate(), #{createBy}, #{methodRemark}) - - UPDATE t_method + + UPDATE qc_method SET method_name = #{methodName}, method_remark = #{methodRemark} - WHERE method_no = #{methodNo} AND method_type = #{methodType} - - - - - UPDATE qc_method_item - SET method_name = #{methodName}, - method_remark = #{methodRemark} - WHERE method_no = #{methodNo} AND ItemType = #{methodType} + WHERE method_no = #{methodNo} - - DELETE FROM t_method WHERE method_no = #{methodNo} AND method_type = #{methodType} + + DELETE + FROM qc_method + WHERE method_no = #{methodNo} - + SELECT + epi.ItemNo, + epi.ItemDesc, + epi.DefaultValue, + epi.ValueType, + epi.ValueType_DB as valueTypeDb, + epi.ValueChooseFlag, + epi.CreatedDate, + epi.CreatedBy, + epi.MaxValue, + epi.MinValue, + epi.ItemRemark, + epi.ItemType, + qm.method_no, + qm.method_name, + qm.method_remark + FROM eam_properties_item as epi + LEFT JOIN qc_method_item as qmi + ON epi.ItemNo = qmi.ItemNo + LEFT JOIN qc_method as qm + ON qmi.method_no = qm.method_no - ItemType = #{itemType} - - AND ItemNo LIKE '%' + #{itemNo} +'%' - + epi.ItemType = #{itemType} - AND ItemDesc LIKE '%' + #{itemDesc} +'%' + AND epi.ItemDesc LIKE '%' + #{itemDesc} +'%' - SELECT ItemNo, ItemDesc FROM eam_properties_item @@ -132,13 +108,19 @@ - + INSERT INTO eam_properties_item (ItemNo, ItemDesc, DefaultValue, ValueType, ValueType_DB, ValueChooseFlag, CreatedDate, CreatedBy, MaxValue, MinValue, ItemRemark, ItemType) VALUES (#{itemNo}, #{itemDesc}, #{defaultValue}, #{valueType}, #{valueTypeDb}, #{valueChooseFlag}, GetDate(), #{createdBy}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{itemRemark}, #{itemType}) + + + INSERT INTO qc_method_item (ItemNo, method_no) + VALUES (#{itemNo}, #{methodNo}) + + - + UPDATE eam_properties_item SET ItemDesc = #{itemDesc}, DefaultValue = #{defaultValue}, @@ -152,8 +134,15 @@ AND ItemType = #{itemType} + + + UPDATE qc_method_item + SET method_no = #{methodNo} + WHERE ItemNo = #{itemNo} + + - SELECT code_no FROM eam_properties_model_detail WHERE properties_item_no = #{itemNo} @@ -161,508 +150,20 @@ - - DELETE FROM eam_properties_item WHERE ItemNo = #{itemNo} AND ItemType = #{itemType} - - - - - - - - - - - - - - - - - - - INSERT INTO eam_properties_model_header - (function_type, code_no, code_desc, active, created_date, created_by, inspection_type_no) - VALUES(#{functionType}, #{codeNo}, #{codeDesc}, #{active}, getDate(), #{createdBy}, #{inspectionTypeNo}) - - - - - INSERT INTO qc_model_family - (code_no, FamilyID) - VALUES(#{codeNo}, #{familyID}) - - - - - UPDATE eam_properties_model_header - SET code_desc = #{codeDesc}, - active = #{active}, - inspection_type_no = #{inspectionTypeNo} - WHERE code_no = #{codeNo} - AND function_type = #{functionType} - - - - - UPDATE qc_model_family - SET FamilyID = #{familyID} - WHERE code_no = #{codeNo} - - - - - DELETE FROM eam_properties_model_header - WHERE code_no = #{codeNo} - AND function_type = #{functionType} - - - - - DELETE FROM qc_model_family - WHERE code_no = #{codeNo} - - - - - DELETE FROM eam_properties_model_detail - WHERE code_no = #{codeNo} - AND function_type = #{functionType} - - - - - - - - - - - INSERT INTO qc_model_part - (code_no, part_no) - VALUES(#{codeNo}, #{partNo}) - - - - - - - - UPDATE qc_model_part - SET part_no = #{partNo} - WHERE code_no = #{codeNo} - - - - - DELETE FROM qc_model_part - WHERE code_no = #{codeNo} - - - - - - - - - - - INSERT INTO qc_master_information_record - (inspection_no, work_order_number, work_order_quantity, reel_number, part_no, rolling_quantity, sample_quantity) - VALUES (#{inspectionNo}, #{workOrderNumber}, #{workOrderQuantity}, #{reelNumber}, #{partNo}, #{rollingQuantity}, #{sampleQuantity}) - - - - - INSERT INTO qc_inspection_records - (inspection_no, master_record_id, detail_code_no, sub_detail_code_no, inspection_type_no, inspector_no, create_time, is_qualified, site, is_qualified_chinese) - VALUES (#{inspectionNo}, #{id}, #{detailCodeNo}, #{subDetailCodeNo}, #{inspectionTypeNo}, #{inspectorNo}, getDate(), #{isQualified}, #{site}, #{isQualifiedChinese}) - - - - - - - - - - - - - - - - - UPDATE qc_master_information_record SET - information_value = #{informationValue} - WHERE id = #{id} - - - - - UPDATE qc_detailed_information_record SET - number_value = #{numberValue,jdbcType=DECIMAL}, - text_value = #{textValue}, - is_qualified = #{isQualified} - WHERE id = #{id} - - - - - INSERT INTO qc_master_information_record (information_no, information_name, information_value, inspection_no) - VALUES - - (#{item.informationNo}, #{item.informationName}, #{item.informationValue}, #{item.inspectionNo}) - - - - - - INSERT INTO qc_detailed_information_record (ItemNo, ItemDesc, number_value,ValueType_DB,is_qualified, inspection_no,ValueType,DefaultValue,MaxValue,MinValue,text_value) - VALUES - - (#{item.itemNo}, #{item.itemDesc}, #{item.numberValue,jdbcType=DECIMAL}, #{item.valueTypeDb},#{item.isQualified},#{item.inspectionNo},#{item.valueType},#{item.defaultValue},#{item.maxValue,jdbcType=DECIMAL},#{item.minValue,jdbcType=DECIMAL},#{item.textValue}) - - - - - - - - - - - - DELETE FROM qc_master_information_record - WHERE inspection_no = #{inspectionNo} + + DELETE + FROM eam_properties_item + WHERE ItemNo = #{itemNo} + AND ItemType = #{itemType} - - - DELETE FROM qc_fai_sub_detail_record - WHERE inspection_no = #{inspectionNo} - AND item_no = #{itemNo} + + + DELETE + FROM qc_method_item + WHERE ItemNo = #{itemNo} - - - UPDATE qc_inspection_records - SET is_qualified = #{isQualified}, - is_qualified_chinese = #{isQualifiedChinese}, - is_submit = 'Y' - WHERE inspection_no = #{inspectionNo} - AND site = #{site} - - - - - - - - - - - INSERT INTO qc_fai_sub_detail_record - (inspection_no, item_no, sub_detail_value, sampling_location) - VALUES - - (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}) - - - - - - - - - - - - - - - - @@ -885,7 +386,7 @@ - SELECT a.template_id, a.ItemNo, b.ItemDesc, @@ -1007,7 +508,7 @@ - SELECT top 1 ItemNo FROM eam_properties_item WHERE ItemType = #{itemType} @@ -1961,15 +1462,52 @@ + + + DELETE FROM qc_fai_sub_detail_record + WHERE inspection_no = #{inspectionNo} + AND item_no = #{itemNo} + + + + + INSERT INTO qc_fai_sub_detail_record + (inspection_no, item_no, sub_detail_value, sampling_location) + VALUES + + (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}) + + + + + + + + + - + - SELECT is_submit + SELECT submit_flag FROM qc_ipqc_record WHERE inspection_no = #{inspectionNo} AND site = #{site} @@ -2270,6 +1808,243 @@ WHERE site = #{site} AND part_no = #{partNo} + + + + + + + + + + + INSERT INTO qc_iqc_detailed_record (inspection_no, template_id, sampling_level_no, sampling_level_desc, sampling_programme_no, sampling_programme_desc, AQL, AC, RE, item_no, item_desc, object_id, object_desc, default_value, min_value, max_value, value_type_db, value_type) + VALUES(#{inspectionNo}, #{templateId}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, #{itemNo}, #{itemDesc}, #{objectId}, #{objectDesc}, #{defaultValue}, #{minValue,jdbcType=DECIMAL}, #{maxValue,jdbcType=DECIMAL}, #{valueTypeDb}, #{valueType}) + + + + + UPDATE qc_iqc_record + SET inspection_type_no = #{inspectionTypeNo}, + sampling_qty = #{samplingQty}, + inspection_cycle = #{inspectionCycle}, + part_desc = #{partDesc} + WHERE inspection_no = #{inspectionNo} + AND site = #{site} + + + + + + + + + + + + + + + + + UPDATE qc_iqc_record + SET disposal_measures = #{disposalMeasures}, + disposal_remark = #{disposalRemark}, + inspection_result = #{inspectionResult}, + inspector_no = #{inspectorNo}, + state = #{state}, + inspection_remark = #{inspectionRemark}, + inspector_date = getDate() + WHERE site = #{site} + AND inspection_no = #{inspectionNo} + + + + + UPDATE qc_iqc_detailed_record + SET item_result = #{itemResult}, + unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL} + WHERE inspection_no = #{inspectionNo} + AND item_no = #{itemNo} + + + + + + + + + + + DELETE FROM qc_iqc_sub_detail_record + WHERE inspection_no = #{inspectionNo} + AND item_no = #{itemNo} + + + + + INSERT INTO qc_iqc_sub_detail_record + (inspection_no, item_no, sub_detail_value, sampling_location) + VALUES + + (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}) + + + + + + UPDATE qc_iqc_record + SET submit_flag = 'Y', + state = '已完成' + WHERE inspection_no = #{inspectionNo} + AND site = #{site} + + + + + UPDATE qc_iqc_detailed_record + SET is_submit = 'Y' + WHERE inspection_no = #{inspectionNo} + + + + + UPDATE qc_iqc_sub_detail_record + SET is_submit = 'Y' + WHERE inspection_no = #{inspectionNo} + + + + + DELETE FROM qc_iqc_record + WHERE inspection_no = #{inspectionNo} + AND site = #{site} + + + + + DELETE FROM qc_iqc_detailed_record + WHERE inspection_no = #{inspectionNo} + + + + + DELETE FROM qc_iqc_sub_detail_record + WHERE inspection_no = #{inspectionNo} + @@ -2277,3 +2052,4 @@ +