From 78d73df2f8e0c6855d65eb1f2c6df08e0f99bab1 Mon Sep 17 00:00:00 2001
From: huang <1532065656@qq.com>
Date: 星期三, 22 十月 2025 12:45:05 +0800
Subject: [PATCH] 仓储后端接口返回信息国际化处理

---
 hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java |  133 +++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 117 insertions(+), 16 deletions(-)

diff --git a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
index 2c9f493..7a99bed 100644
--- a/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
+++ b/hangzhoumesParent/moduleService/LoadGlassModule/src/main/java/com/mes/uppattenusage/service/impl/UpPattenUsageServiceImpl.java
@@ -4,15 +4,19 @@
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
 import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.query.MPJQueryWrapper;
+import com.mes.common.config.Const;
 import com.mes.damage.entity.request.DamageRequest;
 import com.mes.damage.service.DamageService;
 import com.mes.engineering.entity.Engineering;
 import com.mes.engineering.service.EngineeringService;
 import com.mes.pp.entity.OptimizeProject;
 import com.mes.pp.mapper.OptimizeProjectMapper;
+import com.mes.rawglassdetails.entity.RawGlassStorageDetails;
+import com.mes.rawglassdetails.service.RawGlassStorageDetailsService;
 import com.mes.uppattenusage.entity.OptimizeUpPattenUsage;
 import com.mes.uppattenusage.entity.UpPattenUsage;
 import com.mes.uppattenusage.mapper.UpPattenUsageMapper;
@@ -22,8 +26,14 @@
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import javax.annotation.Resource;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
 import java.util.ArrayList;
+import java.util.Calendar;
+import java.util.Date;
 import java.util.List;
