diff --git a/src/main/java/com/gaotao/modules/pms/controller/QcController.java b/src/main/java/com/gaotao/modules/pms/controller/QcController.java index 92ed753..f2cf122 100644 --- a/src/main/java/com/gaotao/modules/pms/controller/QcController.java +++ b/src/main/java/com/gaotao/modules/pms/controller/QcController.java @@ -6,6 +6,7 @@ import com.gaotao.modules.base.data.BuData; import com.gaotao.modules.oss.entity.SysOssEntity; import com.gaotao.modules.pms.data.*; import com.gaotao.modules.pms.entity.vo.CheckSubDetailValueVo; +import com.gaotao.modules.pms.service.QcBaseInfoService; import com.gaotao.modules.pms.service.QcService; import com.gaotao.modules.pms.util.ResponseData; import com.gaotao.modules.sys.entity.SysSceneDynamicControlModelEntity; @@ -16,11 +17,6 @@ import org.springframework.web.multipart.MultipartFile; import java.util.*; -/** - * @description: 质量管理控制层 - * @author: fengyuan_yang - * @date: 2023/3/20 17:02 - **/ @RestController @RequestMapping("/pms/qc") public class QcController { @@ -28,906 +24,552 @@ public class QcController { @Autowired private QcService qcService; + @Autowired + private QcBaseInfoService qcBaseInfoService; + // ======================= 检验方法API ======================= /** - * @description: 条件查询检验方法 - * @author: fengyuan_yang - * @date: 2023/3/24 11:28 - * @param: [data] - * @return: java.util.Map + * 条件查询检验方法 **/ @PostMapping("/qcMethodSearch") public R qcMethodSearch(@RequestBody QcMethodData data){ - PageUtils page = qcService.qcMethodSearch(data); + PageUtils page = qcBaseInfoService.qcMethodSearch(data); return R.ok().put("page", page); } /** - * @description: 新增检验方法 - * @author: fengyuan_yang - * @date: 2023/3/24 11:30 - * @param: [data] - * @return: com.gaotao.modules.pms.util.ResponseData + * 新增检验方法 **/ @PostMapping(value="/qcMethodSave") public R qcMethodSave (@RequestBody QcMethodData data) { - qcService.qcMethodSave(data); + qcBaseInfoService.qcMethodSave(data); return R.ok(); } /** - * @description: 修改检验方法 - * @author: fengyuan_yang - * @date: 2023/3/24 11:31 - * @param: [data] - * @return: com.gaotao.modules.pms.util.ResponseData + * 修改检验方法 **/ @PostMapping(value="/qcMethodUpdate") public R qcMethodUpdate(@RequestBody QcMethodData data){ - qcService.qcMethodUpdate(data); + qcBaseInfoService.qcMethodUpdate(data); return R.ok(); } /** - * @description: 删除检验方法 - * @author: fengyuan_yang - * @date: 2023/3/24 11:32 - * @param: [data] - * @return: com.gaotao.modules.pms.util.ResponseData + * 删除检验方法 **/ @PostMapping(value="/qcMethodDelete") @ResponseBody public R qcMethodDelete(@RequestBody QcMethodData data){ - qcService.qcMethodDelete(data); + qcBaseInfoService.qcMethodDelete(data); return R.ok(); } // ======================= 检验项目API ======================= /** - * @description: 查询检验项目 - * @author: fengyuan_yang - * @date: 2023/3/20 17:03 - * @param: [data] - * @return: java.lang.Object + * 查询检验项目 **/ @PostMapping(value="/qcItemSearch") public R qcItemSearch(@RequestBody QcItemData data){ - PageUtils page = qcService.qcItemSearch(data); + PageUtils page = qcBaseInfoService.qcItemSearch(data); return R.ok().put("page", page); } /** - * @description: 新增检验项目 - * @author: fengyuan_yang - * @date: 2023/3/20 21:46 - * @param: [data] - * @return: java.lang.Object + * 新增检验项目 **/ @PostMapping(value="/qcItemSave") public R qcItemSave(@RequestBody QcItemData data){ - qcService.qcItemSave(data); + qcBaseInfoService.qcItemSave(data); return R.ok(); } /** - * @description: 修改检验项目 - * @author: fengyuan_yang - * @date: 2023/3/20 22:27 - * @param: [data] - * @return: java.lang.Object + * 修改检验项目 **/ @PostMapping(value="/qcItemUpdate") @ResponseBody public R qcItemUpdate(@RequestBody QcItemData data){ - qcService.qcItemUpdate(data); + qcBaseInfoService.qcItemUpdate(data); return R.ok(); } /** - * @description: 删除检验项目 - * @author: fengyuan_yang - * @date: 2023/3/20 23:12 - * @param: [data] - * @return: java.lang.Object + * 删除检验项目 **/ @PostMapping(value="/qcItemDelete") @ResponseBody public R qcItemDelete(@RequestBody QcItemData data){ - qcService.qcItemDelete(data); + qcBaseInfoService.qcItemDelete(data); return R.ok(); } /** - * @description: 检验项目导入 - * @author: fengyuan_yang - * @date: 2023/4/15 12:58 - * @param: [file] - * @return: com.gaotao.common.utils.R + * 检验项目导入 **/ @PostMapping("/uploadExcel") public R taskUploadExcel(@RequestParam(value = "file") MultipartFile file, @ModelAttribute GetParamInData data){ - qcService.taskUploadExcel(file, data); + qcBaseInfoService.taskUploadExcel(file, data); return R.ok(); } // ======================= 根据物料设置检验模板API ======================= /** - * @description: 快速获取模板列表 - * @author: fengyuan_yang - * @date: 2023/3/30 11:29 - * @param: [inData] - * @return: com.gaotao.common.utils.R + * 快速获取模板列表 **/ @PostMapping("/getItemLists") public R getItemLists(@RequestBody QcTemplateData data){ // 可选模板 - List row1 = qcService.getTemplateList(data); + List row1 = qcBaseInfoService.getTemplateList(data); // 已有模板 - List row2 = qcService.getPartTemplateList(data); + List row2 = qcBaseInfoService.getPartTemplateList(data); return R.ok().put("row1", row1).put("row2", row2); } /** - * @description: 物料属性设置模板新增 - * @author: fengyuan_yang - * @date: 2023/7/9 22:55 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 物料属性设置模板新增 **/ @PostMapping("/getPartTemplateLists") public R getPartTemplateLists(@RequestBody QcTemplateData data){ // 可选模板 - List row1 = qcService.getTemplateListAll(data); + List row1 = qcBaseInfoService.getTemplateListAll(data); // 已有模板 - List row2 = qcService.getPartTemplateList(data); + List row2 = qcBaseInfoService.getPartTemplateList(data); return R.ok().put("row1", row1).put("row2", row2); } - // ======================= 质检员信息维护API ======================= - - /** - * @description: 查询质检员信息列表 - * @author: fengyuan_yang - * @date: 2023/3/31 8:48 - * @param: [data] - * @return: com.gaotao.common.utils.R - **/ - @PostMapping(value="/inspectorSearch") - public R inspectorSearch(){ - List list = qcService.inspectorSearch(); - return R.ok().put("rows", list); - } - - /** - * @description: 新增质检员信息 - * @author: fengyuan_yang - * @date: 2023/3/31 8:59 - * @param: [data] - * @return: com.gaotao.common.utils.R - **/ - @PostMapping("/inspectorSave") - public ResponseData inspectorSave(@RequestBody QcInspectorData data){ - ResponseData responseData = new ResponseData(); - try { - responseData = qcService.inspectorSave(data); - } catch (Exception e) { - responseData.setCode("400"); - responseData.setMsg(e.getMessage()); - } - return responseData; - } - - /** - * @description: 修改质检员信息 - * @author: fengyuan_yang - * @date: 2023/3/31 9:03 - * @param: [data] - * @return: com.gaotao.common.utils.R - **/ - @PostMapping("/inspectorUpdate") - public ResponseData inspectorUpdate(@RequestBody QcInspectorData data){ - ResponseData responseData = new ResponseData(); - try { - responseData = qcService.inspectorUpdate(data); - } catch (Exception e) { - responseData.setCode("400"); - responseData.setMsg(e.getMessage()); - } - return responseData; - } - - /** - * @description: 删除质检员信息 - * @author: fengyuan_yang - * @date: 2023/3/31 9:07 - * @param: [data] - * @return: com.gaotao.common.utils.R - **/ - @PostMapping("/inspectorDelete") - public ResponseData inspectorDelete(@RequestBody QcInspectorData data){ - ResponseData responseData = new ResponseData(); - try { - responseData = qcService.inspectorDelete(data); - } catch (Exception e) { - responseData.setCode("400"); - responseData.setMsg(e.getMessage()); - } - return responseData; - } - - // ======================= 样本量字码矩阵维护API ======================= /** - * @description: 查询抽检方案 - * @author: fengyuan_yang - * @date: 2023/4/7 16:14 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 查询抽检方案 **/ @PostMapping(value="/samplingInspectionPlanSearch") public R samplingInspectionPlanSearch(@RequestBody QcSamplingInspectionPlanData data){ - PageUtils page = qcService.samplingInspectionPlanSearch(data); + PageUtils page = qcBaseInfoService.samplingInspectionPlanSearch(data); return R.ok().put("page", page); } /** - * @description: 新增抽样方案 - * @author: fengyuan_yang - * @date: 2023/4/10 9:48 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增抽样方案 **/ @PostMapping(value="/samplingInspectionPlanSave") public R samplingInspectionPlanSave(@RequestBody QcSamplingInspectionPlanData data){ - qcService.samplingInspectionPlanSave(data); + qcBaseInfoService.samplingInspectionPlanSave(data); return R.ok(); } /** - * @description: 修改抽样方案 - * @author: fengyuan_yang - * @date: 2023/4/10 12:58 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 修改抽样方案 **/ @PostMapping(value="/samplingInspectionPlanUpdate") public R samplingInspectionPlanUpdate(@RequestBody QcSamplingInspectionPlanData data){ - qcService.samplingInspectionPlanUpdate(data); + qcBaseInfoService.samplingInspectionPlanUpdate(data); return R.ok(); } /** - * @description: 删除抽样方案 - * @author: fengyuan_yang - * @date: 2023/4/10 13:02 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 删除抽样方案 **/ @PostMapping(value="/samplingInspectionPlanDelete") public R samplingInspectionPlanDelete(@RequestBody QcSamplingInspectionPlanData data){ - qcService.samplingInspectionPlanDelete(data); + qcBaseInfoService.samplingInspectionPlanDelete(data); return R.ok(); } // ======================= 检验模板API ======================= /** - * @description: 查询模板 - * @author: fengyuan_yang - * @date: 2023/4/10 15:55 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 查询模板 **/ @PostMapping(value="/templateSearch") public R templateSearch(@RequestBody QcTemplateData data){ - PageUtils page = qcService.templateSearch(data); + PageUtils page = qcBaseInfoService.templateSearch(data); return R.ok().put("page", page); } /** - * @description: 新增模板 - * @author: fengyuan_yang - * @date: 2023/4/10 17:12 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增模板 **/ @PostMapping(value="/templateSave") public R templateSave(@RequestBody QcTemplateData data){ - qcService.templateSave(data); + qcBaseInfoService.templateSave(data); return R.ok(); } /** - * @description: 修改模板 - * @author: fengyuan_yang - * @date: 2023/4/10 17:38 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 修改模板 **/ @PostMapping(value="/templateUpdate") public R templateUpdate(@RequestBody QcTemplateData data){ - qcService.templateUpdate(data); + qcBaseInfoService.templateUpdate(data); return R.ok(); } /** - * @description: 删除模板 - * @author: fengyuan_yang - * @date: 2023/4/12 14:27 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 删除模板 **/ @PostMapping(value="/templateDelete") public R templateDelete(@RequestBody QcTemplateData data){ - qcService.templateDelete(data); + qcBaseInfoService.templateDelete(data); return R.ok(); } /** - * @description: 搜索所有检验类型 - * @author: fengyuan_yang - * @date: 2023/4/18 17:09 - * @param: [] - * @return: com.gaotao.common.utils.R + * 搜索所有检验类型 **/ @PostMapping(value="/inspectionTypeSearch") public R inspectionTypeSearch(@RequestBody QcInspectionTypeData data){ - List list = qcService.inspectionTypeSearch(data); + List list = qcBaseInfoService.inspectionTypeSearch(data); return R.ok().put("rows", list); } /** - * @description: 搜索所有设备 - * @author: fengyuan_yang - * @date: 2023/4/19 14:35 - * @param: [] - * @return: com.gaotao.common.utils.R + * 搜索所有设备 **/ @PostMapping(value="/objectSearch") public R objectSearch (@RequestBody EamObjectData data) { - List list = qcService.objectSearch(data); + List list = qcBaseInfoService.objectSearch(data); return R.ok().put("rows", list); } /** - * @description: 查询项目列表 - * @author: fengyuan_yang - * @date: 2023/4/11 9:39 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 查询项目列表 **/ @PostMapping(value="/templateDetailsSearch") public R templateDetailsSearch(@RequestBody QcTemplateData data){ - List list = qcService.templateDetailsSearch(data); + List list = qcBaseInfoService.templateDetailsSearch(data); return R.ok().put("rows", list); } /** - * @description: 新增模板的检验项目 - * @author: fengyuan_yang - * @date: 2023/4/11 10:04 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增模板的检验项目 **/ @PostMapping("/addItemDetails") public R addItemDetails(@RequestBody QcTemplateData data){ - qcService.addItemDetails(data); + qcBaseInfoService.addItemDetails(data); return R.ok(); } /** - * @description: 快速新增 - * @author: fengyuan_yang - * @date: 2023/4/12 13:45 - * @param: [inData] - * @return: com.gaotao.common.utils.R + * 快速新增 **/ @PostMapping("/getItemList") public R getItemList(@RequestBody QcTemplateData data){ // 获取当前项目不包含的明细 - List row1 = qcService.getItemList(data); + List row1 = qcBaseInfoService.getItemList(data); // 获取当前项目所包含的明细 - List row2 = qcService.templateDetailsSearch(data); + List row2 = qcBaseInfoService.templateDetailsSearch(data); return R.ok().put("row1", row1).put("row2", row2); } /** - * @description: 查询项目 - * @author: fengyuan_yang - * @date: 2023/11/19 13:03 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 查询项目 **/ @PostMapping("/getItem") public R getItem(@RequestBody QcTemplateData data){ - List rows = qcService.getItem(data); + List rows = qcBaseInfoService.getItem(data); return R.ok().put("rows", rows); } /** - * @description: 删除模板的检验项目 - * @author: fengyuan_yang - * @date: 2023/4/11 10:57 - * @param: [inData] - * @return: com.gaotao.common.utils.R + * 删除模板的检验项目 **/ @PostMapping("/delItemDetails") public R delItemDetails(@RequestBody QcTemplateData data){ - qcService.delItemDetails(data); + qcBaseInfoService.delItemDetails(data); return R.ok(); } /** - * @description: 新增项目明细的最大最小值 - * @author: fengyuan_yang - * @date: 2023/4/16 17:26 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增项目明细的最大最小值 **/ @PostMapping("/saveItemDetailed") public R saveItemDetailed(@RequestBody QcTemplateData data){ - qcService.saveItemDetailed(data); + qcBaseInfoService.saveItemDetailed(data); return R.ok(); } /** - * @description: 检验模板导入 - * @author: fengyuan_yang - * @date: 2023/4/22 16:29 - * @param: [file] - * @return: com.gaotao.common.utils.R + * 检验模板导入 **/ @PostMapping("/uploadTemplateExcel") public R uploadTemplateExcel(@RequestParam(value = "file") MultipartFile file, @ModelAttribute GetParamInData data){ - qcService.uploadTemplateExcel(file, data); + qcBaseInfoService.uploadTemplateExcel(file, data); return R.ok(); } - // ======================= 样本量API ======================= /** - * @description: 查询样本量 - * @author: fengyuan_yang - * @date: 2023/4/17 10:48 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 查询样本量 **/ @PostMapping("/samplingQtySearch") public R samplingQtySearch(@RequestBody QcSamplingInspectionQtyData data){ - PageUtils page = qcService.samplingQtySearch(data); + PageUtils page = qcBaseInfoService.samplingQtySearch(data); return R.ok().put("page", page); } /** - * @description: 新增样本量 - * @author: fengyuan_yang - * @date: 2023/4/17 11:24 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增样本量 **/ @PostMapping("/samplingQtySave") public R samplingQtySave(@RequestBody QcSamplingInspectionQtyData data){ - qcService.samplingQtySave(data); + qcBaseInfoService.samplingQtySave(data); return R.ok(); } /** - * @description: 修改样本量 - * @author: fengyuan_yang - * @date: 2023/4/17 13:01 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 修改样本量 **/ @PostMapping("/samplingQtyUpdate") public R samplingQtyUpdate(@RequestBody QcSamplingInspectionQtyData data){ - qcService.samplingQtyUpdate(data); + qcBaseInfoService.samplingQtyUpdate(data); return R.ok(); } /** - * @description: 删除样本量 - * @author: fengyuan_yang - * @date: 2023/4/17 13:22 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 删除样本量 **/ @PostMapping("/samplingQtyDelete") public R samplingQtyDelete(@RequestBody QcSamplingInspectionQtyData data){ - qcService.samplingQtyDelete(data); + qcBaseInfoService.samplingQtyDelete(data); return R.ok(); } // ======================= 批量级次API ======================= /** - * @description: 查询批量级次 - * @author: fengyuan_yang - * @date: 2023/4/17 13:38 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 查询批量级次 **/ @PostMapping("/samplingQtyRankSearch") public R samplingQtyRankSearch(@RequestBody QcSamplingInspectionQtyRankData data){ - PageUtils page = qcService.samplingQtyRankSearch(data); + PageUtils page = qcBaseInfoService.samplingQtyRankSearch(data); return R.ok().put("page", page); } /** - * @description: 新增批量级次 - * @author: fengyuan_yang - * @date: 2023/4/17 11:24 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增批量级次 **/ @PostMapping("/samplingQtyRankSave") public R samplingQtyRankSave(@RequestBody QcSamplingInspectionQtyRankData data){ - qcService.samplingQtyRankSave(data); + qcBaseInfoService.samplingQtyRankSave(data); return R.ok(); } /** - * @description: 修改批量级次 - * @author: fengyuan_yang - * @date: 2023/4/17 13:01 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 修改批量级次 **/ @PostMapping("/samplingQtyRankUpdate") public R samplingQtyRankUpdate(@RequestBody QcSamplingInspectionQtyRankData data){ - qcService.samplingQtyRankUpdate(data); + qcBaseInfoService.samplingQtyRankUpdate(data); return R.ok(); } /** - * @description: 删除批量级次 - * @author: fengyuan_yang - * @date: 2023/4/17 13:22 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 删除批量级次 **/ @PostMapping("/samplingQtyRankDelete") public R samplingQtyRankDelete(@RequestBody QcSamplingInspectionQtyRankData data){ - qcService.samplingQtyRankDelete(data); + qcBaseInfoService.samplingQtyRankDelete(data); return R.ok(); } // ======================= 检验等级API ======================= /** - * @description: 查询检验等级 - * @author: fengyuan_yang - * @date: 2023/4/17 13:38 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 查询检验等级 **/ @PostMapping("/samplingLevelSearch") public R samplingLevelSearch(@RequestBody QcSamplingInspectionLevelData data){ - PageUtils page = qcService.samplingLevelSearch(data); + PageUtils page = qcBaseInfoService.samplingLevelSearch(data); return R.ok().put("page", page); } /** - * @description: 新增检验等级 - * @author: fengyuan_yang - * @date: 2023/4/17 11:24 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增检验等级 **/ @PostMapping("/samplingLevelSave") public R samplingLevelSave(@RequestBody QcSamplingInspectionLevelData data){ - qcService.samplingLevelSave(data); + qcBaseInfoService.samplingLevelSave(data); return R.ok(); } /** - * @description: 修改检验等级 - * @author: fengyuan_yang - * @date: 2023/4/17 13:01 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 修改检验等级 **/ @PostMapping("/samplingLevelUpdate") public R samplingLevelUpdate(@RequestBody QcSamplingInspectionLevelData data){ - qcService.samplingLevelUpdate(data); + qcBaseInfoService.samplingLevelUpdate(data); return R.ok(); } /** - * @description: 删除检验等级 - * @author: fengyuan_yang - * @date: 2023/4/17 13:22 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 删除检验等级 **/ @PostMapping("/samplingLevelDelete") public R samplingLevelDelete(@RequestBody QcSamplingInspectionLevelData data){ - qcService.samplingLevelDelete(data); + qcBaseInfoService.samplingLevelDelete(data); return R.ok(); } // ======================= 物料属性设置API ======================= /** - * @description: 查询物料属性 - * @author: fengyuan_yang - * @date: 2023/4/19 11:42 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 查询物料属性 **/ @PostMapping(value="/qcPartAttributeSearch") public R qcPartAttributeSearch(@RequestBody QcPartAttributeData data){ - PageUtils page = qcService.qcPartAttributeSearch(data); + PageUtils page = qcBaseInfoService.qcPartAttributeSearch(data); return R.ok().put("page", page); } /** - * @description: 新增物料属性 - * @author: fengyuan_yang - * @date: 2023/4/19 17:14 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增物料属性 **/ @PostMapping("/qcPartAttributeSave") public R qcPartAttributeSave(@RequestBody QcPartAttributeData data){ - qcService.qcPartAttributeSave(data); + qcBaseInfoService.qcPartAttributeSave(data); return R.ok(); } /** - * @description: 物料属性修改 - * @author: fengyuan_yang - * @date: 2023/10/27 13:25 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 物料属性修改 **/ @PostMapping("/qcPartAttributeEdit") public R qcPartAttributeEdit(@RequestBody QcPartAttributeData data){ - qcService.qcPartAttributeEdit(data); + qcBaseInfoService.qcPartAttributeEdit(data); return R.ok(); } /** - * @description: 删除物料属性 - * @author: fengyuan_yang - * @date: 2023/4/20 16:42 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 删除物料属性 **/ @PostMapping("/qcPartAttributeDelete") public R qcPartAttributeDelete(@RequestBody QcPartAttributeData data){ - qcService.qcPartAttributeDelete(data); + qcBaseInfoService.qcPartAttributeDelete(data); return R.ok(); } /** - * @description: 查询物料模板 - * @author: fengyuan_yang - * @date: 2023/4/19 17:50 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 查询物料模板 **/ @PostMapping("/searchPartAttributeDetails") public R searchPartAttributeDetails(@RequestBody QcTemplateData data){ - List list = qcService.searchPartAttributeDetails(data); + List list = qcBaseInfoService.searchPartAttributeDetails(data); return R.ok().put("rows", list); } /** - * @description: 新增物料属性模板 - * @author: fengyuan_yang - * @date: 2023/4/20 9:33 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增物料属性模板 **/ @PostMapping("/savePartAttributeDetails") public R savePartAttributeDetails(@RequestBody QcTemplateData data){ - qcService.savePartAttributeDetails(data); + qcBaseInfoService.savePartAttributeDetails(data); return R.ok(); } /** - * @description: 删除物料属性模板 - * @author: fengyuan_yang - * @date: 2023/4/20 13:10 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 删除物料属性模板 **/ @PostMapping("/deletePartAttributeDetails") public R deletePartAttributeDetails(@RequestBody QcTemplateData data){ - qcService.deletePartAttributeDetails(data); + qcBaseInfoService.deletePartAttributeDetails(data); return R.ok(); } /** - * @description: 新增物料属性模板详情 - * @author: fengyuan_yang - * @date: 2023/4/20 15:32 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增物料属性模板详情 **/ @PostMapping("/saveAttributeDetailed") public R saveAttributeDetailed(@RequestBody QcTemplateData data){ - qcService.saveAttributeDetailed(data); + qcBaseInfoService.saveAttributeDetailed(data); return R.ok(); } /** - * @description: 物料属性导入 - * @author: fengyuan_yang - * @date: 2023/4/23 11:33 - * @param: [file] - * @return: com.gaotao.common.utils.R + * 物料属性导入 **/ @PostMapping("/uploadPartAttributeExcel") public R uploadPartAttributeExcel(@RequestParam(value = "file") MultipartFile file, @ModelAttribute GetParamInData data){ - qcService.uploadPartAttributeExcel(file, data); - return R.ok(); - } - - - // ======================= 分类属性设置API ======================= - - /** - * @description: 查询类别属性 - * @author: fengyuan_yang - * @date: 2023/4/21 9:08 - * @param: [data] - * @return: com.gaotao.common.utils.R - **/ - @PostMapping(value="/qcFamilyAttributeSearch") - public R qcFamilyAttributeSearch(@RequestBody QcPartAttributeData data){ - PageUtils page = qcService.qcFamilyAttributeSearch(data); - return R.ok().put("page", page); - } - - /** - * @description: 新增类别属性 - * @author: fengyuan_yang - * @date: 2023/4/21 9:29 - * @param: [data] - * @return: com.gaotao.common.utils.R - **/ - @PostMapping("/qcFamilyAttributeSave") - public R qcFamilyAttributeSave(@RequestBody QcPartAttributeData data){ - qcService.qcFamilyAttributeSave(data); - return R.ok(); - } - - /** - * @description: 删除类别属性 - * @author: fengyuan_yang - * @date: 2023/4/21 9:56 - * @param: [data] - * @return: com.gaotao.common.utils.R - **/ - @PostMapping("/qcFamilyAttributeDelete") - public R qcFamilyAttributeDelete(@RequestBody QcPartAttributeData data){ - qcService.qcFamilyAttributeDelete(data); - return R.ok(); - } - - /** - * @description: 类别属性导入 - * @author: fengyuan_yang - * @date: 2023/4/23 15:58 - * @param: [file] - * @return: com.gaotao.common.utils.R - **/ - @PostMapping("/uploadFamilyAttributeExcel") - public R uploadFamilyAttributeExcel(@RequestParam(value = "file") MultipartFile file, @ModelAttribute GetParamInData data){ - qcService.uploadFamilyAttributeExcel(file, data); + qcBaseInfoService.uploadPartAttributeExcel(file, data); return R.ok(); } // ======================= 抽样方案API ======================= /** - * @description: 查询抽样方案 - * @author: fengyuan_yang - * @date: 2023/4/21 13:32 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 查询抽样方案 **/ @PostMapping(value="/samplingProgrammeSearch") public R samplingProgrammeSearch(@RequestBody QcSamplingInspectionProgrammeData data){ - PageUtils page = qcService.samplingProgrammeSearch(data); + PageUtils page = qcBaseInfoService.samplingProgrammeSearch(data); return R.ok().put("page", page); } /** - * @description: 新增抽样方案 - * @author: fengyuan_yang - * @date: 2023/4/21 13:47 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增抽样方案 **/ @PostMapping("/samplingProgrammeSave") public R samplingProgrammeSave(@RequestBody QcSamplingInspectionProgrammeData data){ - qcService.samplingProgrammeSave(data); + qcBaseInfoService.samplingProgrammeSave(data); return R.ok(); } /** - * @description: 删除抽样方案 - * @author: fengyuan_yang - * @date: 2023/4/23 8:58 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 删除抽样方案 **/ @PostMapping("/samplingProgrammeDelete") public R samplingProgrammeDelete(@RequestBody QcSamplingInspectionProgrammeData data){ - qcService.samplingProgrammeDelete(data); + qcBaseInfoService.samplingProgrammeDelete(data); return R.ok(); } /** - * @description: 搜索抽样方案中的矩阵 - * @author: fengyuan_yang - * @date: 2023/4/21 15:43 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 搜索抽样方案中的矩阵 **/ @PostMapping("/searchSamplingProgrammeDetails") public R searchSamplingProgrammeDetails(@RequestBody QcSamplingInspectionProgrammeData data){ - List list = qcService.searchSamplingProgrammeDetails(data); + List list = qcBaseInfoService.searchSamplingProgrammeDetails(data); return R.ok().put("rows", list); } /** - * @description: 获取矩阵列表 - * @author: fengyuan_yang - * @date: 2023/4/21 16:38 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 获取矩阵列表 **/ @PostMapping("/getPlanLists") public R getPlanLists(@RequestBody QcSamplingInspectionProgrammeData data){ // 获取该方案不包含的矩阵 - List row1 = qcService.getPlanList(data); + List row1 = qcBaseInfoService.getPlanList(data); // 获取当前方案所包含的矩阵 - List row2 = qcService.getProgrammePlanList(data); + List row2 = qcBaseInfoService.getProgrammePlanList(data); return R.ok().put("row1", row1).put("row2", row2); } /** - * @description: 新增抽样方案中的矩阵 - * @author: fengyuan_yang - * @date: 2023/4/21 17:41 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增抽样方案中的矩阵 **/ @PostMapping("/saveSamplingProgrammeDetails") public R saveSamplingProgrammeDetails(@RequestBody QcSamplingInspectionProgrammeData data){ - qcService.saveSamplingProgrammeDetails(data); + qcBaseInfoService.saveSamplingProgrammeDetails(data); return R.ok(); } /** - * @description: 删除抽样方案中的矩阵 - * @author: fengyuan_yang - * @date: 2023/4/21 17:52 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 删除抽样方案中的矩阵 **/ @PostMapping("/deleteSamplingProgrammeDetails") public R deleteSamplingProgrammeDetails(@RequestBody QcSamplingInspectionProgrammeData data){ - qcService.deleteSamplingProgrammeDetails(data); + qcBaseInfoService.deleteSamplingProgrammeDetails(data); return R.ok(); } // ======================= FAI检验API ======================= /** - * @description: FAI记录查询 - * @author: fengyuan_yang - * @date: 2023/4/24 10:10 - * @param: [data] - * @return: com.gaotao.common.utils.R + * FAI记录查询 **/ @PostMapping(value="/qcFAIInspectionSearch") public R qcFAIInspectionSearch(@RequestBody QcFAIRecordData data){ @@ -936,11 +578,7 @@ public class QcController { } /** - * @description: FAI明细记录查询 - * @author: fengyuan_yang - * @date: 2023/4/25 9:16 - * @param: [data] - * @return: com.gaotao.common.utils.R + * FAI明细记录查询 **/ @PostMapping("/faiDetailSearch") public R faiDetailSearch(@RequestBody QcFAIRecordData data){ @@ -949,11 +587,7 @@ public class QcController { } /** - * @description: 保存FAI检验记录 - * @author: fengyuan_yang - * @date: 2023/3/30 8:50 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 保存FAI检验记录 **/ @PostMapping("/saveFAIDetailedRecord") public R saveFAIDetailedRecord(@RequestBody QcFAIRecordData data){ @@ -962,11 +596,7 @@ public class QcController { } /** - * @description: 删除FAI检验记录 - * @author: fengyuan_yang - * @date: 2023/3/30 9:03 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 删除FAI检验记录 **/ @PostMapping("/faiRecordDelete") public R faiRecordDelete(@RequestBody QcFAIRecordData data){ @@ -975,11 +605,7 @@ public class QcController { } /** - * @description: FAI审核 - * @author: fengyuan_yang - * @date: 2023/3/31 17:17 - * @param: [data] - * @return: com.gaotao.common.utils.R + * FAI审核 **/ @PostMapping("/saveFAISubmitResult") public R saveFAISubmitResult(@RequestBody QcFAIRecordData data){ @@ -988,11 +614,7 @@ public class QcController { } /** - * @description: 新增FAI子明细 - * @author: fengyuan_yang - * @date: 2023/4/4 13:50 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增FAI子明细 **/ @PostMapping("/saveFAISubDetailed") public R saveFAISubDetailed(@RequestBody QcSubDetailInformationData data){ @@ -1001,11 +623,7 @@ public class QcController { } /** - * @description: 查询FAI子明细 - * @author: fengyuan_yang - * @date: 2023/4/4 16:06 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 查询FAI子明细 **/ @PostMapping("/selectFAISubDetailedRecord") public R selectFAISubDetailedRecord(@RequestBody SubDetailValues data){ @@ -1014,11 +632,7 @@ public class QcController { } /** - * @description: 检查FAI是否已提交 - * @author: fengyuan_yang - * @date: 2023/4/5 9:50 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 检查FAI是否已提交 **/ @PostMapping("/checkFAIIsSubmit") public R checkFAIIsSubmit(@RequestBody SubDetailValues data){ @@ -1027,11 +641,7 @@ public class QcController { } /** - * @description: 检查FAI子明细中的实测值是否在规定范围 - * @author: fengyuan_yang - * @date: 2023/4/6 16:13 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 检查FAI子明细中的实测值是否在规定范围 **/ @PostMapping("/checkFAISubDetailValue") public R checkFAISubDetailValue(@RequestBody CheckSubDetailValueVo data){ @@ -1040,11 +650,7 @@ public class QcController { } /** - * @description: 新增FAI检验 - * @author: fengyuan_yang - * @date: 2023/9/18 10:03 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增FAI检验 **/ @PostMapping("/saveFAIInspection") public R saveFAIInspection(@RequestBody QcFAIRecordData data){ @@ -1055,11 +661,7 @@ public class QcController { // ======================= FQC检验API ======================= /** - * @description: FQC记录查询 - * @author: fengyuan_yang - * @date: 2023/9/18 11:32 - * @param: [data] - * @return: com.gaotao.common.utils.R + * FQC记录查询 **/ @PostMapping(value="/qcFQCInspectionSearch") public R qcFQCInspectionSearch(@RequestBody QcFAIRecordData data){ @@ -1068,11 +670,7 @@ public class QcController { } /** - * @description: FQC记录新增 - * @author: fengyuan_yang - * @date: 2023/9/18 11:34 - * @param: [data] - * @return: com.gaotao.common.utils.R + * FQC记录新增 **/ @PostMapping("/saveFQCInspection") public R saveFQCInspection(@RequestBody QcFAIRecordData data){ @@ -1081,11 +679,7 @@ public class QcController { } /** - * @description: FQC明细记录查询 - * @author: fengyuan_yang - * @date: 2023/9/18 13:04 - * @param: [data] - * @return: com.gaotao.common.utils.R + * FQC明细记录查询 **/ @PostMapping("/fqcDetailSearch") public R fqcDetailSearch(@RequestBody QcFAIRecordData data){ @@ -1094,11 +688,7 @@ public class QcController { } /** - * @description: 删除FQC检验记录 - * @author: fengyuan_yang - * @date: 2023/9/18 13:07 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 删除FQC检验记录 **/ @PostMapping("/fqcRecordDelete") public R fqcRecordDelete(@RequestBody QcFAIRecordData data){ @@ -1107,11 +697,7 @@ public class QcController { } /** - * @description: 保存FQC检验记录 - * @author: fengyuan_yang - * @date: 2023/9/18 13:12 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 保存FQC检验记录 **/ @PostMapping("/saveFQCDetailedRecord") public R saveFQCDetailedRecord(@RequestBody QcFAIRecordData data){ @@ -1120,11 +706,7 @@ public class QcController { } /** - * @description: FQC审核 - * @author: fengyuan_yang - * @date: 2023/9/18 13:20 - * @param: [data] - * @return: com.gaotao.common.utils.R + * FQC审核 **/ @PostMapping("/saveFQCSubmitResult") public R saveFQCSubmitResult(@RequestBody QcFAIRecordData data){ @@ -1133,11 +715,7 @@ public class QcController { } /** - * @description: 新增FQC子明细 - * @author: fengyuan_yang - * @date: 2023/9/18 13:24 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增FQC子明细 **/ @PostMapping("/saveFQCSubDetailed") public R saveFQCSubDetailed(@RequestBody QcSubDetailInformationData data){ @@ -1146,11 +724,7 @@ public class QcController { } /** - * @description: 查询FQC子明细 - * @author: fengyuan_yang - * @date: 2023/9/18 13:28 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 查询FQC子明细 **/ @PostMapping("/selectFQCSubDetailedRecord") public R selectFQCSubDetailedRecord(@RequestBody SubDetailValues data){ @@ -1159,11 +733,7 @@ public class QcController { } /** - * @description: 检查是否已提交 - * @author: fengyuan_yang - * @date: 2023/9/18 13:31 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 检查是否已提交 **/ @PostMapping("/checkFQCIsSubmit") public R checkFQCIsSubmit(@RequestBody SubDetailValues data){ @@ -1172,11 +742,7 @@ public class QcController { } /** - * @description: 检查FQC子明细中的实测值是否在规定范围 - * @author: fengyuan_yang - * @date: 2023/9/18 13:35 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 检查FQC子明细中的实测值是否在规定范围 **/ @PostMapping("/checkFQCSubDetailValue") public R checkFQCSubDetailValue(@RequestBody CheckSubDetailValueVo data){ @@ -1187,11 +753,7 @@ public class QcController { // ======================= IPQC检验API ======================= /** - * @description: IPQC记录查询 - * @author: fengyuan_yang - * @date: 2023/4/24 10:10 - * @param: [data] - * @return: com.gaotao.common.utils.R + * IPQC记录查询 **/ @PostMapping(value="/qcIPQCInspectionSearch") public R qcIPQCInspectionSearch(@RequestBody QcFAIRecordData data){ @@ -1200,11 +762,7 @@ public class QcController { } /** - * @description: IPQC明细记录查询 - * @author: fengyuan_yang - * @date: 2023/4/25 9:16 - * @param: [data] - * @return: com.gaotao.common.utils.R + * IPQC明细记录查询 **/ @PostMapping("/ipqcDetailSearch") public R ipqcDetailSearch(@RequestBody QcFAIRecordData data){ @@ -1213,11 +771,7 @@ public class QcController { } /** - * @description: 删除IPQC检验记录 - * @author: fengyuan_yang - * @date: 2023/3/30 9:03 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 删除IPQC检验记录 **/ @PostMapping("/ipqcRecordDelete") public R ipqcRecordDelete(@RequestBody QcFAIRecordData data){ @@ -1226,11 +780,7 @@ public class QcController { } /** - * @description: 保存IPQC检验记录 - * @author: fengyuan_yang - * @date: 2023/4/26 17:26 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 保存IPQC检验记录 **/ @PostMapping("/saveIPQCDetailedRecord") public R saveIPQCDetailedRecord(@RequestBody QcFAIRecordData data){ @@ -1239,11 +789,7 @@ public class QcController { } /** - * @description: IPQC审核 - * @author: fengyuan_yang - * @date: 2023/4/26 17:36 - * @param: [data] - * @return: com.gaotao.common.utils.R + * IPQC审核 **/ @PostMapping("/saveIPQCSubmitResult") public R saveIPQCSubmitResult(@RequestBody QcFAIRecordData data){ @@ -1252,11 +798,7 @@ public class QcController { } /** - * @description: 新增IPQC子明细信息 - * @author: fengyuan_yang - * @date: 2023/4/26 17:46 - * @param: [data] - * @return: com.gaotao.common.utils.R + * 新增IPQC子明细信息 **/ @PostMapping("/saveIPQCSubDetailed") public R saveIPQCSubDetailed(@RequestBody QcSubDetailInformationData data){ @@ -1737,7 +1279,7 @@ public class QcController { */ @PostMapping("/queryMethodList") public R queryMethodList(@RequestBody QcMethodData data) { - List list = qcService.queryMethodList(data); + List list = qcBaseInfoService.queryMethodList(data); return R.ok().put("rows", list); } diff --git a/src/main/java/com/gaotao/modules/pms/mapper/QcBaseInfoMapper.java b/src/main/java/com/gaotao/modules/pms/mapper/QcBaseInfoMapper.java new file mode 100644 index 0000000..158e77e --- /dev/null +++ b/src/main/java/com/gaotao/modules/pms/mapper/QcBaseInfoMapper.java @@ -0,0 +1,215 @@ +package com.gaotao.modules.pms.mapper; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gaotao.modules.pms.data.*; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +@Mapper +public interface QcBaseInfoMapper { + IPage qcMethodSearch(Page page, @Param("query") QcMethodData data); + + void qcMethodSave(QcMethodData data); + + void qcMethodUpdate(QcMethodData data); + + String getMethodNo(QcMethodData data); + + List checkMethodOnlyOne(QcMethodData data); + + List checkMethodIsUsed(QcMethodData data); + + void qcMethodDelete(QcMethodData data); + + IPage qcItemSearch(Page page, @Param("query") QcItemData data); + + List checkQcItem(QcItemData data); + + void qcItemSave(QcItemData data); + + void qcItemUpdate(QcItemData data); + + void qcItemDelete(QcItemData data); + + List checkItemIsUsed(QcItemData data); + + String getItemNo(QcItemData data); + + List checkItemOnlyOne(QcItemData data); + + void qcItemMethodDelete(QcItemData data); + + void qcItemMethodSave(QcItemData data); + + void qcItemMethodUpdate(QcItemData data); + + List getTemplateList(QcTemplateData data); + + List getPartTemplateList(QcTemplateData data); + + List getTemplateListAll(QcTemplateData data); + + IPage samplingInspectionPlanSearch(Page qcSamplingInspectionPlanDataPage,@Param("query") QcSamplingInspectionPlanData data); + + void samplingInspectionPlanSave(QcSamplingInspectionPlanData data); + + void samplingInspectionPlanUpdate(QcSamplingInspectionPlanData data); + + void samplingInspectionPlanDelete(QcSamplingInspectionPlanData data); + + String queryLastSamplingPlanNo(QcSamplingInspectionPlanData data); + + QcSamplingInspectionPlanData selectSamplingPlanByNo(QcSamplingInspectionPlanData data); + + IPage templateSearch(Page qcItemDataPage, @Param("query") QcTemplateData data); + + void templateSave(QcTemplateData data); + + void templateUpdate(QcTemplateData data); + + List templateDetailsSearch(QcTemplateData data); + + QcTemplateData selectItemDetails(QcTemplateData data); + + void addItemDetails(QcTemplateData data); + + void delItemDetails(QcTemplateData data); + + List getItemList(QcTemplateData data); + + void templateDelete(QcTemplateData data); + + void itemItemDelete(QcTemplateData data); + + EamPropertiesItemData getItemByItemNo(QcItemData data); + + void insertItem(EamPropertiesItemData task); + + QcTemplateData selectTemplateByDesc(QcTemplateData data); + + QcTemplateData selectDetail(QcTemplateData data); + + void saveItemDetailed(QcTemplateData data); + + String getTemplateNo(QcTemplateData data); + + List checkTemplateOnlyOne(QcTemplateData data); + + Integer getQCDetailOrderId(QcTemplateData data); + + void delTemplateItem(QcTemplateData data); + + void deleteInspectionStandard2(QcTemplateData qcData); + + List getItem(QcTemplateData data); + + List queryMethodList(QcMethodData data); + + QcTemplateData selectItem(String itemNo, String itemType,String buNo); + + void updateQCDetailOrderIdNull(); + + List inspectionTypeSearch(QcInspectionTypeData data); + + List objectSearch(EamObjectData data); + + IPage samplingQtySearch(Page page, @Param("query") QcSamplingInspectionQtyData data); + + void samplingQtySave(QcSamplingInspectionQtyData data); + + QcSamplingInspectionQtyData selectSamplingQtyByDesc(QcSamplingInspectionQtyData data); + + String queryLastSamplingQtyNo(QcSamplingInspectionQtyData data); + + void samplingQtyUpdate(QcSamplingInspectionQtyData data); + + List selectSamplingPlanBySamplingQtyNo(QcSamplingInspectionQtyData data); + + void samplingQtyDelete(QcSamplingInspectionQtyData data); + + IPage samplingQtyRankSearch(Page page, @Param("query") QcSamplingInspectionQtyRankData data); + + QcSamplingInspectionQtyRankData selectSamplingQtyRankByDesc(QcSamplingInspectionQtyRankData data); + + String queryLastSamplingQtyRankNo(QcSamplingInspectionQtyRankData data); + + void samplingQtyRankSave(QcSamplingInspectionQtyRankData data); + + List selectSamplingPlanBySamplingQtyRankNo(QcSamplingInspectionQtyRankData data); + + void samplingQtyRankUpdate(QcSamplingInspectionQtyRankData data); + + void samplingQtyRankDelete(QcSamplingInspectionQtyRankData data); + + IPage samplingLevelSearch(Page page, @Param("query") QcSamplingInspectionLevelData data); + + QcSamplingInspectionLevelData selectSamplingLevelByDesc(QcSamplingInspectionLevelData data); + + String queryLastSamplingLevelNo(QcSamplingInspectionLevelData data); + + void samplingLevelSave(QcSamplingInspectionLevelData data); + + List selectSamplingPlanBySamplingLevelNo(QcSamplingInspectionLevelData data); + + void samplingLevelUpdate(QcSamplingInspectionLevelData data); + + void samplingLevelDelete(QcSamplingInspectionLevelData data); + + IPage qcPartAttributeSearch(Page qcPartAttributeDataPage,@Param("query") QcPartAttributeData data); + + void qcPartAttributeSave(QcPartAttributeData data); + + List searchPartAttributeDetails(QcTemplateData data); + + void savePartAttributeDetails(QcTemplateData data); + + void deletePartAttributeDetails(QcTemplateData data); + + void saveAttributeDetailed(QcTemplateData data); + + QcTemplateData selectTemplateData(QcTemplateData data); + + void qcPartAttributeDelete(QcPartAttributeData data); + + void deletePartAttributeTemplate(QcPartAttributeData data); + + QcSamplingInspectionPlanData selectSamplingPlanByDesc(QcSamplingInspectionPlanData data); + + QcPartAttributeData selectPartAttributeByNo(QcPartAttributeData data); + + void updatePartAttributeTime(QcTemplateData data); + + QcTemplateData searchPartRepeat(QcTemplateData partData); + + void qcPartAttributeEdit(QcPartAttributeData data); + + IPage samplingProgrammeSearch(Page qcSamplingInspectionProgrammeDataPage,@Param("query") QcSamplingInspectionProgrammeData data); + + void samplingProgrammeSave(QcSamplingInspectionProgrammeData data); + + QcSamplingInspectionProgrammeData selectSamplingProgrammeByDesc(QcSamplingInspectionProgrammeData data); + + String queryLastSamplingProgrammeNo(QcSamplingInspectionProgrammeData data); + + List searchSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data); + + List getPlanList(QcSamplingInspectionProgrammeData data); + + List getProgrammePlanList(QcSamplingInspectionProgrammeData data); + + void saveSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data); + + QcSamplingInspectionProgrammeData searchPlanRepeat(QcSamplingInspectionProgrammeData data); + + void deleteSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data); + + void samplingProgrammeDelete(QcSamplingInspectionProgrammeData data); + + void deletePlanByProgrammeNo(QcSamplingInspectionProgrammeData data); + + void updateSamplingInspectionProgrammeDate(QcSamplingInspectionProgrammeData data); + +} diff --git a/src/main/java/com/gaotao/modules/pms/mapper/QcMapper.java b/src/main/java/com/gaotao/modules/pms/mapper/QcMapper.java index d11037a..38a2966 100644 --- a/src/main/java/com/gaotao/modules/pms/mapper/QcMapper.java +++ b/src/main/java/com/gaotao/modules/pms/mapper/QcMapper.java @@ -12,52 +12,14 @@ import org.apache.ibatis.annotations.Param; import java.util.ArrayList; import java.util.List; -/** - * @description: 质量管理持久层 - * @author: fengyuan_yang - * @date: 2023/3/27 9:15 - * @param: - * @return: - **/ + @Mapper public interface QcMapper { - IPage qcItemSearch(Page page, @Param("query") QcItemData data); - - List checkQcItem(QcItemData data); - - void qcItemSave(QcItemData data); - - void qcItemUpdate(QcItemData data); - - void qcItemDelete(QcItemData data); - - IPage qcMethodSearch(Page page, @Param("query") QcMethodData data); - - void qcMethodSave(QcMethodData data); - - void qcMethodUpdate(QcMethodData data); - - List checkMethodIsUsed(QcMethodData data); - - void qcMethodDelete(QcMethodData data); - - List checkItemIsUsed(QcItemData data); - void deleteFAIDetailedRecord(QcFAIRecordData data); void deleteFAIRecord(QcFAIRecordData data); - List inspectorSearch(); - - List checkInspector(QcInspectorData data); - - void inspectorSave(QcInspectorData data); - - void inspectorUpdate(QcInspectorData data); - - void inspectorDelete(QcInspectorData data); - void updateFAIMasterSubmitFlag(QcFAIRecordData data); void updateFAIDetailSubmitFlag(QcFAIRecordData data); @@ -74,158 +36,8 @@ public interface QcMapper { void deleteFAISubDetailedRecord(QcFAIRecordData data); - IPage samplingInspectionPlanSearch(Page qcSamplingInspectionPlanDataPage,@Param("query") QcSamplingInspectionPlanData data); - - void samplingInspectionPlanSave(QcSamplingInspectionPlanData data); - - void samplingInspectionPlanUpdate(QcSamplingInspectionPlanData data); - - void samplingInspectionPlanDelete(QcSamplingInspectionPlanData data); - - IPage templateSearch(Page qcItemDataPage, @Param("query") QcTemplateData data); - - void templateSave(QcTemplateData data); - - void templateUpdate(QcTemplateData data); - - List templateDetailsSearch(QcTemplateData data); - - QcTemplateData selectItemDetails(QcTemplateData data); - - void addItemDetails(QcTemplateData data); - - void delItemDetails(QcTemplateData data); - - List getItemList(QcTemplateData data); - - void templateDelete(QcTemplateData data); - - void itemItemDelete(QcTemplateData data); - void delFAISubDetailedRecord(QcSubDetailInformationData data); - EamPropertiesItemData getItemByItemNo(QcItemData data); - - void insertItem(EamPropertiesItemData task); - -// String queryLastItemNo(QcItemData data); - - QcTemplateData selectTemplateByDesc(QcTemplateData data); - - QcTemplateData selectDetail(QcTemplateData data); - - void saveItemDetailed(QcTemplateData data); - - IPage samplingQtySearch(Page page, @Param("query") QcSamplingInspectionQtyData data); - - void samplingQtySave(QcSamplingInspectionQtyData data); - - QcSamplingInspectionQtyData selectSamplingQtyByDesc(QcSamplingInspectionQtyData data); - - String queryLastSamplingQtyNo(QcSamplingInspectionQtyData data); - - void samplingQtyUpdate(QcSamplingInspectionQtyData data); - - List selectSamplingPlanBySamplingQtyNo(QcSamplingInspectionQtyData data); - - void samplingQtyDelete(QcSamplingInspectionQtyData data); - - IPage samplingQtyRankSearch(Page page, @Param("query") QcSamplingInspectionQtyRankData data); - - QcSamplingInspectionQtyRankData selectSamplingQtyRankByDesc(QcSamplingInspectionQtyRankData data); - - String queryLastSamplingQtyRankNo(QcSamplingInspectionQtyRankData data); - - void samplingQtyRankSave(QcSamplingInspectionQtyRankData data); - - List selectSamplingPlanBySamplingQtyRankNo(QcSamplingInspectionQtyRankData data); - - void samplingQtyRankUpdate(QcSamplingInspectionQtyRankData data); - - void samplingQtyRankDelete(QcSamplingInspectionQtyRankData data); - - IPage samplingLevelSearch(Page page, @Param("query") QcSamplingInspectionLevelData data); - - QcSamplingInspectionLevelData selectSamplingLevelByDesc(QcSamplingInspectionLevelData data); - - String queryLastSamplingLevelNo(QcSamplingInspectionLevelData data); - - void samplingLevelSave(QcSamplingInspectionLevelData data); - - List selectSamplingPlanBySamplingLevelNo(QcSamplingInspectionLevelData data); - - void samplingLevelUpdate(QcSamplingInspectionLevelData data); - - void samplingLevelDelete(QcSamplingInspectionLevelData data); - - QcSamplingInspectionPlanData selectSamplingPlanByNo(QcSamplingInspectionPlanData data); - - String queryLastSamplingPlanNo(QcSamplingInspectionPlanData data); - - List inspectionTypeSearch(QcInspectionTypeData data); - - IPage qcPartAttributeSearch(Page qcPartAttributeDataPage,@Param("query") QcPartAttributeData data); - - List objectSearch(EamObjectData data); - - void qcPartAttributeSave(QcPartAttributeData data); - - List searchPartAttributeDetails(QcTemplateData data); - - void savePartAttributeDetails(QcTemplateData data); - - List getTemplateList(QcTemplateData data); - - List getPartTemplateList(QcTemplateData data); - - void deletePartAttributeDetails(QcTemplateData data); - - void saveAttributeDetailed(QcTemplateData data); - - QcTemplateData selectTemplateData(QcTemplateData data); - - void qcPartAttributeDelete(QcPartAttributeData data); - - void deletePartAttributeTemplate(QcPartAttributeData data); - - IPage qcFamilyAttributeSearch(Page qcPartAttributeDataPage,@Param("query") QcPartAttributeData data); - - void qcFamilyAttributeSave(QcPartAttributeData data); - - void qcFamilyAttributeDelete(QcPartAttributeData data); - - void deleteFamilyAttributeTemplate(QcPartAttributeData data); - - IPage samplingProgrammeSearch(Page qcSamplingInspectionProgrammeDataPage,@Param("query") QcSamplingInspectionProgrammeData data); - - void samplingProgrammeSave(QcSamplingInspectionProgrammeData data); - - QcSamplingInspectionProgrammeData selectSamplingProgrammeByDesc(QcSamplingInspectionProgrammeData data); - - String queryLastSamplingProgrammeNo(QcSamplingInspectionProgrammeData data); - - List searchSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data); - - List getPlanList(QcSamplingInspectionProgrammeData data); - - List getProgrammePlanList(QcSamplingInspectionProgrammeData data); - - QcSamplingInspectionPlanData selectSamplingPlanByDesc(QcSamplingInspectionPlanData data); - - void saveSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data); - - QcSamplingInspectionProgrammeData searchPlanRepeat(QcSamplingInspectionProgrammeData data); - - void deleteSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data); - - void samplingProgrammeDelete(QcSamplingInspectionProgrammeData data); - - void deletePlanByProgrammeNo(QcSamplingInspectionProgrammeData data); - - QcTemplateData selectItem(String itemNo, String itemType,String buNo); - - QcPartAttributeData selectPartAttributeByNo(QcPartAttributeData data); - List selectFAIBasicData(); List selectPartAttributeByPartNo(String site, String buNo, String partNo, String attributeType, String inspectionTypeNo, String supplierNo); @@ -324,29 +136,14 @@ public interface QcMapper { void deleteIQCSubDetailedRecord(QcFAIRecordData data); -// String queryLastMethodNo(); - - void qcItemMethodDelete(QcItemData data); - - void qcItemMethodSave(QcItemData data); - - void qcItemMethodUpdate(QcItemData data); List qcExec(String site); - void updatePartAttributeTime(QcTemplateData data); - - void updateSamplingInspectionProgrammeDate(QcSamplingInspectionProgrammeData data); - List queryFileId(SysOssEntity data); List getOperationDescList(QcPartAttributeData data); List getManufacturerList(QcPartAttributeData data); - List getTemplateListAll(QcTemplateData data); - - QcTemplateData searchPartRepeat(QcTemplateData partData); - List getAllResourceList(QcFAIRecordData data); List selectPartAttributeByOperationAndResource(String site, String buNo, String partNo, String attributeType1, String inspectionTypeNo, String operationDesc, String resourceId); @@ -401,20 +198,12 @@ public interface QcMapper { List selectTemplate(QcFAIRecordData data); - String getMethodNo(QcMethodData data); - - String getItemNo(QcItemData data); - - String getTemplateNo(QcTemplateData data); - List getPartInformation(QcFAIRecordData data); List getSpecialOperationList(QcFAIRecordData data); List disposalMeasuresSearch(QcFAIRecordData data); - void qcPartAttributeEdit(QcPartAttributeData data); - List searchItemFileUrl(QcFAIRecordData data); void imageDelete(SysOssEntity data); @@ -429,18 +218,8 @@ public interface QcMapper { List checkItem(SubDetailValues task); - List getItem(QcTemplateData data); - - List queryMethodList(QcMethodData data); - void updateIQCDetailFlag(QcFAIRecordData qcData); - List checkMethodOnlyOne(QcMethodData data); - - List checkItemOnlyOne(QcItemData data); - - List checkTemplateOnlyOne(QcTemplateData data); - List searchSeqInfo(@Param("query") QcFAIRecordData data); List searchPartInfo(@Param("query") QcFAIRecordData data); @@ -539,42 +318,16 @@ public interface QcMapper { List dataAcquisitionB(EquipmentDataAcquisitionData tempAcquisitionData); - void delTemplateItem(QcTemplateData data); - - void deleteInspectionStandard2(QcTemplateData qcData); - void updateEquipmentDataDetailInspectionNo(SubDetailValues detailValues); void deleteInspectionFiles(QcFAIRecordData qcData); - /** - * @Description 找上一个属性 - * @Title getUpItemBMdata - * @param data - * @author rq - * @date 2023/11/28 16:29 - * @return void - * @throw - */ QcTemplateData getUpItemdata(QcTemplateData data); - /** - * @Description 找下一个属性 - * @Title getUpItemBMdata - * @param data - * @author rq - * @date 2023/11/28 16:29 - * @return void - * @throw - */ QcTemplateData getDownItemdata(QcTemplateData data); void updateQcItemOrder(QcTemplateData data); - Integer getQCDetailOrderId(QcTemplateData data); - - void updateQCDetailOrderIdNull(); - List selectInfoByInspectionNo(QcFAIRecordData qcData); void updateIQCMasterSubmitFlag2(QcFAIRecordData qcData); diff --git a/src/main/java/com/gaotao/modules/pms/service/Impl/QcBaseInfoServiceImpl.java b/src/main/java/com/gaotao/modules/pms/service/Impl/QcBaseInfoServiceImpl.java new file mode 100644 index 0000000..a67180b --- /dev/null +++ b/src/main/java/com/gaotao/modules/pms/service/Impl/QcBaseInfoServiceImpl.java @@ -0,0 +1,1289 @@ +package com.gaotao.modules.pms.service.Impl; + +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; +import com.gaotao.common.utils.PageUtils; +import com.gaotao.modules.pms.data.*; +import com.gaotao.modules.pms.mapper.QcBaseInfoMapper; +import com.gaotao.modules.pms.service.QcBaseInfoService; +import lombok.extern.slf4j.Slf4j; +import org.apache.commons.lang3.StringUtils; +import org.apache.poi.xssf.usermodel.XSSFRow; +import org.apache.poi.xssf.usermodel.XSSFSheet; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; +import org.springframework.web.multipart.MultipartFile; + +import java.io.InputStream; +import java.math.BigDecimal; +import java.util.List; + +@Service +@Slf4j +public class QcBaseInfoServiceImpl implements QcBaseInfoService { + + @Autowired + private QcBaseInfoMapper qcBaseInfoMapper; + + // ======================= 检验方法 ======================= + + /** + * 条件查询检验方法 + **/ + @Override + public PageUtils qcMethodSearch(QcMethodData data) { + IPage list = this.qcBaseInfoMapper.qcMethodSearch(new Page(data.getPage(), data.getLimit()), data); + return new PageUtils(list); + } + + /** + * 新增检验方法 + **/ + @Override + public void qcMethodSave(QcMethodData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + // 获取编码 + String methodNo = qcBaseInfoMapper.getMethodNo(data); + if ("101".equals(data.getInspectionTypeNo()) || "102".equals(data.getInspectionTypeNo()) || "103".equals(data.getInspectionTypeNo()) || "104".equals(data.getInspectionTypeNo())) { + data.setMethodNo("IPQC-" + methodNo); + } else if ("105".equals(data.getInspectionTypeNo())) { + data.setMethodNo("IQC-" + methodNo); + } else if ("106".equals(data.getInspectionTypeNo())) { + data.setMethodNo("FAI-" + methodNo); + } else if ("107".equals(data.getInspectionTypeNo())) { + data.setMethodNo("FQC-" + methodNo); + } else if ("108".equals(data.getInspectionTypeNo())) { + data.setMethodNo("PQC-" + methodNo); + } + List checkMethod = qcBaseInfoMapper.checkMethodOnlyOne(data); + if (!checkMethod.isEmpty()) { + throw new RuntimeException("该检验方法已存在!"); + } + // 新增数据 + qcBaseInfoMapper.qcMethodSave(data); + } + + /** + * 修改检验方法 + **/ + @Override + public void qcMethodUpdate(QcMethodData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + List checkMethod = qcBaseInfoMapper.checkMethodOnlyOne(data); + if (checkMethod.isEmpty()) { + throw new RuntimeException("该检验方法不存在,请刷新数据!"); + } + // 修改方法 + qcBaseInfoMapper.qcMethodUpdate(data); + } + + /** + * 删除检验方法 + **/ + @Override + public void qcMethodDelete(QcMethodData data) { + // 检查方法是否在被项目使用 + List itemList = qcBaseInfoMapper.checkMethodIsUsed(data); + if (!itemList.isEmpty()) { + throw new RuntimeException("该方法正在被项目使用,无法删除!"); + } + // 删除 + qcBaseInfoMapper.qcMethodDelete(data); + } + + // ======================= 检验项目 ======================= + + /** + * 根据条件查询检验项目 + **/ + @Override + public PageUtils qcItemSearch(QcItemData data) { + IPage list = this.qcBaseInfoMapper.qcItemSearch(new Page(data.getPage(), data.getLimit()), data); + return new PageUtils(list); + } + + /** + * 新增检验项目 + **/ + @Override + @Transactional + public void qcItemSave(QcItemData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + // 获取编码 + String itemNo = qcBaseInfoMapper.getItemNo(data); + if ("101".equals(data.getInspectionTypeNo()) || "102".equals(data.getInspectionTypeNo()) || "103".equals(data.getInspectionTypeNo()) || "104".equals(data.getInspectionTypeNo())) { + data.setItemNo("IPQC-" + itemNo); + } else if ("105".equals(data.getInspectionTypeNo())) { + data.setItemNo("IQC-" + itemNo); + } else if ("106".equals(data.getInspectionTypeNo())) { + data.setItemNo("FAI-" + itemNo); + } else if ("107".equals(data.getInspectionTypeNo())) { + data.setItemNo("FQC-" + itemNo); + } else if ("108".equals(data.getInspectionTypeNo())) { + data.setItemNo("PQC-" + itemNo); + } + List checkItemOnlyOne = qcBaseInfoMapper.checkItemOnlyOne(data); + if (!checkItemOnlyOne.isEmpty()) { + throw new RuntimeException("该检验项目已存在!"); + } + if ("T".equals(data.getValueTypeDb())) { + data.setValueType("文本"); + data.setMaxValue(null); + data.setMinValue(null); + } else { + data.setValueType("数字"); + if (data.getMaxValue() != null && data.getMinValue() != null) { + if (data.getMaxValue().compareTo(data.getMinValue()) < 0) { + throw new RuntimeException("最大值不能小于最小值!"); + } + } + } + // 新增项目 + qcBaseInfoMapper.qcItemSave(data); + // 新增项目里的方法 + qcBaseInfoMapper.qcItemMethodSave(data); + } + + /** + * 修改检验项目 + **/ + @Override + @Transactional + public void qcItemUpdate(QcItemData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + List checkItemOnlyOne = qcBaseInfoMapper.checkItemOnlyOne(data); + if (checkItemOnlyOne.isEmpty()) { + throw new RuntimeException("该检验项目不存在,请刷新数据!"); + } + if ("T".equals(data.getValueTypeDb())) { + data.setValueType("文本"); + data.setMaxValue(null); + data.setMinValue(null); + } else { + data.setValueType("数字"); + if (data.getMaxValue() != null && data.getMinValue() != null) { + if (data.getMaxValue().compareTo(data.getMinValue()) < 0) { + throw new RuntimeException("最大值不能小于最小值!"); + } + } + } + // 修改 + qcBaseInfoMapper.qcItemUpdate(data); + // 修改项目中的方法 + qcBaseInfoMapper.qcItemMethodUpdate(data); + } + + /** + * 删除检验项目 + **/ + @Override + @Transactional + public void qcItemDelete(QcItemData data) { + // 检查项目是否在被模板使用 + List modelList = qcBaseInfoMapper.checkItemIsUsed(data); + if (!modelList.isEmpty()) { + throw new RuntimeException("该检验项目正在被检验模板使用,无法删除!"); + } + // 删除项目 + qcBaseInfoMapper.qcItemDelete(data); + // 删除项目-方法中间表数据 + qcBaseInfoMapper.qcItemMethodDelete(data); + } + + /** + * 检验项目导入 + **/ + @Override + @Transactional + public void taskUploadExcel(MultipartFile file, GetParamInData data) { + try{ + // 转流 + InputStream is = file.getInputStream(); + // 读取工作簿 + XSSFWorkbook workbook = new XSSFWorkbook(is); + // 读取工作表 + XSSFSheet sheet = workbook.getSheetAt(0); + // 获取行数 + int rows = sheet.getPhysicalNumberOfRows(); + // 声明对象 + QcItemData task = null; + // 遍历每一行(从第二行开始) + for (int j = 1; j < rows; j++) { + // 实例化对象 + task = new QcItemData(); + //获得该行 + XSSFRow row = sheet.getRow(j); + // 为对象赋值 + task.setSite(data.getSite()); + task.setInspectionTypeNo(row.getCell(3).getRawValue()); + // 获取编码 + String itemNo = qcBaseInfoMapper.getItemNo(task); + if ("101".equals(task.getInspectionTypeNo()) || "102".equals(task.getInspectionTypeNo()) || "103".equals(task.getInspectionTypeNo()) || "104".equals(task.getInspectionTypeNo())) { + task.setItemNo("IPQC-" + itemNo); + } else if ("105".equals(task.getInspectionTypeNo())) { + task.setItemNo("IQC-" + itemNo); + } else if ("106".equals(task.getInspectionTypeNo())) { + task.setItemNo("FAI-" + itemNo); + } else if ("107".equals(task.getInspectionTypeNo())) { + task.setItemNo("FQC-" + itemNo); + } else if ("108".equals(task.getInspectionTypeNo())) { + task.setItemNo("PQC-" + itemNo); + } + 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(3) == null) { + task.setMaxValue(null); + } else { + task.setMaxValue(BigDecimal.valueOf(row.getCell(3).getNumericCellValue())); + } + if (row.getCell(4) == null) { + task.setMinValue(null); + } else { + task.setMinValue(BigDecimal.valueOf(row.getCell(4).getNumericCellValue())); + } + } else { + task.setValueTypeDb(null); + } + if (row.getCell(2) == null) { + task.setDefaultValue(null); + } else { + task.setDefaultValue(row.getCell(2).getRawValue()); + } + task.setItemType("D"); + task.setCreatedBy(data.getCreateBy()); + task.setMethodNo(row.getCell(5).getRawValue()); + // 新增 + qcBaseInfoMapper.qcItemSave(task); + // 新增项目里的方法 + qcBaseInfoMapper.qcItemMethodSave(task); + } + }catch (Exception e){ + throw new RuntimeException("导入失败:"+e.getMessage()); + } + } + + /** + * 可选模板 + **/ + @Override + public List getTemplateList(QcTemplateData data) { + List list = qcBaseInfoMapper.getTemplateList(data); + return list; + } + + /** + * 已有模板 + **/ + @Override + public List getPartTemplateList(QcTemplateData data) { + List list = qcBaseInfoMapper.getPartTemplateList(data); + return list; + } + + /** + * 物料可选模板 + **/ + @Override + public List getTemplateListAll(QcTemplateData data) { + List list = qcBaseInfoMapper.getTemplateListAll(data); + return list; + } + + + // ======================= 抽样方案维护 ======================= + /** + * 查询抽检方案 + **/ + @Override + public PageUtils samplingInspectionPlanSearch(QcSamplingInspectionPlanData data) { + IPage resultList = this.qcBaseInfoMapper.samplingInspectionPlanSearch(new Page(data.getPage(), data.getLimit()), data); + return new PageUtils(resultList); + } + + /** + * 新增抽样方案 + **/ + @Override + public void samplingInspectionPlanSave(QcSamplingInspectionPlanData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + // 查询最大编码,自增后赋值 + String s = qcBaseInfoMapper.queryLastSamplingPlanNo(data); + if (s == null) { + data.setSamplingPlanNo("10001"); + } else { + int no = Integer.parseInt(qcBaseInfoMapper.queryLastSamplingPlanNo(data)); + data.setSamplingPlanNo(String.valueOf(++no)); + } + qcBaseInfoMapper.samplingInspectionPlanSave(data); + } + + /** + * 修改抽样方案 + **/ + @Override + public void samplingInspectionPlanUpdate(QcSamplingInspectionPlanData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + // 根据三个编码查方案 + QcSamplingInspectionPlanData samplingPlanData = qcBaseInfoMapper.selectSamplingPlanByNo(data); + if (samplingPlanData != null) { + throw new RuntimeException("该检验方案已存在!"); + } + qcBaseInfoMapper.samplingInspectionPlanUpdate(data); + } + + /** + * 删除抽样方案 + **/ + @Override + public void samplingInspectionPlanDelete(QcSamplingInspectionPlanData data) { + qcBaseInfoMapper.samplingInspectionPlanDelete(data); + } + + // ======================= 检验模板维护 ======================= + + /** + * 查询模板 + **/ + @Override + public PageUtils templateSearch(QcTemplateData data) { + IPage resultList = this.qcBaseInfoMapper.templateSearch(new Page(data.getPage(), data.getLimit()), data); + return new PageUtils(resultList); + } + + /** + * 新增模板 + **/ + @Override + public void templateSave(QcTemplateData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + // 获取编码 + String templateNo = qcBaseInfoMapper.getTemplateNo(data); + if ("101".equals(data.getInspectionTypeNo()) || "102".equals(data.getInspectionTypeNo()) || "103".equals(data.getInspectionTypeNo()) || "104".equals(data.getInspectionTypeNo())) { + data.setTemplateId("IPQC-" + templateNo); + } else if ("105".equals(data.getInspectionTypeNo())) { + data.setTemplateId("IQC-" + templateNo); + } else if ("106".equals(data.getInspectionTypeNo())) { + data.setTemplateId("FAI-" + templateNo); + } else if ("107".equals(data.getInspectionTypeNo())) { + data.setTemplateId("FQC-" + templateNo); + } else if ("108".equals(data.getInspectionTypeNo())) { + data.setTemplateId("PQC-" + templateNo); + } + List checkTemplateOnlyOne = qcBaseInfoMapper.checkTemplateOnlyOne(data); + if (!checkTemplateOnlyOne.isEmpty()) { + throw new RuntimeException("该检验模板已存在!"); + } + // 新增 + qcBaseInfoMapper.templateSave(data); + } + + /** + * 修改模板 + **/ + @Override + public void templateUpdate(QcTemplateData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + List checkTemplateOnlyOne = qcBaseInfoMapper.checkTemplateOnlyOne(data); + if (checkTemplateOnlyOne.isEmpty()) { + throw new RuntimeException("该检验模板不存在,请刷新数据!"); + } + qcBaseInfoMapper.templateUpdate(data); + } + + /** + * 模板中的项目清单 + **/ + @Override + public List templateDetailsSearch(QcTemplateData data) { + List list = qcBaseInfoMapper.templateDetailsSearch(data); + return list; + } + + /** + * 新增项目的检验明细 + **/ + @Override + public void addItemDetails(QcTemplateData data) { + for (QcTemplateData qcData : data.getItemList()) { + qcData.setItemType(data.getItemType()); + qcData.setTemplateId(data.getTemplateId()); + // 检查该项目是否已存在模板中 + QcTemplateData checkDetail = qcBaseInfoMapper.selectItemDetails(qcData); + if (checkDetail != null) { + throw new RuntimeException("检验项目已存在!"); + } + // 查询该项目的最大最小值 + QcTemplateData itemData = qcBaseInfoMapper.selectDetail(qcData); + qcData.setDefaultValue(itemData.getDefaultValue()); + qcData.setMaxValue(itemData.getMaxValue()); + qcData.setMinValue(itemData.getMinValue()); + qcData.setOrderId(qcBaseInfoMapper.getQCDetailOrderId(data)); + // 新增 + qcBaseInfoMapper.addItemDetails(qcData); + } + } + + /** + * 删除项目的检验明细 + **/ + @Override + @Transactional + public void delItemDetails (QcTemplateData data) { + if (data.getItemList() != null && !data.getItemList().isEmpty()) { // 批量删除 + for (QcTemplateData qcData : data.getItemList()){ + qcData.setItemType(data.getItemType()); + qcData.setTemplateId(data.getTemplateId()); + qcBaseInfoMapper.delItemDetails(qcData); + // 删除判定标准 + qcBaseInfoMapper.deleteInspectionStandard2(qcData); + } + } else { // 单条删除 + qcBaseInfoMapper.delItemDetails(data); + // 删除判定标准 + qcBaseInfoMapper.deleteInspectionStandard2(data); + } + } + + /** + * 获取当前项目不包含的明细 + **/ + @Override + public List getItemList(QcTemplateData data) { + List list = qcBaseInfoMapper.getItemList(data); + return list; + } + + /** + * 查询项目 + **/ + @Override + public List getItem(QcTemplateData data) { + List list = qcBaseInfoMapper.getItem(data); + return list; + } + + /** + * 获取检验方法列表 + */ + @Override + public List queryMethodList(QcMethodData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + List list = qcBaseInfoMapper.queryMethodList(data); + return list; + } + + /** + * 删除项目 + **/ + @Override + @Transactional + public void templateDelete(QcTemplateData data) { + // 删除模板 + qcBaseInfoMapper.templateDelete(data); + // 删除模板-项目中间表 + qcBaseInfoMapper.itemItemDelete(data); + } + + /** + * 新增项目明细的自定义最大最小值 + **/ + @Override + @Transactional + public void saveItemDetailed(QcTemplateData data) { + // 先删除 + qcBaseInfoMapper.delTemplateItem(data); + // 新增 + for (QcTemplateData qcTemplateData : data.getItemList()) { + qcBaseInfoMapper.saveItemDetailed(qcTemplateData); + } + } + + /** + * 检验模板导入 + **/ + @Override + @Transactional + public void uploadTemplateExcel(MultipartFile file, GetParamInData paraData) { + try{ + // 转流 + InputStream is = file.getInputStream(); + // 读取工作簿 + XSSFWorkbook workbook = new XSSFWorkbook(is); + // 读取工作表 + XSSFSheet sheet = workbook.getSheetAt(0); + // 获取行数 + int rows = sheet.getPhysicalNumberOfRows(); + // 声明对象 + QcTemplateData task = null; + //排除标准数据下的空白行数据 + int nonEmptyRows = 0; + for (int i = 0; i < rows; i++) { + XSSFRow row = sheet.getRow(i); + if (row != null && row.getCell(0) != null && StringUtils.isNotBlank(row.getCell(0).toString())) { + nonEmptyRows++; + } + } + // 遍历每一行(从第二行开始) + for (int j = 1; j < nonEmptyRows; j++) { + // 实例化对象 + task = new QcTemplateData(); + // 获得该行 + XSSFRow row = sheet.getRow(j); + //截取site和bu + String[] split = paraData.getSite().split("_"); + // 为对象赋值 + task.setSite(split[0]); + task.setBuNo(split[1]); + //获取用户传入的 检验类型描述 + String type = row.getCell(9).getStringCellValue(); + //根据type 设置检验类型编码 和 检验模板编码 + if (type.equals("IPQC")){ + task.setInspectionTypeNo("101"); + task.setTemplateId("IPQC-" + qcBaseInfoMapper.getTemplateNo(task)); + }else if (type.equals("IQC")){ + task.setInspectionTypeNo("105"); + task.setTemplateId("IQC-" + qcBaseInfoMapper.getTemplateNo(task)); + }else if (type.equals("FAI")){ + task.setInspectionTypeNo("106"); + task.setTemplateId("FAI-" + qcBaseInfoMapper.getTemplateNo(task)); + }else if (type.equals("FQC")){ + task.setInspectionTypeNo("107"); + task.setTemplateId("FQC-" + qcBaseInfoMapper.getTemplateNo(task)); + }else if (type.equals("PQC")){ + task.setInspectionTypeNo("108"); + task.setTemplateId("PQC-" + qcBaseInfoMapper.getTemplateNo(task)); + } + //判断用户是否输入 抽样方案编码、默认抽样数量和默认抽样比例 其中之一 + boolean isFlag = false; + task.setTemplateName(row.getCell(0).getStringCellValue()); + if (row.getCell(1) == null) { + task.setSamplingProgrammeNo(null); + } else { + isFlag = true; + task.setSamplingProgrammeNo(row.getCell(1).getRawValue()); + } + + if (row.getCell(2) == null) { + task.setSamplingLevelNo(null); + } else { + task.setSamplingLevelNo(row.getCell(2).getRawValue()); + } + + if (row.getCell(3) == null) { + task.setInspectionCycle(null); + } else { + task.setInspectionCycle(BigDecimal.valueOf(row.getCell(3).getNumericCellValue())); + } + if (row.getCell(4) == null) { + task.setDefaultSamplingQuantity(null); + } else { + isFlag = true; + task.setDefaultSamplingQuantity(BigDecimal.valueOf(row.getCell(4).getNumericCellValue())); + } + if (row.getCell(5) == null) { + task.setDefaultSamplingProportion(null); + } else { + isFlag = true; + task.setDefaultSamplingProportion(BigDecimal.valueOf(row.getCell(5).getNumericCellValue())); + } + if (!isFlag) { + throw new RuntimeException("抽象方案编码、默认抽样数量和默认抽样比例至少填写一个!"); + } + if (row.getCell(6) == null){ + task.setAql(null); + } else { + task.setAql(BigDecimal.valueOf(row.getCell(6).getNumericCellValue())); + } + + if (row.getCell(7) == null){ + task.setAc(null); + } else { + task.setAc(BigDecimal.valueOf(row.getCell(7).getNumericCellValue())); + } + + if (row.getCell(8) == null){ + task.setRe(null); + } else { + task.setRe(BigDecimal.valueOf(row.getCell(8).getNumericCellValue())); + } + if (row.getCell(10) == null){ + task.setTemplateRemark(null); + } else { + task.setTemplateRemark(row.getCell(10).getStringCellValue()); + } + if (row.getCell(11) == null){ + task.setTemplateVersion(null); + } else { + task.setTemplateVersion(row.getCell(11).getRawValue()); + } + task.setCreateBy(paraData.getCreateBy()); + // 查重 + QcTemplateData templateData = qcBaseInfoMapper.selectTemplateByDesc(task); + if(templateData != null){ + throw new RuntimeException("该模板已存在已存在!"); + } + // 新增模板 + qcBaseInfoMapper.templateSave(task); + // 新增模板中的项目 + int cells = row.getLastCellNum(); + for (int i = 1; i <= cells - 12; i++) { + String itemNo = row.getCell(11 + i).getStringCellValue(); + String itemType = "D"; + QcTemplateData data = qcBaseInfoMapper.selectItem(itemNo,itemType,split[1]); + if (data== null){ + throw new RuntimeException("BU为"+split[1]+"时,检验项目不存在:"+itemNo); + } + data.setTemplateId(task.getTemplateId()); + // 新增 + qcBaseInfoMapper.addItemDetails(data); + } + + } + //给新导入为null的orderId排序 + qcBaseInfoMapper.updateQCDetailOrderIdNull(); + } catch (Exception e) { + throw new RuntimeException("导入失败:"+e.getMessage()); + } + } + + /** + * 搜索所有检验类型 + **/ + @Override + public List inspectionTypeSearch(QcInspectionTypeData data) { + List list = qcBaseInfoMapper.inspectionTypeSearch(data); + return list; + } + + /** + * 搜索所有设备 + **/ + @Override + public List objectSearch(EamObjectData inData) { + List list = qcBaseInfoMapper.objectSearch(inData); + for (EamObjectData data : list){ + data.setIdAndDesc(data.getObjectID() + "_" + data.getObjectDesc()); + } + return list; + } + + // ======================= 样本量维护 ======================= + /** + * 查询样本量 + **/ + @Override + public PageUtils samplingQtySearch(QcSamplingInspectionQtyData data) { + IPage eamManufacturerList = this.qcBaseInfoMapper.samplingQtySearch(new Page(data.getPage(), data.getLimit()), data); + return new PageUtils(eamManufacturerList); + } + + /** + * 新增样本量 + **/ + @Override + public void samplingQtySave(QcSamplingInspectionQtyData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + // 判断是否已有该样本量 + QcSamplingInspectionQtyData samplingInspectionQtyData = qcBaseInfoMapper.selectSamplingQtyByDesc(data); + if (samplingInspectionQtyData != null) { + throw new RuntimeException("该样本量已存在"); + } + // 查询最大编码,自增后赋值 + String s = qcBaseInfoMapper.queryLastSamplingQtyNo(data); + if (s == null) { + data.setSamplingQtyNo("10001"); + } else { + int no = Integer.parseInt(qcBaseInfoMapper.queryLastSamplingQtyNo(data)); + data.setSamplingQtyNo(String.valueOf(++no)); + } + // 新增 + qcBaseInfoMapper.samplingQtySave(data); + } + + /** + * 修改样本量 + **/ + @Override + public void samplingQtyUpdate(QcSamplingInspectionQtyData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + // 检查样本量是否在被方案使用 + if (data.getSamplingQtyActive().equals("N")) { + List list = qcBaseInfoMapper.selectSamplingPlanBySamplingQtyNo(data); + if (!list.isEmpty()) { + throw new RuntimeException("该样本量正在被方案使用,不能修改为不可用!"); + } + } + qcBaseInfoMapper.samplingQtyUpdate(data); + } + + /** + * 删除样本量 + **/ + @Override + public void samplingQtyDelete(QcSamplingInspectionQtyData data) { + // 检查样本量是否在被方案使用 + List list = qcBaseInfoMapper.selectSamplingPlanBySamplingQtyNo(data); + if (!list.isEmpty()) { + throw new RuntimeException("该样本量正在被方案使用,不可以删除!"); + } + qcBaseInfoMapper.samplingQtyDelete(data); + } + + + // ======================= 批量级次维护 ======================= + + /** + * 查询批量级次 + **/ + @Override + public PageUtils samplingQtyRankSearch(QcSamplingInspectionQtyRankData data) { + IPage list = this.qcBaseInfoMapper.samplingQtyRankSearch(new Page(data.getPage(), data.getLimit()), data); + return new PageUtils(list); + } + + /** + * 新增批量级次 + **/ + @Override + public void samplingQtyRankSave(QcSamplingInspectionQtyRankData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + // 判断是否已有该批量级次 + QcSamplingInspectionQtyRankData samplingInspectionQtyRankData = qcBaseInfoMapper.selectSamplingQtyRankByDesc(data); + if (samplingInspectionQtyRankData != null) { + throw new RuntimeException("该批量级次已存在"); + } + // 查询最大编码,自增后赋值 + String s = qcBaseInfoMapper.queryLastSamplingQtyRankNo(data); + if (s == null) { + data.setSamplingQtyRankNo("10001"); + } else { + int no = Integer.parseInt(qcBaseInfoMapper.queryLastSamplingQtyRankNo(data)); + data.setSamplingQtyRankNo(String.valueOf(++no)); + } + // 新增 + qcBaseInfoMapper.samplingQtyRankSave(data); + } + + /** + * 修改批量级次 + **/ + @Override + public void samplingQtyRankUpdate(QcSamplingInspectionQtyRankData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + // 检查批量级次是否在被方案使用 + if (data.getSamplingQtyRankActive().equals("N")) { + List list = qcBaseInfoMapper.selectSamplingPlanBySamplingQtyRankNo(data); + if (!list.isEmpty()) { + throw new RuntimeException("该批量级次正在被方案使用,不能修改为不可用!"); + } + } + qcBaseInfoMapper.samplingQtyRankUpdate(data); + } + + /** + * 删除批量级次 + **/ + @Override + public void samplingQtyRankDelete(QcSamplingInspectionQtyRankData data) { + // 检查样本量是否在被方案使用 + List list = qcBaseInfoMapper.selectSamplingPlanBySamplingQtyRankNo(data); + if (!list.isEmpty()) { + throw new RuntimeException("该批量级次正在被方案使用,不可以删除!"); + } + qcBaseInfoMapper.samplingQtyRankDelete(data); + } + + + // ======================= 检验等级维护 ======================= + + /** + * 查询检验等级 + **/ + @Override + public PageUtils samplingLevelSearch(QcSamplingInspectionLevelData data) { + IPage list = this.qcBaseInfoMapper.samplingLevelSearch(new Page(data.getPage(), data.getLimit()), data); + return new PageUtils(list); + } + + /** + * 新增检验等级 + **/ + @Override + public void samplingLevelSave(QcSamplingInspectionLevelData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + // 判断是否已有该检验等级 + QcSamplingInspectionLevelData samplingInspectionLevelData = qcBaseInfoMapper.selectSamplingLevelByDesc(data); + if (samplingInspectionLevelData != null) { + throw new RuntimeException("该检验等级已存在"); + } + // 查询最大编码,自增后赋值 + String s = qcBaseInfoMapper.queryLastSamplingLevelNo(data); + if (s == null){ + data.setSamplingLevelNo("10001"); + }else { + int no = Integer.parseInt(qcBaseInfoMapper.queryLastSamplingLevelNo(data)); + data.setSamplingLevelNo(String.valueOf(++no)); + } + // 新增 + qcBaseInfoMapper.samplingLevelSave(data); + } + + /** + * 修改检验等级 + **/ + @Override + public void samplingLevelUpdate(QcSamplingInspectionLevelData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + // 检查检验等级是否在被方案使用 + if (data.getSamplingLevelActive().equals("N")) { + List list = qcBaseInfoMapper.selectSamplingPlanBySamplingLevelNo(data); + if (!list.isEmpty()) { + throw new RuntimeException("该检验等级正在被方案使用,不能修改为不可用!"); + } + } + qcBaseInfoMapper.samplingLevelUpdate(data); + } + + /** + * 删除检验等级 + **/ + @Override + public void samplingLevelDelete(QcSamplingInspectionLevelData data) { + // 检查样本量是否在被方案使用 + List list = qcBaseInfoMapper.selectSamplingPlanBySamplingLevelNo(data); + if (!list.isEmpty()) { + throw new RuntimeException("该检验等级正在被方案使用,不可以删除!"); + } + qcBaseInfoMapper.samplingLevelDelete(data); + } + + + // ======================= 物料属性设置维护 ======================= + + /** + * 查询物料属性 + **/ + @Override + public PageUtils qcPartAttributeSearch(QcPartAttributeData data) { + IPage resultList = this.qcBaseInfoMapper.qcPartAttributeSearch(new Page(data.getPage(), data.getLimit()), data); + return new PageUtils(resultList); + } + + /** + * 新增物料属性 + **/ + @Override + public void qcPartAttributeSave(QcPartAttributeData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + // 查询是否已有该物料属性 + QcPartAttributeData partAttributeData = qcBaseInfoMapper.selectPartAttributeByNo(data); + if (partAttributeData != null) { + throw new RuntimeException("该物料属性已存在!"); + } + qcBaseInfoMapper.qcPartAttributeSave(data); + } + + /** + * 物料属性修改 + **/ + @Override + public void qcPartAttributeEdit(QcPartAttributeData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + // 查询是否已有该物料属性 + QcPartAttributeData partAttributeData = qcBaseInfoMapper.selectPartAttributeByNo(data); + if (partAttributeData == null) { + throw new RuntimeException("该物料属性不存在,请刷新数据!"); + } + qcBaseInfoMapper.qcPartAttributeEdit(data); + } + + /** + * 删除物料属性 + **/ + @Override + @Transactional + public void qcPartAttributeDelete(QcPartAttributeData data) { + // 删除物料属性 + qcBaseInfoMapper.qcPartAttributeDelete(data); + // 删除物料属性模板 + qcBaseInfoMapper.deletePartAttributeTemplate(data); + } + + /** + * 查询物料模板 + **/ + @Override + public List searchPartAttributeDetails(QcTemplateData data) { + List list = qcBaseInfoMapper.searchPartAttributeDetails(data); + return list; + } + + /** + * 新增物料属性模板 + **/ + @Override + @Transactional + public void savePartAttributeDetails (QcTemplateData data) { + // 循环选中的模板 + for (QcTemplateData partData : data.getItemList()) { + partData.setSite(data.getSite()); + partData.setBuNo(data.getBuNo()); + partData.setAttributeNo(data.getAttributeNo()); + partData.setAttributeType(data.getAttributeType()); + partData.setInspectionTypeNo(data.getInspectionTypeNo()); + // 查询模板的基础数据 + QcTemplateData templateData2 = qcBaseInfoMapper.selectTemplateData(partData); + partData.setSamplingLevelNo(templateData2.getSamplingLevelNo()); + partData.setInspectionCycle(templateData2.getInspectionCycle()); + partData.setSamplingProgrammeNo(templateData2.getSamplingProgrammeNo()); + partData.setAql(templateData2.getAql()); + partData.setAc(templateData2.getAc()); + partData.setRe(templateData2.getRe()); + // 物料属性模板 +// if ("A".equals(partData.getAttributeType())){ + // IPQC检验类型 + if ("101".equals(partData.getInspectionTypeNo()) || "102".equals(partData.getInspectionTypeNo()) || "103".equals(partData.getInspectionTypeNo()) || "104".equals(partData.getInspectionTypeNo()) || "106".equals(partData.getInspectionTypeNo())) { + if (StringUtils.isNotBlank(data.getOperation()) && StringUtils.isNotBlank(data.getResourceID())) { + partData.setOperation(data.getOperation()); + partData.setResourceID(data.getResourceID()); + // 新增 + qcBaseInfoMapper.savePartAttributeDetails(partData); + } + } else if ("105".equals(partData.getInspectionTypeNo())) { // IQC + if (!data.getManufacturerList().isEmpty()) { + // 循环选中的供应商 + for (String manufacturer : data.getManufacturerList()) { + partData.setManufacturerID(manufacturer); + // 新增 + qcBaseInfoMapper.savePartAttributeDetails(partData); + } + } + } + //} + } + } + + /** + * 删除物料属性模板 + **/ + @Override + @Transactional + public void deletePartAttributeDetails(QcTemplateData data) { + if (data.getItemList() != null && !data.getItemList().isEmpty()) { // 批量删除 + for (QcTemplateData partData : data.getItemList()) { + partData.setSite(data.getSite()); + partData.setBuNo(data.getBuNo()); + partData.setAttributeNo(data.getAttributeNo()); + partData.setAttributeType(data.getAttributeType()); + qcBaseInfoMapper.deletePartAttributeDetails(partData); + } + } else { // 单条删除 + qcBaseInfoMapper.deletePartAttributeDetails(data); + } + } + + /** + * 新增物料属性模板详情 + **/ + @Override + @Transactional + public void saveAttributeDetailed(QcTemplateData data) { + qcBaseInfoMapper.saveAttributeDetailed(data); + // 更新修改时间 + qcBaseInfoMapper.updatePartAttributeTime(data); + } + + /** + * 物料属性导入 + **/ + @Override + @Transactional + public void uploadPartAttributeExcel(MultipartFile file, GetParamInData paramData) { + try{ + // 转流 + InputStream is = file.getInputStream(); + // 读取工作簿 + XSSFWorkbook workbook = new XSSFWorkbook(is); + // 读取工作表 + XSSFSheet sheet = workbook.getSheetAt(0); + // 获取行数 + int rows = sheet.getPhysicalNumberOfRows(); + // 声明对象 + QcPartAttributeData task = null; + // 遍历每一行(从第二行开始) + for (int j = 1; j < rows; j++) { + // 实例化对象 + task = new QcPartAttributeData(); + // 获得该行 + XSSFRow row = sheet.getRow(j); + // 为对象赋值 + task.setSite(paramData.getSite()); + task.setPartNo(row.getCell(0).getRawValue()); + task.setSupplierNo(row.getCell(1).getRawValue()); + task.setAttributeType("A"); + task.setAttributeRemark(row.getCell(2).getStringCellValue()); + task.setCreateBy(paramData.getCreateBy()); + // 查重 + task.setAttributeNo(task.getPartNo()); + QcPartAttributeData partAttributeData = qcBaseInfoMapper.selectPartAttributeByNo(task); + if(partAttributeData != null){ + throw new RuntimeException("该物料属性已存在!"); + } + // 新增物料属性 + qcBaseInfoMapper.qcPartAttributeSave(task); + QcTemplateData templateData = new QcTemplateData(); + templateData.setSite(task.getSite()); + templateData.setAttributeNo(task.getPartNo()); + // 新增物料属性中的模板 + int cells = row.getLastCellNum(); + for (int i = 1; i <= cells - 3; i++) { + templateData.setTemplateId(row.getCell(2 + i).getRawValue()); + QcTemplateData data = qcBaseInfoMapper.selectTemplateData(templateData); + templateData.setSamplingLevelNo(data.getSamplingLevelNo()); + templateData.setInspectionCycle(data.getInspectionCycle()); + templateData.setSamplingProgrammeNo(data.getSamplingProgrammeNo()); + templateData.setAql(data.getAql()); + templateData.setAc(data.getAc()); + templateData.setRe(data.getRe()); + templateData.setInspectionTypeNo(data.getInspectionTypeNo()); + templateData.setAttributeType(task.getAttributeType()); + // 新增 + qcBaseInfoMapper.savePartAttributeDetails(templateData); + } + } + } catch (Exception e) { + throw new RuntimeException("导入失败:"+e.getMessage()); + } + } + + + // ======================= 抽样方案维护 ======================= + + /** + * 查询抽样方案 + **/ + @Override + public PageUtils samplingProgrammeSearch(QcSamplingInspectionProgrammeData data) { + IPage resultList = this.qcBaseInfoMapper.samplingProgrammeSearch(new Page(data.getPage(), data.getLimit()), data); + return new PageUtils(resultList); + } + + /** + * 新增抽样方案 + **/ + @Override + public void samplingProgrammeSave(QcSamplingInspectionProgrammeData data) { + // 获得 site 和 bu + if (data.getBu().split("_").length >= 2 ) { + data.setSite(data.getBu().split("_")[0]); + data.setBuNo(data.getBu().split("_")[1]); + } else { + throw new RuntimeException("工厂和部门有误!"); + } + // 判断是否已有该抽样方案 + QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = qcBaseInfoMapper.selectSamplingProgrammeByDesc(data); + if (samplingInspectionProgrammeData != null) { + throw new RuntimeException("该抽样方案已存在"); + } + // 查询最大编码,自增后赋值 + String s = qcBaseInfoMapper.queryLastSamplingProgrammeNo(data); + if (s == null) { + data.setSamplingProgrammeNo("10001"); + } else { + int no = Integer.parseInt(qcBaseInfoMapper.queryLastSamplingProgrammeNo(data)); + data.setSamplingProgrammeNo(String.valueOf(++no)); + } + qcBaseInfoMapper.samplingProgrammeSave(data); + } + + /** + * 删除抽样方案 + **/ + @Override + @Transactional + public void samplingProgrammeDelete(QcSamplingInspectionProgrammeData data) { + // 删除抽样方案 + qcBaseInfoMapper.samplingProgrammeDelete(data); + // 删除抽样方案中的矩阵 + qcBaseInfoMapper.deletePlanByProgrammeNo(data); + } + + /** + * 搜索抽样方案中的矩阵 + **/ + @Override + public List searchSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data) { + List list = qcBaseInfoMapper.searchSamplingProgrammeDetails(data); + return list; + } + + /** + * 获取该方案不包含的矩阵 + **/ + @Override + public List getPlanList(QcSamplingInspectionProgrammeData data) { + List list = qcBaseInfoMapper.getPlanList(data); + return list; + } + + /** + * 获取当前方案所包含的矩阵 + **/ + @Override + public List getProgrammePlanList(QcSamplingInspectionProgrammeData data) { + List list = qcBaseInfoMapper.getProgrammePlanList(data); + return list; + } + + /** + * 新增抽样方案中的矩阵 + **/ + @Override + @Transactional + public void saveSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data) { + for (QcSamplingInspectionProgrammeData inData : data.getPlanList()){ + inData.setSamplingProgrammeNo(data.getSamplingProgrammeNo()); + inData.setSite(data.getSite()); + inData.setBuNo(data.getBuNo()); + inData.setUpdateBy(data.getUpdateBy()); + // 查重 + QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = qcBaseInfoMapper.searchPlanRepeat(inData); + if (samplingInspectionProgrammeData != null) { + throw new RuntimeException("该矩阵已存在方案中!"); + } + qcBaseInfoMapper.saveSamplingProgrammeDetails(inData); + qcBaseInfoMapper.updateSamplingInspectionProgrammeDate(inData); + } + } + + /** + * 删除抽样方案中的矩阵 + **/ + @Override + @Transactional + public void deleteSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data) { + if (data.getPlanList() != null && !data.getPlanList().isEmpty()) { // 批删 + for (QcSamplingInspectionProgrammeData inData : data.getPlanList()) { + inData.setSamplingProgrammeNo(data.getSamplingProgrammeNo()); + inData.setSite(data.getSite()); + inData.setBuNo(data.getBuNo()); + inData.setUpdateBy(data.getUpdateBy()); + qcBaseInfoMapper.deleteSamplingProgrammeDetails(inData); + qcBaseInfoMapper.updateSamplingInspectionProgrammeDate(inData); + } + } else { // 单删 + qcBaseInfoMapper.deleteSamplingProgrammeDetails(data); + qcBaseInfoMapper.updateSamplingInspectionProgrammeDate(data); + } + } +} diff --git a/src/main/java/com/gaotao/modules/pms/service/Impl/QcServiceImpl.java b/src/main/java/com/gaotao/modules/pms/service/Impl/QcServiceImpl.java index d291e07..38123be 100644 --- a/src/main/java/com/gaotao/modules/pms/service/Impl/QcServiceImpl.java +++ b/src/main/java/com/gaotao/modules/pms/service/Impl/QcServiceImpl.java @@ -12,6 +12,7 @@ import com.gaotao.modules.oss.entity.SysOssEntity; import com.gaotao.modules.oss.service.SysOssService; import com.gaotao.modules.pms.data.*; import com.gaotao.modules.pms.entity.vo.CheckSubDetailValueVo; +import com.gaotao.modules.pms.mapper.QcBaseInfoMapper; import com.gaotao.modules.pms.mapper.QcDao; import com.gaotao.modules.pms.mapper.QcMapper; import com.gaotao.modules.pms.service.QcService; @@ -86,1450 +87,8 @@ public class QcServiceImpl implements QcService { @Autowired private RedisTemplate redisTemplate; - // ======================= 检验方法 ======================= - - /** - * 条件查询检验方法 - **/ - @Override - public PageUtils qcMethodSearch(QcMethodData data) { - IPage list = this.qcMapper.qcMethodSearch(new Page(data.getPage(), data.getLimit()), data); - return new PageUtils(list); - } - - /** - * 新增检验方法 - **/ - @Override - public void qcMethodSave(QcMethodData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - // 获取编码 - String methodNo = qcMapper.getMethodNo(data); - if ("101".equals(data.getInspectionTypeNo()) || "102".equals(data.getInspectionTypeNo()) || "103".equals(data.getInspectionTypeNo()) || "104".equals(data.getInspectionTypeNo())) { - data.setMethodNo("IPQC-" + methodNo); - } else if ("105".equals(data.getInspectionTypeNo())) { - data.setMethodNo("IQC-" + methodNo); - } else if ("106".equals(data.getInspectionTypeNo())) { - data.setMethodNo("FAI-" + methodNo); - } else if ("107".equals(data.getInspectionTypeNo())) { - data.setMethodNo("FQC-" + methodNo); - } else if ("108".equals(data.getInspectionTypeNo())) { - data.setMethodNo("PQC-" + methodNo); - } - List checkMethod = qcMapper.checkMethodOnlyOne(data); - if (!checkMethod.isEmpty()) { - throw new RuntimeException("该检验方法已存在!"); - } - // 新增数据 - qcMapper.qcMethodSave(data); - } - - /** - * 修改检验方法 - **/ - @Override - public void qcMethodUpdate(QcMethodData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - List checkMethod = qcMapper.checkMethodOnlyOne(data); - if (checkMethod.isEmpty()) { - throw new RuntimeException("该检验方法不存在,请刷新数据!"); - } - // 修改方法 - qcMapper.qcMethodUpdate(data); - } - - /** - * 删除检验方法 - **/ - @Override - public void qcMethodDelete(QcMethodData data) { - // 检查方法是否在被项目使用 - List itemList = qcMapper.checkMethodIsUsed(data); - if (!itemList.isEmpty()) { - throw new RuntimeException("该方法正在被项目使用,无法删除!"); - } - // 删除 - qcMapper.qcMethodDelete(data); - } - - // ======================= 检验项目 ======================= - - /** - * 根据条件查询检验项目 - **/ - @Override - public PageUtils qcItemSearch(QcItemData data) { - IPage list = this.qcMapper.qcItemSearch(new Page(data.getPage(), data.getLimit()), data); - return new PageUtils(list); - } - - /** - * 新增检验项目 - **/ - @Override - @Transactional - public void qcItemSave(QcItemData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - // 获取编码 - String itemNo = qcMapper.getItemNo(data); - if ("101".equals(data.getInspectionTypeNo()) || "102".equals(data.getInspectionTypeNo()) || "103".equals(data.getInspectionTypeNo()) || "104".equals(data.getInspectionTypeNo())) { - data.setItemNo("IPQC-" + itemNo); - } else if ("105".equals(data.getInspectionTypeNo())) { - data.setItemNo("IQC-" + itemNo); - } else if ("106".equals(data.getInspectionTypeNo())) { - data.setItemNo("FAI-" + itemNo); - } else if ("107".equals(data.getInspectionTypeNo())) { - data.setItemNo("FQC-" + itemNo); - } else if ("108".equals(data.getInspectionTypeNo())) { - data.setItemNo("PQC-" + itemNo); - } - List checkItemOnlyOne = qcMapper.checkItemOnlyOne(data); - if (!checkItemOnlyOne.isEmpty()) { - throw new RuntimeException("该检验项目已存在!"); - } - if ("T".equals(data.getValueTypeDb())) { - data.setValueType("文本"); - data.setMaxValue(null); - data.setMinValue(null); - } else { - data.setValueType("数字"); - if (data.getMaxValue() != null && data.getMinValue() != null) { - if (data.getMaxValue().compareTo(data.getMinValue()) < 0) { - throw new RuntimeException("最大值不能小于最小值!"); - } - } - } - // 新增项目 - qcMapper.qcItemSave(data); - // 新增项目里的方法 - qcMapper.qcItemMethodSave(data); - } - - /** - * 修改检验项目 - **/ - @Override - @Transactional - public void qcItemUpdate(QcItemData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - List checkItemOnlyOne = qcMapper.checkItemOnlyOne(data); - if (checkItemOnlyOne.isEmpty()) { - throw new RuntimeException("该检验项目不存在,请刷新数据!"); - } - if ("T".equals(data.getValueTypeDb())) { - data.setValueType("文本"); - data.setMaxValue(null); - data.setMinValue(null); - } else { - data.setValueType("数字"); - if (data.getMaxValue() != null && data.getMinValue() != null) { - if (data.getMaxValue().compareTo(data.getMinValue()) < 0) { - throw new RuntimeException("最大值不能小于最小值!"); - } - } - } - // 修改 - qcMapper.qcItemUpdate(data); - // 修改项目中的方法 - qcMapper.qcItemMethodUpdate(data); - } - - /** - * 删除检验项目 - **/ - @Override - @Transactional - public void qcItemDelete(QcItemData data) { - // 检查项目是否在被模板使用 - List modelList = qcMapper.checkItemIsUsed(data); - if (!modelList.isEmpty()) { - throw new RuntimeException("该检验项目正在被检验模板使用,无法删除!"); - } - // 删除项目 - qcMapper.qcItemDelete(data); - // 删除项目-方法中间表数据 - qcMapper.qcItemMethodDelete(data); - } - - /** - * 检验项目导入 - **/ - @Override - @Transactional - public void taskUploadExcel(MultipartFile file, GetParamInData data) { - try{ - // 转流 - InputStream is = file.getInputStream(); - // 读取工作簿 - XSSFWorkbook workbook = new XSSFWorkbook(is); - // 读取工作表 - XSSFSheet sheet = workbook.getSheetAt(0); - // 获取行数 - int rows = sheet.getPhysicalNumberOfRows(); - // 声明对象 - QcItemData task = null; - // 遍历每一行(从第二行开始) - for (int j = 1; j < rows; j++) { - // 实例化对象 - task = new QcItemData(); - //获得该行 - XSSFRow row = sheet.getRow(j); - // 为对象赋值 - task.setSite(data.getSite()); - task.setInspectionTypeNo(row.getCell(3).getRawValue()); - // 获取编码 - String itemNo = qcMapper.getItemNo(task); - if ("101".equals(task.getInspectionTypeNo()) || "102".equals(task.getInspectionTypeNo()) || "103".equals(task.getInspectionTypeNo()) || "104".equals(task.getInspectionTypeNo())) { - task.setItemNo("IPQC-" + itemNo); - } else if ("105".equals(task.getInspectionTypeNo())) { - task.setItemNo("IQC-" + itemNo); - } else if ("106".equals(task.getInspectionTypeNo())) { - task.setItemNo("FAI-" + itemNo); - } else if ("107".equals(task.getInspectionTypeNo())) { - task.setItemNo("FQC-" + itemNo); - } else if ("108".equals(task.getInspectionTypeNo())) { - task.setItemNo("PQC-" + itemNo); - } - 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(3) == null) { - task.setMaxValue(null); - } else { - task.setMaxValue(BigDecimal.valueOf(row.getCell(3).getNumericCellValue())); - } - if (row.getCell(4) == null) { - task.setMinValue(null); - } else { - task.setMinValue(BigDecimal.valueOf(row.getCell(4).getNumericCellValue())); - } - } else { - task.setValueTypeDb(null); - } - if (row.getCell(2) == null) { - task.setDefaultValue(null); - } else { - task.setDefaultValue(row.getCell(2).getRawValue()); - } - task.setItemType("D"); - task.setCreatedBy(data.getCreateBy()); - task.setMethodNo(row.getCell(5).getRawValue()); - // 新增 - qcMapper.qcItemSave(task); - // 新增项目里的方法 - qcMapper.qcItemMethodSave(task); - } - }catch (Exception e){ - throw new RuntimeException("导入失败:"+e.getMessage()); - } - } - - // ======================= 质检员信息维护 ======================= - - /** - * 查询质检员信息列表 - **/ - @Override - public List inspectorSearch() { - List list = qcMapper.inspectorSearch(); - return list; - } - - /** - * 新增质检员信息 - **/ - @Override - public ResponseData inspectorSave(QcInspectorData data) { - ResponseData responseData = new ResponseData(); - // 检验是否已存在该信息 - List inspectorData = qcMapper.checkInspector(data); - if(!inspectorData.isEmpty()){ - throw new RuntimeException("该质检员信息已存在!"); - } - // 新增数据 - qcMapper.inspectorSave(data); - responseData.setMsg("保存成功!"); - responseData.setSuccess(true); - responseData.setCode("0"); - return responseData; - } - - /** - * 修改质检员信息 - **/ - @Override - public ResponseData inspectorUpdate(QcInspectorData data) { - ResponseData responseData = new ResponseData(); - // 修改 - qcMapper.inspectorUpdate(data); - responseData.setMsg("修改成功!"); - responseData.setSuccess(true); - responseData.setCode("0"); - return responseData; - } - - /** - * 删除质检员信息 - **/ - @Override - public ResponseData inspectorDelete(QcInspectorData data) { - ResponseData responseData = new ResponseData(); - // 删除质检员 - qcMapper.inspectorDelete(data); - responseData.setMsg("删除成功!"); - responseData.setSuccess(true); - responseData.setCode("0"); - return responseData; - } - - // ======================= 抽样方案维护 ======================= - /** - * 查询抽检方案 - **/ - @Override - public PageUtils samplingInspectionPlanSearch(QcSamplingInspectionPlanData data) { - IPage resultList = this.qcMapper.samplingInspectionPlanSearch(new Page(data.getPage(), data.getLimit()), data); - return new PageUtils(resultList); - } - - /** - * 新增抽样方案 - **/ - @Override - public void samplingInspectionPlanSave(QcSamplingInspectionPlanData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - // 根据三个编码查方案 -// QcSamplingInspectionPlanData samplingPlanData = qcMapper.selectSamplingPlanByNo(data); -// QcSamplingInspectionPlanData samplingPlanData2 = qcMapper.selectSamplingPlanByDesc(data); -// if (samplingPlanData != null) { -// throw new RuntimeException("该矩阵内容已存在!"); -// } -// if (samplingPlanData2 != null) { -// throw new RuntimeException("该矩阵名称已存在!"); -// } - // 查询最大编码,自增后赋值 - String s = qcMapper.queryLastSamplingPlanNo(data); - if (s == null) { - data.setSamplingPlanNo("10001"); - } else { - int no = Integer.parseInt(qcMapper.queryLastSamplingPlanNo(data)); - data.setSamplingPlanNo(String.valueOf(++no)); - } - qcMapper.samplingInspectionPlanSave(data); - } - - /** - * 修改抽样方案 - **/ - @Override - public void samplingInspectionPlanUpdate(QcSamplingInspectionPlanData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - // 根据三个编码查方案 - QcSamplingInspectionPlanData samplingPlanData = qcMapper.selectSamplingPlanByNo(data); - if (samplingPlanData != null) { - throw new RuntimeException("该检验方案已存在!"); - } - qcMapper.samplingInspectionPlanUpdate(data); - } - - /** - * 删除抽样方案 - **/ - @Override - public void samplingInspectionPlanDelete(QcSamplingInspectionPlanData data) { - qcMapper.samplingInspectionPlanDelete(data); - } - - // ======================= 检验模板维护 ======================= - - /** - * 查询模板 - **/ - @Override - public PageUtils templateSearch(QcTemplateData data) { - IPage resultList = this.qcMapper.templateSearch(new Page(data.getPage(), data.getLimit()), data); - return new PageUtils(resultList); - } - - /** - * 新增模板 - **/ - @Override - public void templateSave(QcTemplateData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - // 获取编码 - String templateNo = qcMapper.getTemplateNo(data); - if ("101".equals(data.getInspectionTypeNo()) || "102".equals(data.getInspectionTypeNo()) || "103".equals(data.getInspectionTypeNo()) || "104".equals(data.getInspectionTypeNo())) { - data.setTemplateId("IPQC-" + templateNo); - } else if ("105".equals(data.getInspectionTypeNo())) { - data.setTemplateId("IQC-" + templateNo); - } else if ("106".equals(data.getInspectionTypeNo())) { - data.setTemplateId("FAI-" + templateNo); - } else if ("107".equals(data.getInspectionTypeNo())) { - data.setTemplateId("FQC-" + templateNo); - } else if ("108".equals(data.getInspectionTypeNo())) { - data.setTemplateId("PQC-" + templateNo); - } - List checkTemplateOnlyOne = qcMapper.checkTemplateOnlyOne(data); - if (!checkTemplateOnlyOne.isEmpty()) { - throw new RuntimeException("该检验模板已存在!"); - } - // 新增 - qcMapper.templateSave(data); - } - - /** - * 修改模板 - **/ - @Override - public void templateUpdate(QcTemplateData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - List checkTemplateOnlyOne = qcMapper.checkTemplateOnlyOne(data); - if (checkTemplateOnlyOne.isEmpty()) { - throw new RuntimeException("该检验模板不存在,请刷新数据!"); - } - qcMapper.templateUpdate(data); - } - - /** - * 模板中的项目清单 - **/ - @Override - public List templateDetailsSearch(QcTemplateData data) { - List list = qcMapper.templateDetailsSearch(data); - return list; - } - - /** - * 新增项目的检验明细 - **/ - @Override - public void addItemDetails(QcTemplateData data) { - for (QcTemplateData qcData : data.getItemList()) { - qcData.setItemType(data.getItemType()); - qcData.setTemplateId(data.getTemplateId()); - // 检查该项目是否已存在模板中 - QcTemplateData checkDetail = qcMapper.selectItemDetails(qcData); - if (checkDetail != null) { - throw new RuntimeException("检验项目已存在!"); - } - // 查询该项目的最大最小值 - QcTemplateData itemData = qcMapper.selectDetail(qcData); - qcData.setDefaultValue(itemData.getDefaultValue()); - qcData.setMaxValue(itemData.getMaxValue()); - qcData.setMinValue(itemData.getMinValue()); - qcData.setOrderId(qcMapper.getQCDetailOrderId(data)); - // 新增 - qcMapper.addItemDetails(qcData); - } - } - - /** - * 删除项目的检验明细 - **/ - @Override - @Transactional - public void delItemDetails (QcTemplateData data) { - if (data.getItemList() != null && !data.getItemList().isEmpty()) { // 批量删除 - for (QcTemplateData qcData : data.getItemList()){ - qcData.setItemType(data.getItemType()); - qcData.setTemplateId(data.getTemplateId()); - qcMapper.delItemDetails(qcData); - // 删除判定标准 - qcMapper.deleteInspectionStandard2(qcData); - } - } else { // 单条删除 - qcMapper.delItemDetails(data); - // 删除判定标准 - qcMapper.deleteInspectionStandard2(data); - } - } - - /** - * 获取当前项目不包含的明细 - **/ - @Override - public List getItemList(QcTemplateData data) { - List list = qcMapper.getItemList(data); - return list; - } - - /** - * 查询项目 - **/ - @Override - public List getItem(QcTemplateData data) { - List list = qcMapper.getItem(data); - return list; - } - - /** - * 获取检验方法列表 - */ - @Override - public List queryMethodList(QcMethodData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - List list = qcMapper.queryMethodList(data); - return list; - } - - /** - * 删除项目 - **/ - @Override - @Transactional - public void templateDelete(QcTemplateData data) { - // 删除模板 - qcMapper.templateDelete(data); - // 删除模板-项目中间表 - qcMapper.itemItemDelete(data); - } - - /** - * 新增项目明细的自定义最大最小值 - **/ - @Override - @Transactional - public void saveItemDetailed(QcTemplateData data) { - // 先删除 - qcMapper.delTemplateItem(data); - // 新增 - for (QcTemplateData qcTemplateData : data.getItemList()) { - qcMapper.saveItemDetailed(qcTemplateData); - } - } - - /** - * 检验模板导入 - **/ - @Override - @Transactional - public void uploadTemplateExcel(MultipartFile file, GetParamInData paraData) { - try{ - // 转流 - InputStream is = file.getInputStream(); - // 读取工作簿 - XSSFWorkbook workbook = new XSSFWorkbook(is); - // 读取工作表 - XSSFSheet sheet = workbook.getSheetAt(0); - // 获取行数 - int rows = sheet.getPhysicalNumberOfRows(); - // 声明对象 - QcTemplateData task = null; - //排除标准数据下的空白行数据 - int nonEmptyRows = 0; - for (int i = 0; i < rows; i++) { - XSSFRow row = sheet.getRow(i); - if (row != null && row.getCell(0) != null && StringUtils.isNotBlank(row.getCell(0).toString())) { - nonEmptyRows++; - } - } - // 遍历每一行(从第二行开始) - for (int j = 1; j < nonEmptyRows; j++) { - // 实例化对象 - task = new QcTemplateData(); - // 获得该行 - XSSFRow row = sheet.getRow(j); - //截取site和bu - String[] split = paraData.getSite().split("_"); - // 为对象赋值 - task.setSite(split[0]); - task.setBuNo(split[1]); - //获取用户传入的 检验类型描述 - String type = row.getCell(9).getStringCellValue(); - //根据type 设置检验类型编码 和 检验模板编码 - if (type.equals("IPQC")){ - task.setInspectionTypeNo("101"); - task.setTemplateId("IPQC-" + qcMapper.getTemplateNo(task)); - }else if (type.equals("IQC")){ - task.setInspectionTypeNo("105"); - task.setTemplateId("IQC-" + qcMapper.getTemplateNo(task)); - }else if (type.equals("FAI")){ - task.setInspectionTypeNo("106"); - task.setTemplateId("FAI-" + qcMapper.getTemplateNo(task)); - }else if (type.equals("FQC")){ - task.setInspectionTypeNo("107"); - task.setTemplateId("FQC-" + qcMapper.getTemplateNo(task)); - }else if (type.equals("PQC")){ - task.setInspectionTypeNo("108"); - task.setTemplateId("PQC-" + qcMapper.getTemplateNo(task)); - } -// task.setInspectionTypeNo(row.getCell(9).getRawValue()); - - // 获取编码 -// String templateNo = qcMapper.getTemplateNo(task); -// if ("101".equals(task.getInspectionTypeNo()) || "102".equals(task.getInspectionTypeNo()) || "103".equals(task.getInspectionTypeNo()) || "104".equals(task.getInspectionTypeNo())) { -// task.setTemplateId("IPQC-" + templateNo); -// } else if ("105".equals(task.getInspectionTypeNo())) { -// task.setTemplateId("IQC-" + templateNo); -// } else if ("106".equals(task.getInspectionTypeNo())) { -// task.setTemplateId("FAI-" + templateNo); -// } else if ("107".equals(task.getInspectionTypeNo())) { -// task.setTemplateId("FQC-" + templateNo); -// } else if ("108".equals(task.getInspectionTypeNo())) { -// task.setTemplateId("PQC-" + templateNo); -// } - //判断用户是否输入 抽样方案编码、默认抽样数量和默认抽样比例 其中之一 - boolean isFlag = false; - task.setTemplateName(row.getCell(0).getStringCellValue()); -// task.setSamplingProgrammeNo(row.getCell(1).getRawValue()); -// task.setSamplingLevelNo(row.getCell(2).getRawValue()); - if (row.getCell(1)==null){ - task.setSamplingProgrammeNo(null); - }else { - isFlag = true; - task.setSamplingProgrammeNo(row.getCell(1).getRawValue()); - } - - if (row.getCell(2)==null){ - task.setSamplingLevelNo(null); - }else { - task.setSamplingLevelNo(row.getCell(2).getRawValue()); - } - - if (row.getCell(3) == null){ - task.setInspectionCycle(null); - }else { - task.setInspectionCycle(BigDecimal.valueOf(row.getCell(3).getNumericCellValue())); - } - if (row.getCell(4) == null){ - task.setDefaultSamplingQuantity(null); - }else { - isFlag = true; - task.setDefaultSamplingQuantity(BigDecimal.valueOf(row.getCell(4).getNumericCellValue())); - } - if (row.getCell(5) == null){ - task.setDefaultSamplingProportion(null); - }else { - isFlag = true; - task.setDefaultSamplingProportion(BigDecimal.valueOf(row.getCell(5).getNumericCellValue())); - } - if (!isFlag){ - throw new RuntimeException("抽象方案编码、默认抽样数量和默认抽样比例至少填写一个!"); - } - if (row.getCell(6) == null){ - task.setAql(null); - }else { - task.setAql(BigDecimal.valueOf(row.getCell(6).getNumericCellValue())); - } - - if (row.getCell(7) == null){ - task.setAc(null); - }else { - task.setAc(BigDecimal.valueOf(row.getCell(7).getNumericCellValue())); - } - - if (row.getCell(8) == null){ - task.setRe(null); - }else { - task.setRe(BigDecimal.valueOf(row.getCell(8).getNumericCellValue())); - } - if (row.getCell(10) == null){ - task.setTemplateRemark(null); - }else { - task.setTemplateRemark(row.getCell(10).getStringCellValue()); - } -// task.setTemplateVersion(row.getCell(11).getRawValue()); - if (row.getCell(11)==null){ - task.setTemplateVersion(null); - }else { - task.setTemplateVersion(row.getCell(11).getRawValue()); - } - task.setCreateBy(paraData.getCreateBy()); - // 查重 - QcTemplateData templateData = qcMapper.selectTemplateByDesc(task); - if(templateData != null){ - throw new RuntimeException("该模板已存在已存在!"); - } - // 新增模板 - qcMapper.templateSave(task); - // 新增模板中的项目 - int cells = row.getLastCellNum(); - for (int i = 1; i <= cells - 12; i++) { - String itemNo = row.getCell(11 + i).getStringCellValue(); - String itemType = "D"; - QcTemplateData data = qcMapper.selectItem(itemNo,itemType,split[1]); - if (data== null){ - throw new RuntimeException("BU为"+split[1]+"时,检验项目不存在:"+itemNo); - } - data.setTemplateId(task.getTemplateId()); - // 新增 - qcMapper.addItemDetails(data); - } - - } - //给新导入为null的orderId排序 - qcMapper.updateQCDetailOrderIdNull(); - }catch (Exception e){ - throw new RuntimeException("导入失败:"+e.getMessage()); - } - } - - - // ======================= 样本量维护 ======================= - /** - * 查询样本量 - **/ - @Override - public PageUtils samplingQtySearch(QcSamplingInspectionQtyData data) { - IPage eamManufacturerList = this.qcMapper.samplingQtySearch(new Page(data.getPage(), data.getLimit()), data); - return new PageUtils(eamManufacturerList); - } - - /** - * 新增样本量 - **/ - @Override - public void samplingQtySave(QcSamplingInspectionQtyData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - // 判断是否已有该样本量 - QcSamplingInspectionQtyData samplingInspectionQtyData = qcMapper.selectSamplingQtyByDesc(data); - if (samplingInspectionQtyData != null) { - throw new RuntimeException("该样本量已存在"); - } - // 查询最大编码,自增后赋值 - String s = qcMapper.queryLastSamplingQtyNo(data); - if (s == null) { - data.setSamplingQtyNo("10001"); - } else { - int no = Integer.parseInt(qcMapper.queryLastSamplingQtyNo(data)); - data.setSamplingQtyNo(String.valueOf(++no)); - } - // 新增 - qcMapper.samplingQtySave(data); - } - - /** - * 修改样本量 - **/ - @Override - public void samplingQtyUpdate(QcSamplingInspectionQtyData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - // 检查样本量是否在被方案使用 - if (data.getSamplingQtyActive().equals("N")) { - List list = qcMapper.selectSamplingPlanBySamplingQtyNo(data); - if (!list.isEmpty()) { - throw new RuntimeException("该样本量正在被方案使用,不能修改为不可用!"); - } - } - qcMapper.samplingQtyUpdate(data); - } - - /** - * 删除样本量 - **/ - @Override - public void samplingQtyDelete(QcSamplingInspectionQtyData data) { - // 检查样本量是否在被方案使用 - List list = qcMapper.selectSamplingPlanBySamplingQtyNo(data); - if (!list.isEmpty()) { - throw new RuntimeException("该样本量正在被方案使用,不可以删除!"); - } - qcMapper.samplingQtyDelete(data); - } - - - // ======================= 批量级次维护 ======================= - - /** - * 查询批量级次 - **/ - @Override - public PageUtils samplingQtyRankSearch(QcSamplingInspectionQtyRankData data) { - IPage list = this.qcMapper.samplingQtyRankSearch(new Page(data.getPage(), data.getLimit()), data); - return new PageUtils(list); - } - - /** - * 新增批量级次 - **/ - @Override - public void samplingQtyRankSave(QcSamplingInspectionQtyRankData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - // 判断是否已有该批量级次 - QcSamplingInspectionQtyRankData samplingInspectionQtyRankData = qcMapper.selectSamplingQtyRankByDesc(data); - if (samplingInspectionQtyRankData != null) { - throw new RuntimeException("该批量级次已存在"); - } - // 查询最大编码,自增后赋值 - String s = qcMapper.queryLastSamplingQtyRankNo(data); - if (s == null) { - data.setSamplingQtyRankNo("10001"); - } else { - int no = Integer.parseInt(qcMapper.queryLastSamplingQtyRankNo(data)); - data.setSamplingQtyRankNo(String.valueOf(++no)); - } - // 新增 - qcMapper.samplingQtyRankSave(data); - } - - /** - * 修改批量级次 - **/ - @Override - public void samplingQtyRankUpdate(QcSamplingInspectionQtyRankData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - // 检查批量级次是否在被方案使用 - if (data.getSamplingQtyRankActive().equals("N")) { - List list = qcMapper.selectSamplingPlanBySamplingQtyRankNo(data); - if (!list.isEmpty()) { - throw new RuntimeException("该批量级次正在被方案使用,不能修改为不可用!"); - } - } - qcMapper.samplingQtyRankUpdate(data); - } - - /** - * 删除批量级次 - **/ - @Override - public void samplingQtyRankDelete(QcSamplingInspectionQtyRankData data) { - // 检查样本量是否在被方案使用 - List list = qcMapper.selectSamplingPlanBySamplingQtyRankNo(data); - if (!list.isEmpty()) { - throw new RuntimeException("该批量级次正在被方案使用,不可以删除!"); - } - qcMapper.samplingQtyRankDelete(data); - } - - // ======================= 检验等级维护 ======================= - - /** - * 查询检验等级 - **/ - @Override - public PageUtils samplingLevelSearch(QcSamplingInspectionLevelData data) { - IPage list = this.qcMapper.samplingLevelSearch(new Page(data.getPage(), data.getLimit()), data); - return new PageUtils(list); - } - - /** - * 新增检验等级 - **/ - @Override - public void samplingLevelSave(QcSamplingInspectionLevelData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - // 判断是否已有该检验等级 - QcSamplingInspectionLevelData samplingInspectionLevelData = qcMapper.selectSamplingLevelByDesc(data); - if (samplingInspectionLevelData != null) { - throw new RuntimeException("该检验等级已存在"); - } - // 查询最大编码,自增后赋值 - String s = qcMapper.queryLastSamplingLevelNo(data); - if (s == null){ - data.setSamplingLevelNo("10001"); - }else { - int no = Integer.parseInt(qcMapper.queryLastSamplingLevelNo(data)); - data.setSamplingLevelNo(String.valueOf(++no)); - } - // 新增 - qcMapper.samplingLevelSave(data); - } - - /** - * 修改检验等级 - **/ - @Override - public void samplingLevelUpdate(QcSamplingInspectionLevelData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - // 检查检验等级是否在被方案使用 - if (data.getSamplingLevelActive().equals("N")) { - List list = qcMapper.selectSamplingPlanBySamplingLevelNo(data); - if (!list.isEmpty()) { - throw new RuntimeException("该检验等级正在被方案使用,不能修改为不可用!"); - } - } - qcMapper.samplingLevelUpdate(data); - } - - /** - * 删除检验等级 - **/ - @Override - public void samplingLevelDelete(QcSamplingInspectionLevelData data) { - // 检查样本量是否在被方案使用 - List list = qcMapper.selectSamplingPlanBySamplingLevelNo(data); - if (!list.isEmpty()) { - throw new RuntimeException("该检验等级正在被方案使用,不可以删除!"); - } - qcMapper.samplingLevelDelete(data); - } - - /** - * 搜索所有检验类型 - **/ - @Override - public List inspectionTypeSearch(QcInspectionTypeData data) { - List list = qcMapper.inspectionTypeSearch(data); - return list; - } - - /** - * 搜索所有设备 - **/ - @Override - public List objectSearch(EamObjectData inData) { - List list = qcMapper.objectSearch(inData); - for (EamObjectData data : list){ - data.setIdAndDesc(data.getObjectID() + "_" + data.getObjectDesc()); - } - return list; - } - - // ======================= 物料属性设置维护 ======================= - - /** - * 查询物料属性 - **/ - @Override - public PageUtils qcPartAttributeSearch(QcPartAttributeData data) { - IPage resultList = this.qcMapper.qcPartAttributeSearch(new Page(data.getPage(), data.getLimit()), data); - return new PageUtils(resultList); - } - - /** - * 新增物料属性 - **/ - @Override - public void qcPartAttributeSave(QcPartAttributeData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - // 查询是否已有该物料属性 - QcPartAttributeData partAttributeData = qcMapper.selectPartAttributeByNo(data); - if (partAttributeData != null) { - throw new RuntimeException("该物料属性已存在!"); - } - qcMapper.qcPartAttributeSave(data); - } - - /** - * 物料属性修改 - **/ - @Override - public void qcPartAttributeEdit(QcPartAttributeData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - // 查询是否已有该物料属性 - QcPartAttributeData partAttributeData = qcMapper.selectPartAttributeByNo(data); - if (partAttributeData == null) { - throw new RuntimeException("该物料属性不存在,请刷新数据!"); - } - qcMapper.qcPartAttributeEdit(data); - } - - /** - * 删除物料属性 - **/ - @Override - @Transactional - public void qcPartAttributeDelete(QcPartAttributeData data) { - // 删除物料属性 - qcMapper.qcPartAttributeDelete(data); - // 删除物料属性模板 - qcMapper.deletePartAttributeTemplate(data); - } - - /** - * 查询物料模板 - **/ - @Override - public List searchPartAttributeDetails(QcTemplateData data) { - List list = qcMapper.searchPartAttributeDetails(data); - return list; - } - - /** - * 新增物料属性模板 - **/ - @Override - @Transactional - public void savePartAttributeDetails (QcTemplateData data) { - // 循环选中的模板 - for (QcTemplateData partData : data.getItemList()) { - partData.setSite(data.getSite()); - partData.setBuNo(data.getBuNo()); - partData.setAttributeNo(data.getAttributeNo()); - partData.setAttributeType(data.getAttributeType()); - partData.setInspectionTypeNo(data.getInspectionTypeNo()); - // 查询模板的基础数据 - QcTemplateData templateData2 = qcMapper.selectTemplateData(partData); - partData.setSamplingLevelNo(templateData2.getSamplingLevelNo()); - partData.setInspectionCycle(templateData2.getInspectionCycle()); - partData.setSamplingProgrammeNo(templateData2.getSamplingProgrammeNo()); - partData.setAql(templateData2.getAql()); - partData.setAc(templateData2.getAc()); - partData.setRe(templateData2.getRe()); - // 物料属性模板 -// if ("A".equals(partData.getAttributeType())){ - // IPQC检验类型 - if ("101".equals(partData.getInspectionTypeNo()) || "102".equals(partData.getInspectionTypeNo()) || "103".equals(partData.getInspectionTypeNo()) || "104".equals(partData.getInspectionTypeNo()) || "106".equals(partData.getInspectionTypeNo())) { - if (StringUtils.isNotBlank(data.getOperation()) && StringUtils.isNotBlank(data.getResourceID())) { - partData.setOperation(data.getOperation()); - partData.setResourceID(data.getResourceID()); - // 新增 - qcMapper.savePartAttributeDetails(partData); - } - } else if ("105".equals(partData.getInspectionTypeNo())) { // IQC - if (!data.getManufacturerList().isEmpty()) { - // 循环选中的供应商 - for (String manufacturer : data.getManufacturerList()) { - partData.setManufacturerID(manufacturer); - // 新增 - qcMapper.savePartAttributeDetails(partData); - } - } - } - //} - } - } - - /** - * 可选模板 - **/ - @Override - public List getTemplateList(QcTemplateData data) { - List list = qcMapper.getTemplateList(data); - return list; - } - - /** - * 已有模板 - **/ - @Override - public List getPartTemplateList(QcTemplateData data) { - List list = qcMapper.getPartTemplateList(data); - return list; - } - - /** - * 物料可选模板 - **/ - @Override - public List getTemplateListAll(QcTemplateData data) { - List list = qcMapper.getTemplateListAll(data); - return list; - } - - /** - * 删除物料属性模板 - **/ - @Override - @Transactional - public void deletePartAttributeDetails(QcTemplateData data) { - if (data.getItemList() != null && !data.getItemList().isEmpty()) { // 批量删除 - for (QcTemplateData partData : data.getItemList()) { - partData.setSite(data.getSite()); - partData.setBuNo(data.getBuNo()); - partData.setAttributeNo(data.getAttributeNo()); - partData.setAttributeType(data.getAttributeType()); - qcMapper.deletePartAttributeDetails(partData); - } - } else { // 单条删除 - qcMapper.deletePartAttributeDetails(data); - } - } - - /** - * 新增物料属性模板详情 - **/ - @Override - @Transactional - public void saveAttributeDetailed(QcTemplateData data) { - qcMapper.saveAttributeDetailed(data); - // 更新修改时间 - qcMapper.updatePartAttributeTime(data); - } - - /** - * 物料属性导入 - **/ - @Override - @Transactional - public void uploadPartAttributeExcel(MultipartFile file, GetParamInData paramData) { - try{ - // 转流 - InputStream is = file.getInputStream(); - // 读取工作簿 - XSSFWorkbook workbook = new XSSFWorkbook(is); - // 读取工作表 - XSSFSheet sheet = workbook.getSheetAt(0); - // 获取行数 - int rows = sheet.getPhysicalNumberOfRows(); - // 声明对象 - QcPartAttributeData task = null; - // 遍历每一行(从第二行开始) - for (int j = 1; j < rows; j++) { - // 实例化对象 - task = new QcPartAttributeData(); - // 获得该行 - XSSFRow row = sheet.getRow(j); - // 为对象赋值 - task.setSite(paramData.getSite()); - task.setPartNo(row.getCell(0).getRawValue()); - task.setSupplierNo(row.getCell(1).getRawValue()); - task.setAttributeType("A"); - task.setAttributeRemark(row.getCell(2).getStringCellValue()); - task.setCreateBy(paramData.getCreateBy()); - // 查重 - task.setAttributeNo(task.getPartNo()); - QcPartAttributeData partAttributeData = qcMapper.selectPartAttributeByNo(task); - if(partAttributeData != null){ - throw new RuntimeException("该物料属性已存在!"); - } - // 新增物料属性 - qcMapper.qcPartAttributeSave(task); - QcTemplateData templateData = new QcTemplateData(); - templateData.setSite(task.getSite()); - templateData.setAttributeNo(task.getPartNo()); - // 新增物料属性中的模板 - int cells = row.getLastCellNum(); - for (int i = 1; i <= cells - 3; i++) { - templateData.setTemplateId(row.getCell(2 + i).getRawValue()); - QcTemplateData data = qcMapper.selectTemplateData(templateData); - templateData.setSamplingLevelNo(data.getSamplingLevelNo()); - templateData.setInspectionCycle(data.getInspectionCycle()); - templateData.setSamplingProgrammeNo(data.getSamplingProgrammeNo()); - templateData.setAql(data.getAql()); - templateData.setAc(data.getAc()); - templateData.setRe(data.getRe()); - templateData.setInspectionTypeNo(data.getInspectionTypeNo()); - templateData.setAttributeType(task.getAttributeType()); - // 新增 - qcMapper.savePartAttributeDetails(templateData); - } - } - }catch (Exception e){ - throw new RuntimeException("导入失败:"+e.getMessage()); - } - } - - - // ======================= 类别属性设置维护 ======================= - - /** - * 查询类别属性 - **/ - @Override - public PageUtils qcFamilyAttributeSearch(QcPartAttributeData data) { - IPage resultList = this.qcMapper.qcFamilyAttributeSearch(new Page(data.getPage(), data.getLimit()), data); - return new PageUtils(resultList); - } - - /** - * 新增类别属性 - **/ - @Override - public void qcFamilyAttributeSave(QcPartAttributeData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - qcMapper.qcFamilyAttributeSave(data); - } - - /** - * 删除类别属性 - **/ - @Override - @Transactional - public void qcFamilyAttributeDelete(QcPartAttributeData data) { - // 删除分类属性 - qcMapper.qcFamilyAttributeDelete(data); - // 删除分类属性模板 - qcMapper.deleteFamilyAttributeTemplate(data); - } - - /** - * 类别属性导入 - **/ - @Override - @Transactional - public void uploadFamilyAttributeExcel(MultipartFile file, GetParamInData paramData) { - try{ - // 转流 - InputStream is = file.getInputStream(); - // 读取工作簿 - XSSFWorkbook workbook = new XSSFWorkbook(is); - // 读取工作表 - XSSFSheet sheet = workbook.getSheetAt(0); - // 获取行数 - int rows = sheet.getPhysicalNumberOfRows(); - // 声明对象 - QcPartAttributeData task = null; - // 遍历每一行(从第二行开始) - for (int j = 1; j < rows; j++) { - // 实例化对象 - task = new QcPartAttributeData(); - // 获得该行 - XSSFRow row = sheet.getRow(j); - // 为对象赋值 - task.setSite(paramData.getSite()); - task.setFamilyID(row.getCell(0).getRawValue()); - task.setAttributeType("B"); - task.setAttributeRemark(row.getCell(1).getStringCellValue()); - task.setCreateBy(paramData.getCreateBy()); - // 查重 - task.setAttributeNo(task.getFamilyID()); - QcPartAttributeData partAttributeData = qcMapper.selectPartAttributeByNo(task); - if(partAttributeData != null){ - throw new RuntimeException("该类别属性已存在!"); - } - // 新增类别属性 - qcMapper.qcFamilyAttributeSave(task); - QcTemplateData templateData = new QcTemplateData(); - templateData.setSite(task.getSite()); - templateData.setAttributeNo(task.getFamilyID()); - // 新增物料属性中的模板 - int cells = row.getLastCellNum(); - for (int i = 1; i <= cells - 2; i++) { - templateData.setTemplateId(row.getCell(1 + i).getRawValue()); - QcTemplateData data = qcMapper.selectTemplateData(templateData); - templateData.setSamplingLevelNo(data.getSamplingLevelNo()); - templateData.setInspectionCycle(data.getInspectionCycle()); - templateData.setSamplingProgrammeNo(data.getSamplingProgrammeNo()); - templateData.setAql(data.getAql()); - templateData.setAc(data.getAc()); - templateData.setRe(data.getRe()); - templateData.setInspectionTypeNo(data.getInspectionTypeNo()); - templateData.setAttributeType(task.getAttributeType()); - // 新增 - qcMapper.savePartAttributeDetails(templateData); - } - } - }catch (Exception e){ - throw new RuntimeException("导入失败:"+e.getMessage()); - } - } - - // ======================= 抽样方案维护 ======================= - - /** - * 查询抽样方案 - **/ - @Override - public PageUtils samplingProgrammeSearch(QcSamplingInspectionProgrammeData data) { - IPage resultList = this.qcMapper.samplingProgrammeSearch(new Page(data.getPage(), data.getLimit()), data); - return new PageUtils(resultList); - } - - /** - * 新增抽样方案 - **/ - @Override - public void samplingProgrammeSave(QcSamplingInspectionProgrammeData data) { - // 获得 site 和 bu - if (data.getBu().split("_").length >= 2 ) { - data.setSite(data.getBu().split("_")[0]); - data.setBuNo(data.getBu().split("_")[1]); - } else { - throw new RuntimeException("工厂和部门有误!"); - } - // 判断是否已有该抽样方案 - QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = qcMapper.selectSamplingProgrammeByDesc(data); - if (samplingInspectionProgrammeData != null) { - throw new RuntimeException("该抽样方案已存在"); - } - // 查询最大编码,自增后赋值 - String s = qcMapper.queryLastSamplingProgrammeNo(data); - if (s == null) { - data.setSamplingProgrammeNo("10001"); - } else { - int no = Integer.parseInt(qcMapper.queryLastSamplingProgrammeNo(data)); - data.setSamplingProgrammeNo(String.valueOf(++no)); - } - qcMapper.samplingProgrammeSave(data); - } - - /** - * 删除抽样方案 - **/ - @Override - @Transactional - public void samplingProgrammeDelete(QcSamplingInspectionProgrammeData data) { - // 删除抽样方案 - qcMapper.samplingProgrammeDelete(data); - // 删除抽样方案中的矩阵 - qcMapper.deletePlanByProgrammeNo(data); - } - - /** - * 搜索抽样方案中的矩阵 - **/ - @Override - public List searchSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data) { - List list = qcMapper.searchSamplingProgrammeDetails(data); - return list; - } - - /** - * 获取该方案不包含的矩阵 - **/ - @Override - public List getPlanList(QcSamplingInspectionProgrammeData data) { - List list = qcMapper.getPlanList(data); - return list; - } - - /** - * 获取当前方案所包含的矩阵 - **/ - @Override - public List getProgrammePlanList(QcSamplingInspectionProgrammeData data) { - List list = qcMapper.getProgrammePlanList(data); - return list; - } - - /** - * 新增抽样方案中的矩阵 - **/ - @Override - @Transactional - public void saveSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data) { - for (QcSamplingInspectionProgrammeData inData : data.getPlanList()){ - inData.setSamplingProgrammeNo(data.getSamplingProgrammeNo()); - inData.setSite(data.getSite()); - inData.setBuNo(data.getBuNo()); - inData.setUpdateBy(data.getUpdateBy()); - // 查重 - QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = qcMapper.searchPlanRepeat(inData); - if (samplingInspectionProgrammeData != null) { - throw new RuntimeException("该矩阵已存在方案中!"); - } - qcMapper.saveSamplingProgrammeDetails(inData); - qcMapper.updateSamplingInspectionProgrammeDate(inData); - } - } - - /** - * 删除抽样方案中的矩阵 - **/ - @Override - @Transactional - public void deleteSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data) { - if (data.getPlanList() != null && !data.getPlanList().isEmpty()) { // 批删 - for (QcSamplingInspectionProgrammeData inData : data.getPlanList()) { - inData.setSamplingProgrammeNo(data.getSamplingProgrammeNo()); - inData.setSite(data.getSite()); - inData.setBuNo(data.getBuNo()); - inData.setUpdateBy(data.getUpdateBy()); - qcMapper.deleteSamplingProgrammeDetails(inData); - qcMapper.updateSamplingInspectionProgrammeDate(inData); - } - } else { // 单删 - qcMapper.deleteSamplingProgrammeDetails(data); - qcMapper.updateSamplingInspectionProgrammeDate(data); - } - - } - + @Autowired + private QcBaseInfoMapper qcBaseInfoMapper; // ======================= FAI检验维护 ======================= @@ -1611,29 +170,6 @@ public class QcServiceImpl implements QcService { for (QcFAIRecordData recordData : faiRecordDataList) { qcMapper.saveFAIDetailedRecord(recordData); } - //qcMapper.saveFAIDetailedRecords(faiRecordDataList); - } else { - // 获取物料的类别编码 - String familyId = qcMapper.selectFamilyIdByPartNo(partNo,data.getSite()); - String attributeType2 = "B"; - // 获取该类别属性下维护的FAI检验模板 - List familyAttribute = qcMapper.selectPartAttributeByOperationAndResource(data.getSite(), data.getBuNo(), familyId, attributeType2, data.getInspectionTypeNo(),operationDesc, resourceId); - if (!familyAttribute.isEmpty()) { - // 获取检验周期 - if (familyAttribute.get(0).getInspectionCycle() != null) { - data.setInspectionCycle(familyAttribute.get(0).getInspectionCycle()); - } - // 获取抽样数量 - BigDecimal samplingQty = getInspectionSamplingQty(familyAttribute, data.getRollQty()); - data.setSamplingQty(samplingQty); - // 获取检验明细数据 - List faiRecordDataList = getInspectionDetails(familyAttribute.get(0), data); - // 新增FAI明细记录信息 - for (QcFAIRecordData recordData : faiRecordDataList) { - qcMapper.saveFAIDetailedRecord(recordData); - } - //qcMapper.saveFAIDetailedRecords(faiRecordDataList); - } } } // 新增FAI主记录信息 @@ -1994,7 +530,6 @@ public class QcServiceImpl implements QcService { for (QcFAIRecordData recordData : faiRecordDataList) { qcMapper.saveFQCDetailedRecord(recordData); } - //qcMapper.saveFQCDetailedRecords(faiRecordDataList); } else { // 明细记录信息赋值 String partNo = data.getPartNo(); @@ -2023,29 +558,6 @@ public class QcServiceImpl implements QcService { for (QcFAIRecordData recordData : faiRecordDataList) { qcMapper.saveFQCDetailedRecord(recordData); } - //qcMapper.saveFQCDetailedRecords(faiRecordDataList); - } else { - // 获取物料的类别编码 - String familyId = qcMapper.selectFamilyIdByPartNo(partNo,data.getSite()); - String attributeType2 = "B"; - // 获取该类别属性下维护的FQC检验模板 - List familyAttribute = qcMapper.selectPartAttributeByOperationAndResource(data.getSite(), data.getBuNo(), familyId, attributeType2, data.getInspectionTypeNo(),operationDesc, resourceId); - if (!familyAttribute.isEmpty()) { - // 获取检验周期 - if (familyAttribute.get(0).getInspectionCycle() != null) { - data.setInspectionCycle(familyAttribute.get(0).getInspectionCycle()); - } - // 获取抽样数量 - BigDecimal samplingQty = getInspectionSamplingQty(familyAttribute, data.getRollQty()); - data.setSamplingQty(samplingQty); - // 获取检验明细数据 - List faiRecordDataList = getInspectionDetails(familyAttribute.get(0), data); - // 新增FQC明细记录信息 - for (QcFAIRecordData recordData : faiRecordDataList) { - qcMapper.saveFQCDetailedRecord(recordData); - } - //qcMapper.saveFQCDetailedRecords(faiRecordDataList); - } } } // 新增FQC主记录信息 @@ -2345,7 +857,6 @@ public class QcServiceImpl implements QcService { for (QcFAIRecordData recordData : faiRecordDataList) { qcMapper.saveIPQCDetailedRecord(recordData); } - //qcMapper.saveIPQCDetailedRecords(faiRecordDataList); } else { // 动控未开启 // 明细记录信息赋值 String partNo = data.getPartNo(); @@ -2374,34 +885,10 @@ public class QcServiceImpl implements QcService { for (QcFAIRecordData recordData : faiRecordDataList) { qcMapper.saveIPQCDetailedRecord(recordData); } - //qcMapper.saveIPQCDetailedRecords(faiRecordDataList); - } else { - // 获取物料的类别编码 - String familyId = qcMapper.selectFamilyIdByPartNo(partNo,data.getSite()); - String attributeType2 = "B"; - // 获取该类别属性下维护的IPQC检验模板 - List familyAttribute = qcMapper.selectPartAttributeByOperationAndResource(data.getSite(), data.getBuNo(), familyId, attributeType2, data.getInspectionTypeNo(),operationDesc, resourceId); - if (!familyAttribute.isEmpty()) { - // 获取检验周期 - if (familyAttribute.get(0).getInspectionCycle() != null) { - data.setInspectionCycle(familyAttribute.get(0).getInspectionCycle()); - } - // 获取抽样数量 - BigDecimal samplingQty = getInspectionSamplingQty(familyAttribute, data.getRollQty()); - data.setSamplingQty(samplingQty); - // 获取检验明细数据 - List faiRecordDataList = getInspectionDetails(familyAttribute.get(0), data); - // 新增IPQC明细记录信息 - for (QcFAIRecordData recordData : faiRecordDataList) { - qcMapper.saveIPQCDetailedRecord(recordData); - } - //qcMapper.saveIPQCDetailedRecords(faiRecordDataList); - } } } // 新增IPQC主记录信息 qcMapper.saveIPQCRecord(data); - // 将记录新增到 redis // 检查是否已创建 key String key = data.getSite() + "_" + data.getSeqNo(); @@ -2737,7 +1224,7 @@ public class QcServiceImpl implements QcService { samplingInspectionProgrammeData.setBuNo(partAttribute.get(0).getBuNo()); samplingInspectionProgrammeData.setSamplingProgrammeNo(partAttribute.get(0).getSamplingProgrammeNo()); // 获取抽样方案维护的矩阵详情 - List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); + List dataList = qcBaseInfoMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); // 根据抽样方案确定抽样数 for (QcSamplingInspectionProgrammeData programmeData : dataList) { if (programmeData.getSamplingLevelNo().equals(partAttribute.get(0).getSamplingLevelNo()) && (recordData.getRollCount().compareTo(programmeData.getMinQty()) > 0 || recordData.getRollCount().compareTo(programmeData.getMinQty()) == 0) && (recordData.getRollCount().compareTo(programmeData.getMaxQty()) < 0 || recordData.getRollCount().compareTo(programmeData.getMaxQty()) == 0) ){ @@ -2759,7 +1246,7 @@ public class QcServiceImpl implements QcService { templateData.setBuNo(recordData.getBuNo()); templateData.setTemplateId(partAttribute.get(0).getTemplateId()); templateData.setItemType("D"); - List itemList = qcMapper.templateDetailsSearch(templateData); + List itemList = qcBaseInfoMapper.templateDetailsSearch(templateData); QcFAIRecordData faiRecordData = new QcFAIRecordData(); faiRecordData.setSite(recordData.getSite()); // 工厂 faiRecordData.setBuNo(recordData.getBuNo()); // BU @@ -2791,7 +1278,7 @@ public class QcServiceImpl implements QcService { samplingInspectionProgrammeData.setBuNo(itemData.getBuNo()); samplingInspectionProgrammeData.setSamplingProgrammeNo(itemData.getSamplingProgrammeNo()); // 获取抽样方案维护的矩阵详情 - List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); + List dataList = qcBaseInfoMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); // 根据抽样方案确定抽样数 for (QcSamplingInspectionProgrammeData programmeData : dataList) { if (programmeData.getSamplingLevelNo().equals(itemData.getSamplingLevelNo()) && (recordData.getRollCount().compareTo(programmeData.getMinQty()) > 0 || recordData.getRollCount().compareTo(programmeData.getMinQty()) == 0) && (recordData.getRollCount().compareTo(programmeData.getMaxQty()) < 0 || recordData.getRollCount().compareTo(programmeData.getMaxQty()) == 0)) { @@ -2811,99 +1298,6 @@ public class QcServiceImpl implements QcService { // 新增IQC明细记录信息 qcMapper.saveIQCDetailedRecord(faiRecordData); } - } else { - // 获取物料的类别编码 - String familyId = qcMapper.selectFamilyIdByPartNo(partNo,recordData.getSite()); - String attributeType2 = "B"; - // 获取该类别属性下维护的IQC检验模板 - List familyAttribute = qcMapper.selectPartAttributeByPartNo(recordData.getSite(), recordData.getBuNo(), familyId, attributeType2, qcFAIRecordData.getInspectionTypeNo(), supplierNo); - if (!familyAttribute.isEmpty()) { - // 获取检验周期 - if (familyAttribute.get(0).getInspectionCycle() != null) { - qcFAIRecordData.setInspectionCycle(familyAttribute.get(0).getInspectionCycle()); - } - // 获取抽样数量 - // 如果该检验模板有维护抽样方案 - if (StringUtils.isNotBlank(familyAttribute.get(0).getSamplingProgrammeNo())) { - QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); - samplingInspectionProgrammeData.setSite(familyAttribute.get(0).getSite()); - samplingInspectionProgrammeData.setBuNo(familyAttribute.get(0).getBuNo()); - samplingInspectionProgrammeData.setSamplingProgrammeNo(familyAttribute.get(0).getSamplingProgrammeNo()); - // 获取抽样方案维护的矩阵详情 - List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); - // 根据抽样方案确定抽样数 - for (QcSamplingInspectionProgrammeData programmeData : dataList) { - if (programmeData.getSamplingLevelNo().equals(familyAttribute.get(0).getSamplingLevelNo()) && (recordData.getRollCount().compareTo(programmeData.getMinQty()) > 0 || recordData.getRollCount().compareTo(programmeData.getMinQty()) == 0) && (recordData.getRollCount().compareTo(programmeData.getMaxQty()) < 0 || recordData.getRollCount().compareTo(programmeData.getMaxQty()) == 0) ){ - qcFAIRecordData.setSamplingQty(programmeData.getSamplingQty()); - } - } - } else if (familyAttribute.get(0).getDefaultSamplingQuantity() != null) { - // 没有维护抽样方案,再根据默认抽样数来确定 - qcFAIRecordData.setSamplingQty(familyAttribute.get(0).getDefaultSamplingQuantity()); - } else if (familyAttribute.get(0).getDefaultSamplingProportion() != null) { - // 也没有维护默认抽样数,最后根据默认抽样比例来确定 - qcFAIRecordData.setSamplingQty(familyAttribute.get(0).getDefaultSamplingProportion().multiply(qcFAIRecordData.getRollCount()).divide(new BigDecimal(100),3,BigDecimal.ROUND_HALF_UP)); - } - - // 获取根据该检验模板下维护的检验项目 - QcTemplateData templateData = new QcTemplateData(); - templateData.setTemplateId(familyAttribute.get(0).getTemplateId()); - templateData.setItemType("D"); - templateData.setSite(recordData.getSite()); - templateData.setBuNo(recordData.getBuNo()); - List itemList = qcMapper.templateDetailsSearch(templateData); - QcFAIRecordData faiRecordData = new QcFAIRecordData(); - faiRecordData.setSite(recordData.getSite()); // 工厂 - faiRecordData.setBuNo(recordData.getBuNo()); // BU - faiRecordData.setInspectionNo(qcFAIRecordData.getInspectionNo()); // 检验单号 - faiRecordData.setTemplateId(familyAttribute.get(0).getTemplateId()); // 模板编码 - faiRecordData.setAql(familyAttribute.get(0).getAql()); // aql - faiRecordData.setAc(familyAttribute.get(0).getAc()); // ac - faiRecordData.setRe(familyAttribute.get(0).getRe()); // re - for (QcTemplateData itemData : itemList) { - faiRecordData.setSamplingQty(null); - faiRecordData.setSamplingLevelNo(itemData.getSamplingLevelNo()); // 检验水平编码 - faiRecordData.setSamplingLevelDesc(itemData.getSamplingLevelDesc()); // 检验水平名称 - faiRecordData.setSamplingProgrammeNo(itemData.getSamplingProgrammeNo()); // 抽样方案编码 - faiRecordData.setSamplingProgrammeDesc(itemData.getSamplingProgrammeDesc()); // 抽样方案名称 - faiRecordData.setItemNo(itemData.getItemNo()); // 项目编码 - faiRecordData.setItemDesc(itemData.getItemDesc()); // 项目名称 - faiRecordData.setObjectId(itemData.getObjectID()); // 设备编码 - faiRecordData.setObjectDesc(itemData.getObjectDesc()); // 设备名称 - faiRecordData.setDefaultValue(itemData.getDefaultValue()); // 默认值 - faiRecordData.setMinValue(itemData.getMinValue()); // 最小值 - faiRecordData.setMaxValue(itemData.getMaxValue()); // 最大值 - faiRecordData.setValueType(itemData.getValueType()); // 检测值类型 - faiRecordData.setValueTypeDb(itemData.getValueTypeDb()); - // 获取抽样数量 - // 如果该检验项目有维护抽样方案 - if (StringUtils.isNotBlank(itemData.getSamplingProgrammeNo())) { - QcSamplingInspectionProgrammeData samplingInspectionProgrammeData = new QcSamplingInspectionProgrammeData(); - samplingInspectionProgrammeData.setSite(itemData.getSite()); - samplingInspectionProgrammeData.setBuNo(itemData.getBuNo()); - samplingInspectionProgrammeData.setSamplingProgrammeNo(itemData.getSamplingProgrammeNo()); - // 获取抽样方案维护的矩阵详情 - List dataList = qcMapper.searchSamplingProgrammeDetails(samplingInspectionProgrammeData); - // 根据抽样方案确定抽样数 - for (QcSamplingInspectionProgrammeData programmeData : dataList) { - if (programmeData.getSamplingLevelNo().equals(itemData.getSamplingLevelNo()) && (recordData.getRollCount().compareTo(programmeData.getMinQty()) > 0 || recordData.getRollCount().compareTo(programmeData.getMinQty()) == 0) && (recordData.getRollCount().compareTo(programmeData.getMaxQty()) < 0 || recordData.getRollCount().compareTo(programmeData.getMaxQty()) == 0)) { - faiRecordData.setSamplingQty(programmeData.getSamplingQty()); - } - } - } else if (itemData.getItemSamplingQuantity() != null) { - // 没有维护抽样方案,再根据默认抽样数来确定 - faiRecordData.setSamplingQty(itemData.getItemSamplingQuantity()); - } else if (itemData.getDefaultSamplingProportion() != null) { - // 也没有维护默认抽样数,最后根据默认抽样比例来确定 - faiRecordData.setSamplingQty(itemData.getDefaultSamplingProportion().multiply(recordData.getRollCount()).divide(new BigDecimal(100), 3, BigDecimal.ROUND_HALF_UP)); - } else { - // 最后则根据检验单抽样数量赋值 - faiRecordData.setSamplingQty(qcFAIRecordData.getSamplingQty()); // 抽样数量 - } - // 新增IQC明细记录信息 - qcMapper.saveIQCDetailedRecord(faiRecordData); - } - } } // 更新IQC主记录信息 qcMapper.updateIQCRecord(qcFAIRecordData); @@ -2923,7 +1317,7 @@ public class QcServiceImpl implements QcService { searchCriteria .setBuNo(firstPart.getBuNo()); searchCriteria .setSamplingProgrammeNo(firstPart.getSamplingProgrammeNo()); // 获取抽样方案维护的矩阵详情 - List dataList = qcMapper.searchSamplingProgrammeDetails(searchCriteria); + List dataList = qcBaseInfoMapper.searchSamplingProgrammeDetails(searchCriteria); // 根据抽样方案确定抽样数 for (QcSamplingInspectionProgrammeData programmeData : dataList) { if (programmeData.getSamplingLevelNo().equals(firstPart.getSamplingLevelNo()) && (rollQty.compareTo(programmeData.getMinQty()) > 0 || rollQty.compareTo(programmeData.getMinQty()) == 0) && (rollQty.compareTo(programmeData.getMaxQty()) < 0 || rollQty.compareTo(programmeData.getMaxQty()) == 0) ){ @@ -2953,7 +1347,7 @@ public class QcServiceImpl implements QcService { templateData.setBuNo(data.getBuNo()); templateData.setTemplateId(firstPart.getTemplateId()); templateData.setItemType("D"); - List itemList = qcMapper.templateDetailsSearch(templateData); + List itemList = qcBaseInfoMapper.templateDetailsSearch(templateData); List faiRecordDataList = new ArrayList<>(); for (QcTemplateData qcTemplateData : itemList) { QcFAIRecordData faiRecordData = new QcFAIRecordData(); @@ -2989,7 +1383,7 @@ public class QcServiceImpl implements QcService { searchCriteria.setBuNo(qcTemplateData.getBuNo()); searchCriteria.setSamplingProgrammeNo(qcTemplateData.getSamplingProgrammeNo()); // 获取抽样方案维护的矩阵详情 - List dataList = qcMapper.searchSamplingProgrammeDetails(searchCriteria); + List dataList = qcBaseInfoMapper.searchSamplingProgrammeDetails(searchCriteria); // 根据抽样方案确定抽样数 for (QcSamplingInspectionProgrammeData programmeData : dataList) { if (programmeData.getSamplingLevelNo().equals(qcTemplateData.getSamplingLevelNo()) && (data.getRollQty().compareTo(programmeData.getMinQty()) > 0 || data.getRollQty().compareTo(programmeData.getMinQty()) == 0) && (data.getRollQty().compareTo(programmeData.getMaxQty()) < 0 || data.getRollQty().compareTo(programmeData.getMaxQty()) == 0)) { diff --git a/src/main/java/com/gaotao/modules/pms/service/QcBaseInfoService.java b/src/main/java/com/gaotao/modules/pms/service/QcBaseInfoService.java new file mode 100644 index 0000000..dc463b1 --- /dev/null +++ b/src/main/java/com/gaotao/modules/pms/service/QcBaseInfoService.java @@ -0,0 +1,128 @@ +package com.gaotao.modules.pms.service; + +import com.gaotao.common.utils.PageUtils; +import com.gaotao.modules.pms.data.*; +import org.springframework.web.multipart.MultipartFile; + +import java.util.List; + +public interface QcBaseInfoService { + + PageUtils qcMethodSearch(QcMethodData data); + + void qcMethodSave(QcMethodData data); + + void qcMethodUpdate(QcMethodData data); + + void qcMethodDelete(QcMethodData data); + + PageUtils qcItemSearch(QcItemData data); + + void qcItemSave(QcItemData data); + + void qcItemUpdate(QcItemData data); + + void qcItemDelete(QcItemData data); + + void taskUploadExcel(MultipartFile file, GetParamInData data); + + List getTemplateList(QcTemplateData data); + + List getPartTemplateList(QcTemplateData data); + + List getTemplateListAll(QcTemplateData data); + + PageUtils samplingInspectionPlanSearch(QcSamplingInspectionPlanData data); + + void samplingInspectionPlanSave(QcSamplingInspectionPlanData data); + + void samplingInspectionPlanUpdate(QcSamplingInspectionPlanData data); + + void samplingInspectionPlanDelete(QcSamplingInspectionPlanData data); + + PageUtils templateSearch(QcTemplateData data); + + void templateSave(QcTemplateData data); + + void templateUpdate(QcTemplateData data); + + List templateDetailsSearch(QcTemplateData data); + + void addItemDetails(QcTemplateData data); + + void delItemDetails(QcTemplateData data); + + List getItemList(QcTemplateData data); + + void templateDelete(QcTemplateData data); + + void saveItemDetailed(QcTemplateData data); + + void uploadTemplateExcel(MultipartFile file, GetParamInData data); + + List getItem(QcTemplateData data); + + List queryMethodList(QcMethodData data); + + List inspectionTypeSearch(QcInspectionTypeData data); + + List objectSearch(EamObjectData data); + + PageUtils samplingQtySearch(QcSamplingInspectionQtyData data); + + void samplingQtySave(QcSamplingInspectionQtyData data); + + void samplingQtyUpdate(QcSamplingInspectionQtyData data); + + void samplingQtyDelete(QcSamplingInspectionQtyData data); + + PageUtils samplingQtyRankSearch(QcSamplingInspectionQtyRankData data); + + void samplingQtyRankSave(QcSamplingInspectionQtyRankData data); + + void samplingQtyRankUpdate(QcSamplingInspectionQtyRankData data); + + void samplingQtyRankDelete(QcSamplingInspectionQtyRankData data); + + PageUtils samplingLevelSearch(QcSamplingInspectionLevelData data); + + void samplingLevelSave(QcSamplingInspectionLevelData data); + + void samplingLevelUpdate(QcSamplingInspectionLevelData data); + + void samplingLevelDelete(QcSamplingInspectionLevelData data); + + PageUtils qcPartAttributeSearch(QcPartAttributeData data); + + void qcPartAttributeSave(QcPartAttributeData data); + + List searchPartAttributeDetails(QcTemplateData data); + + void savePartAttributeDetails(QcTemplateData data); + + void deletePartAttributeDetails(QcTemplateData data); + + void saveAttributeDetailed(QcTemplateData data); + + void qcPartAttributeDelete(QcPartAttributeData data); + + void uploadPartAttributeExcel(MultipartFile file, GetParamInData data); + + void qcPartAttributeEdit(QcPartAttributeData data); + + PageUtils samplingProgrammeSearch(QcSamplingInspectionProgrammeData data); + + void samplingProgrammeSave(QcSamplingInspectionProgrammeData data); + + List searchSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data); + + List getPlanList(QcSamplingInspectionProgrammeData data); + + List getProgrammePlanList(QcSamplingInspectionProgrammeData data); + + void saveSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data); + + void deleteSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data); + + void samplingProgrammeDelete(QcSamplingInspectionProgrammeData data); +} diff --git a/src/main/java/com/gaotao/modules/pms/service/QcService.java b/src/main/java/com/gaotao/modules/pms/service/QcService.java index b65fc9b..669938b 100644 --- a/src/main/java/com/gaotao/modules/pms/service/QcService.java +++ b/src/main/java/com/gaotao/modules/pms/service/QcService.java @@ -15,34 +15,11 @@ import java.util.List; import java.util.Map; public interface QcService { - PageUtils qcItemSearch(QcItemData data); - - void qcItemSave(QcItemData data); - - void qcItemUpdate(QcItemData data); - - void qcItemDelete(QcItemData data); - - PageUtils qcMethodSearch(QcMethodData data); - - void qcMethodSave(QcMethodData data); - - void qcMethodUpdate(QcMethodData data); - - void qcMethodDelete(QcMethodData data); void saveFAIDetailedRecord(QcFAIRecordData data); void faiRecordDelete(QcFAIRecordData data); - List inspectorSearch(); - - ResponseData inspectorSave(QcInspectorData data); - - ResponseData inspectorUpdate(QcInspectorData data); - - ResponseData inspectorDelete(QcInspectorData data); - void saveFAISubmitResult(QcFAIRecordData data); Integer saveFAISubDetailed(QcSubDetailInformationData data); @@ -53,108 +30,6 @@ public interface QcService { Integer checkFAISubDetailValue(CheckSubDetailValueVo data); - PageUtils samplingInspectionPlanSearch(QcSamplingInspectionPlanData data); - - void samplingInspectionPlanSave(QcSamplingInspectionPlanData data); - - void samplingInspectionPlanUpdate(QcSamplingInspectionPlanData data); - - void samplingInspectionPlanDelete(QcSamplingInspectionPlanData data); - - PageUtils templateSearch(QcTemplateData data); - - void templateSave(QcTemplateData data); - - void templateUpdate(QcTemplateData data); - - List templateDetailsSearch(QcTemplateData data); - - void addItemDetails(QcTemplateData data); - - void delItemDetails(QcTemplateData data); - - List getItemList(QcTemplateData data); - - void templateDelete(QcTemplateData data); - - void taskUploadExcel(MultipartFile file, GetParamInData data); - - void saveItemDetailed(QcTemplateData data); - - PageUtils samplingQtySearch(QcSamplingInspectionQtyData data); - - void samplingQtySave(QcSamplingInspectionQtyData data); - - void samplingQtyUpdate(QcSamplingInspectionQtyData data); - - void samplingQtyDelete(QcSamplingInspectionQtyData data); - - PageUtils samplingQtyRankSearch(QcSamplingInspectionQtyRankData data); - - void samplingQtyRankSave(QcSamplingInspectionQtyRankData data); - - void samplingQtyRankUpdate(QcSamplingInspectionQtyRankData data); - - void samplingQtyRankDelete(QcSamplingInspectionQtyRankData data); - - PageUtils samplingLevelSearch(QcSamplingInspectionLevelData data); - - void samplingLevelSave(QcSamplingInspectionLevelData data); - - void samplingLevelUpdate(QcSamplingInspectionLevelData data); - - void samplingLevelDelete(QcSamplingInspectionLevelData data); - - List inspectionTypeSearch(QcInspectionTypeData data); - - PageUtils qcPartAttributeSearch(QcPartAttributeData data); - - List objectSearch(EamObjectData data); - - void qcPartAttributeSave(QcPartAttributeData data); - - List searchPartAttributeDetails(QcTemplateData data); - - void savePartAttributeDetails(QcTemplateData data); - - List getTemplateList(QcTemplateData data); - - List getPartTemplateList(QcTemplateData data); - - void deletePartAttributeDetails(QcTemplateData data); - - void saveAttributeDetailed(QcTemplateData data); - - void qcPartAttributeDelete(QcPartAttributeData data); - - PageUtils qcFamilyAttributeSearch(QcPartAttributeData data); - - void qcFamilyAttributeSave(QcPartAttributeData data); - - void qcFamilyAttributeDelete(QcPartAttributeData data); - - PageUtils samplingProgrammeSearch(QcSamplingInspectionProgrammeData data); - - void samplingProgrammeSave(QcSamplingInspectionProgrammeData data); - - List searchSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data); - - List getPlanList(QcSamplingInspectionProgrammeData data); - - List getProgrammePlanList(QcSamplingInspectionProgrammeData data); - - void saveSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data); - - void deleteSamplingProgrammeDetails(QcSamplingInspectionProgrammeData data); - - void uploadTemplateExcel(MultipartFile file, GetParamInData data); - - void samplingProgrammeDelete(QcSamplingInspectionProgrammeData data); - - void uploadPartAttributeExcel(MultipartFile file, GetParamInData data); - - void uploadFamilyAttributeExcel(MultipartFile file, GetParamInData data); - PageUtils qcFAIInspectionSearch(QcFAIRecordData data); List faiDetailSearch(QcFAIRecordData data); @@ -209,8 +84,6 @@ public interface QcService { List getManufacturerList(QcPartAttributeData data); - List getTemplateListAll(QcTemplateData data); - List getAllResourceList(QcFAIRecordData data); List getOrderNoList(QcFAIRecordData data); @@ -247,8 +120,6 @@ public interface QcService { List disposalMeasuresSearch(QcFAIRecordData data); - void qcPartAttributeEdit(QcPartAttributeData data); - List searchItemFileUrl(QcFAIRecordData data); void imageDelete(SysOssEntity data); @@ -263,15 +134,10 @@ public interface QcService { Map subDetailUpload(MultipartFile file, GetParamInData data); - List getItem(QcTemplateData data); - - List queryMethodList(QcMethodData data); - void iqcRecordOverLoad(QcFAIRecordData data); List upload(MultipartFile[] list, GetParamInData inData); - List searchSeqInfo(QcFAIRecordData data); List searchPartInfo(QcFAIRecordData data); @@ -320,25 +186,8 @@ public interface QcService { Map dataAcquisitionByItem(QcFAIRecordData data); - /** - * @Description BM属性上移 - * @Title goUpItemForBM - * @param inData - * @author rq - * @date 2023/11/28 16:21 - * @return void - * @throw - */ void goUpItem(QcTemplateData inData); - /** - * @Description BM属性下移 - * @Title goDownForBM - * @param inData - * @author rq - * @date 2023/11/28 16:21 - * @return void - * @throw - */ + void goDownItem(QcTemplateData inData); void cancelApproval(QcFAIRecordData data); diff --git a/src/main/resources/mapper/pms/QcBaseInfoMapper.xml b/src/main/resources/mapper/pms/QcBaseInfoMapper.xml new file mode 100644 index 0000000..f1f949f --- /dev/null +++ b/src/main/resources/mapper/pms/QcBaseInfoMapper.xml @@ -0,0 +1,1452 @@ + + + + + + + + + + + + + + + INSERT INTO qc_method (site, bu_no, method_no, method_name, create_date, create_by, method_remark, update_date, update_by, inspection_type_no) + VALUES (#{site}, #{buNo}, #{methodNo}, #{methodName}, GetDate(), #{createBy}, #{methodRemark}, getDate(), #{updateBy}, #{inspectionTypeNo}) + + + + + UPDATE qc_method + SET method_name = #{methodName}, + method_remark = #{methodRemark}, + update_date = getDate(), + update_by = #{updateBy}, + inspection_type_no = #{inspectionTypeNo} + WHERE site = #{site} and method_no = #{methodNo} and bu_no = #{buNo} + + + + + + + + DELETE FROM qc_method + WHERE site = #{site} and method_no = #{methodNo} and bu_no = #{buNo} + + + + + + + + + + + + + + + + + + + INSERT INTO eam_properties_item (site, bu_no, ItemNo, ItemDesc, DefaultValue, ValueType, ValueType_DB, ValueChooseFlag, CreatedDate, CreatedBy, MaxValue, MinValue, ItemRemark, ItemType, update_date, update_by, inspection_type_no, item_sampling_quantity, sampling_programme_no, sampling_level_no, default_sampling_proportion, collection_flag, collection_source, collection_method, collection_condition, collection_data_content) + VALUES (#{site}, #{buNo}, #{itemNo}, #{itemDesc}, #{defaultValue}, #{valueType}, #{valueTypeDb}, #{valueChooseFlag}, GetDate(), #{createdBy}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{itemRemark}, #{itemType}, getDate(), #{updateBy}, #{inspectionTypeNo}, #{itemSamplingQuantity}, #{samplingProgrammeNo}, #{samplingLevelNo}, #{defaultSamplingProportion}, #{collectionFlag}, #{collectionSource}, #{collectionMethod}, #{collectionCondition}, #{collectionDataContent}) + + + + + INSERT INTO qc_method_item (ItemNo, method_no, site, bu_no) + VALUES (#{itemNo}, #{methodNo}, #{site}, #{buNo}) + + + + + UPDATE eam_properties_item + SET ItemDesc = #{itemDesc}, + DefaultValue = #{defaultValue}, + ValueType = #{valueType}, + ValueType_DB = #{valueTypeDb}, + ValueChooseFlag = #{valueChooseFlag}, + MaxValue = #{maxValue,jdbcType=DECIMAL}, + MinValue = #{minValue,jdbcType=DECIMAL}, + ItemRemark = #{itemRemark}, + update_date = getDate(), + update_by = #{updateBy}, + inspection_type_no = #{inspectionTypeNo}, + item_sampling_quantity = #{itemSamplingQuantity}, + sampling_programme_no = #{samplingProgrammeNo}, + sampling_level_no = #{samplingLevelNo}, + default_sampling_proportion = #{defaultSamplingProportion}, + collection_flag = #{collectionFlag}, + collection_source = #{collectionSource}, + collection_method = #{collectionMethod}, + collection_condition = #{collectionCondition}, + collection_data_content = #{collectionDataContent} + WHERE site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType} and bu_no = #{buNo} + + + + + UPDATE qc_method_item + SET method_no = #{methodNo} + WHERE site = #{site} and ItemNo = #{itemNo} and bu_no = #{buNo} + + + + + + + + DELETE + FROM eam_properties_item + WHERE site = #{site} and ItemNo = #{itemNo} and ItemType = #{itemType} and bu_no = #{buNo} + + + + + DELETE + FROM qc_method_item + WHERE site = #{site} and ItemNo = #{itemNo} and bu_no = #{buNo} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO qc_sampling_inspection_plan (site, bu_no, sampling_plan_no, sampling_plan_desc, sampling_qty_rank_no, sampling_level_no, sampling_qty_no, sampling_plan_active, create_date, create_by, update_date, update_by) + VALUES (#{site}, #{buNo}, #{samplingPlanNo}, #{samplingPlanDesc}, #{samplingQtyRankNo}, #{samplingLevelNo}, #{samplingQtyNo}, #{samplingPlanActive}, getDate(), #{createBy}, getDate(), #{updateBy}) + + + + + UPDATE qc_sampling_inspection_plan + SET sampling_qty_rank_no = #{samplingQtyRankNo}, + sampling_level_no = #{samplingLevelNo}, + sampling_qty_no = #{samplingQtyNo}, + sampling_plan_active = #{samplingPlanActive}, + update_date = getDate(), + update_by = #{updateBy} + WHERE sampling_plan_no = #{samplingPlanNo} AND site = #{site} and bu_no = #{buNo} + + + + + DELETE FROM qc_sampling_inspection_plan + WHERE sampling_plan_no = #{samplingPlanNo} AND site = #{site} and bu_no = #{buNo} + + + + + + + + + + + + + INSERT INTO qc_template (site, bu_no, template_id, template_name, template_version, template_remark, template_type, sampling_programme_no, inspection_type_no, create_time, create_by, sampling_level_no, inspection_cycle, AQL, AC, RE, default_sampling_quantity, default_sampling_proportion, update_date, update_by) + VALUES (#{site}, #{buNo}, #{templateId}, #{templateName},#{templateVersion}, #{templateRemark}, #{templateType}, #{samplingProgrammeNo}, #{inspectionTypeNo}, getDate(), #{createBy}, #{samplingLevelNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{aql}, #{ac}, #{re}, #{defaultSamplingQuantity}, #{defaultSamplingProportion}, getDate(), #{updateBy}) + + + + + UPDATE qc_template + SET template_name = #{templateName}, + template_version = #{templateVersion}, + template_remark = #{templateRemark}, + template_type = #{templateType}, + sampling_programme_no = #{samplingProgrammeNo}, + inspection_cycle = #{inspectionCycle}, + inspection_type_no = #{inspectionTypeNo}, + sampling_level_no = #{samplingLevelNo}, + AQL = #{aql}, + AC = #{ac}, + RE = #{re}, + default_sampling_quantity = #{defaultSamplingQuantity}, + default_sampling_proportion = #{defaultSamplingProportion}, + update_date = getDate(), + update_by = #{updateBy} + WHERE template_id = #{templateId} AND site = #{site} and bu_no = #{buNo} + + + + + + + + + + + + + + INSERT INTO qc_template_detailed (template_id, ItemNo, default_value, max_value, min_value, site, bu_no,order_id) + VALUES (#{templateId}, #{itemNo}, #{defaultValue}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{site}, #{buNo},#{orderId}) + + + + + DELETE FROM qc_template_detailed + WHERE template_id = #{templateId} and ItemNo = #{itemNo} and site = #{site} and bu_no = #{buNo} + + + + + + + + + + + DELETE FROM qc_template + WHERE template_id = #{templateId} AND site = #{site} and bu_no = #{buNo} + + + + + DELETE FROM qc_template_detailed + WHERE template_id = #{templateId} and site = #{site} and bu_no = #{buNo} + + + + + + + + + + + + + + INSERT INTO eam_properties_item (ItemNo, ItemDesc,DefaultValue,ValueType,ValueType_DB, CreatedDate,CreatedBy,MaxValue, MinValue, ItemRemark,ItemType) + VALUES(#{itemNo},#{itemDesc}, #{defaultValue}, #{valueType}, #{valueTypeDb}, GetDate(), #{createdBy}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL}, #{itemRemark}, #{itemType}) + + + + + + + delete qc_template_detailed + WHERE template_id = #{templateId} and site = #{site} and bu_no = #{buNo} + + + + + INSERT INTO qc_template_detailed + (site, bu_no, template_id, ItemNo, default_value, max_value, min_value, order_id) + VALUES + (#{site}, #{buNo}, #{templateId}, #{itemNo}, #{defaultValue}, #{maxValue,jdbcType=DECIMAL}, #{minValue,jdbcType=DECIMAL},#{orderId}) + + + + + + + + + + + + delete from qc_inspection_standards + where site = #{site} and bu_no = #{buNo} and template_id = #{templateId} and item_no = #{itemNo} + + + + + + + + + + + + + + + INSERT INTO qc_sampling_inspection_qty (site, bu_no, sampling_qty_no, sampling_qty, sampling_qty_remark, sampling_qty_active, sampling_qty_desc, create_date, create_by, update_date, update_by) + VALUES(#{site}, #{buNo}, #{samplingQtyNo}, #{samplingQty,jdbcType=DECIMAL}, #{samplingQtyRemark}, #{samplingQtyActive}, #{samplingQtyDesc}, getDate(), #{createBy}, getDate(), #{updateBy}) + + + + + + + + + + + UPDATE qc_sampling_inspection_qty + SET sampling_qty = #{samplingQty,jdbcType=DECIMAL}, + sampling_qty_desc = #{samplingQtyDesc}, + sampling_qty_remark = #{samplingQtyRemark}, + sampling_qty_active = #{samplingQtyActive}, + update_date = getDate(), + update_by = #{updateBy} + WHERE sampling_qty_no = #{samplingQtyNo} AND site = #{site} and bu_no = #{buNo} + + + + + + + + DELETE FROM qc_sampling_inspection_qty + WHERE site = #{site} AND sampling_qty_no = #{samplingQtyNo} AND sampling_qty_desc = #{samplingQtyDesc} and bu_no = #{buNo} + + + + + + + + + + + + + + + + + INSERT INTO qc_sampling_inspection_qty_rank (site, bu_no, sampling_qty_rank_no, sampling_qty_rank_desc, min_qty, max_qty, sampling_qty_rank_Remark, sampling_qty_rank_active, create_date, create_by, update_date, update_by) + VALUES(#{site}, #{buNo}, #{samplingQtyRankNo}, #{samplingQtyRankDesc}, #{minQty,jdbcType=DECIMAL}, #{maxQty,jdbcType=DECIMAL}, #{samplingQtyRankRemark}, #{samplingQtyRankActive}, getDate(), #{createBy}, getDate(), #{updateBy}) + + + + + + + + UPDATE qc_sampling_inspection_qty_rank + SET sampling_qty_rank_desc = #{samplingQtyRankDesc}, + min_qty = #{minQty,jdbcType=DECIMAL}, + max_qty = #{maxQty,jdbcType=DECIMAL}, + sampling_qty_rank_Remark = #{samplingQtyRankRemark}, + sampling_qty_rank_active = #{samplingQtyRankActive}, + update_date = getDate(), + update_by = #{updateBy} + WHERE sampling_qty_rank_no = #{samplingQtyRankNo} AND site = #{site} and bu_no = #{buNo} + + + + + DELETE FROM qc_sampling_inspection_qty_rank + WHERE site = #{site} and bu_no = #{buNo} + AND sampling_qty_rank_no = #{samplingQtyRankNo} + AND sampling_qty_rank_desc = #{samplingQtyRankDesc} + + + + + + + + + + + + + + + + INSERT INTO qc_sampling_inspection_level (site, bu_no, sampling_level_no, sampling_level_desc, sampling_level_remark, sampling_level_active, create_date, create_by, update_date, update_by) + VALUES (#{site}, #{buNo}, #{samplingLevelNo}, #{samplingLevelDesc}, #{samplingLevelRemark}, #{samplingLevelActive}, getDate(), #{createBy}, getDate(), #{updateBy}) + + + + + + + + UPDATE qc_sampling_inspection_level + SET sampling_level_desc = #{samplingLevelDesc}, + sampling_level_remark = #{samplingLevelRemark}, + sampling_level_active = #{samplingLevelActive}, + update_date = getDate(), + update_by = #{updateBy} + WHERE sampling_level_no = #{samplingLevelNo} + AND site = #{site} and bu_no = #{buNo} + + + + + DELETE FROM qc_sampling_inspection_level + WHERE site = #{site} and bu_no = #{buNo} + AND sampling_level_no = #{samplingLevelNo} + AND sampling_level_desc = #{samplingLevelDesc} + + + + + + + + + + + + + + INSERT INTO qc_part_attribute (attribute_no, supplier_no, attribute_remark, create_time, create_by, attribute_type, site, exempt_inspection, bu_no) + VALUES(#{partNo}, #{supplierNo}, #{attributeRemark}, getDate(), #{createBy}, #{attributeType}, #{site}, #{exemptInspection}, #{buNo}) + + + + + UPDATE qc_part_attribute + SET attribute_remark = #{attributeRemark}, + exempt_inspection = #{exemptInspection}, + update_date = getDate(), + update_by = #{updateBy} + WHERE site = #{site} and attribute_no = #{partNo} and attribute_type = #{attributeType} and bu_no = #{buNo} + + + + + DELETE FROM qc_part_attribute + WHERE site = #{site} and bu_no = #{buNo} and attribute_no = #{partNo} and attribute_type = #{attributeType} + + + + + DELETE FROM qc_attribute_template + WHERE site = #{site} and bu_no = #{buNo} and attribute_no = #{partNo} and attribute_type = #{attributeType} + + + + + + + + + + + INSERT INTO qc_attribute_template + (attribute_no, template_id, sampling_level_no, inspection_cycle, sampling_programme_no, AQL, AC, RE, + attribute_type, operation, manufacturer_id, resource_id, site, bu_no, inspection_type_no) + VALUES + (#{attributeNo}, #{templateId}, #{samplingLevelNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{samplingProgrammeNo}, #{aql,jdbcType=DECIMAL}, #{ac,jdbcType=DECIMAL}, #{re,jdbcType=DECIMAL}, + #{attributeType}, #{operation}, #{manufacturerID}, #{resourceID}, #{site}, #{buNo}, #{inspectionTypeNo}) + + + + + DELETE FROM qc_attribute_template + + site = #{site} and bu_no = #{buNo} and attribute_no = #{attributeNo} and template_id = #{templateId} and attribute_type = #{attributeType} + + and operation = #{operation} + + + and resource_id = #{resourceID} + + + and manufacturer_id = #{manufacturerID} + + + + + + + + + + UPDATE qc_attribute_template + SET sampling_level_no = #{samplingLevelNo}, + inspection_cycle = #{inspectionCycle,jdbcType=DECIMAL}, + sampling_programme_no = #{samplingProgrammeNo}, + AQL = #{aql,jdbcType=DECIMAL}, + AC = #{ac,jdbcType=DECIMAL}, + RE = #{re,jdbcType=DECIMAL} + + site = #{site} and attribute_no = #{attributeNo} AND template_id = #{templateId} AND attribute_type = #{attributeType} and bu_no = #{buNo} + + AND operation = #{operation} + + + AND resource_id = #{resourceID} + + + AND manufacturer_id = #{manufacturerID} + + + + + + + UPDATE qc_part_attribute + SET update_date = getDate(), + update_by = #{updateBy} + WHERE site = #{site} and attribute_no = #{attributeNo} and attribute_type = #{attributeType} and bu_no = #{buNo} + + + + + + + + + + INSERT INTO qc_sampling_inspection_programme (site, bu_no, sampling_programme_no, sampling_programme_desc, sampling_programme_code, create_time, create_by, update_date, update_by) + VALUES(#{site}, #{buNo}, #{samplingProgrammeNo}, #{samplingProgrammeDesc}, #{samplingProgrammeCode}, getDate(), #{createBy}, getDate(), #{updateBy}) + + + + + DELETE FROM qc_sampling_inspection_programme + WHERE site = #{site} and bu_no = #{buNo} + AND sampling_programme_no = #{samplingProgrammeNo} + + + + + DELETE FROM qc_programme_plan + WHERE sampling_programme_no = #{samplingProgrammeNo} and site = #{site} and bu_no = #{buNo} + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO qc_programme_plan (site, bu_no, sampling_programme_no, sampling_plan_no) + VALUES (#{site}, #{buNo}, #{samplingProgrammeNo}, #{samplingPlanNo}) + + + + + UPDATE qc_sampling_inspection_programme + SET update_date = getDate(), + update_by = #{updateBy} + WHERE site = #{site} AND sampling_programme_no = #{samplingProgrammeNo} and bu_no = #{buNo} + + + + + DELETE FROM qc_programme_plan + WHERE sampling_programme_no = #{samplingProgrammeNo} and sampling_plan_no = #{samplingPlanNo} and site = #{site} and bu_no = #{buNo} + + diff --git a/src/main/resources/mapper/pms/QcMapper.xml b/src/main/resources/mapper/pms/QcMapper.xml new file mode 100644 index 0000000..6a1b7ac --- /dev/null +++ b/src/main/resources/mapper/pms/QcMapper.xml @@ -0,0 +1,2683 @@ + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO qc_fai_record (inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id, part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id) + VALUES(#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId}, #{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId}) + + + + INSERT INTO qc_fai_detailed_record + (inspection_no, order_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, site, sampling_qty, bu_no,order_id) + VALUES + (#{inspectionNo}, #{orderNo}, #{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}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo},#{orderId,jdbcType=INTEGER}) + + + + + INSERT INTO qc_fai_detailed_record + (inspection_no, order_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, site, sampling_qty, bu_no, order_id) + VALUES + + (#{item.inspectionNo}, #{item.orderNo}, #{item.templateId}, #{item.samplingLevelNo}, #{item.samplingLevelDesc}, #{item.samplingProgrammeNo}, #{item.samplingProgrammeDesc}, + #{item.aql,jdbcType=DECIMAL}, #{item.ac,jdbcType=DECIMAL}, #{item.re,jdbcType=DECIMAL}, #{item.itemNo}, #{item.itemDesc}, #{item.objectId}, #{item.objectDesc}, #{item.defaultValue}, #{item.minValue,jdbcType=DECIMAL}, + #{item.maxValue,jdbcType=DECIMAL}, #{item.valueTypeDb}, #{item.valueType}, #{item.site}, #{item.samplingQty,jdbcType=DECIMAL}, #{item.buNo}, #{item.orderId}) + + + + + + + + + + + + + + + UPDATE qc_fai_record + SET disposal_measures = #{disposalMeasures}, + disposal_remark = #{disposalRemark}, + inspection_result = #{inspectionResult}, + inspector_no = #{inspectorNo}, + state = #{state}, + inspection_remark = #{inspectionRemark}, + inspector_date = getDate(), + sampling_qty = #{samplingQty,jdbcType=DECIMAL}, + roll_qty = #{rollQty,jdbcType=DECIMAL}, + unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL}, + pass_qty = #{passQty,jdbcType=DECIMAL}, + not_pass_qty = #{notPassQty,jdbcType=DECIMAL}, + batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL}, + submit_date = getDate() + WHERE site = #{site} AND inspection_no = #{inspectionNo} and bu_no = #{buNo} + + + + + UPDATE qc_fai_detailed_record + SET item_result = #{itemResult}, + unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL}, + sampling_qty = #{samplingQty,jdbcType=DECIMAL}, + text_value = #{textValue}, + number_value = #{numberValue,jdbcType=DECIMAL} + WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo} + + + + + UPDATE qc_fai_sub_detail_record + SET is_submit = 'Y' + WHERE inspection_no = #{inspectionNo} + + + + + DELETE FROM qc_fai_record + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + DELETE FROM qc_fai_detailed_record + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + DELETE FROM qc_fai_sub_detail_record + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + UPDATE qc_fai_record + SET submit_flag = 'Y', + state = '已完成', + submit_date = getDate() + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + UPDATE qc_fai_detailed_record + SET is_submit = 'Y' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + UPDATE qc_fai_sub_detail_record + SET is_submit = 'Y' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + + + + DELETE FROM qc_fai_sub_detail_record + WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo} + + + + + INSERT INTO qc_fai_sub_detail_record + (inspection_no, item_no, sub_detail_value, sampling_location, site, sampling_location_b, bu_no, num, sub_detail_value_b, sub_detail_value_c, sub_detail_value_d, sub_detail_value_e) + VALUES + + (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE}) + + + + + + + + + + + + + + + + + + INSERT INTO qc_ipqc_detailed_record + (inspection_no, order_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, site, sampling_qty, bu_no,order_id) + VALUES + (#{inspectionNo}, #{orderNo}, #{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}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo},#{orderId,jdbcType=INTEGER}) + + + + + INSERT INTO qc_ipqc_detailed_record + (inspection_no, order_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, site, sampling_qty, bu_no, order_id) + VALUES + + (#{item.inspectionNo}, #{item.orderNo}, #{item.templateId}, #{item.samplingLevelNo}, #{item.samplingLevelDesc}, #{item.samplingProgrammeNo}, #{item.samplingProgrammeDesc}, + #{item.aql,jdbcType=DECIMAL}, #{item.ac,jdbcType=DECIMAL}, #{item.re,jdbcType=DECIMAL}, #{item.itemNo}, #{item.itemDesc}, #{item.objectId}, #{item.objectDesc}, #{item.defaultValue}, #{item.minValue,jdbcType=DECIMAL}, + #{item.maxValue,jdbcType=DECIMAL}, #{item.valueTypeDb}, #{item.valueType}, #{item.site}, #{item.samplingQty,jdbcType=DECIMAL}, #{item.buNo}, #{item.orderId}) + + + + + + INSERT INTO qc_ipqc_record + (inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id, + part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id) + VALUES + (#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId}, + #{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId}) + + + + + + + + + + + DELETE FROM qc_ipqc_record + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + DELETE FROM qc_ipqc_detailed_record + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + DELETE FROM qc_ipqc_sub_detail_record + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + UPDATE qc_ipqc_record + SET disposal_measures = #{disposalMeasures}, + disposal_remark = #{disposalRemark}, + inspection_result = #{inspectionResult}, + inspector_no = #{inspectorNo}, + state = #{state}, + inspection_remark = #{inspectionRemark}, + inspector_date = getDate(), + sampling_qty = #{samplingQty,jdbcType=DECIMAL}, + roll_qty = #{rollQty,jdbcType=DECIMAL}, + unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL}, + pass_qty = #{passQty,jdbcType=DECIMAL}, + not_pass_qty = #{notPassQty,jdbcType=DECIMAL}, + batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL}, + submit_date = getDate() + WHERE site = #{site} and inspection_no = #{inspectionNo} and bu_no = #{buNo} + + + + + UPDATE qc_ipqc_detailed_record + SET item_result = #{itemResult}, + unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL}, + sampling_qty = #{samplingQty,jdbcType=DECIMAL}, + text_value = #{textValue}, + number_value = #{numberValue,jdbcType=DECIMAL} + WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo} + + + + + UPDATE qc_ipqc_record + SET submit_flag = 'Y', + state = '已完成', + submit_date = getDate() + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + UPDATE qc_ipqc_detailed_record + SET is_submit = 'Y' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + UPDATE qc_ipqc_sub_detail_record + SET is_submit = 'Y' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + DELETE FROM qc_ipqc_sub_detail_record + WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo} + + + + + INSERT INTO qc_ipqc_sub_detail_record + (inspection_no, item_no, sub_detail_value, sampling_location, site, sampling_location_b, bu_no, num, sub_detail_value_b, sub_detail_value_c, sub_detail_value_d, sub_detail_value_e) + VALUES + + (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE}) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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, site, sampling_qty, bu_no,order_id) + 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}, #{site}, #{samplingQty}, #{buNo},#{orderId,jdbcType=INTEGER}) + + + + + UPDATE qc_iqc_record + SET inspection_type_no = #{inspectionTypeNo}, + sampling_qty = #{samplingQty}, + inspection_cycle = #{inspectionCycle}, + part_desc = #{partDesc}, + detail_flag = 'Y', + state = '未开始', + action_date = '', + action_by = '' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + + + + + + + + + + + + + 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(), + roll_count = #{rollCount,jdbcType=DECIMAL}, + sampling_qty = #{samplingQty,jdbcType=DECIMAL}, + unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL}, + pass_qty = #{passQty,jdbcType=DECIMAL}, + not_pass_qty = #{notPassQty,jdbcType=DECIMAL}, + batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL}, + submit_date = getDate() + WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo} + + + + + UPDATE qc_iqc_detailed_record + SET item_result = #{itemResult}, + unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL}, + sampling_qty = #{samplingQty,jdbcType=DECIMAL}, + text_value = #{textValue}, + number_value = #{numberValue,jdbcType=DECIMAL} + WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo} + + + + + + + + + + + DELETE FROM qc_iqc_sub_detail_record + WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo} + + + + + INSERT INTO qc_iqc_sub_detail_record + (inspection_no, item_no, sub_detail_value, sampling_location, site, sampling_location_b, bu_no, num, sub_detail_value_b, sub_detail_value_c, sub_detail_value_d, sub_detail_value_e) + VALUES + + (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE}) + + + + + + UPDATE qc_iqc_record + SET submit_flag = 'Y', + state = '已完成', + submit_date = getDate() + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + UPDATE qc_iqc_detailed_record + SET is_submit = 'Y' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + UPDATE qc_iqc_sub_detail_record + SET is_submit = 'Y' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + DELETE FROM qc_iqc_record + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + DELETE FROM qc_iqc_detailed_record + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + DELETE FROM qc_iqc_sub_detail_record + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + + + + + + + + + + + + + + + + + + INSERT INTO qc_fqc_detailed_record + (inspection_no, order_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, site, sampling_qty, bu_no,order_id) + VALUES + (#{inspectionNo}, #{orderNo}, #{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}, #{site}, #{samplingQty,jdbcType=DECIMAL}, #{buNo},#{orderId,jdbcType=INTEGER}) + + + + + INSERT INTO qc_fqc_detailed_record + (inspection_no, order_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, site, sampling_qty, bu_no, order_id) + VALUES + + (#{item.inspectionNo}, #{item.orderNo}, #{item.templateId}, #{item.samplingLevelNo}, #{item.samplingLevelDesc}, #{item.samplingProgrammeNo}, #{item.samplingProgrammeDesc}, + #{item.aql,jdbcType=DECIMAL}, #{item.ac,jdbcType=DECIMAL}, #{item.re,jdbcType=DECIMAL}, #{item.itemNo}, #{item.itemDesc}, #{item.objectId}, #{item.objectDesc}, #{item.defaultValue}, #{item.minValue,jdbcType=DECIMAL}, + #{item.maxValue,jdbcType=DECIMAL}, #{item.valueTypeDb}, #{item.valueType}, #{item.site}, #{item.samplingQty,jdbcType=DECIMAL}, #{item.buNo}, #{item.orderId}) + + + + + + INSERT INTO qc_fqc_record + (inspection_no, site, bu_no, state, task_date, inspection_type_no, inspection_cycle, order_no, operation_desc, resource_id, + part_no, roll_qty, sampling_qty, ssr_id, seq_no, batch_roll_no, special_requirements, work_center_no, roll_no, um_id) + VALUES + (#{inspectionNo}, #{site}, #{buNo}, #{state}, getDate(), #{inspectionTypeNo}, #{inspectionCycle,jdbcType=DECIMAL}, #{orderNo}, #{operationDesc}, #{resourceId}, + #{partNo}, #{rollQty}, #{samplingQty,jdbcType=DECIMAL}, #{ssrId}, #{seqNo}, #{batchRollNo}, #{specialRequirements}, #{workCenterNo}, #{rollNo}, #{umId}) + + + + + + + + DELETE FROM qc_fqc_record + WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo} + + + + + DELETE FROM qc_fqc_detailed_record + WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo} + + + + + DELETE FROM qc_fqc_sub_detail_record + WHERE site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo} + + + + + UPDATE qc_fqc_record + SET disposal_measures = #{disposalMeasures}, + disposal_remark = #{disposalRemark}, + inspection_result = #{inspectionResult}, + inspector_no = #{inspectorNo}, + state = #{state}, + inspection_remark = #{inspectionRemark}, + inspector_date = getDate(), + sampling_qty = #{samplingQty,jdbcType=DECIMAL}, + roll_qty = #{rollQty,jdbcType=DECIMAL}, + unqualified_qty = #{unqualifiedQty,jdbcType=DECIMAL}, + pass_qty = #{passQty,jdbcType=DECIMAL}, + not_pass_qty = #{notPassQty,jdbcType=DECIMAL}, + batch_qualified_qty = #{batchQualifiedQty,jdbcType=DECIMAL}, + submit_date = getDate() + WHERE site = #{site} and inspection_no = #{inspectionNo} and bu_no = #{buNo} + + + + + UPDATE qc_fqc_detailed_record + SET item_result = #{itemResult}, + unqualified_quantity = #{unqualifiedQuantity,jdbcType=DECIMAL}, + sampling_qty = #{samplingQty,jdbcType=DECIMAL}, + text_value = #{textValue}, + number_value = #{numberValue,jdbcType=DECIMAL} + WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo} + + + + + UPDATE qc_fqc_record + SET submit_flag = 'Y', + state = '已完成', + submit_date = getDate() + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + UPDATE qc_fqc_detailed_record + SET is_submit = 'Y' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + UPDATE qc_fqc_sub_detail_record + SET is_submit = 'Y' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + DELETE FROM qc_fqc_sub_detail_record + WHERE inspection_no = #{inspectionNo} and item_no = #{itemNo} and site = #{site} and bu_no = #{buNo} + + + + + INSERT INTO qc_fqc_sub_detail_record + (inspection_no, item_no, sub_detail_value, sampling_location, site, sampling_location_b, bu_no, num, sub_detail_value_b, sub_detail_value_c, sub_detail_value_d, sub_detail_value_e) + VALUES + + (#{item.inspectionNo}, #{item.itemNo}, #{item.subDetailValue}, #{item.samplingLocation}, #{item.site}, #{item.samplingLocationB}, #{item.buNo}, #{item.num}, #{item.subDetailValueB}, #{item.subDetailValueC}, #{item.subDetailValueD}, #{item.subDetailValueE}) + + + + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO receiving_task (site, order_no, item_no, part_no, part_desc, spec, supplier_id, supplier_name, order_qty, created_date, status, citem_code, citem_class, sendto_address, order_type, inspection_no, batch_no, production_date, expiration_warning_date, expiration_date) + VALUES (#{site}, #{orderNo}, #{itemNo}, #{partNo}, #{partDesc}, #{spec}, #{supplierId}, #{supplierName}, #{orderQty}, getDate(), #{status}, #{citemCode}, #{citemClass}, #{sendtoAddress}, #{orderType}, #{inspectionNo}, #{batchNo}, #{productionDate}, #{expirationWarningDate}, #{expirationDate}) + + + + + + + + + + + + + + + + + + + + + + + DELETE FROM sys_oss + WHERE id = #{id} + + + + + + + + + + + + + + + + + + + + UPDATE qc_iqc_record + SET detail_flag = 'N' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + + + + + + UPDATE interface_time + set + updated_by = #{updatedBy}, + updated_date = #{updatedDate}, + del_flag = #{delFlag} + + + + + + INSERT INTO purchase_in_storage_count + (site, trans_no, created_date, created_by, erp_flag, toacc, logindate, cordercode, cdepcode, cwhcode, crdcode, coutcode, ddate, bredvouch, + cmemo, verify, irowno, cinvcode, iquantity, citemcode, erp_remark, trans_date, csource, trans_type) + values (#{site}, #{transNo}, #{createdDate}, #{createdBy}, #{erpFlag}, #{toacc}, #{logindate}, #{cordercode}, #{cdepcode}, #{cwhcode}, #{crdcode}, #{coutcode}, #{ddate}, #{bredvouch}, + #{cmemo}, #{verify}, #{irowno}, #{cinvcode}, #{iquantity}, #{citemcode}, #{erpRemark}, #{transDate}, #{csource}, #{transType}) + + + + insert into TransHeader + (TransNo, Site, WarehouseID, TransDate, TransType_DB, TransType, UserName, Receiver, TransYear, TransMonth, PartnerID, PartnerType, AuthorizeFlag, AuthorizeDate, Authorizor, TransferFlag, TransferDate, + TransferGuys, VoucherDate, ProjectID, EnterDate, Remark, UseLocation, OrderRef1, LinkOrderFlag, DelAddID, Status, ProjectName, PartnerName, erp_warehouse_id, ERP, + department_no, picking_status, scan_type, inCategory, pmProject, remarks, item_no_mat, remark3, location_id, count_id) + values (#{TransNo}, #{Site}, #{WarehouseID}, #{TransDate}, #{TransTypeDB}, #{TransType}, #{UserName}, #{Receiver}, #{TransYear}, #{TransMonth}, #{PartnerID}, #{PartnerType}, #{AuthorizeFlag}, #{AuthorizeDate}, #{Authorizor}, #{TransferFlag}, #{TransferDate}, + #{TransferGuys}, #{VoucherDate}, #{ProjectID}, #{EnterDate}, #{Remark}, #{UseLocation}, #{OrderRef1}, #{LinkOrderFlag}, #{DelAddID}, #{Status}, #{ProjectName}, #{PartnerName}, #{erpWarehouseId}, #{ERP}, + #{departmentNo}, #{pickingStatus}, #{scanType}, #{inCategory}, #{pmProject}, #{remarks}, #{itemNoMat}, #{remark3}, #{locationId}, #{countId}) + + + + INSERT INTO TransDetail + (TransNo, Site, PartNo, LocationID, TransQty, Direction, OrderRef1, ItemNo, OrderRef2, OrderRef3, OrderRef5, Remark, citem_code) + values + (#{TransNo}, #{Site}, #{PartNo}, #{LocationID}, #{TransQty}, #{Direction}, #{OrderRef1}, #{ItemNo}, #{OrderRef2}, #{OrderRef3}, #{OrderRef5}, #{Remark}, #{citemCode}) + + + + + + + + + insert into send_mail_record + (site, bu_no, document_no, sender, recipient, send_date, type) + values + (#{site}, #{buNo}, #{documentNo}, #{sender}, #{recipient}, getDate(), #{type}) + + + + + + update qc_iqc_record + set action_date = getDate(), + action_by = #{actionBy}, + state = #{state} + where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo} + + + + update qc_fai_record + set action_date = getDate(), + action_by = #{actionBy}, + state = #{state} + where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo} + + + + update qc_ipqc_record + set action_date = getDate(), + action_by = #{actionBy}, + state = #{state} + where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo} + + + + update qc_fqc_record + set action_date = getDate(), + action_by = #{actionBy}, + state = #{state} + where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo} + + + + insert into Equipment_data_acquisition + (site, bu_no, equipment_no, inspection_no, create_date, create_by, item_no, collection_source, collection_method) + values + + (#{item.site}, #{item.buNo}, #{item.equipmentNo}, #{item.inspectionNo}, getDate(), #{item.actionBy}, #{item.itemNo}, #{item.collectionSource}, #{item.collectionMethod}) + + + + + + INSERT INTO eam_actual_operator + (site, order_no, function_type, operator, bu_no) + VALUES + + (#{item.site}, #{item.orderNo}, #{item.functionType}, #{item.operator}, #{item.buNo}) + + + + + + DELETE FROM eam_actual_operator + WHERE site = #{site} and order_no = #{inspectionNo} and bu_no = #{buNo} + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO sys_oss + (url, create_date, file_name, new_file_name, order_ref1, order_ref2, order_ref3, order_ref4) + VALUES + + (#{item.url}, getDate(), #{item.fileName}, #{item.newFileName}, #{item.orderRef1}, #{item.orderRef2}, #{item.orderRef3}, #{item.orderRef4}) + + + + + + + + + + + + + + + + + + + + + + + + INSERT INTO qc_item_object + (site, bu_no, ItemNo, ObjectID, default_flag) + VALUES + + (#{item.site}, #{item.buNo}, #{item.itemNo}, #{item.objectID}, #{item.defaultFlag}) + + + + + DELETE FROM qc_item_object + WHERE + + (site = #{item.site} and bu_no = #{item.buNo} and ItemNo = #{item.itemNo} and ObjectID = #{item.objectID}) + + + + + UPDATE qc_item_object + SET default_flag = #{defaultFlag} + WHERE site = #{site} and bu_no = #{buNo} and ItemNo = #{itemNo} and ObjectID = #{objectID} + + + + + + + + + + + + delete from Equipment_data_acquisition + where site = #{site} and bu_no = #{buNo} and inspection_no = #{inspectionNo} + + + + + + delete from qc_inspection_standards + where site = #{site} and bu_no = #{buNo} and template_id = #{templateId} and item_no = #{itemNo} + + + + INSERT INTO qc_inspection_standards + (site, bu_no, template_id, item_no, default_value, min_value, max_value, condition, collection_source, seq_no) + VALUES + + (#{item.site}, #{item.buNo}, #{item.templateId}, #{item.itemNo}, #{item.defaultValue}, #{item.minValue}, #{item.maxValue}, #{item.condition}, #{item.collectionSource}, #{item.seqNo}) + + + + + + + update Equipment_data_detail + set inspection_no = #{inspectionNo} + where id = #{id} + + + + delete sys_oss + where order_ref1 = #{site} and order_ref2 = #{inspectionNo} and order_ref4 = #{buNo} + + + + + + + + + update qc_template_detailed + set order_id=#{orderId} + where site = #{site} + and bu_no= #{buNo} + and template_id = #{templateId} + and ItemNo = #{itemNo} + + + + + + UPDATE qc_iqc_record + SET submit_flag = 'N', + state = '待检验', + cancel_check_by = #{updateBy}, + cancel_check_date = getDate() + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + UPDATE qc_iqc_detailed_record + SET is_submit = 'N' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + UPDATE qc_iqc_sub_detail_record + SET is_submit = 'N' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + UPDATE qc_fai_record + SET submit_flag = 'N', + state = '待检验', + cancel_check_by = #{updateBy}, + cancel_check_date = getDate() + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + UPDATE qc_fai_detailed_record + SET is_submit = 'N' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + UPDATE qc_fai_sub_detail_record + SET is_submit = 'N' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + UPDATE qc_ipqc_record + SET submit_flag = 'N', + state = '待检验', + cancel_check_by = #{updateBy}, + cancel_check_date = getDate() + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + UPDATE qc_ipqc_detailed_record + SET is_submit = 'N' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + UPDATE qc_ipqc_sub_detail_record + SET is_submit = 'N' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + UPDATE qc_fqc_record + SET submit_flag = 'N', + state = '待检验', + cancel_check_by = #{updateBy}, + cancel_check_date = getDate() + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + UPDATE qc_fqc_detailed_record + SET is_submit = 'N' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + UPDATE qc_fqc_sub_detail_record + SET is_submit = 'N' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + UPDATE qc_pqc_record + SET submit_flag = 'N', + state = '待检验', + cancel_check_by = #{updateBy}, + cancel_check_date = getDate() + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + UPDATE qc_pqc_detailed_record + SET is_submit = 'N' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + UPDATE qc_pqc_sub_detail_record + SET is_submit = 'N' + WHERE inspection_no = #{inspectionNo} and site = #{site} and bu_no = #{buNo} + + + + delete receiving_task + where site = #{site} and citem_code = #{buNo} and inspection_no = #{inspectionNo} + + + + + + UPDATE QMS_soscheduledrouting_TASK + SET delete_flag = 'Y' + WHERE id = #{id} + + + + + + + + + diff --git a/src/main/resources/mapper/pms/QcReportMapper.xml b/src/main/resources/mapper/pms/QcReportMapper.xml new file mode 100644 index 0000000..92654fa --- /dev/null +++ b/src/main/resources/mapper/pms/QcReportMapper.xml @@ -0,0 +1,2450 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +