From d5bb894f9be2e0a3b62d475b60b44f2ab138528c Mon Sep 17 00:00:00 2001 From: guoyujie <guoyujie@ng.com> Date: 星期四, 12 六月 2025 16:48:35 +0800 Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override --- north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java | 210 ++++++++++++++++++++++++++++++++++++++++++++++++---- 1 files changed, 194 insertions(+), 16 deletions(-) diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java index b78390d..8bf6888 100644 --- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java +++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReplenishService.java @@ -4,11 +4,17 @@ import com.alibaba.fastjson.JSONObject; import com.baomidou.dynamic.datasource.annotation.DS; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.example.erp.dto.pp.PatchLogAddDTO; +import com.example.erp.dto.pp.PatchLogDTO; +import com.example.erp.entity.pp.FlowCard; import com.example.erp.entity.pp.PatchLog; import com.example.erp.entity.pp.ReportingWork; +import com.example.erp.entity.userInfo.Log; import com.example.erp.entity.userInfo.SysError; +import com.example.erp.mapper.pp.FlowCardMapper; import com.example.erp.mapper.pp.PatchLogMapper; import com.example.erp.mapper.pp.ReportingWorkMapper; +import com.example.erp.service.userInfo.LogService; import com.example.erp.service.userInfo.SysErrorService; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -32,20 +38,27 @@ final ReportingWorkMapper reportingWorkMapper; - public ReplenishService(PatchLogMapper patchMapper, SysErrorService sysErrorService, ReportingWorkMapper reportingWorkMapper) { + final + FlowCardMapper flowCardMapper; + + final LogService logService; + + public ReplenishService(PatchLogMapper patchMapper, SysErrorService sysErrorService, ReportingWorkMapper reportingWorkMapper,FlowCardMapper flowCardMapper,LogService logService) { this.patchMapper = patchMapper; this.sysErrorService = sysErrorService; this.reportingWorkMapper = reportingWorkMapper; + this.flowCardMapper = flowCardMapper; + this.logService = logService; } - public List<Map<String, Object>> getSelectReplenish(Integer pageNum, Integer pageSize) { + public List<PatchLogAddDTO> getSelectReplenish(Integer pageNum, Integer pageSize,PatchLogAddDTO patchLogAddDTO) { Integer offset = (pageNum - 1) * pageSize; - return patchMapper.getSelectReplenish(offset,pageSize); + return patchMapper.getSelectReplenish(offset,pageSize,patchLogAddDTO); } - public Map<String, Object> SelectReplenish(Integer pageNum, Integer pageSize,List<String> selectDate,PatchLog patchLog) { + public Map<String, Object> SelectReplenish(Integer pageNum, Integer pageSize, List<String> selectDate, PatchLogDTO patchLogDTO) { Integer offset = (pageNum-1)*pageSize; String endDate = LocalDate.now().toString(); String startDate = LocalDate.now().minusDays(15).toString(); @@ -58,8 +71,8 @@ } } Map<String,Object> map = new HashMap<>(); - map.put("data",patchMapper.SelectReplenish(offset,pageSize,startDate,endDate,patchLog)); - map.put("total",patchMapper.SelectReplenishPageTotal(offset,pageSize,startDate,endDate,patchLog)); + map.put("data",patchMapper.SelectReplenish(offset,pageSize,startDate,endDate,patchLogDTO)); + map.put("total",patchMapper.SelectReplenishPageTotal(offset,pageSize,startDate,endDate,patchLogDTO)); List<String> list = new ArrayList<>(); list.add(startDate); @@ -88,6 +101,7 @@ //娣诲姞杩斿伐璁板綍锛屼慨鏀规鐮存槑缁嗘暟閲� patchMapper.insertReplenish(patchLog,oddNumber); patchMapper.updateDamageDetails(patchLog); + patchMapper.updateReportingWorkDetail(patchLog.getReportingWorkId(), Integer.valueOf(patchLog.getOrderSort()),patchLog.getTechnologyNumber()); } } @@ -101,6 +115,14 @@ saveState = false; } + + //淇濆瓨鏃ュ織 + Log log = new Log(); + log.setContent(object.toString()); + log.setFunction("saveReplenish琛ョ墖鏂板"); + log.setOperatorId((String) object.get("userId")); + log.setOperator((String) object.get("userName")); + logService.saveLog(log); return saveState; @@ -122,12 +144,25 @@ List<PatchLog> patchLoglist = JSONArray.parseArray(JSONObject.toJSONString(object.get("patchLog")), PatchLog.class); if (!patchLoglist.isEmpty()){ for (PatchLog patchLog : patchLoglist) { - //瀹℃牳 - patchMapper.updateReplenish(patchLog,userName); - ReportingWork reportingWork = reportingWorkMapper - .selectOne(new QueryWrapper<ReportingWork>().eq("reporting_work_id",patchLog.getReportingWorkId())); - //淇敼灏忕墖娴佺▼鍗℃暟閲� - patchMapper.updateOrderProcessDetail(patchLog,reportingWork); + PatchLog patchLog1=patchMapper.selectOne(new QueryWrapper<PatchLog>().eq("id",patchLog.getId())); + //鍒ゆ柇鏄惁宸茬粡瀹℃牳 + if(patchLog1.getReviewStatus()==0){ + ReportingWork reportingWork = reportingWorkMapper + .selectOne(new QueryWrapper<ReportingWork>().eq("reporting_work_id",patchLog.getReportingWorkId())); + //淇敼灏忕墖娴佺▼鍗℃暟閲� + patchMapper.updateOrderProcessDetail(patchLog,reportingWork); + //瀹℃牳 + patchMapper.updateReplenish(patchLog,userName); + }else{ + saveState = false; + } + + Log log = new Log(); + log.setContent(object.toString()); + log.setFunction("updateReplenish琛ョ墖瀹℃牳"); + log.setOperatorId((String) object.get("userId")); + log.setOperator((String) object.get("userName")); + logService.saveLog(log); } } @@ -136,7 +171,7 @@ //灏嗗紓甯镐紶鍏ユ暟鎹簱 SysError sysError = new SysError(); sysError.setError(e.toString()); - sysError.setFunc("saveOrder"); + sysError.setFunc("updateReplenish"); sysErrorService.insert(sysError); saveState = false; @@ -152,10 +187,15 @@ if(Objects.equals(type, "琛ョ墖")){ alias="BP"; } - //鏌ヨ褰撳ぉ鐨勬渶澶ф暟閲� - Integer maximum=patchMapper.getMaximum(); + //鏌ヨ褰撳ぉ鏈�鏂扮殑缂栧彿 + String str=patchMapper.getMaximum(); + if (str == null){ + str="00"; + } + String maximum = str.substring(str.length() - 2); + int lastTwoInteger = Integer.parseInt(maximum); //璁剧疆涓や綅涓嶅琛�0 - String formattedNumber = String.format("%02d", maximum+1); + String formattedNumber = String.format("%02d", lastTwoInteger+1); //鏍煎紡鍖栧綋鍓嶆棩鏈� Date currentDate = new Date(); SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); @@ -164,8 +204,146 @@ return oddNumbers; } + public Object selectPrintSv(java.sql.Date selectTime1, java.sql.Date selectTime2, FlowCard flowCard) { + Map<String, Object> map = new HashMap<>(); + map.put("data", flowCardMapper.selectReplenishPrintMp(selectTime1,selectTime2,flowCard)); + map.put("type", flowCardMapper.selectType()); + return map; + } + + public Map<String, Object> getSelectPrintCustomLabelSv(String type, Integer lableType, Map<String, Object> object) { + Map<String, Object> map = new HashMap<>(); + List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//鏈�缁堢粨鏋� + List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class); + if (!flowCardList.isEmpty()) { + for (FlowCard flowCard : flowCardList) { + if (lableType != 2){//鎴愬搧鏍囩 + Map<String, Object> itemmap = new HashMap<>(); + itemmap.put("data", flowCardMapper.getRepairPrintCustomData(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getReportingWorkId(),flowCard.getOrderNumber())); + list.add(itemmap); + } + else{//灏忕墖鏍囩 + Map<String, Object> itemmap = new HashMap<>(); + itemmap.put("data", flowCardMapper.getRepairPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getReportingWorkId(),flowCard.getOrderNumber())); + list.add(itemmap); + } + } + } + map.put("data", list); + map.put("title", flowCardMapper.getPrintTitle(type)); + return map; + } + + public Boolean deleteReplenishSv(Map<String, Object> object) { + boolean saveState = true; + Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); + try { + String userName = ""; + String userId = ""; + if (object.get("userName") != null) { + userName = object.get("userName").toString(); + } + if (object.get("userId") != null) { + userId = object.get("userId").toString(); + } + //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼 + List<PatchLog> patchLoglist = JSONArray.parseArray(JSONObject.toJSONString(object.get("patchLog")), PatchLog.class); + if (!patchLoglist.isEmpty()){ + for (PatchLog patchLog : patchLoglist) { + PatchLog patchLog1=patchMapper.selectOne(new QueryWrapper<PatchLog>().eq("id",patchLog.getId())); + //鍒ゆ柇鏄惁宸茬粡瀹℃牳 + if(patchLog1.getReviewStatus()==0){ + //鍒犻櫎琛ョ墖琛ㄥ搴旇ˉ鐗噄d鏁版嵁 + patchMapper.deleteReplenishMp(patchLog1.getId()); + //鍒犻櫎娆$牬鏄庣粏琛� + patchMapper.updatePatchDdMp(patchLog1.getReportingWorkId(),patchLog1.getOrderSort(),patchLog1.getTechnologyNumber(),patchLog1.getPatchNum(),patchLog1.getPatchReason()); + //淇敼鎶ュ伐鏄庣粏琛ㄧ姸鎬� + patchMapper.updatePatchBgMp(patchLog1.getReportingWorkId(),patchLog1.getOrderSort(),patchLog1.getTechnologyNumber()); + //淇敼鎶ュ伐涓昏〃娆$牬鏁伴噺 + reportingWorkMapper.updateRWPatchNum(patchLog1.getReportingWorkId(),patchLog1.getPatchNum()); + //淇敼鎶ュ伐鍓〃娆$牬鏁伴噺 + reportingWorkMapper.updateRWDPatchNum(patchLog1.getReportingWorkId(),patchLog1.getOrderSort(),patchLog1.getTechnologyNumber(),patchLog1.getPatchNum()); + //鏇存柊鎶ュ伐娴佺▼琛ㄦ暟鎹� + reportingWorkMapper.updateReplenishWorkProcess(patchLog1.getProcessId(),patchLog1.getOrderSort(),patchLog1.getTechnologyNumber(),patchLog1.getPatchNum(),patchLog1.getPatchProcesses()); + } + else{ + saveState = false; + } + } + } + + } catch (Exception e) { + TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); + //灏嗗紓甯镐紶鍏ユ暟鎹簱 + SysError sysError = new SysError(); + sysError.setError(e.toString()); + sysError.setFunc("deleteReplenishSv"); + sysErrorService.insert(sysError); + saveState = false; + + } + + return saveState; + } + + public Boolean updateCancelReviewSv(Map<String, Object> object) { + boolean saveState = true; + Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); + //try { + String userName = ""; + String userId = ""; + if (object.get("userName") != null) { + userName = object.get("userName").toString(); + } + if (object.get("userId") != null) { + userId = object.get("userId").toString(); + } + //鑾峰彇瀵硅薄闆嗗悎寰幆杩涜鏂板淇敼 + List<PatchLog> patchLoglist = JSONArray.parseArray(JSONObject.toJSONString(object.get("patchLog")), PatchLog.class); + if (!patchLoglist.isEmpty()){ + for (PatchLog patchLog : patchLoglist) { + //鏌ヨ鏄惁宸茬敓鎴愬伐绋嬪彿 + Integer projectCount = patchMapper.selectProjectCount(patchLog.getProcessId(),patchLog.getPatchId(),patchLog.getTechnologyNumber()); + //鏌ヨ娴佺▼鍗″伐鑹烘祦绋� + String technologicalProcess = reportingWorkMapper.SelectTechnologicalProcess(patchLog.getProcessId(), String.valueOf(patchLog.getTechnologyNumber())); + if (projectCount == 0){ + if (technologicalProcess!=null || !technologicalProcess.equals("")) { + String[] processList = technologicalProcess.split("->"); + //鑾峰彇宸ヨ壓娴佺▼绗竴涓伐搴� + String interceptProcess = processList[0]; + Integer firstStep=reportingWorkMapper.getFirstStep(patchLog.getProcessId(),patchLog.getOrderSort(),patchLog.getTechnologyNumber(),interceptProcess); + if (firstStep>=patchLog.getPatchNum()){ + ReportingWork reportingWork = reportingWorkMapper + .selectOne(new QueryWrapper<ReportingWork>().eq("reporting_work_id",patchLog.getReportingWorkId())); + //淇敼灏忕墖娴佺▼鍗℃暟閲� + patchMapper.updateOrderProcessDetailCancel(patchLog,reportingWork); + //瀹℃牳 + patchMapper.updateReplenishCancel(patchLog); + } + else { + saveState = false; + } + }else{ + saveState = false; + } + + Log log = new Log(); + log.setContent(object.toString()); + log.setFunction("updateCancelReviewSv琛ョ墖鍙嶅"); + log.setOperatorId((String) object.get("userId")); + log.setOperator((String) object.get("userName")); + logService.saveLog(log); + } else { + saveState = false; + } + + } + } + + return saveState; + } } -- Gitblit v1.8.0