+import java.util.concurrent.atomic.AtomicInteger;
 
 /**
  * <p>
@@ -45,12 +55,16 @@
     DamageService damageService;
     @Autowired
     RedisUtil redisUtil;
+
+    @Resource
+    RawGlassStorageDetailsService rawGlassStorageDetailsService;
+
     @Override
     public List<UpPattenUsage> prioritylist() {
         //鑾峰彇姝e湪涓婄墖鐨勪换鍔d
-        Engineering engineering= engineeringService.selectInitiate(1);
+        Engineering engineering = engineeringService.selectInitiate(1);
         //log.info("灏嗗弬鏁颁紶鍏ュ埌鏌ヨ绫婚噷{}",engineering);
-        if(engineering!=null){
+        if (engineering != null) {
             LambdaQueryWrapper<UpPattenUsage> wrapper = new LambdaQueryWrapper<>();
             wrapper.eq(UpPattenUsage::getEngineeringId, engineering.getEngineerId());
             return this.list(wrapper);
@@ -65,7 +79,7 @@
         //鑾峰彇姝e湪涓婄墖鐨勪换鍔d
         Engineering engineering = engineeringService.selectInitiates(1, cell.getStationCell());
         //log.info("灏嗗弬鏁颁紶鍏ュ埌鏌ヨ绫婚噷{}",engineering);
-        if(engineering!=null){
+        if (engineering != null) {
             LambdaQueryWrapper<UpPattenUsage> wrapper = new LambdaQueryWrapper<>();
             wrapper.eq(UpPattenUsage::getEngineeringId, engineering.getEngineerId());
             if (cell.getState() != null) {
@@ -101,35 +115,35 @@
         // 鍒涘缓涓�涓� List 鐢ㄤ簬淇濆瓨鏄犲皠鍚庣殑瀹炰綋瀵硅薄
         List<UpPattenUsage> resultList = new ArrayList<>();
 
-// 閬嶅巻鏌ヨ缁撴灉涓殑姣忎釜 Map 瀵硅薄
+        // 閬嶅巻鏌ヨ缁撴灉涓殑姣忎釜 Map 瀵硅薄
         if (upPattenUsageList != null) {
             for (OptimizeUpPattenUsage map : upPattenUsageList) {
                 // 鍒涘缓涓�涓柊鐨� OptimizeProject 瀵硅薄
                 UpPattenUsage optimizeProject = new UpPattenUsage();
                 // 灏� Map 涓殑姣忎釜閿�煎鏄犲皠鍒� OptimizeProject 瀵硅薄鐨勭浉搴斿瓧娈典笂
                 optimizeProject.setEngineeringId(map.getProjectNo());
-                optimizeProject.setFilmsId( map.getGlassType());
+                optimizeProject.setFilmsId(map.getGlassType());
                 optimizeProject.setWidth(map.getWidth());
-                optimizeProject.setHeight( map.getHeight());
+                optimizeProject.setHeight(map.getHeight());
                 optimizeProject.setThickness(map.getGlassThickness());
-                optimizeProject.setLayoutSequence( map.getStockId());
+                optimizeProject.setLayoutSequence(map.getStockId());
                 optimizeProject.setState(0);
                 // 灏嗘槧灏勫悗鐨勫璞℃坊鍔犲埌缁撴灉鍒楄〃涓�
                 resultList.add(optimizeProject);
             }
         }
-        log.info("鏌ヨ鍑轰笂鐗囬『搴忛泦鍚堜繚瀛樺埌瀹炰綋绫粄}",resultList);
+        log.info("鏌ヨ鍑轰笂鐗囬『搴忛泦鍚堜繚瀛樺埌瀹炰綋绫粄}", resultList);
         return resultList;
     }
 
     @Override
     public void saveUpPattenUsage(List<UpPattenUsage> upPattenUsage) {
-        if (CollectionUtil.isEmpty(upPattenUsage)){
+        if (CollectionUtil.isEmpty(upPattenUsage)) {
             return;
         }
         String engineerId = upPattenUsage.get(0).getEngineeringId();
         int count = this.count(new LambdaQueryWrapper<UpPattenUsage>().eq(UpPattenUsage::getEngineeringId, engineerId));
-        if (count <=0){
+        if (count <= 0) {
             //淇濆瓨鍘熺墖浣跨敤璇︽儏琛�
             this.saveBatch(upPattenUsage);
         }
@@ -163,7 +177,7 @@
     @Override
     public void deleteTask(String engineerId) {
         QueryWrapper<UpPattenUsage> wrapper = new QueryWrapper<>();
-        wrapper.eq("engineering_id",engineerId);
+        wrapper.eq("engineering_id", engineerId);
         this.remove(wrapper);
     }
 
@@ -171,9 +185,9 @@
 
     @Override
     public UpPattenUsage selectOverTask() {
-        QueryWrapper<UpPattenUsage>wrapper = new QueryWrapper<>();
-        wrapper.gt("state",0)
-                .lt("state",99)
+        QueryWrapper<UpPattenUsage> wrapper = new QueryWrapper<>();
+        wrapper.gt("state", 0)
+                .lt("state", 99)
                 .last("limit 1");
         return this.getOne(wrapper);
     }
@@ -181,8 +195,8 @@
     @Override
     //鑾峰彇鏈�鍚庝竴鍧楃幓鐠�
     public UpPattenUsage selectSequence(UpPattenUsage upPattenUsage) {
-        QueryWrapper<UpPattenUsage>wrapper = new QueryWrapper<>();
-        wrapper.eq("engineering_id",upPattenUsage.getEngineeringId())
+        QueryWrapper<UpPattenUsage> wrapper = new QueryWrapper<>();
+        wrapper.eq("engineering_id", upPattenUsage.getEngineeringId())
                 .orderByDesc("layout_sequence")
                 .last("limit 1");
         return this.getOne(wrapper);
@@ -229,4 +243,91 @@
         damageService.autoSubmitReport(request.getGlassId(), request.getLine(), request.getWorkingProcedure(), "涓婄墖鏈�", request.getState());
         return "success";
     }
+
+    @Override
+    public Boolean insertTask(Integer quantity, Integer slot) {
+        engineeringService.update(
+                new LambdaUpdateWrapper<Engineering>()
+                        .eq(Engineering::getState, Const.ENGINEERING_RUNNING)
+                        .set(Engineering::getState, Const.ENGINEERING_SUCCESS)
+        );
+
+
+        Calendar calendar = Calendar.getInstance();
+        // 褰撳ぉ 00:00:00
+        calendar.set(Calendar.HOUR_OF_DAY, 0);
+        calendar.set(Calendar.MINUTE, 0);
+        calendar.set(Calendar.SECOND, 0);
+        calendar.set(Calendar.MILLISECOND, 0);
+        Date todayStart = calendar.getTime();
+
+        // 褰撳ぉ 23:59:59
+        calendar.set(Calendar.HOUR_OF_DAY, 23);
+        calendar.set(Calendar.MINUTE, 59);
+        calendar.set(Calendar.SECOND, 59);
+        calendar.set(Calendar.MILLISECOND, 999);
+        Date todayEnd = calendar.getTime();
+
+        // 2. 鏋勫缓鏌ヨ鏉′欢锛氱姸鎬佷负鈥滆繍琛屼腑鈥� + 鏃堕棿鍦ㄥ綋澶╄寖鍥村唴
+        Integer count = engineeringService.count(
+                new LambdaQueryWrapper<Engineering>()
+                        .eq(Engineering::getState, Const.ENGINEERING_RUNNING) // 鍘熺姸鎬佹潯浠�
+                        // 鏍稿績锛歝reateTime 澶т簬绛変簬褰撳ぉ寮�濮嬶紝灏忎簬绛変簬褰撳ぉ缁撴潫
+                        .ge(Engineering::getCreateTime, todayStart)
+                        .le(Engineering::getCreateTime, todayEnd)
+        );
+        RawGlassStorageDetails rawGlassStorageDetails = rawGlassStorageDetailsService.getOne(
+                new LambdaQueryWrapper<RawGlassStorageDetails>()
+                        .eq(RawGlassStorageDetails::getSlot, slot)
+                        .eq(RawGlassStorageDetails::getState, 100)
+        );
+        String engineerId = generateSingleProjectNo(count);
+        Engineering engineering = new Engineering();
+        engineering.setEngineerId(engineerId);
+        engineering.setEngineerName(rawGlassStorageDetails.getFilmsId());
+        engineering.setState(1);
+        engineering.setStationCell(5);
+        engineering.setPlanPatternTotal(slot);
+        engineering.setFilmsId(rawGlassStorageDetails.getFilmsId());
+        engineeringService.save(engineering);
+
+        for (int i = 1; i <= quantity; i++) {
+            UpPattenUsage saveDetails = new UpPattenUsage();
+            saveDetails.setEngineeringId(engineerId);
+            saveDetails.setFilmsId(rawGlassStorageDetails.getFilmsId());
+            saveDetails.setWidth(rawGlassStorageDetails.getPatternWidth());
+            saveDetails.setHeight(rawGlassStorageDetails.getPatternHeight());
+            saveDetails.setThickness(rawGlassStorageDetails.getPatternThickness());
+            saveDetails.setLayoutSequence(i);
+            saveDetails.setState(0);
+            this.save(saveDetails);
+        }
+        return Boolean.TRUE;
+    }
+
+    private static String generateSingleProjectNo(int currentCount) {
+        // 1. 鍥哄畾鍓嶇紑 "P"
+        final String PREFIX = "P";
+
+        // 2. 鏍煎紡鍖栧綋鍓嶆棩鏈熶负銆屽勾2浣�+鏈�2浣�+鏃�2浣嶃�嶏紙濡�2025-05-08 鈫� "250508"锛�
+        DateTimeFormatter dateFormatter = DateTimeFormatter.ofPattern("yyMMdd");
+        String dateStr = LocalDate.now().format(dateFormatter);
+
+        // 3. 璁$畻鏂板簭鍙凤紙宸叉湁鏁伴噺+1锛夛紝骞跺鐞嗏�滃皬浜�10琛�0鈥�
+        int newSequence = currentCount + 1;
+        // 鍏抽敭锛�%02d 琛ㄧず鍥哄畾2浣嶆暟瀛楋紝涓嶈冻鍒欒ˉ0锛�1鈫�"01"锛�9鈫�"09"锛�10鈫�"10"锛�
+        String formattedSequence = String.format("%02d", newSequence);
+
+        // 4. 鎷兼帴宸ョ▼鍙凤紙鍓嶇紑+鏃ユ湡+琛�0鍚庣殑搴忓彿锛�
+        return PREFIX + dateStr + formattedSequence;
+    }
+
+    @Override
+    public Boolean deleteUpPattenTask(String id) {
+        //鍒犻櫎涓婄墖椤哄簭琛�
+        QueryWrapper<UpPattenUsage> wrapper = new QueryWrapper<>();
+        wrapper.eq("id",id);
+        return this.remove(wrapper);
+    }
+
 }

--
Gitblit v1.8.0