From 9b9fdcb4711279a303cf8da9ce9e3ff30b1bf6e0 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期四, 20 三月 2025 16:45:06 +0800
Subject: [PATCH] Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
---
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java | 123 +++++++++++++++++++++++++++++++++++++++-
1 files changed, 118 insertions(+), 5 deletions(-)
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
index eba39bb..99549a2 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java
@@ -1,5 +1,6 @@
package com.example.erp.service.sd;
+import cn.dev33.satoken.stp.StpUtil;
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
@@ -15,6 +16,8 @@
import com.example.erp.entity.userInfo.Log;
import com.example.erp.entity.userInfo.SysError;
import com.example.erp.exception.ServiceException;
+import com.example.erp.mapper.pp.FlowCardMapper;
+import com.example.erp.mapper.pp.WorkOrderMapper;
import com.example.erp.mapper.sd.*;
import com.example.erp.service.userInfo.LogService;
import com.example.erp.service.userInfo.SysErrorService;
@@ -31,6 +34,8 @@
import java.util.*;
import java.util.stream.Collectors;
+import static org.apache.coyote.http11.Constants.a;
+
@Service
@DS("sd")
@Transactional(rollbackFor = Exception.class)
@@ -42,9 +47,11 @@
private final OrderOtherMoneyMapper orderOtherMoneyMapper;
private final ProductMapper productMapper;
private final LogService logService;
+ private final WorkOrderMapper workOrderMapper;
+ private final FlowCardMapper flowCardMapper;
private final OrderProcessDetailMapper orderProcessDetailMapper;
- public OrderService(OrderMapper orderMapper, OrderDetailMapper orderDetailMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, SysErrorService sysErrorService, OrderOtherMoneyMapper orderOtherMoneyMapper, ProductMapper productMapper, LogService logService) {
+ public OrderService(OrderMapper orderMapper, OrderDetailMapper orderDetailMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, SysErrorService sysErrorService, OrderOtherMoneyMapper orderOtherMoneyMapper, ProductMapper productMapper, LogService logService, WorkOrderMapper workOrderMapper, FlowCardMapper flowCardMapper) {
this.orderMapper = orderMapper;
this.orderDetailMapper = orderDetailMapper;
this.orderGlassDetailMapper = orderGlassDetailMapper;
@@ -53,6 +60,8 @@
this.orderOtherMoneyMapper = orderOtherMoneyMapper;
this.productMapper = productMapper;
this.logService = logService;
+ this.workOrderMapper = workOrderMapper;
+ this.flowCardMapper = flowCardMapper;
}
public boolean saveOrder(Map<String,Object> orderMap) throws Exception {
@@ -114,7 +123,15 @@
log.setFunction("saveOrderTitle淇濆瓨琛ㄥご:"+order.getOrderId());
Order order1 = orderMapper.selectOrderId(order.getOrderId());
+ //浣跨敤璁㈠崟鍘熸湰鐨勭姸鎬佸拰璁$畻鏂瑰紡
order.setCalculateType(order1.getCalculateType());
+ order.setCreateOrder(order1.getCreateOrder());
+ order.setProcessReview(order1.getProcessReview());
+ order.setOrderReview(order1.getOrderReview());
+ order.setProductionOrder(order1.getProductionOrder());
+ order.setProcessingCard(order1.getProcessingCard());
+ order.setWarehousing(order1.getWarehousing());
+ order.setDelivery(order1.getDelivery());
LambdaUpdateWrapper<Order> updateWrapper = new LambdaUpdateWrapper<>();
updateWrapper.eq(Order::getOrderId, order.getOrderId());
@@ -165,7 +182,7 @@
private String getOrderId(String dateType){
String orderId = null;
- if(dateType.equals("day")){
+ if(dateType==null || dateType.equals("day")){
Integer maxOrderId = orderMapper.selectMaxOrderId();
//鏌ヨ璁㈠崟id锛屽苟涓旇嚜澧�
String formattedNumber = String.format("%02d", maxOrderId+1);
@@ -316,7 +333,7 @@
}
//鏌ヨ鑾峰彇鍒楄〃
- public Map<String,Object> getOrderList(Integer pageNum, Integer pageSize, List<String> selectDate, Order order,Integer orderType) {
+ public Map<String,Object> getOrderList(Integer pageNum, Integer pageSize, List<String> selectDate, Map<String,Object> config,Integer orderType) {
Integer offset = (pageNum-1)*pageSize;
String endDate = LocalDate.now().toString();
String startDate = LocalDate.now().minusDays(15).toString();
@@ -328,9 +345,14 @@
endDate = selectDate.get(1);
}
}
+ JSONObject orderJson = new JSONObject(config);
+ Order order = JSONObject.parseObject(JSONObject.toJSONString(orderJson.get("filter")), Order.class);
+ Map<String,String> sortDate = (Map<String, String>) config.get("sort");
+ String field = sortDate.get("field").replaceAll("(?<!^)([A-Z])", "_$1").toLowerCase();
+ String orderBy = sortDate.get("order");
Map<String,Object> map = new HashMap<>();
- map.put("data",orderMapper.getOrderList(offset, pageSize, startDate, endDate, order,orderType));
+ map.put("data",orderMapper.getOrderList(offset, pageSize, startDate, endDate, order,orderType, field, orderBy));
map.put("total",orderMapper.getPageTotal(offset, pageSize, startDate, endDate, order,orderType));
List<String> list = new ArrayList<>();
list.add(startDate);
@@ -600,6 +622,19 @@
orderProductDetailMap.put("productId",map.get("productId"));
orderProductDetailMap.put("productName",map.get("productName"));
List<OrderDetail> orderDetails = orderDetailMapper.getOrderProductByProductId(map.get("productId"),orderId);
+ orderDetails.forEach(orderDetail->{
+
+ List<OrderGlassDetail> orderGlassDetails =
+ orderGlassDetailMapper.selectList(
+ new QueryWrapper<OrderGlassDetail>().
+ eq("order_id",orderId).
+ eq("order_number",orderDetail.getOrderNumber())
+ );
+ Integer differentSize = orderGlassDetailMapper.getDifferentSizeNumber(orderId,orderDetail.getOrderNumber());
+ orderDetail.setDifferentSize(differentSize);
+ orderDetail.setOrderGlassDetails(orderGlassDetails);
+ });
+
orderProductDetailMap.put("productDetail",orderDetails);
orderProductDetail.add(orderProductDetailMap);
});
@@ -618,13 +653,24 @@
}else{
orderProductDistinct = orderDetailMapper.getOrderProductDistinctById(orderId);
}
-
List<Map<String,Object>> orderProductDetail = new ArrayList<>();
orderProductDistinct.forEach(map->{
Map<String,Object> orderProductDetailMap = new HashMap<>();
orderProductDetailMap.put("productId",map.get("productId"));
orderProductDetailMap.put("productName",map.get("productName"));
List<OrderDetail> orderDetails = orderDetailMapper.getOrderProductByProductId(map.get("productId"),orderId);
+ orderDetails.forEach(orderDetail->{
+
+ List<OrderGlassDetail> orderGlassDetails =
+ orderGlassDetailMapper.selectList(
+ new QueryWrapper<OrderGlassDetail>().
+ eq("order_id",orderId).
+ eq("order_number",orderDetail.getOrderNumber())
+ );
+ Integer differentSize = orderGlassDetailMapper.getDifferentSizeNumber(orderId,orderDetail.getOrderNumber());
+ orderDetail.setDifferentSize(differentSize);
+ orderDetail.setOrderGlassDetails(orderGlassDetails);
+ });
orderProductDetailMap.put("productDetail",orderDetails);
@@ -797,4 +843,71 @@
}
return saveState;
}
+
+ public Boolean selectDifferentSize(String orderId) {
+ return !orderMapper.selectDifferentSize(orderId).isEmpty();
+ }
+
+ public Object processBack(String orderId,Integer status) {
+ //鍒ゆ柇鏄惁杞紭鍖�
+ if(flowCardMapper.flowCardToOptimizeCount(orderId)>0){
+ return "false1";
+ }
+ //鍒ゆ柇鏄惁鏈夋姤宸�
+ if(flowCardMapper.reportingWorkCountByOrderId(orderId)>0){
+ return "false2";
+ }
+ //鍒ゆ柇鏄惁鏈夊簱瀛�
+ if(orderMapper.searchOrderWarehousing(orderId)>0){
+ return "false3";
+ }
+ //閫�鍥炲埌鐢熶骇鍔犲伐鍗�
+ if(status<5){
+ //鏇存柊灏忕墖鏄庣粏琛ㄥ垎鏋剁姸鎬�
+ flowCardMapper.updateDeleteState(orderId,"all");
+ //鍒犻櫎姝よ鍗曞皬鐗囨祦绋嬫姤宸ユ槑缁�
+ flowCardMapper.deleteReportingWorkByOrderId(orderId);
+ //鍒犻櫎娴佺▼鍗�
+ flowCardMapper.deleteFlowCardMp(orderId,"all");
+ //鍒犻櫎娴佺▼鍗℃帓搴�
+ flowCardMapper.deleteflowCardSortByOrderId(orderId);
+ flowCardMapper.updateProcessingCard(orderId, 0);
+ }
+ //閫�鍥炲埌璁㈠崟瀹℃牳鍚�
+ if(status<4){
+ workOrderMapper.deleteOrderWorkMp(orderId, null);
+ workOrderMapper.updateWorkType(orderId, 0);
+ }
+ //閫�鍥炲埌宸ヨ壓瀹℃牳鍚�
+ if(status<3){
+ orderMapper.backReviewOrderById(orderId);
+ }
+ //閫�鍥炲埌涓嬪崟鍚�
+ if(status<2){
+ orderMapper.reviewProcessById(orderId,0);
+ }
+ //鏃ュ織浼犲叆
+ Log log = new Log();
+ log.setOperator((String) StpUtil.getLoginId());
+ log.setOperatorId((String) StpUtil.getLoginId());
+ log.setContent(String.valueOf(status));
+ log.setFunction("updateOrderMoney閲戦閲嶇疆:"+orderId);
+ return true;
+ }
+
+ public Object scannerGlassInfo(String projectNo) {
+ try{
+ String projectId = "P" + projectNo.substring(0,8);
+ //鐐夊彿
+ Integer heatNo = Integer.valueOf(projectNo.substring(8,11));
+ //鐐夊唴搴忓彿
+ Integer sortNo = Integer.valueOf(projectNo.substring(11,14));
+ String processId = orderMapper.getProcessIdByOptimizeHeatDetail(projectId,heatNo,sortNo);
+ String orderId = flowCardMapper.getOrderIdByProcessId(processId);
+ return orderMapper.scannerGlassInfo(projectId,heatNo,sortNo,orderId);
+ }catch (Exception e){
+ return null;
+ }
+
+ }
}
--
Gitblit v1.8.0