From a99c1f36e52c75e0020127c62d39c1eddae4a036 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期一, 28 七月 2025 17:07:54 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportingWorkService.java | 117 +++++++++++++++++++++++++++++++++++++++++++++++++++-------
1 files changed, 103 insertions(+), 14 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 1eb8bb5..0bb3950 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
@@ -10,6 +10,7 @@
import com.example.erp.common.Constants;
import com.example.erp.dto.pp.OrderNumberTransferDTO;
import com.example.erp.entity.pp.*;
+import com.example.erp.entity.sd.BasicData;
import com.example.erp.entity.sd.Order;
import com.example.erp.entity.sd.OrderDetail;
import com.example.erp.entity.sd.OrderProcessDetail;
@@ -19,11 +20,9 @@
import com.example.erp.mapper.mm.FinishedOperateLogMapper;
import com.example.erp.mapper.pp.*;
import com.baomidou.dynamic.datasource.annotation.DS;
-import com.example.erp.mapper.sd.OrderDetailMapper;
-import com.example.erp.mapper.sd.OrderGlassDetailMapper;
-import com.example.erp.mapper.sd.OrderMapper;
-import com.example.erp.mapper.sd.OrderProcessDetailMapper;
+import com.example.erp.mapper.sd.*;
import com.example.erp.mapper.userInfo.LogMapper;
+import com.example.erp.service.mm.FinishedGoodsInventoryService;
import com.example.erp.service.sd.OrderProcessDetailService;
import com.example.erp.service.userInfo.LogService;
import com.example.erp.service.userInfo.SysErrorService;
@@ -41,6 +40,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
@@ -69,6 +70,8 @@
private final RestTemplate restTemplate;
private final PatchLogMapper patchLogMapper;
private final ReworkMapper reworkMapper;
+ private final BasicDataMapper basicDataMapper;
+ private final FinishedGoodsInventoryService finishedGoodsInventoryService;
/*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) {
@@ -216,6 +219,8 @@
public Map<String, Object> SelectProcessSv(String userId) {
Map<String, Object> map = new HashMap<>();
String process = reportingWorkMapper.selectUserProcess(userId);
+ //宸ュ簭鍒楄〃
+ List<Map<String, Object>> processNameList = flowCardMapper.getProcessNameList();
if (process==null) {
map.put("process", reportingWorkMapper.SelectProcessMp());
}
@@ -228,7 +233,7 @@
map.put("process",reportingWorkMapper.getSelectProcessDuoqu() );
}
}
-
+ map.put("processNameList", processNameList);
return map;
}
@@ -249,6 +254,8 @@
reportingWork.setReportingWorkId(reportingWorkId);
String[] processIdStr = reportingWork.getProcessId().split("/");
reportingWork.setProcessId(processIdStr[0]);
+ reportingWork.setThisWornQuantity(0);
+ reportingWork.setThisCompletedQuantity(0);
int reviewState = (int) reportingWorkJson.get("type");
if (reviewState == 1) {//瀹℃牳閫氳繃
@@ -264,15 +271,23 @@
//鏄惁绾胯ˉ 1鐜拌ˉ 0鏈幇琛�
int isPatch = (reportingWorkJson.get("isPatch") != null) ? (int) reportingWorkJson.get("isPatch") : 0;
- reportingWork.setNextProcess(orderProcessDetailMapper.selectNextProcess(processIdStr[0],processIdStr[1],reportingWork.getThisProcess()));
//涓昏〃鎻掑叆
reportingWorkMapper.insert(reportingWork);
//鍓〃寰幆鎻掑叆锛屽苟涓旀彃鍏ユ鐮翠俊鎭〃銆傚啀鏍规嵁娆$牬淇℃伅淇敼璁㈠崟鐜荤拑娴佺▼琛ㄧ殑瀹屽伐鏁伴噺涓庡埡鐮存暟閲�
+ final Integer[] maxTechnologyNumber = {0,0};
reportingWorkDetails.forEach(reportingWorkDetail -> {
-
+ //鍚堢墖鏁伴噺姹囨�诲噺灏�
+ if(Integer.parseInt(reportingWorkDetail.getTechnologyNumber()) > maxTechnologyNumber[0]){
+ maxTechnologyNumber[0] = Integer.valueOf(reportingWorkDetail.getTechnologyNumber());
+ maxTechnologyNumber[1]+=1;
+ }
+ 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();
+ reportingWork.setNextProcess(orderProcessDetailMapper.selectNextProcess(processIdStr[0],processIdStr[1],reportingWork.getThisProcess(),reportingWorkDetail.getOrderNumber()));
+
//娆$牬鏄庣粏琛ㄦ彃鍏ユ暟鎹�
if (damageDetails != null && !damageDetails.isEmpty()) {
damageDetails.forEach(damageDetail -> {
@@ -361,7 +376,7 @@
}
//鏇存柊娴佺▼鍗¤〃鐨勬姤宸ユ暟閲�
- if (Objects.equals(reportingWork.getNextProcess(), "")|| Objects.equals(reportingWork.getNextProcess(), null)) {
+ if (reportingWork.getNextProcess() == null || reportingWork.getNextProcess().isEmpty()) {
LambdaUpdateWrapper<FlowCard> flowCardLambdaUpdateWrapper =
new LambdaUpdateWrapper<>();
flowCardLambdaUpdateWrapper
@@ -374,6 +389,13 @@
});
+ //鑾峰彇鎶ュ伐宸ュ簭鏄惁涓哄鍚堝伐绋�
+
+ reportingWork.setThisCompletedQuantity(reportingWork.getThisCompletedQuantity()/maxTechnologyNumber[1]);
+
+
+ reportingWorkMapper.update(reportingWork, new LambdaUpdateWrapper<ReportingWork>()
+ .eq(ReportingWork::getId, reportingWork.getId()));
//淇濆瓨鏃ュ織
Log log = new Log();
@@ -399,7 +421,7 @@
//鑾峰彇鎶ュ伐宸ュ簭鏄惁涓哄鍚堝伐绋�
String laminating = reportingWorkMapper.getProcessLaminating(thisProcess);
//鍚堢墖宸ュ簭
-if (laminating.equals("laminating")){
+if (laminating.indexOf("step")!=-1){
LambdaUpdateWrapper
<ReportingWork> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper
@@ -572,8 +594,8 @@
}
Map<String, Object> map = new HashMap<>();
map.put("data", reportingWorkMapper.selectReportingWorkMp(offset, pageSize, selectTime1, selectTime2, orderId, reportingWork));
- map.put("total", reportingWorkMapper.getPageTotal(offset, pageSize, selectTime1, selectTime2, orderId, reportingWork));
- map.put("footSum" ,reportingWorkMapper.getFootSum(selectTime1, selectTime2, orderId,reportingWork));
+ // map.put("total", reportingWorkMapper.getPageTotal(offset, pageSize, selectTime1, selectTime2, orderId, reportingWork));
+ map.put("total" ,reportingWorkMapper.getFootSum(offset, pageSize, selectTime1, selectTime2, orderId, reportingWork));
return map;
}
@@ -662,8 +684,6 @@
} else {
return false;
}
-
-
} else {
return false;
}
@@ -679,6 +699,12 @@
map.put("data", reportingWorkMapper.selectQualityTestingMp(offset, pageSize, selectTime1, selectTime2, state, processId, reportingWork));
map.put("total", reportingWorkMapper.getQualityPageTotal(offset, pageSize, selectTime1, selectTime2, state, processId, reportingWork));
+ return map;
+ }
+
+ public Map<String, Object> qualityReviewSearchSv() {
+ Map<String, Object> map = new HashMap<>();
+ map.put("data", reportingWorkMapper.qualityReviewSearchMp());
return map;
}
@@ -1137,4 +1163,67 @@
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<>();
+ BasicData basicData = basicDataMapper
+ .selectOne(new QueryWrapper<BasicData>()
+ .eq("basic_name", reportingWork.get("process"))
+ .last("limit 1")
+ );
+ result.put("data",orderProcessDetailMapper.selectShiftQuantitySv(creatorId, startDate, endDate,basicData==null?null:basicData.getNickname()));
+ 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;
+
+ }
+
+ public List<BasicDataProduce> selectEquipmentByProcessSv(String process) {
+ return reportingWorkMapper.SelectWorkBasicDeviceMp(process);
+ }
+
+ public String saveWorkStorage(Map<String, Object> object) {
+ //List<Map<String, Object>> flowCard = reportingWorkMapper.getStorageData();
+ //finishedGoodsInventoryService.addSelectWarehousing(object);
+ return null;
+ }}
--
Gitblit v1.8.0