From 57fc660acff85425c2b4f8dfdb7801068188dcf3 Mon Sep 17 00:00:00 2001
From: guoyujie <guoyujie@ng.com>
Date: 星期四, 25 十二月 2025 11:45:52 +0800
Subject: [PATCH] 提交报工上传mysql做数量限制
---
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java | 96 ++++++++++++++++++++++++++++++++++++++---------
1 files changed, 77 insertions(+), 19 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 3d57425..646858a 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
@@ -204,24 +204,7 @@
});
}
map.put("Detail",details );
-// }else {
-// //涓嶆槸绗竴閬撳伐搴忥紝鏌ヨ鎶ュ伐鏁版嵁
-// List<Map<String,String>> details = reportingWorkMapper.SelectReworlDetailMpReview(processIdStr, technologyStr, process,previousProcess,laminating);
-// if(process.equals("涓┖")){
-// String orderId = reportingWorkMapper.selectOrderid(processIdStr);
-// details.forEach( detail -> {
-// Integer glassId = orderGlassDetailMapper.
-// getMinIdByGroup(orderId,
-// String.valueOf(detail.get("order_number")),
-// String.valueOf(detail.get("group")));
-// int listGlassId = Integer.parseInt(String.valueOf(detail.get("glassId")));
-// if(listGlassId !=glassId){
-// detail.put("rowClass","latter");
-// }
-// });
-// }
-// map.put("Detail",details );
-// }
+
}
}
@@ -914,7 +897,7 @@
} catch (Exception e) {
e.printStackTrace();
- throw new RuntimeException("骞惰鏌ヨ鎶ュ伐璁板綍寮傚父锛�" + e.getMessage(), e);
+ throw new RuntimeException("鎶ュ伐鏌ヨ骞惰鏌ヨ鎶ュ伐璁板綍寮傚父锛�" + e.getMessage(), e);
}
return result;
@@ -1745,6 +1728,38 @@
JSONObject.toJSONString(stringRedisTemplate.opsForHash().entries(detailKey))
, ReportingWorkDetail.class
);
+
+ //鍒ゆ柇娴佺▼鍗℃槸鍚︽姤婊�
+ FlowCard flowCard = flowCardMapper.selectOne(new LambdaQueryWrapper<FlowCard>()
+ .eq(FlowCard::getProcessId, reportingWork.getProcessId())
+ .eq(FlowCard::getOrderNumber, reportingWorkDetail.getOrderNumber())
+ .eq(FlowCard::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber())
+ );
+ //鐢熶骇鏁伴噺= 娴佺▼鍗℃暟閲�-缁堟鏁伴噺
+ int flowCardReportingWorkNum = flowCard.getQuantity()-flowCard.getTerminationQuantity();
+ OrderProcessDetail orderProcessDetail = orderProcessDetailMapper
+ .selectOne(new LambdaQueryWrapper<OrderProcessDetail>()
+ .eq(OrderProcessDetail::getProcessId, reportingWork.getProcessId())
+ .eq(OrderProcessDetail::getOrderNumber, reportingWorkDetail.getOrderNumber())
+ .eq(OrderProcessDetail::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber())
+ .eq(OrderProcessDetail::getProcess, reportingWork.getThisProcess())
+ );
+ //鎶ュ伐鏁伴噺
+ int completedQuantity = reportingWorkDetail.getCompletedQuantity();
+ //宸叉姤鏁伴噺
+ int finishReportingWorkNum = orderProcessDetail.getReportingWorkNum();
+
+ //鑻ユ姤宸ユ暟閲�+宸叉姤鏁伴噺>娴佺▼鍗℃暟閲� 鍒欐姤宸ユ暟閲忎负娴佺▼鍗℃暟閲�-宸叉姤鏁伴噺
+ if((completedQuantity+finishReportingWorkNum)>flowCardReportingWorkNum){
+ completedQuantity = flowCardReportingWorkNum - finishReportingWorkNum;
+ reportingWorkDetail.setCompletedQuantity(completedQuantity);
+ //鑻ユ姤宸ユ暟閲忓皬浜�0 鍒欐姤宸ユ暟閲忎负0
+ if(completedQuantity<0){
+ reportingWorkDetail.setCompletedQuantity(0);
+ }
+ }
+
+
reportingWorkDetail.setReportingWorkId(reportingWorkId);
reportingWorkDetailMapper.insert(reportingWorkDetail);
@@ -1760,7 +1775,17 @@
orderProcessDetailMapper.update(null, updateWrapper);
});
+
+ //鑾峰彇瀹屽伐鏄庣粏鏁伴噺鎬诲拰
+ int num = reportingWorkDetailMapper.selectFinishQuantity(reportingWorkId);
+ reportingWorkMapper.update(null,
+ new LambdaUpdateWrapper<ReportingWork>()
+ .eq(ReportingWork::getReportingWorkId, reportingWorkId)
+ .setSql("this_completed_quantity = " + num)
+ );
+
}
+
});
}
@@ -1796,4 +1821,37 @@
return result;
}
+
+ @Transactional(rollbackFor = Exception.class)
+ public Result addWorkInProgress(Map<String, Object> object) {
+ List<Map<String,Object>> list = (List<Map<String,Object>>) object.get("reportingWorks");
+
+ list.forEach(item -> {
+ ReportingWork reportingWork = JSONObject.parseObject(
+ JSONObject.toJSONString(item.get("processTitle")), ReportingWork.class);
+ Map<String, String> mapTitle = new HashMap<>();
+ String[] processIdStr = reportingWork.getProcessId() != null
+ ? reportingWork.getProcessId().split("/")
+ : new String[]{""};
+ mapTitle.put("process", reportingWork.getPreviousProcess());
+ mapTitle.put("processId", reportingWork.getProcessId());
+ mapTitle.put("thisProcess", reportingWork.getThisProcess());
+ mapTitle.put("technologyStr", processIdStr[1]);
+ mapTitle.put("userName", object.get("userName").toString());
+ ReviewReportingWorkSv(mapTitle);
+
+
+ Map<String, Object> map = new HashMap<>();
+ map.put("detail", item.get("processList"));
+ map.put("title", item.get("processTitle"));
+ map.put("type", object.get("type"));
+ map.put("userId", object.get("userId"));
+ map.put("userName", object.get("userName"));
+ map.put("qualityInsStatus", object.get("qualityInsStatus"));
+ map.put("class", object.get("class"));
+ SaveReportingWorkSv(map);
+ });
+
+ return Result.success(true);
+ }
}
--
Gitblit v1.8.0