From 2abec00842a87162186406af7c2014aae948af49 Mon Sep 17 00:00:00 2001
From: chenlu <1320612696@qq.com>
Date: 星期五, 07 十一月 2025 08:09:07 +0800
Subject: [PATCH] Merge branch 'master' of http://bore.pub:10439/r/ERP_override
---
north-glass-erp/northglass-erp/src/views/sd/order/CADDraw.vue | 11 +++
north-glass-erp/src/main/java/com/example/erp/controller/pp/GlassOptimizeController.java | 13 ++-
north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java | 26 ++++----
north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java | 16 ++---
north-glass-erp/src/main/resources/mapper/mm/MaterialInventory.xml | 1
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/ProjectMange.vue | 9 ++
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue | 55 ++++++++++++------
north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java | 17 +++--
north-glass-erp/src/main/resources/application-prod.yml | 2
north-glass-erp/src/main/java/com/example/erp/service/sd/OrderService.java | 1
10 files changed, 96 insertions(+), 55 deletions(-)
diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/ProjectMange.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/ProjectMange.vue
index 0325de6..5981635 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/ProjectMange.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/ProjectMange.vue
@@ -571,7 +571,7 @@
}
}
-function updateProjectStateAndHandleResponse(row, projectNumber, targetState,targetStates,code, successMsg) {
+function updateProjectStateAndHandleResponse(row, projectNumber, targetState, targetStates, code, successMsg) {
const updateParams = {
projectNumber: projectNumber,
stateToUpdate: targetState,
@@ -582,6 +582,11 @@
'Content-Type': 'application/json'
}
}).then((res) => {
+ // 妫�鏌ヤ笟鍔$姸鎬佺爜锛屽鏋滄槸201鍒欐姏鍑洪敊璇互鍦╟atch涓鐞�
+ if (Number(res.code) === 201) {
+ // 鎶涘嚭鑷畾涔夐敊璇璞★紝鍖呭惈鍚庣杩斿洖鐨刴sg淇℃伅
+ throw new Error(res.msg || '鎿嶄綔澶辫触');
+ }
if (Number(res.code) === 200 && (res.msg === "" || res.msg === null)) {
ElMessage.success(successMsg);
} else {
@@ -594,7 +599,7 @@
}).catch((error) => {
console.error('璇锋眰鍑洪敊锛屾搷浣滄湭瀹屾垚锛岃缁嗛敊璇俊鎭�:', error);
//const errorMsg = (res.data && res.data.errorMessage) ? res.data.errorMessage : '鎿嶄綔澶辫触锛屾湭鑾峰彇鍒板叿浣撳師鍥狅紝璇疯仈绯荤鐞嗗憳';
- ElMessage.error(`璇锋眰鍑洪敊锛屾搷浣滄湭瀹屾垚`);
+ ElMessage.error(`璇锋眰鍑洪敊锛屾搷浣滄湭瀹屾垚 `+error);
rollbackStateAndReloadGrid(row, targetState); // 璋冪敤鍥炴粴鍑芥暟
});
}
diff --git a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue
index 274dab1..8ef03eb 100644
--- a/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue
+++ b/north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue
@@ -683,28 +683,45 @@
localStorage.setItem('projectNo', projectNo.value);
});
-const saveOptimizeData = () => {
- if(orderInfo.optimizeData!==null){
- if(quantitys.value===orderInfo.optimizeData.optimalResults.glassTotalQuantity){
- console.log("淇濆瓨鏁版嵁1",orderInfo.optimizeData)
- request.post(`/glassOptimize/saveOptimizeData/${projectNo.value}`,orderInfo.optimizeData).then((res) => {
- if ((Number(res.code) === 200)) {
- ElMessage.success("淇濆瓨鎴愬姛");
- } else {
- ElMessage.warning(res.msg);
- }
+const saveOptimizeData = async () => {
+ try {
+ // 鍏堜粠鍚庣鏌ヨ宸ョ▼鐘舵��
+ const stateRes = await request.post(`/glassOptimize/getProjectState/${projectNo.value}`);
+ if (Number(stateRes.code) === 200) {
+ const projectData = stateRes.data.data;
- }).catch((error) => {
- console.error("鑾峰彇鏁版嵁鍑洪敊:", error);
- });
- }else{
- ElMessage.warning("鍘熺墖涓嶈冻锛屽皬鐗囨湭鍏ㄩ儴浼樺寲");
+ // 妫�鏌� optimize_state 鐘舵��
+ if (projectData.optimize_state === 1) {
+ // 濡傛灉宸插畬鎴愪紭鍖栵紝鎻愮ず鐢ㄦ埛骞堕樆姝㈢户缁墽琛�
+ ElMessage.warning('宸插畬鎴愪紭鍖栦繚瀛橈紝涓嶅厑璁搁噸澶嶆彁浜�');
+ return;
+ }
+ } else {
+ ElMessage.warning(stateRes.msg);
+ return;
}
-
- }else {
- ElMessage.warning("鏁版嵁鏈紭鍖�");
+ if(orderInfo.optimizeData!==null){
+ if(quantitys.value===orderInfo.optimizeData.optimalResults.glassTotalQuantity){
+ console.log("淇濆瓨鏁版嵁1",orderInfo.optimizeData)
+ request.post(`/glassOptimize/saveOptimizeData/${projectNo.value}`,orderInfo.optimizeData).then((res) => {
+ if ((Number(res.code) === 200)) {
+ ElMessage.success("淇濆瓨鎴愬姛");
+ } else {
+ ElMessage.warning(res.msg);
+ }
+ }).catch((error) => {
+ console.error("鑾峰彇鏁版嵁鍑洪敊:", error);
+ });
+ }else{
+ ElMessage.warning("鍘熺墖涓嶈冻锛屽皬鐗囨湭鍏ㄩ儴浼樺寲");
+ }
+ }else {
+ ElMessage.warning("鏁版嵁鏈紭鍖�");
+ }
+ } catch (error) {
+ ElMessage.error('妫�鏌ュ伐绋嬬姸鎬佸け璐ワ紝璇风◢鍚庨噸璇�');
+ console.error('妫�鏌ュ伐绋嬬姸鎬佸け璐�:', error);
}
-
}
const fetchData = () => {
diff --git a/north-glass-erp/northglass-erp/src/views/sd/order/CADDraw.vue b/north-glass-erp/northglass-erp/src/views/sd/order/CADDraw.vue
new file mode 100644
index 0000000..222532e
--- /dev/null
+++ b/north-glass-erp/northglass-erp/src/views/sd/order/CADDraw.vue
@@ -0,0 +1,11 @@
+<script setup lang="ts">
+import { MlCadViewer } from '@mlightcad/cad-viewer'
+</script>
+
+<template>
+ <MlCadViewer locale="zh" url="Drawing1.dwg" />
+</template>
+
+<style scoped>
+
+</style>
\ No newline at end of file
diff --git a/north-glass-erp/src/main/java/com/example/erp/controller/pp/GlassOptimizeController.java b/north-glass-erp/src/main/java/com/example/erp/controller/pp/GlassOptimizeController.java
index a37de06..8d68b74 100644
--- a/north-glass-erp/src/main/java/com/example/erp/controller/pp/GlassOptimizeController.java
+++ b/north-glass-erp/src/main/java/com/example/erp/controller/pp/GlassOptimizeController.java
@@ -130,11 +130,14 @@
@PathVariable Integer states,
@PathVariable Integer code
) throws JsonProcessingException {
- if (glassOptimizeService.updateProjectState(projectNumber, state,states,code)) {
- return Result.success();
- } else {
- throw new ServiceException(Constants.Code_500, "淇敼澶辫触");
-
+ try {
+ if (glassOptimizeService.updateProjectState(projectNumber, state, states, code)) {
+ return Result.success();
+ } else {
+ throw new ServiceException(Constants.Code_500, "淇敼澶辫触");
+ }
+ } catch (Exception e) {
+ return Result.error("201", e.getMessage());
}
}
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java b/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java
index e266082..8e410c2 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/mm/MaterialInventoryService.java
@@ -1,23 +1,14 @@
package com.example.erp.service.mm;
import cn.hutool.core.util.StrUtil;
-import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.dynamic.datasource.annotation.DS;
-import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
-import com.example.erp.common.Constants;
-import com.example.erp.dto.mm.FinishedOperateLogDTO;
import com.example.erp.dto.mm.MaterialLogDTO;
import com.example.erp.entity.mm.*;
import com.example.erp.entity.pp.*;
-import com.example.erp.entity.sd.Delivery;
-import com.example.erp.entity.sd.DeliveryDetail;
-import com.example.erp.entity.sd.OrderDetail;
-import com.example.erp.entity.sd.OrderProcessDetail;
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.mm.BasicWarehouseTypeMapper;
import com.example.erp.mapper.mm.MaterialInventoryMapper;
import com.example.erp.mapper.mm.MaterialLogMapper;
@@ -29,8 +20,6 @@
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
-import java.math.BigDecimal;
-import java.time.LocalDateTime;
import java.util.List;
import java.util.ArrayList;
@@ -38,6 +27,9 @@
import java.text.SimpleDateFormat;
import java.time.LocalDate;
import java.util.*;
+import java.util.concurrent.ExecutorService;
+import java.util.concurrent.Executors;
+import java.util.concurrent.atomic.AtomicReference;
import java.util.stream.Collectors;
@Service
@@ -1317,12 +1309,20 @@
}
public Object appGetStockList() {
- List<MaterialInventory> materialInventoryList = materialInventoryMapper.selectGetStockList();
+ ExecutorService executor = Executors.newFixedThreadPool(2);
+ AtomicReference<List<MaterialInventory>> materialInventoryList = new AtomicReference<>(new ArrayList<MaterialInventory>());
+ executor.execute(() -> {
+ materialInventoryList.set(materialInventoryMapper.selectGetStockList());
+ });
+ List<Object> list = new ArrayList<>();
+ executor.shutdown();
+
Map<String, Object> totalSum = new HashMap<>();
+
Integer inventoryQuantity = 0;
Integer availableQuantity = 0;
Double totalArea = 0.00;
- for (MaterialInventory materialInventory : materialInventoryList) {
+ for (MaterialInventory materialInventory : materialInventoryList.get()) {
inventoryQuantity += materialInventory.getInventoryQuantity();
availableQuantity += materialInventory.getAvailableQuantity();
totalArea += materialInventory.getTotalArea();
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java
index f25f35d..540e002 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java
@@ -18,6 +18,7 @@
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport;
@@ -45,6 +46,9 @@
GlassOptimizeMapper glassOptimizeMapper;
@Autowired
SysErrorService sysErrorService;
+
+ @Value("${mesIp:localhost}") // 娉ㄥ叆mesIp閰嶇疆锛岄粯璁ゅ�间负10.153.19.31
+ private String mesIp;
RabbitMQUtil rabbitMQUtil;
//妯℃嫙璁$畻
@@ -772,13 +776,15 @@
Map<String, Object> cancelResult = issuingCancelProject(projectNumber);
// 鑾峰彇杩斿洖缁撴灉涓殑data瀛楁
Map<String, Object> responseData = (Map<String, Object>) cancelResult.get("data");
-
// 妫�鏌ュ搷搴斾腑鐨刢ode瀛楁锛屽彧鏈夊綋code涓�200鎴�202鏃舵墠鍏佽鏇存柊鐘舵��
if (responseData != null && responseData.containsKey("code")) {
Object responseCode = responseData.get("code");
if (responseCode.equals(200) || responseCode.equals(202)) {
glassOptimizeMapper.updateProjectStateMp(projectNumber, state);
- }else {
+ } else if (responseCode.equals(201)) {
+ // 褰撹繑鍥�201鏃讹紝鎶涘嚭鑷畾涔夊紓甯告垨杩斿洖閿欒淇℃伅
+ throw new RuntimeException(responseData.get("message").toString());
+ } else {
return false;
}
} else {
@@ -1241,8 +1247,7 @@
boolean saveState=false;
try {
// 1. 鍒涘缓URL瀵硅薄
-// URL url = new URL("http://10.153.19.31:88/api/loadGlass/engineering/importEngineer");
- URL url = new URL("http://localhost:88/api/loadGlass/engineering/importEngineer");
+ URL url = new URL("http://" + mesIp + ":88/api/loadGlass/engineering/importEngineer");
// 2. 鎵撳紑杩炴帴
HttpURLConnection conn = (HttpURLConnection) url.openConnection();
@@ -1480,8 +1485,8 @@
try {
// 1. 鍒涘缓URL瀵硅薄
-// URL url = new URL("http://10.153.19.31:88/api/loadGlass/engineering/optimizeCancelTask");
- URL url = new URL("http://localhost:88/api/loadGlass/engineering/optimizeCancelTask");
+ URL url = new URL("http://" + mesIp + ":88/api/loadGlass/engineering/optimizeCancelTask");
+// URL url = new URL("http://localhost:88/api/loadGlass/engineering/optimizeCancelTask");
// 2. 鎵撳紑杩炴帴
diff --git a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
index a2580ed..9049abc 100644
--- a/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
+++ b/north-glass-erp/src/main/java/com/example/erp/service/pp/ReportService.java
@@ -5,6 +5,7 @@
import com.alibaba.fastjson.TypeReference;
import com.baomidou.dynamic.datasource.annotation.DS;
import com.example.erp.common.AsyncQueryExecutor;
+import com.example.erp.entity.sd.*;
import com.example.erp.tools.AreaComputed.*;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
@@ -12,10 +13,6 @@
import com.example.erp.dto.pp.*;
import com.example.erp.entity.pp.DamageDetails;
import com.example.erp.entity.pp.Report;
-import com.example.erp.entity.sd.BasicData;
-import com.example.erp.entity.sd.OrderDetail;
-import com.example.erp.entity.sd.OrderGlassDetail;
-import com.example.erp.entity.sd.ProductDetail;
import com.example.erp.mapper.pp.*;
import com.example.erp.mapper.sd.*;
import org.springframework.beans.factory.annotation.Autowired;
@@ -53,6 +50,7 @@
FlowCardMapper flowCardMapper;
private ReportingWorkMapper reportingWorkMapper;
+ private final OrderMapper orderMapper;
@Resource
private AsyncQueryExecutor asyncExecutor;
@@ -136,7 +134,7 @@
ProductionSchedulingMapper productionSchedulingMapper, FlowCardMapper flowCardMapper,
OrderGlassDetailMapper orderGlassDetailMapper, BasicDataMapper basicDataMapper,
ProductDetailMapper productDetailMapper, OrderDetailMapper orderDetailMapper,
- ReportingWorkMapper reportingWorkMapper, DamageDetailsMapper damageDetailsMapper) {
+ ReportingWorkMapper reportingWorkMapper, DamageDetailsMapper damageDetailsMapper, OrderMapper orderMapper) {
this.reportMapper = reportMapper;
this.orderProcessDetailMapper = orderProcessDetailMapper;
this.productionSchedulingMapper = productionSchedulingMapper;
@@ -147,6 +145,7 @@
this.orderDetailMapper = orderDetailMapper;
this.reportingWorkMapper = reportingWorkMapper;
this.damageDetailsMapper = damageDetailsMapper;
+ this.orderMapper = orderMapper;
}
//娴佺▼鍗¤繘搴︽柟娉�
@@ -303,8 +302,6 @@
dataList.get(i).put("reportWorkQuantityShow",JSON.toJSONString(dataShow));
}
-
-
map.put("data",dataList );
@@ -1445,11 +1442,10 @@
dataList.get(i).put("reportWorkQuantityShow",JSON.toJSONString(dataShow));
}
-
+ Order order = orderMapper.selectOrderId(orderId);
map.put("mergeCells", rowCount);
-
map.put("data",dataList);
-
+ map.put("order",order);
return map;
}
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 08fb026..8b49f36 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
@@ -1061,6 +1061,7 @@
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);
diff --git a/north-glass-erp/src/main/resources/application-prod.yml b/north-glass-erp/src/main/resources/application-prod.yml
index 16ed97d..0476c77 100644
--- a/north-glass-erp/src/main/resources/application-prod.yml
+++ b/north-glass-erp/src/main/resources/application-prod.yml
@@ -7,6 +7,8 @@
ip: localhost
port: 3309
+#mesIp: 10.153.19.31
+mesIp: localhost
#sa-token:
# timeout: 86400
diff --git a/north-glass-erp/src/main/resources/mapper/mm/MaterialInventory.xml b/north-glass-erp/src/main/resources/mapper/mm/MaterialInventory.xml
index 8fff2e2..cd92fd7 100644
--- a/north-glass-erp/src/main/resources/mapper/mm/MaterialInventory.xml
+++ b/north-glass-erp/src/main/resources/mapper/mm/MaterialInventory.xml
@@ -1393,6 +1393,7 @@
left join mm.material_store ms
on mi.material_code=ms.id
where inventory_quantity>0
+ and mi.inventory_organization = '鍘熺墖搴�'
order by mi.id desc
</select>
--
Gitblit v1.8.0