Browse Source

提交相关代码

Lijy 2 ngày trước cách đây
mục cha
commit
824d1ced6b

+ 2 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ErpOrderInfoController.java

@@ -25,8 +25,8 @@ public class ErpOrderInfoController {
 
 
     @RequestMapping("/getInfoByProjectId")
-    public HttpRespMsg getInfoByProjectId(@RequestParam String projectId, HttpServletRequest request) {
-        return erpOrderInfoService.getInfoByProjectId(projectId,request);
+    public HttpRespMsg getInfoByProjectId(@RequestParam String projectId, String date, HttpServletRequest request) {
+        return erpOrderInfoService.getInfoByProjectId(projectId,date, request);
     }
 
 }

+ 7 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/ReportController.java

@@ -1593,6 +1593,13 @@ public class ReportController {
                                 } else {
                                     errorMsg = "工时系统中尚未设置部门编号:"+first.get().getDeptId();
                                 }
+                                if (errorMsg == null) {
+                                    //校验工单号的状态是否关闭
+                                    if (first.get().getStatus() == 4 && report.getCreateDate().isAfter(first.get().getCloseDate())) {
+                                        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+                                        errorMsg = "工单号:"+report.getExtraField4()+"于"+dateTimeFormatter.format(first.get().getCloseDate())+"已关闭";
+                                    }
+                                }
                             }
                         } else {
                             errorMsg = "erpOrderInfo表中工单号不存在:"+report.getExtraField4();

+ 7 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/entity/ErpOrderInfo.java

@@ -16,7 +16,7 @@ import lombok.experimental.Accessors;
  * </p>
  *
  * @author Seyason
- * @since 2025-05-03
+ * @since 2025-05-16
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -76,6 +76,12 @@ public class ErpOrderInfo extends Model<ErpOrderInfo> {
     @TableField("dept_id")
     private String deptId;
 
+    /**
+     * 关闭日期
+     */
+    @TableField("close_date")
+    private LocalDate closeDate;
+
     @TableField(exist = false)
     private Integer pageIndex;
 
@@ -85,7 +91,6 @@ public class ErpOrderInfo extends Model<ErpOrderInfo> {
     @TableField(exist = false)
     private String trueProjectId;
 
-
     @Override
     protected Serializable pkVal() {
         return this.id;

+ 3 - 0
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/mapper/ErpOrderInfoMapper.java

@@ -16,4 +16,7 @@ public interface ErpOrderInfoMapper extends BaseMapper<ErpOrderInfo> {
     List<ErpOrderInfo> getPageInfo(@Param("erpOrderInfo") ErpOrderInfo erpOrderInfo);
 
     List<ErpOrderInfo> getWithProject(@Param("erpIds") List<String> erpIds,@Param("specialCompanyId") int specialCompanyId);
+
+    List<ErpOrderInfo> getActiveErpInfoList(@Param("projectId") String projectId, @Param("date") String date);
+
 }

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/ErpOrderInfoService.java

@@ -7,7 +7,7 @@ import com.management.platform.util.HttpRespMsg;
 import javax.servlet.http.HttpServletRequest;
 
 public interface ErpOrderInfoService extends IService<ErpOrderInfo> {
-    HttpRespMsg getInfoByProjectId(String projectId, HttpServletRequest request);
+    HttpRespMsg getInfoByProjectId(String projectId, String date,HttpServletRequest request);
 
     HttpRespMsg getInfoPage(ErpOrderInfo erpOrderInfo, HttpServletRequest request);
 }

+ 4 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/service/impl/ErpOrderInfoServiceImpl.java

@@ -1,6 +1,7 @@
 package com.management.platform.service.impl;
 
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.management.platform.entity.ErpOrderInfo;
 import com.management.platform.mapper.ErpOrderInfoMapper;
@@ -30,13 +31,11 @@ public class ErpOrderInfoServiceImpl extends ServiceImpl<ErpOrderInfoMapper, Erp
 
 
     @Override
-    public HttpRespMsg getInfoByProjectId(String projectId, HttpServletRequest request) {
+    public HttpRespMsg getInfoByProjectId(String projectId, String date, HttpServletRequest request) {
         HttpRespMsg httpRespMsg = new HttpRespMsg();
 //        User user = userMapper.selectById(request.getHeader("Token"));
-        List<ErpOrderInfo> erpOrderInfos = erpOrderInfoMapper.selectList(new LambdaQueryWrapper<ErpOrderInfo>()
-                .eq(ErpOrderInfo::getProjectId, projectId)
-                .ne(ErpOrderInfo::getStatus, 4)
-        );
+        List<ErpOrderInfo> erpOrderInfos = erpOrderInfoMapper.getActiveErpInfoList(projectId, date);
+
         List<String> orderIds = new ArrayList<>();
         List<Integer> lines = new ArrayList<>();
         if(CollectionUtils.isNotEmpty(erpOrderInfos)){

+ 2 - 14
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/DataCollectTask.java

@@ -206,7 +206,7 @@ public class DataCollectTask {
 
 
     @Scheduled(cron = "0 0 1 * * ?")
-//    @Scheduled(cron = "0 0 11 * * ?")
+//    @Scheduled(cron = "10 43 17 * * ?")
     @Async
     public void sqlServerTask() {
         if(isDev){return;}
@@ -228,7 +228,6 @@ public class DataCollectTask {
             } else {
                 System.out.println("请求失败,状态码: " + sumResponse.getStatusCode());
             }
-            System.out.println("总数量为==== "+totalNum);
             if(totalNum > 0){
                 int pageSize = 1000;
                 int offset = 0;
@@ -251,8 +250,6 @@ public class DataCollectTask {
                         //dataList中是进行中的工单
                         List<ErpOrderInfo> dataList = listResponse.getBody();
                         List<ErpOrderInfo> erpOrderInfos = erpOrderInfoMapper.selectList(new LambdaQueryWrapper<ErpOrderInfo>());
-                        List<ErpOrderInfo> closeInfoList = new ArrayList<>();
-                        List<String> collect = dataList.stream().map(ErpOrderInfo::getMoDId).collect(Collectors.toList());
                         if(org.apache.commons.collections.CollectionUtils.isNotEmpty(dataList)){
                             for (ErpOrderInfo item : dataList) {
                                 Optional<ErpOrderInfo> first = erpOrderInfos.stream().filter(t -> t.getMoDId().equals(item.getMoDId())).findFirst();
@@ -264,22 +261,14 @@ public class DataCollectTask {
                                 }
                             }
                             if(!CollectionUtils.isEmpty(toAddList)){
-                                erpOrderInfoMapper.batchInsert(toAddList);
+                                erpOrderInfoService.saveBatch(toAddList);
                             }
                             if(!CollectionUtils.isEmpty(toUpdateList)){
                                 erpOrderInfoService.updateBatchById(toUpdateList);
                             }
                             toUpdateList.clear();
                             toAddList.clear();
-                            erpOrderInfos.stream().filter(t -> !collect.contains(t.getMoDId())).forEach(t -> closeInfoList.add(new ErpOrderInfo().setId(t.getId()).setStatus(4)));
-                            if(!CollectionUtils.isEmpty(closeInfoList)){
-                                erpOrderInfoService.updateBatchById(closeInfoList);
-                            }
-                        } else {
-                            //全部关闭
-                            erpOrderInfoMapper.update(new ErpOrderInfo().setStatus(4), new QueryWrapper<ErpOrderInfo>());
                         }
-
                     }
                     offset += pageSize;
                 }
@@ -288,7 +277,6 @@ public class DataCollectTask {
             System.out.println("请求发生异常: " + e.getMessage());
             e.printStackTrace();
         }
-
     }
 
     @Scheduled(cron = "0 30 1 * * ?")

+ 14 - 5
fhKeeper/formulahousekeeper/management-platform/src/main/resources/mapper/ErpOrderInfoMapper.xml

@@ -13,18 +13,18 @@
         <result column="moDId" property="moDId" />
         <result column="rels_date" property="relsDate" />
         <result column="dept_id" property="deptId" />
+        <result column="close_date" property="closeDate" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, order_id, project_id, project_name, line, status, moDId, rels_date, dept_id
+        id, order_id, project_id, project_name, line, status, moDId, rels_date, dept_id, close_date
     </sql>
     <insert id="batchInsert">
-        insert into erp_order_info(order_id, project_id, project_name, line, status,rels_date,moDId,dept_id)
+        insert into erp_order_info(order_id, project_id, project_name, line, status,rels_date,moDId,dept_id, close_date)
         VALUES
-
         <foreach collection="resList" separator="," item="res">
-            (#{res.orderId},#{res.projectId},#{res.projectName},#{res.line},#{res.status},#{res.relsDate},#{res.moDId},#{res.deptId})
+            (#{res.orderId},#{res.projectId},#{res.projectName},#{res.line},#{res.status},#{res.relsDate},#{res.moDId},#{res.deptId}, #{closeDate})
         </foreach>
     </insert>
     <select id="getExistIds" resultType="java.lang.String">
@@ -33,7 +33,7 @@
         where moDId in <foreach collection="moIds" item="moId" separator="," open="(" close=")">#{moId}</foreach>
     </select>
     <select id="getPageInfo" resultType="com.management.platform.entity.ErpOrderInfo">
-        SELECT id,order_id,project_id,project_name,line,status,moDId,rels_date FROM erp_order_info
+        SELECT id,order_id,project_id,project_name,line,status,moDId,rels_date, dept_id, close_date FROM erp_order_info
         <where>
             status = 3
             <if test="erpOrderInfo.orderId != null and erpOrderInfo.orderId != ''">
@@ -60,4 +60,13 @@
         where p.company_id = #{specialCompanyId}
         and eoi.id in <foreach collection="erpIds" item="erpId" open="(" close=")" separator=",">#{erpId}</foreach>
     </select>
+
+    <select id="getActiveErpInfoList" resultType="com.management.platform.entity.ErpOrderInfo">
+        select *
+        from erp_order_info where project_id = #{projectId} and (status = 3
+        <if test="date != null">
+        or (status = 4 and close_date &gt;= #{date})
+        </if>
+        )
+    </select>
 </mapper>