From 24888c4b2ca2ffc49c4d94aefd6aea32d515b6dd Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期日, 20 四月 2025 14:17:24 +0800
Subject: [PATCH] 分架明细报表修改查询问题
---
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java | 223 +++++++++++++++++++++++++++++++++++++++++++++++--------
1 files changed, 189 insertions(+), 34 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 4d1ad8c..244e135 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
@@ -41,6 +41,8 @@
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.time.LocalDateTime;
+import java.time.LocalTime;
+import java.time.format.DateTimeFormatter;
import java.util.*;
@Service
@@ -67,6 +69,8 @@
private final SysErrorService sysErrorService;
private final FinishedOperateLogMapper finishedOperateLogMapper;
private final RestTemplate restTemplate;
+ private final PatchLogMapper patchLogMapper;
+ private final ReworkMapper reworkMapper;
/*public ReportingWorkService(ReportingWorkMapper reportingWorkMapper, BasicDateProduceMapper basicDateProduceMapper, DamageDetailsMapper damageDetailsMapper, ReportingWorkDetailMapper reportingWorkDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, OrderProcessDetailService orderProcessDetailService, OrderMapper orderMapper, FlowCardMapper flowCardMapper, LogService logService, LogMapper logMapper, OrderGlassDetailMapper orderGlassDetailMapper, SysErrorService sysErrorService, OrderDetailMapper orderDetailMapper, FinishedOperateLogMapper finishedOperateLogMapper, ReportingWorkTransferMapper reportingWorkTransferMapper) {
@@ -153,7 +157,7 @@
if (retrievedData!=null){
Integer reviewedState = retrievedData.getReviewedState();
//鏍规嵁瀹℃牳鐘舵�佹煡璇㈡湭瀹℃牳鏁版嵁
- if (reviewedState==1){//宸插鏍�
+ // if (reviewedState==1){//宸插鏍�
//涓嶆槸绗竴閬撳伐搴忥紝鏌ヨ鎶ュ伐鏁版嵁
List<Map<String,String>> details = reportingWorkMapper.SelectReworlDetailMp(processIdStr, technologyStr, process,previousProcess,laminating);
if(process.equals("涓┖")){
@@ -171,24 +175,24 @@
});
}
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 );
- }
+// }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 );
+// }
}
}
@@ -204,6 +208,8 @@
map.put("historyTeams", reportingWorkMapper.historyTeamsMp(processIdStr, process));
//鍘嗗彶宸ュ簭
map.put("historyProcess", reportingWorkMapper.SelectHistoryProcessMp(historyProcess, process));
+ //鏄惁鍚堢墖宸ュ簭
+ map.put("laminating", laminating);
}
return map;
}
@@ -265,7 +271,8 @@
reportingWorkMapper.insert(reportingWork);
//鍓〃寰幆鎻掑叆锛屽苟涓旀彃鍏ユ鐮翠俊鎭〃銆傚啀鏍规嵁娆$牬淇℃伅淇敼璁㈠崟鐜荤拑娴佺▼琛ㄧ殑瀹屽伐鏁伴噺涓庡埡鐮存暟閲�
reportingWorkDetails.forEach(reportingWorkDetail -> {
-
+ reportingWork.setThisCompletedQuantity(reportingWork.getThisCompletedQuantity() + reportingWorkDetail.getCompletedQuantity());
+ reportingWork.setThisWornQuantity(reportingWork.getThisWornQuantity() + reportingWorkDetail.getBreakageQuantity());
int qualityInsStatus = (int) reportingWorkJson.get("qualityInsStatus");
reportingWorkDetail.setReportingWorkId(reportingWorkId);
List<DamageDetails> damageDetails = reportingWorkDetail.getDamageDetails();
@@ -370,6 +377,8 @@
});
+ reportingWorkMapper.update(reportingWork, new LambdaUpdateWrapper<ReportingWork>()
+ .eq(ReportingWork::getId, reportingWork.getId()));
//淇濆瓨鏃ュ織
Log log = new Log();
@@ -658,8 +667,6 @@
} else {
return false;
}
-
-
} else {
return false;
}
@@ -842,12 +849,24 @@
@Transactional(rollbackFor = Exception.class)
public Object reportingWorkTransferSv(Map<String, String> reportingWork) {
+ Map<String, Object> result = new HashMap<>();
+
Order oldOrder = orderMapper.selectOrderId(reportingWork.get("oldOrderId"));
OrderDetail oldOrderDetail = orderDetailMapper.selectOne(
new QueryWrapper<OrderDetail>()
.eq("order_id", reportingWork.get("oldOrderId"))
.eq("order_number", reportingWork.get("oldOrderNumber"))
);
+ if(oldOrder == null){
+ result.put("msg","鏃ц鍗曚笉瀛樺湪");
+ result.put("data",false);
+ return result;
+ }
+ if(oldOrderDetail == null){
+ result.put("msg","鏃ц鍗曟搴忓彿涓嶅瓨鍦�");
+ result.put("data",false);
+ return result;
+ }
Order newOrder = orderMapper.selectOrderId(reportingWork.get("newOrderId"));
OrderDetail newOrderDetail = orderDetailMapper.selectOne(
@@ -855,15 +874,37 @@
.eq("order_id", reportingWork.get("newOrderId"))
.eq("order_number", reportingWork.get("newOrderNumber"))
);
+ if (newOrder == null){
+ result.put("msg","鏂拌鍗曚笉瀛樺湪");
+ result.put("data",false);
+ return result;
+ }
+ if(newOrderDetail == null){
+ result.put("msg","鏂拌鍗曟搴忓彿涓嶅瓨鍦�");
+ result.put("data",false);
+ return result;
+ }
+ if(Objects.equals(oldOrder.getOrderId(), newOrder.getOrderId())){
+ result.put("msg","鏂版棫璁㈠崟鍙蜂竴鑷�");
+ result.put("data",false);
+ return result;
+ }
+
if(!Objects.equals(oldOrder.getCustomerId(), newOrder.getCustomerId())){
- return "鏂版棫璁㈠崟瀹㈡埛涓嶄竴鑷�";
+ result.put("msg","鏂版棫璁㈠崟瀹㈡埛涓嶄竴鑷�");
+ result.put("data",false);
+ return result;
}
if(!Objects.equals(oldOrderDetail.getProductId(), newOrderDetail.getProductId())){
- return "鏂版棫璁㈠崟浜у搧涓嶄竴鑷�";
+ result.put("msg","鏂版棫璁㈠崟浜у搧涓嶄竴鑷�");
+ result.put("data",false);
+ return result;
}
if (!Objects.equals(oldOrderDetail.getWidth(), newOrderDetail.getWidth())
|| !Objects.equals(oldOrderDetail.getHeight(), newOrderDetail.getHeight())){
- return "鏂版棫璁㈠崟灏哄涓嶄竴鑷�";
+ result.put("msg","鏂版棫璁㈠崟灏哄涓嶄竴鑷�");
+ result.put("data",false);
+ return result;
}
@@ -874,7 +915,9 @@
.eq("order_number", reportingWork.get("oldOrderNumber"))
);
if(oldOrderProcessDetailList.isEmpty()){
- return "鏃ц鍗曟湭鍒嗘祦绋嬪崱";
+ result.put("msg","鏃ц鍗曟湭鍒嗘祦绋嬪崱");
+ result.put("data",false);
+ return result;
}
//鑾峰彇鏂拌鍗曟槸鍚︽祦绋嬪崱鏄惁瀛樺湪
List<OrderProcessDetail> newOrderProcessDetailList = orderProcessDetailMapper
@@ -883,7 +926,9 @@
.eq("order_number", reportingWork.get("newOrderNumber"))
);
if(newOrderProcessDetailList.isEmpty()){
- return "鏂拌鍗曟湭鍒嗘祦绋嬪崱";
+ result.put("msg","鏂拌鍗曟湭鍒嗘祦绋嬪崱");
+ result.put("data",false);
+ return result;
}
//鏂拌鍗曟槸鍚﹀瓨鍦ㄥ凡缁忔帓鐗堝簭鍙�
List<FlowCard> newFlowCardLayoutStatus = flowCardMapper.selectList(new QueryWrapper<FlowCard>()
@@ -892,8 +937,21 @@
.gt("layout_status",0)
);
if(!newFlowCardLayoutStatus.isEmpty()){
- return "鏂拌鍗曟搴忓彿瀛樺湪鎺掔増";
+ result.put("msg","鏂拌鍗曟搴忓彿瀛樺湪鎺掔増");
+ result.put("data",false);
+ return result;
}
+ List<ReportingWorkTransfer> reportingWorkTransferList = reportingWorkTransferMapper
+ .selectList(new QueryWrapper<ReportingWorkTransfer>()
+ .eq("old_order", reportingWork.get("newOrderId"))
+ .eq("old_order_number", reportingWork.get("newOrderNumber"))
+ );
+ if(!reportingWorkTransferList.isEmpty()){
+ result.put("msg","鏂拌鍗曞簭鍙蜂箣鍓嶅凡杞嚭鎶ュ伐鏁版嵁锛屾棤娉曡繘琛岃浆鍏�");
+ result.put("data",false);
+ return result;
+ }
+
//鑾峰彇鏃ц鍗曟姤宸ユ暟鎹眹鎬�
List<OrderProcessDetail> oldOrderProcessDetailForReport = orderProcessDetailMapper
.selectList(new QueryWrapper<OrderProcessDetail>()
@@ -901,6 +959,51 @@
.eq("order_number", reportingWork.get("oldOrderNumber"))
.gt("reporting_work_num",0)
);
+
+ if (oldOrderProcessDetailForReport.isEmpty()){
+ result.put("msg","鏃ц鍗曟病鏈夊彲杞嚭鐨勬姤宸ユ暟鎹�");
+ result.put("data",false);
+ return result;
+ }
+ List<String> oldOrderProcessIdList = new ArrayList<>();
+ oldOrderProcessDetailList.forEach(oldOrderProcessDetail -> oldOrderProcessIdList.add(oldOrderProcessDetail.getProcessId()));
+
+ //鑾峰彇鏃ф暟鎹牬鎹熻〃鏄惁瀛樺湪鐮存崯
+ List<DamageDetails> damageDetails = damageDetailsMapper.selectList(
+ new QueryWrapper<DamageDetails>()
+ .in("process_id",oldOrderProcessIdList)
+ .eq("order_number", reportingWork.get("oldOrderNumber"))
+ .eq("quantity",0)
+ );
+ if(!damageDetails.isEmpty()){
+ result.put("msg","鏃ц鍗曞瓨鍦ㄦ姤宸ユ湭澶勭悊鐮存崯鏁版嵁");
+ result.put("data",false);
+ return result;
+ }
+ //鑾峰彇琛ョ墖琛ㄦ槸鍚﹀瓨鍦ㄨˉ鐗囨湭瀹℃牳鐘舵��
+ List<PatchLog> patchLogs = patchLogMapper.selectList(
+ new QueryWrapper<PatchLog>()
+ .eq("order_id", reportingWork.get("oldOrderId"))
+ .eq("order_sort", reportingWork.get("oldOrderNumber"))
+ .eq("review_status",0)
+ );
+ if (patchLogs.isEmpty()){
+ result.put("msg","鏃ц鍗曞瓨鍦ㄨˉ鐗囨湭瀹℃牳鏁版嵁");
+ result.put("data",false);
+ return result;
+ }
+ List<Rework> reworks = reworkMapper.selectList(
+ new QueryWrapper<Rework>()
+ .eq("order_id", reportingWork.get("oldOrderId"))
+ .eq("order_sort", reportingWork.get("oldOrderNumber"))
+ .eq("review_status",0)
+ );
+ if (patchLogs.isEmpty()){
+ result.put("msg","鏃ц鍗曞瓨鍦ㄨ繑宸ユ湭瀹℃牳鏁版嵁锛岃鍏堝鏍告姤宸ュ悗鍐嶈繘琛岃浆鍑�");
+ result.put("data",false);
+ return result;
+ }
+
Map<String,Object> log = new HashMap<>();
log.put("oldOrderBeforeChange",oldOrderProcessDetailForReport);
@@ -916,6 +1019,7 @@
reportingWorkMapper.update(null,new UpdateWrapper<ReportingWork>()
.set("reviewed_state",3)
.eq("process_id",oldOrderProcessDetail.getProcessId())
+ .gt("reviewed_state",0)
);
@@ -993,7 +1097,6 @@
orderNumberTransferList.add(orderNumberTransfer);
}
-
}
}
});
@@ -1021,17 +1124,69 @@
//restTemplate.postForObject("http://localhost:8086/order/test",orderNumberTransferList,String.class);
//鍚憁es鍙戦�乭ttp璇锋眰
- ResponseEntity<String> response =restTemplate.exchange(
+ ResponseEntity<OrderNumberTransferDTO> response =restTemplate.exchange(
"http://localhost:88/api/loadGlass/order/order/orderChange",
HttpMethod.POST,
new HttpEntity<>(orderNumberTransferList),
- String.class);
+ OrderNumberTransferDTO.class);
if(response.getStatusCode() == HttpStatus.OK){
- return true;
+ OrderNumberTransferDTO responseBody = response.getBody();
+ result.put("data",true);
}else{
- return "杩炴帴mes鍝嶅簲瓒呮椂";
+ result.put("msg","杩炴帴mes鍝嶅簲瓒呮椂");
+ result.put("data",false);
}
-
+ return result;
+
+ }
+
+ public Map<String, Object> selectShiftQuantitySv(Map<String, Object> reportingWork) {
+ String creatorId = (String) reportingWork.get("userId");
+ List<LocalDateTime> dateList = (List<LocalDateTime>) reportingWork.get("searchDate");
+ DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd HH:mm:ss");
+ String startDate = LocalDateTime.now().with(LocalTime.MIN).format(formatter);
+ String endDate = LocalDateTime.now().format(formatter);
+ if (dateList.get(0)!=null){
+ startDate = String.valueOf(dateList.get(0));
+ }
+ if (dateList.get(1)!=null){
+ endDate = String.valueOf(dateList.get(1));
+ }
+ List<String> date = new ArrayList<>();
+ date.add(startDate);
+ date.add(endDate);
+ Map<String, Object> result = new HashMap<>();
+ result.put("data",orderProcessDetailMapper.selectShiftQuantitySv(creatorId, startDate, endDate));
+ result.put("date",date);
+ return result;
+ }
+
+ public Map<String, Object> selectReportingWorkRecordByPhoneSv(Map<String,Object> reportingWork) {
+ List<LocalDateTime> dateList = (List<LocalDateTime>) reportingWork.get("searchDate");
+ String startDate = LocalDate.now().minusDays(14).toString();
+ String endDate = LocalDate.now().toString();
+ if (dateList.get(0)!=null){
+ startDate = String.valueOf(dateList.get(0));
+ }
+ if (dateList.get(1)!=null){
+ endDate = String.valueOf(dateList.get(1));
+ }
+ List<String> date = new ArrayList<>();
+ date.add(startDate);
+ date.add(endDate);
+ Map<String, Object> result = new HashMap<>();
+ result.put("data",reportingWorkMapper.selectList(
+ new QueryWrapper<ReportingWork>().nested(
+ reportingWork.get("process")!=null,
+ wrapper-> wrapper.eq("creator_id",reportingWork.get("userId"))//褰撳伐搴忎负绌烘椂锛屾煡璇㈡墍鏈夋姤宸ヤ俊鎭�
+ )
+ .gt("reviewed_state",-1)
+ .between("date(reporting_work_time)",startDate,endDate)
+ .orderByDesc("id")));
+ result.put("date",date);
+
+ return result;
+
}
}
--
Gitblit v1.8.0