From 57fca4f8e41c2504246459656cb3791621a039f0 Mon Sep 17 00:00:00 2001
From: ZengTao <2773468879@qq.com>
Date: 星期四, 23 十月 2025 08:29:05 +0800
Subject: [PATCH] 1、报工查询界面改为分页 2、查询工程添加工程名称

---
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java         |   47 ++++++-----
 hangzhoumesParent/common/servicebase/src/main/resources/mapper/OptimizeProjectMapper.xml                   |   29 +++++-
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java          |   15 +++
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java      |   51 ++++++++----
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java               |   13 +++
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java            |    7 +
 hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java |   19 +++-
 7 files changed, 129 insertions(+), 52 deletions(-)

diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
index bf3275c..0a55b53 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/controller/DamageController.java
@@ -1,9 +1,11 @@
 package com.mes.damage.controller;
 
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.mes.damage.entity.Damage;
 import com.mes.damage.entity.DamagePrint;
 import com.mes.damage.service.DamageService;
+import com.mes.opctask.entity.LoadGlassDeviceTaskHistory;
 import com.mes.utils.Result;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
@@ -15,7 +17,7 @@
 
 /**
  * <p>
- *  鍓嶇鎺у埗鍣�
+ * 鍓嶇鎺у埗鍣�
  * </p>
  *
  * @author wu
@@ -27,63 +29,68 @@
 @ResponseBody
 public class DamageController {
 
-    @Autowired(required=true)
+    @Autowired(required = true)
     private DamageService damageService;
 
     @ApiOperation("鎶ュ伐鏁版嵁鏌ヨ")
     @PostMapping("/selectDamage")
-    public Result selectDamage(@RequestBody Map map) {
-        String startTime=map.get("startTime").toString();
-        String endTime=map.get("endTime").toString();
-        int type =Integer.parseInt(map.get("type").toString());
-        int status =Integer.parseInt(map.get("status").toString());
-        String workingProcedure =map.get("workingProcedure").toString();
-        return Result.build(200,"鏌ヨ鎴愬姛",damageService.selectDamage(startTime,endTime,type,status, workingProcedure));
+    public Result<Page<Damage>> selectDamage(@RequestBody Map map) {
+        String startTime = map.get("startTime").toString();
+        String endTime = map.get("endTime").toString();
+        int type = Integer.parseInt(map.get("type").toString());
+        int status = Integer.parseInt(map.get("status").toString());
+        String workingProcedure = map.get("workingProcedure").toString();
+        int pageNo = Integer.parseInt(map.get("pageNo").toString());
+        int pageSize = Integer.parseInt(map.get("pageSize").toString());
+        return Result.build(200, "鏌ヨ鎴愬姛", damageService.selectDamage(startTime, endTime, type, status, workingProcedure, pageNo, pageSize));
     }
 
     @ApiOperation("鎶ュ伐")
     @PostMapping("/submitDamage")
     public Result submitDamage(@RequestBody List<Damage> damageList) {
         damageService.submitDamage(damageList);
-        if(damageList.get(0).getStatus()==1){
+        if (damageList.get(0).getStatus() == 1) {
             damageList.forEach(damage -> damage.setStatus(3));
-        }else{
+        } else {
             damageList.forEach(damage -> damage.setStatus(8));
         }
         damageService.updateBatchById(damageList);
-        return Result.build(200,"鎶ュ伐鎴愬姛",1);
+        return Result.build(200, "鎶ュ伐鎴愬姛", 1);
     }
 
     @ApiOperation("鎶ュ伐鏁版嵁淇敼")
     @PostMapping("/updateDamage")
     public Result updateDamage(@RequestBody List<Damage> damageList) {
         damageService.updateBatchById(damageList);
-        return Result.build(200,"淇敼鎴愬姛",1);
+        return Result.build(200, "淇敼鎴愬姛", 1);
     }
 
     @ApiOperation("鎶ュ伐鏁版嵁鏂板")
     @PostMapping("/insertDamage")
     public Result insertDamage(@RequestBody Damage damage) {
         damageService.insertDamage(damage);
-        return Result.build(200,"鏂板鎴愬姛",1);
+        return Result.build(200, "鏂板鎴愬姛", 1);
     }
+
     @ApiOperation("鎷胯蛋鏁版嵁鏌ヨ")
     @PostMapping("/selectDamagePrint")
     public Result selectDamagePrint(@RequestBody Damage damage) {
-        List<DamagePrint> damage2=damageService.selectDamagePrint(damage);
-        return Result.build(200,"鏌ヨ鎴愬姛",damage2);
+        List<DamagePrint> damage2 = damageService.selectDamagePrint(damage);
+        return Result.build(200, "鏌ヨ鎴愬姛", damage2);
     }
+
     @ApiOperation("鎷胯蛋鎵撳嵃鏌ヨ")
     @PostMapping("/selectDamagePrintDetails")
     public Result selectDamagePrintDetails(@RequestBody Damage damage) {
-        List<DamagePrint> damage2=damageService.selectDamagePrintDetails(damage);
-        return Result.build(200,"鏌ヨ鎴愬姛",damage2);
+        List<DamagePrint> damage2 = damageService.selectDamagePrintDetails(damage);
+        return Result.build(200, "鏌ヨ鎴愬姛", damage2);
     }
+
     @ApiOperation("鑷姩鎶ュ伐")
     @PostMapping("/autoSubmitReport")
     public Result autoSubmitReport(String glassId, int deviceId, String workingProcedure, String remark, int type) {
-        damageService.autoSubmitReport(glassId,deviceId,workingProcedure,remark,type);
-        return Result.build(200,"鏌ヨ鎴愬姛","");
+        damageService.autoSubmitReport(glassId, deviceId, workingProcedure, remark, type);
+        return Result.build(200, "鏌ヨ鎴愬姛", "");
     }
 
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
index 6522037..054022d 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/DamageService.java
@@ -1,10 +1,13 @@
 package com.mes.damage.service;
 
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.github.yulichang.base.MPJBaseService;
 import com.mes.damage.entity.Damage;
 import com.mes.damage.entity.DamagePrint;
+import com.mes.opctask.entity.LoadGlassDeviceTaskHistory;
 import com.mes.pp.entity.ReportingWork;
 import com.mes.pp.entity.ReportingWorkDetail;
+import com.mes.utils.Result;
 
 import java.util.List;
 
@@ -18,7 +21,15 @@
  */
 public interface DamageService extends MPJBaseService<Damage> {
 
-    List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure);
+    Page<Damage> selectDamage(
+            String startTime,
+            String endTime,
+            int type,
+            int status,
+            String workingProcedure,
+            int pageNum,  // 鏂板锛氬姩鎬侀〉鐮�
+            int pageSize  // 鏂板锛氬姩鎬佹瘡椤垫潯鏁�
+    );
 
 //    List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure);
 
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
index 8cf818c..2c4ad7d 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/damage/service/impl/DamageServiceImpl.java
@@ -3,6 +3,8 @@
 import cn.hutool.json.JSONArray;
 import cn.hutool.json.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.metadata.IPage;
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.fasterxml.jackson.databind.ObjectMapper;
 import com.github.yulichang.base.MPJBaseServiceImpl;
 import com.github.yulichang.query.MPJQueryWrapper;
