From 94a4338bc10d9431dcd9c93dcc8b97d6c08f09b2 Mon Sep 17 00:00:00 2001 From: guoyuji <guoyujie@ng.com> Date: 星期三, 06 三月 2024 10:07:35 +0800 Subject: [PATCH] 添加报工程序 --- north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java | 71 +++++++++++++++++++++++++++++++++-- 1 files changed, 67 insertions(+), 4 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 ce97908..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,6 +76,7 @@ } //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; @@ -63,6 +88,8 @@ //鐝粍涓嬫媺妗� map.put("teams", reportingWorkMapper.SelectWorkBasicTeamsMp(process)); + map.put("breakageType",reportingWorkMapper.selectBasicNameByType("breakagetype")); + map.put("breakageReason",reportingWorkMapper.selectBasicNameByType("breakagereason")); //鏌ヨ鏈伐搴忔姤宸ラ渶瑕佸摢鍑犲眰锛屼笂宸ュ簭鏄粈涔� String obtainTechnology = reportingWorkMapper.SelectWorkTechnologyMp(processIdStr); @@ -83,11 +110,10 @@ //鑾峰彇璇ユ祦绋嬪崱鍙峰巻鍙叉姤宸ュ伐搴� String historyProcess =reportingWorkMapper.historyProcessMp(processIdStr); - //鍘嗗彶鎶ュ伐宸ュ簭璁惧 map.put("historyDevice",reportingWorkMapper.historyDeviceMp(historyProcess,process)); //鍘嗗彶鎶ュ伐宸ュ簭鐝粍 - map.put("historyTeams",reportingWorkMapper.historyTeamsMp(historyProcess,process)); + map.put("historyTeams",reportingWorkMapper.historyTeamsMp(processIdStr,process)); //鍘嗗彶宸ュ簭 map.put("historyProcess",reportingWorkMapper.SelectHistoryProcessMp(historyProcess,process)); @@ -101,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