From 1e56bd5cc3be7f7957788f2606c7f56cb4d27f50 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期一, 01 十二月 2025 11:41:42 +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, 81 insertions(+), 42 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 b0a7bd5..1ce87df 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
@@ -21,12 +21,16 @@
import com.example.erp.mapper.sd.*;
import com.example.erp.service.userInfo.LogService;
import com.example.erp.service.userInfo.SysErrorService;
+import com.fasterxml.jackson.core.JsonProcessingException;
+import com.fasterxml.jackson.databind.ObjectMapper;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
import java.math.BigDecimal;
import java.math.RoundingMode;
+import java.sql.SQLOutput;
+import java.text.DecimalFormat;
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
@@ -81,13 +85,12 @@
log.setContent(orderMap.toString());
if(order.getOrderId() == null || order.getOrderId().isEmpty()){
- insertOrder(order,OrderDetails,orderOtherMoneyList,orderIdType);
+ insertOrder(order,OrderDetails,orderOtherMoneyList,orderIdType, (Map<String, String>) orderMap.get("position"));
log.setFunction("saveOrder鍒涘缓:"+order.getOrderId());
}else {
- updateOrder(order,OrderDetails,orderOtherMoneyList);
+ updateOrder(order,OrderDetails,orderOtherMoneyList,(Map<String, String>) orderMap.get("position"));
log.setFunction("saveOrder淇敼:"+order.getOrderId());
}
-
logService.saveLog(log);
}catch (Exception e){
TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint);
@@ -97,7 +100,6 @@
sysError.setFunc("saveOrder");
sysErrorService.insert(sysError);
saveState = false;
-
//throw new Exception();
}
return saveState;
@@ -106,7 +108,6 @@
public boolean saveOrderTitle(Map<String,Object> orderMap) throws Exception {
JSONObject orderJson = new JSONObject(orderMap);
Order order = JSONObject.parseObject(JSONObject.toJSONString(orderJson.get("title")), Order.class);
-
boolean saveState = true;
//璁剧疆鍥炴粴鐐�
Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint();
@@ -145,7 +146,6 @@
sysError.setFunc("saveOrder");
sysErrorService.insert(sysError);
saveState = false;
-
//throw new Exception();
}
return saveState;
@@ -165,15 +165,14 @@
return map;
}
//鐢熸垚璁㈠崟鏁版嵁
- public void insertOrder(Order order, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, String orderIdType) {
+ public void insertOrder(Order order, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, String orderIdType, Map<String,String> position) {
//鏍规嵁浼犲叆鐨勫綋鍓嶆湀浠芥垨鑰呭綋澶╃敓鎴愯鍗昳d
String orderId = getOrderId(orderIdType);
//寰�涓昏〃鎻掓暟鎹�
order.setOrderId(orderId);
order.setCreateOrder(2);
orderMapper.insert(order);
-
- insertOtherDetail(orderId,OrderDetails,orderOtherMoneyList);
+ insertOtherDetail(orderId,OrderDetails,orderOtherMoneyList,position);
}
private String getOrderId(String dateType){
@@ -203,13 +202,12 @@
String formattedDate = dateFormat.format(currentDate);
orderId = "NG"+formattedDate+formattedNumber;
}
-
return orderId;
}
//淇敼璁㈠崟鏁版嵁锛屽苟涓旈噸鏂扮敓鎴愬涓壇琛ㄦ暟鎹�
- public void updateOrder(Order order,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) throws Exception {
+ public void updateOrder(Order order, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, Map<String, String> position) throws Exception {
Order oldOrder = orderMapper.selectOne(new LambdaQueryWrapper<Order>().eq(Order::getOrderId,order.getOrderId()));
if(oldOrder.getProcessReview()==2){
throw new ServiceException(Constants.Code_600,"璇ヨ鍗曞凡缁忓鏍革紝鏃犳硶淇敼");
@@ -234,13 +232,13 @@
orderDetailMapper.deleteOrderFile(order.getOrderId());
- insertOtherDetail(order.getOrderId(),OrderDetails,orderOtherMoneyList);
+ insertOtherDetail(order.getOrderId(),OrderDetails,orderOtherMoneyList, position);
}
//鎻掑叆鍏朵粬鍓〃鏁版嵁锛岃鍏朵粬鏂规硶寮曠敤
- public void insertOtherDetail(String orderId,List<OrderDetail> OrderDetails,List<OrderOtherMoney> orderOtherMoneyList) {
+ public void insertOtherDetail(String orderId, List<OrderDetail> OrderDetails, List<OrderOtherMoney> orderOtherMoneyList, Map<String, String> position) {
//鍏堟妸鍏朵粬閲戦鍓〃鐨勯噾棰濅笌鏁伴噺缃�0
if(orderOtherMoneyList!=null){
orderOtherMoneyList.forEach(orderOtherMoney -> {
@@ -274,7 +272,6 @@
if(otherColumns!=null){
otherColumns.values().removeIf(value -> value == null || value.equals(""));
OrderDetails.get(i).setOtherColumns(JSON.toJSONString(otherColumns));
-
otherColumns.forEach((key, value) ->{
if(value!=null && !value.equals("") && key.contains("M")) {
@@ -290,25 +287,19 @@
}else{
OrderDetails.get(i).setOtherColumns("{}");
}
-
if(OrderDetails.get(i).getFileName()!=null&&!OrderDetails.get(i).getFileName().trim().isEmpty()){
- orderMapper.saveOrderFile(OrderDetails.get(i).getFileName(), OrderDetails.get(i).getFileData(),orderId,OrderDetails.get(i).getOrderNumber());
+ orderMapper.saveOrderFile(OrderDetails.get(i).getFileName(), OrderDetails.get(i).getFileData(),orderId,OrderDetails.get(i).getOrderNumber(),OrderDetails.get(i).getFileJson());
}
-
if(OrderDetails.get(i).getShape()==null){
OrderDetails.get(i).setShape("1");
}
}
-
-
-
//寰�鏄庣粏琛ㄦ彃鏁版嵁
orderDetailMapper.insertBatch(OrderDetails);
//寰�灏忕墖琛ㄤ紶鍏ヤ骇鍝佹暟鎹�
- orderGlassDetailMapper.insertOrderGlassDetail(orderId);
-
+ orderGlassDetailMapper.insertOrderGlassDetail(orderId,position.get("outside"),position.get("inside"));
//淇敼鎴愬搧鎷遍珮
List<OrderDetail> orderDetails = orderDetailMapper
.selectList(new LambdaQueryWrapper<OrderDetail>()
@@ -369,8 +360,6 @@
//淇敼璁㈠崟涓昏〃闈㈢Н涓庡懆闀夸互鍙婇噸閲�
orderMapper.updateOrderParameter(orderId);
-
-
}
public static List<OrderProcessDetail> getOrderProcessDetails(List<OrderGlassDetail> orderGlassDetails) {
@@ -432,8 +421,6 @@
List<OrderDetail> orderDetails = orderDetailMapper.selectList(new QueryWrapper<OrderDetail>().eq("order_id",id));
List<OrderOtherMoney> orderOtherMoneyList = orderOtherMoneyMapper.findById(id);
List<Map<String,String>> orderFileList = orderMapper.selectOrderFileList(id);
-
-
Map<String,Object> map = new HashMap<>();
map.put("order",order);
map.put("orderDetails",orderDetails);
@@ -600,7 +587,7 @@
public Map<String,Object> getOrderReport(Integer pageNum, Integer pageSize, List<String> selectDate, OrderDetail orderDetail, Integer model, Integer scope) {
Integer offset = (pageNum-1)*pageSize;
String endDate = LocalDate.now().toString();
- String startDate = LocalDate.now().minusDays(15).toString();
+ String startDate = LocalDate.now().minusDays(30).toString();
if(selectDate !=null && selectDate.size()==2){
if(!selectDate.get(0).isEmpty()){
startDate = selectDate.get(0);
@@ -627,7 +614,7 @@
public Map<String,Object> getOrderSummaryReport(Integer pageNum, Integer pageSize, List<String> selectDate, Order order) {
Integer offset = (pageNum-1)*pageSize;
String endDate = LocalDate.now().toString();
- String startDate = LocalDate.now().minusDays(15).toString();
+ String startDate = LocalDate.now().minusDays(30).toString();
if(selectDate !=null && selectDate.size()==2){
if(!selectDate.get(0).isEmpty()){
startDate = selectDate.get(0);
@@ -655,7 +642,7 @@
public Map<String,Object> getOrderProductSummary(Integer pageNum, Integer pageSize, List<String> selectDate, OrderDetail orderDetail) {
Integer offset = (pageNum-1)*pageSize;
String endDate = LocalDate.now().toString();
- String startDate = LocalDate.now().minusDays(15).toString();
+ String startDate = LocalDate.now().minusDays(30).toString();
if(selectDate !=null && selectDate.size()==2){
if(!selectDate.get(0).isEmpty()){
startDate = selectDate.get(0);
@@ -850,16 +837,7 @@
});
returns.put("orderDetail",orderProductDetail);
-
-
-
-
-
-
return returns;
-
-
-
}
public boolean updateOrderPrintNumber(String orderId) {
@@ -1003,7 +981,7 @@
byte[] dxfData = Base64.getDecoder().decode(fileData);
String orderId="NG25010101";
Integer orderNumber=1;
- orderMapper.saveOrderFile(fileName, fileData,orderId,orderNumber);
+ //orderMapper.saveOrderFile(fileName, fileData,orderId,orderNumber);
return true;
}
@@ -1021,7 +999,7 @@
return map;
}
- public boolean updateOrderFile(Map<String,Object> object) {
+ public boolean updateOrderFile(JSONObject object) throws JsonProcessingException {
String orderId = "";
if (object.get("orderId") != null) {
orderId = object.get("orderId").toString();
@@ -1034,12 +1012,73 @@
if (object.get("dataBase64") != null) {
dataBase64 = object.get("dataBase64").toString();
}
+ String fileJson = null;
+ ObjectMapper om = new ObjectMapper();
+ if (object.get("fileJson") != null) {
+ fileJson = om.writeValueAsString(object.get("fileJson"));
+ }
Map<String,String> orderFile =orderMapper.selectOrderFile(orderId,orderNumber);
if(orderFile!=null){
- orderMapper.updateOrderFile("map.dxf", dataBase64,orderId,orderNumber);
+ orderMapper.updateOrderFile("map.dxf", dataBase64,orderId,orderNumber,fileJson);
}else{
- orderMapper.saveOrderFile("map.dxf", dataBase64,orderId,orderNumber);
+ orderMapper.saveOrderFile("map.dxf", dataBase64,orderId,orderNumber,fileJson);
}
return true;
}
+
+ public Map<String,Object> appGetOrderList(List<String> dates) {
+ //璁剧疆褰撳墠鏃堕棿
+ String endDate = LocalDate.now().toString();
+ String startDate = LocalDate.now().minusDays(30).toString();
+ if(dates !=null && dates.size()==2){
+ if(dates.get(0) != null){
+ startDate = String.valueOf(dates.get(0));
+ }
+ if(dates.get(1) != null){
+ endDate = String.valueOf(dates.get(1));
+ }
+ }
+ List<String> date = new ArrayList<>();
+ date.add(startDate);
+ date.add(endDate);
+
+ List<Order> list = orderMapper.selectList(new LambdaQueryWrapper<Order>()
+ .apply("create_order > 0")
+ .apply("date(create_time) between {0} and {1}",startDate, endDate)
+ );
+ Integer quantity = 0;
+ Double area = 0.00;
+ Double perimeter = 0.00;
+ for(Order order:list){
+ quantity += Integer.parseInt(String.valueOf(order.getQuantity()));
+ area += Double.parseDouble(String.valueOf(order.getArea()));
+ perimeter += order.getPerimeter();
+ }
+ Map<String, Object> totalSum = new HashMap<>();
+ DecimalFormat df = new DecimalFormat("#.00");
+ totalSum.put("quantity",quantity);
+ totalSum.put("area", df.format(area));
+ totalSum.put("perimeter", df.format(perimeter));
+ totalSum.put("count", list.size());
+
+
+ Map<String,Object> map = new HashMap<>();
+ map.put("data",list);
+ map.put("date",date);
+ map.put("totalSum",totalSum);
+
+ return map;
+ }
+
+
+ //宸ヨ壓灞炴�ч厤缃煡璇�
+ public Map<String,Object> processAttributeConfig() {
+ Map<String,Object> map = new HashMap<>();
+ List<Map<String,Object>> processList = orderMapper.selectProcessAttributeConfigOne();
+ for (Map<String,Object> objectMap:processList){
+ objectMap.put("detail",orderMapper.selectProcessAttributeConfigTow(objectMap.get("input_type").toString()));
+ }
+ map.put("data",processList);
+ return map;
+ }
}
--
Gitblit v1.8.0