From ef5a518c3e2c1fe41aa60f56ca31ddafa0cb1561 Mon Sep 17 00:00:00 2001 From: guoyuji <guoyujie@ng.com> Date: 星期四, 23 五月 2024 08:32:36 +0800 Subject: [PATCH] 添加产品汇总报表 --- north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java | 32 ++++++++++++++++++++------------ 1 files changed, 20 insertions(+), 12 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 b47a180..7a351f4 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 @@ -68,10 +68,11 @@ //鏌ヨ娴佺▼鍗″伐鑹烘祦绋� String technologicalProcess = reportingWorkMapper.SelectTechnologicalProcess(processIdStr); - int index = technologicalProcess.indexOf("-"); - //鑾峰彇宸ヨ壓娴佺▼绗竴涓伐搴� - String interceptProcess = technologicalProcess.substring(0, index); + + String[] processList = technologicalProcess.split("->"); + //鑾峰彇宸ヨ壓娴佺▼绗竴涓伐搴� + String interceptProcess = processList[0]; int length = processList.length; //瀹氫箟褰撳墠宸ュ簭涓婁笅宸ュ簭 @@ -133,8 +134,6 @@ map.put("historyTeams", reportingWorkMapper.historyTeamsMp(processIdStr, process)); //鍘嗗彶宸ュ簭 map.put("historyProcess", reportingWorkMapper.SelectHistoryProcessMp(historyProcess, process)); - - return map; } @@ -160,7 +159,7 @@ String formattedDate = dateFormat.format(currentDate); String reportingWorkId = "BG" + formattedDate + formattedNumber; reportingWork.setReportingWorkId(reportingWorkId); - reportingWork.setProcessId(reportingWork.getProcessId().substring(0, 13)); + reportingWork.setProcessId(reportingWork.getProcessId().substring(0, 14)); int reviewState = (int) reportingWorkJson.get("type"); if (reviewState == 1) { @@ -243,7 +242,7 @@ //鏍规嵁璁㈠崟id锛岃鍗曞簭鍙凤紝浠ュ強灏忕墖搴忓彿 鏇存柊灏忕墖娴佺▼鐨勫畬宸ユ暟閲忎互鍙婂埡鐮存暟閲� LambdaUpdateWrapper<OrderProcessDetail> updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper.eq(OrderProcessDetail::getOrderNumber, reportingWorkDetail.getOrderNumber()) - .eq(OrderProcessDetail::getProcessId, reportingWork.getProcessId().substring(0, 13)) + .eq(OrderProcessDetail::getProcessId, reportingWork.getProcessId().substring(0, 14)) .eq(OrderProcessDetail::getOrderId, reportingWork.getOrderId()) .eq(OrderProcessDetail::getProcess, reportingWork.getThisProcess()) .eq(OrderProcessDetail::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber()) @@ -283,7 +282,7 @@ LambdaUpdateWrapper <ReportingWork> updateWrapper = new LambdaUpdateWrapper<>(); updateWrapper - .eq(ReportingWork::getProcessId, processId.substring(0, 13)) + .eq(ReportingWork::getProcessId, processId.substring(0, 14)) .eq(ReportingWork::getThisProcess, reportingWork.get("process")) .eq(ReportingWork::getReviewedState, 0) .setSql("reviewed_state =1"); @@ -357,6 +356,7 @@ 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); + //鍒犻櫎鍒虹牬鏄庣粏琛ㄥ埡鐮存暟鎹� damageDetailsMapper.delete( new LambdaQueryWrapper<DamageDetails>() @@ -372,6 +372,7 @@ //鏇寸粏鎶ュ伐涓昏〃 reportingWorkMapper.updateById(reportingWork); reportingWorkDetails.forEach(reportingWorkDetail -> { + reportingWorkDetail.setReportingWorkId(reportingWork.getReportingWorkId()); List<DamageDetails> damageDetails = reportingWorkDetail.getDamageDetails(); //姣忎竴鏉℃姤宸ユ暟鎹惊鐜彃鍏ユ鐮存槑缁嗚〃 if (damageDetails != null && !damageDetails.isEmpty()) { @@ -388,6 +389,14 @@ } //鎻掑叆鎶ュ伐鏁版嵁 reportingWorkDetailMapper.insert(reportingWorkDetail); + orderProcessDetailMapper.insertByReportingWorkDetail(reportingWorkDetail,reportingWork.getProcessId(),reportingWork.getThisProcess()); + //淇敼鍖呰鏃朵慨鏀瑰簱瀛樻暟閲� + if (reportingWork.getNextProcess()==null || reportingWork.getNextProcess().isEmpty()){ + //鑾峰彇璇ユ姤宸ヤ慨鏀瑰悗鐨勫彲鍏ュ簱鏁伴噺 + Integer inventory = reportingWorkDetailMapper.selectInventory(reportingWork.getProcessId(),Integer.parseInt(reportingWorkDetail.getOrderNumber()),Integer.parseInt(reportingWorkDetail.getTechnologyNumber())); + //淇敼娴佺▼鍗¤〃搴撳瓨鏁伴噺 + flowCardMapper.updateInventory(reportingWork.getProcessId(),reportingWorkDetail.getOrderNumber(),reportingWorkDetail.getTechnologyNumber(),inventory); + } }); //鑾峰彇璐ㄦ鏃堕棿 if (Objects.equals(reviewState, "review")) { @@ -398,14 +407,14 @@ } //淇敼灏忕墖娴佺▼琛ㄦ暟閲忎负鎶ュ伐鏄庣粏琛ㄦ暟閲� - orderProcessDetailMapper.updateQuantity(reportingWork.getReportingWorkId(), reportingWork.getThisProcess(), "add"); + //orderProcessDetailMapper.updateQuantity(reportingWork.getReportingWorkId(), reportingWork.getThisProcess(), "add"); return true; } //鎶ュ伐绠$悊鏌ヨ public Map<String, Object> selectReportingWorkSv(Integer pageNum, Integer pageSize, java.sql.Date selectTime1, java.sql.Date selectTime2, String orderId, ReportingWork reportingWork) { Integer offset = (pageNum - 1) * pageSize; - if (orderId.equals("null")) { + if ("null".equals(orderId)) { orderId = ""; } Map<String, Object> map = new HashMap<>(); @@ -442,7 +451,6 @@ //鏌ヨ褰撳墠鎶ュ伐缂栧彿瀹屽伐娆$牬鏁伴噺鐨勬暟鎹� List<Map<String, Object>> workDateList = reportingWorkMapper.reportingWorkDate(reportingWorkId); for (Map<String, Object> item : workDateList) { - //鏇存柊娴佺▼鍗″彲鍏ュ簱鏁伴噺 reportingWorkMapper.updateInventoryQuantity(processId, item.get("order_number"), item.get("technology_number"), item.get("completed_quantity")); //鏇存柊鎶ュ伐娴佺▼琛ㄦ暟鎹� @@ -481,7 +489,7 @@ //鏌ヨ璐ㄦ瀹℃牳 public Map<String, Object> selectQualityTestingSv(Integer pageNum, Integer pageSize, java.sql.Date selectTime1, java.sql.Date selectTime2, Integer state, String processId, ReportingWork reportingWork) { Integer offset = (pageNum - 1) * pageSize; - if (processId.equals("null")) { + if ("null".equals(processId)) { processId = ""; } Map<String, Object> map = new HashMap<>(); -- Gitblit v1.8.0