@@ -13,6 +15,7 @@
 import com.mes.damage.service.DamageService;
 import com.mes.glassinfo.entity.GlassInfo;
 import com.mes.glassinfo.mapper.GlassInfoMapper;
+import com.mes.opctask.entity.LoadGlassDeviceTaskHistory;
 import com.mes.pp.entity.DamageDetails;
 import com.mes.pp.entity.ReportingWork;
 import com.mes.pp.entity.ReportingWorkDetail;
@@ -61,25 +64,37 @@
     /**
      * 鏌ヨ鎶ュ伐淇℃伅
      */
-    @Override
-    public List<Damage> selectDamage(String startTime, String endTime, int type, int status, String workingProcedure) {
-        LambdaQueryWrapper<Damage> damageSelectWrapper = new LambdaQueryWrapper<>();
-        damageSelectWrapper.between(Damage::getDamageTime, startTime, endTime);
-        if (type != 0) {
-            damageSelectWrapper.eq(Damage::getType, type);
-        }
-        if (status != 0) {
-            damageSelectWrapper.eq(Damage::getStatus, status);
-        }
-        if (!"0".equals(workingProcedure)) {
-            damageSelectWrapper.eq(Damage::getWorkingProcedure, workingProcedure);
-        }
-        List<Damage> damageList = baseMapper.selectList(damageSelectWrapper);
 
-//        for (Damage damage : damageList) {
-//            damage.setStatus(2);
-//        }
-        return damageList;
+    /**
+     * 鍒嗛〉鏌ヨ鎹熷潖璁板綍
+     * @param startTime 寮�濮嬫椂闂达紙鏍煎紡锛歽yyy-MM-dd HH:mm:ss锛�
+     * @param endTime 缁撴潫鏃堕棿锛堟牸寮忥細yyyy-MM-dd HH:mm:ss锛�
+     * @param type 鎹熷潖绫诲瀷锛�0琛ㄧず鏌ヨ鎵�鏈夌被鍨嬶級
+     * @param status 鐘舵�侊紙0琛ㄧず鏌ヨ鎵�鏈夌姸鎬侊級
+     * @param workingProcedure 宸ュ簭锛�"0"琛ㄧず鏌ヨ鎵�鏈夊伐搴忥級
+     * @param pageNum 椤电爜锛堜粠1寮�濮嬶級
+     * @param pageSize 姣忛〉鏉℃暟
+     * @return 鍒嗛〉鍚庣殑鎹熷潖璁板綍鍒楄〃
+     */
+    @Override
+    public Page<Damage> selectDamage(
+            String startTime,
+            String endTime,
+            int type,
+            int status,
+            String workingProcedure,
+            int pageNum,  // 鏂板锛氬姩鎬侀〉鐮�
+            int pageSize  // 鏂板锛氬姩鎬佹瘡椤垫潯鏁�
+    ) {
+        Page<Damage> page = new Page<>(pageNum, pageSize);
+
+        LambdaQueryWrapper<Damage> damageSelectWrapper = new LambdaQueryWrapper<>();
+        damageSelectWrapper.between(Damage::getDamageTime, startTime, endTime)
+                .eq(type != 0, Damage::getType, type)
+                .eq(status != 0, Damage::getStatus, status)
+                .eq(!"0".equals(workingProcedure), Damage::getWorkingProcedure, workingProcedure);
+
+        return this.page(page, damageSelectWrapper);
     }
 
     /**
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java
index dc6dd21..f9a626c 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/mapper/OptimizeProjectMapper.java
@@ -50,4 +50,11 @@
      */
     void batchInsert(@Param("list") List<OptimizeProject> projectList);
 
+    /**
+     * 鏇存柊宸ョ▼鎺掍骇淇℃伅
+     *
+     * @param engineerId
+     * @param types
+     */
+    void deleteByScheduling(@Param("engineerId") String engineerId,@Param("types") List<Integer> types);
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java
index c76c026..852ac35 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/OptimizeProjectService.java
@@ -4,6 +4,7 @@
 import com.mes.pp.entity.OptimizeProject;
 import com.mes.pp.entity.request.OptimizeRequest;
 import com.mes.uppattenusage.entity.UpPattenUsage;
+import io.swagger.models.auth.In;
 
 import java.util.List;
 
@@ -19,6 +20,7 @@
 
     /**
      * 鏌ヨ鍙鍙栫殑浠诲姟宸ョ▼淇℃伅
+     *
      * @return List<OptimizeProject>
      */
     List<OptimizeProject> listByState(OptimizeRequest optimizeRequest);
@@ -27,12 +29,14 @@
      * 灏嗗伐绋嬩俊鎭洿鏂扮姸鎬佷负宸查鍙�
      */
     void changeTask(String engineeringId, int i);
+
     /**
      * 瀹屾垚宸ョ▼浠诲姟鏀逛负300
      *
      * @return
      */
     boolean overTask(UpPattenUsage sequence, int state);
+
     /**
      * 鑾峰彇姝e湪杩涜涓殑浠诲姟
      *
@@ -42,20 +46,29 @@
 
     /**
      * 鏌ヨ宸ョ▼淇℃伅
+     *
      * @return
      */
     List<OptimizeProject> queryEngineer();
 
     /**
      * 鏌ヨ宸ョ▼鎺掑簭淇℃伅
+     *
      * @return
      */
     List<OptimizeProject> engineerScheduling(OptimizeProject optimizeProject);
 
     /**
      * 鏇存柊宸ョ▼鎺掍骇淇℃伅
+     *
      * @return
      */
-    List<OptimizeProject> updateEngineerScheduling(Integer type , List<OptimizeProject> engineerList);
+    List<OptimizeProject> updateEngineerScheduling(Integer type, List<OptimizeProject> engineerList);
 
+    /**
+     * 鍒犻櫎宸ョ▼鎺掍骇淇℃伅
+     *
+     * @return
+     */
+    void deleteengineerSchedulingByid(String engineerId, List<Integer> types);
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
index dbd645e..de60a35 100644
--- a/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
+++ b/hangzhoumesParent/common/servicebase/src/main/java/com/mes/pp/service/impl/OptimizeProjectServiceImpl.java
@@ -1,5 +1,6 @@
 package com.mes.pp.service.impl;
 
+import cn.smallbun.screw.core.util.CollectionUtils;
 import com.baomidou.dynamic.datasource.annotation.DS;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -18,7 +19,6 @@
 import org.springframework.transaction.annotation.Transactional;
 
 import java.time.LocalDateTime;
-import java.util.Date;
 import java.util.List;
 
 /**
@@ -42,7 +42,7 @@
         // 璁$畻浜屼釜鏈堝墠鐨勬椂闂�
         LocalDateTime twoMonthAgo = LocalDateTime.now().minusMonths(2);
         LambdaQueryWrapper<OptimizeProject> wrapper = new LambdaQueryWrapper<>();
-        wrapper.select(OptimizeProject::getProjectNo)
+        wrapper.select(OptimizeProject::getProjectNo, OptimizeProject::getProjectName)
                 .eq(OptimizeProject::getState, optimizeRequest.getState())
                 .ge(OptimizeProject::getCreateTime, twoMonthAgo);
         List<OptimizeProject> glass = this.list(wrapper);
@@ -54,6 +54,7 @@
             Engineering engineering = engineerings.get(i);
             OptimizeProject newProject = new OptimizeProject();
             newProject.setProjectNo(engineering.getEngineerId());
+            newProject.setProjectName(engineering.getEngineerName());
             // 灏嗘柊鍒涘缓鐨� OptimizeProject 瀵硅薄娣诲姞鍒� glass 鍒楄〃涓�
             glass.add(newProject);
         }
@@ -104,7 +105,7 @@
 
     @Override
     @Transactional(rollbackFor = Exception.class)
-    public List<OptimizeProject> updateEngineerScheduling(Integer type , List<OptimizeProject> projectList) {
+    public List<OptimizeProject> updateEngineerScheduling(Integer type, List<OptimizeProject> projectList) {
         // 1. 鍒犻櫎瀵瑰簲绫诲瀷鐨勬暟鎹�
         baseMapper.deleteByType(type);
 
@@ -114,10 +115,16 @@
             project.setState(100);
             project.setId(null); // 娓呴櫎ID
         });
-
-        // 3. 鎵归噺鎻掑叆鏂版暟鎹�
-        baseMapper.batchInsert(projectList);
+        if (CollectionUtils.isNotEmpty(projectList)) {
+            // 3. 鎵归噺鎻掑叆鏂版暟鎹�
+            baseMapper.batchInsert(projectList);
+        }
 
         return projectList;
     }
+
+    @Override
+    public void deleteengineerSchedulingByid(String engineerId, List<Integer> types) {
+        baseMapper.deleteByScheduling(engineerId, types);
+    }
 }
diff --git a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/OptimizeProjectMapper.xml b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/OptimizeProjectMapper.xml
index 4cfc94a..da44ded 100644
--- a/hangzhoumesParent/common/servicebase/src/main/resources/mapper/OptimizeProjectMapper.xml
+++ b/hangzhoumesParent/common/servicebase/src/main/resources/mapper/OptimizeProjectMapper.xml
@@ -22,7 +22,13 @@
     </resultMap>
 
     <select id="saveProject" parameterType="com.mes.pp.entity.request.OptimizeRequest" resultMap="sequenceMap">
-        select a.project_no, 1 as glass_type, a.width, a.height, REGEXP_REPLACE(b.glass_thickness, '\\D', '')as glass_thickness, a.heat_layout_sort, 0 as state
+        select a.project_no,
+               1                                            as glass_type,
+               a.width,
+               a.height,
+               REGEXP_REPLACE(b.glass_thickness, '\\D', '') as glass_thickness,
+               a.heat_layout_sort,
+               0                                            as state
         from optimize_detail a
                  left join optimize_project b on a.project_no = b.project_no
         where a.project_no = #{projectNo}
@@ -33,18 +39,18 @@
                p.project_name
         from pp.optimize_project p
         where p.state = 100
-            and p.project_no not in (
+          and p.project_no not in (
             select es.project_no
             from north_glass_mes.engineer_scheduling es
             where es.project_no is not null
-            )
+        )
         order by p.id
     </select>
 
     <select id="engineerScheduling" parameterType="com.mes.pp.entity.request.OptimizeRequest" resultMap="resultMap">
         select es.project_no,
-               es.project_name,
-               es.type
+        es.project_name,
+        es.type
         from north_glass_mes.engineer_scheduling es
         where es.state = 100
         <if test="type != null and type != ''">
@@ -55,9 +61,20 @@
 
     <!-- 鏍规嵁绫诲瀷鍒犻櫎engineer_scheduling琛ㄤ腑鐨勬暟鎹� -->
     <delete id="deleteByType">
-        DELETE FROM north_glass_mes.engineer_scheduling
+        DELETE
+        FROM north_glass_mes.engineer_scheduling
         WHERE type = #{type}
     </delete>
+    <delete id="deleteByScheduling">
+        DELETE
+        FROM north_glass_mes.engineer_scheduling
+        WHERE project_no = #{engineerId}
+        and type in (
+        <foreach collection="types" item="item" separator=",">
+            #{item}
+        </foreach>
+        )
+    </delete>
 
     <!-- 鎵归噺鎻掑叆鏁版嵁鍒癳ngineer_scheduling琛� -->
     <insert id="batchInsert">

--
Gitblit v1.8.0