From 5f865f37c01a284d71280565a9e4fd08493b212e Mon Sep 17 00:00:00 2001 From: 廖井涛 <2265517004@qq.com> Date: 星期三, 06 三月 2024 10:09:21 +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/ReportingWorkService.java | 84 ++++++++++++++++++++++++++++++++++++++--- 1 files changed, 77 insertions(+), 7 deletions(-) diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java index bf346f5..908e584 100644 --- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java +++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java @@ -1,23 +1,47 @@ package com.example.erp.service.pp; +import com.alibaba.fastjson.JSONArray; +import com.alibaba.fastjson.JSONObject; +import com.example.erp.entity.pp.DamageDetails; import com.example.erp.entity.pp.ReportingWork; +import com.example.erp.entity.pp.ReportingWorkDetail; +import com.example.erp.entity.sd.Order; +import com.example.erp.entity.sd.OrderDetail; import com.example.erp.entity.sd.OrderProcessDetail; import com.example.erp.mapper.pp.BasicDateProduceMapper; +import com.example.erp.mapper.pp.DamageDetailsMapper; +import com.example.erp.mapper.pp.ReportingWorkDetailMapper; import com.example.erp.mapper.pp.ReportingWorkMapper; import com.baomidou.dynamic.datasource.annotation.DS; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.HashMap; +import java.util.List; import java.util.Map; @Service @DS("pp") public class ReportingWorkService { - @Autowired + final ReportingWorkMapper reportingWorkMapper; - + final BasicDateProduceMapper basicDateProduceMapper; + final + DamageDetailsMapper damageDetailsMapper; + final + ReportingWorkDetailMapper + reportingWorkDetailMapper; + + + public ReportingWorkService(ReportingWorkMapper reportingWorkMapper, BasicDateProduceMapper basicDateProduceMapper, DamageDetailsMapper damageDetailsMapper, ReportingWorkDetailMapper reportingWorkDetailMapper) { + this.reportingWorkMapper = reportingWorkMapper; + this.basicDateProduceMapper = basicDateProduceMapper; + this.damageDetailsMapper = damageDetailsMapper; + this.reportingWorkDetailMapper = reportingWorkDetailMapper; + } public Map<String, Object> AddSelectLastWorkSv(String processIdStr, String technologyStr, String process) { Map<String, Object> map = new HashMap<>(); @@ -52,32 +76,31 @@ } //System.out.println("褰撳墠宸ュ簭锛�" + process + " 涓婁竴閬撳伐搴忥細" + previousProcess + " 涓嬩竴閬撳伐搴忥細" + nextProcess); //鏌ヨ褰撳墠宸ュ簭鐨勮〃澶存暟鎹� + System.out.println(reportingWorkMapper.AddSelectLastWorkMp(processIdStr, technologyStr,previousProcess,nextProcess,process)); map.put("data", reportingWorkMapper.AddSelectLastWorkMp(processIdStr, technologyStr,previousProcess,nextProcess,process)); map.put("thisProcess", processList); break; } } - //璁惧涓嬫媺妗� map.put("device", reportingWorkMapper.SelectWorkBasicDeviceMp(process)); //鐝粍涓嬫媺妗� map.put("teams", reportingWorkMapper.SelectWorkBasicTeamsMp(process)); + map.put("breakageType",reportingWorkMapper.selectBasicNameByType("breakagetype")); + map.put("breakageReason",reportingWorkMapper.selectBasicNameByType("breakagereason")); //鏌ヨ鏈伐搴忔姤宸ラ渶瑕佸摢鍑犲眰锛屼笂宸ュ簭鏄粈涔� String obtainTechnology = reportingWorkMapper.SelectWorkTechnologyMp(processIdStr); - //鍒ゆ柇鏈伐搴忔槸涓嶆槸绗竴閬撳伐搴� if (interceptProcess.equals(process)) { //鏄涓�閬撳伐搴忥紝鏌ヨ娴佺▼鍗℃暟鎹� map.put("Detail", reportingWorkMapper.SelectTechnologicalNumMp(processIdStr,technologyStr)); - } else { //涓嶆槸绗竴閬撳伐搴忥紝鏌ヨ鎶ュ伐鏁版嵁 - map.put("Detail", reportingWorkMapper.SelectReworlDetailMp(processIdStr,technologyStr,previousProcess)); } @@ -85,8 +108,18 @@ // 鍚庣画宸ュ簭锛堜笂宸ュ簭鎶ュ伐鏁�-瀹屽伐鏁�-娆$牬鏁�-杩斿伐鏈畬鎴愭暟锛� - return map; + //鑾峰彇璇ユ祦绋嬪崱鍙峰巻鍙叉姤宸ュ伐搴� + String historyProcess =reportingWorkMapper.historyProcessMp(processIdStr); + //鍘嗗彶鎶ュ伐宸ュ簭璁惧 + map.put("historyDevice",reportingWorkMapper.historyDeviceMp(historyProcess,process)); + //鍘嗗彶鎶ュ伐宸ュ簭鐝粍 + map.put("historyTeams",reportingWorkMapper.historyTeamsMp(processIdStr,process)); + //鍘嗗彶宸ュ簭 + map.put("historyProcess",reportingWorkMapper.SelectHistoryProcessMp(historyProcess,process)); + + + return map; } public Map<String, Object> SelectProcessSv() { @@ -94,4 +127,41 @@ map.put("process", reportingWorkMapper.SelectProcessMp()); return map; } + + public boolean SaveReportingWorkSv(Map<String, Object> reportingWorkMap) { + JSONObject reportingWorkJson = new JSONObject(reportingWorkMap); + ReportingWork reportingWork = JSONObject.parseObject(JSONObject.toJSONString(reportingWorkJson.get("title")), ReportingWork.class); + List<ReportingWorkDetail> reportingWorkDetails = JSONArray.parseArray(JSONObject.toJSONString(reportingWorkJson.get("detail")), ReportingWorkDetail.class); + //System.out.println(reportingWork); + String formattedNumber = String.format("%04d", reportingWorkMapper.selectMaxReportingWorkId()+1); + //鏍煎紡鍖栧綋鍓嶆棩鏈� + Date currentDate = new Date(); + SimpleDateFormat dateFormat = new SimpleDateFormat("yyMMdd"); + String formattedDate = dateFormat.format(currentDate); + String reportingWorkId = "BG"+formattedDate+formattedNumber; + reportingWork.setReportingWorkId(reportingWorkId); + reportingWork.setProcessId(reportingWork.getProcessId().substring(0,13)); + + reportingWorkMapper.insert(reportingWork); + + reportingWorkDetails.forEach(reportingWorkDetail -> { + reportingWorkDetail.setReportingWorkId(reportingWorkId); + List<DamageDetails> damageDetails = reportingWorkDetail.getDamageDetails(); + if(damageDetails!=null && !damageDetails.isEmpty()){ + damageDetails.forEach(damageDetail ->{ + damageDetail.setReportingWorkId(reportingWorkId); + damageDetail.setOrderNumber(reportingWorkDetail.getOrderNumber()); + damageDetail.setProcessId(reportingWork.getProcessId()); + damageDetail.setTechnologyNumber(reportingWorkDetail.getTechnologyNumber()); + damageDetailsMapper.insert(damageDetail); + }); + } + //System.out.println(reportingWorkDetail); + reportingWorkDetailMapper.insert(reportingWorkDetail); + }); + + + + return false; + } } -- Gitblit v1.8.0