Эх сурвалжийг харах

fix:工单延续状态修改时,判断结束时间受否到期没到期不会删除委托

ly 11 сар өмнө
parent
commit
c25e42e782

+ 3 - 0
src/main/java/cn/ezhizao/project/business/entrust/mapper/BizEntrustMapper.java

@@ -1,8 +1,10 @@
 package cn.ezhizao.project.business.entrust.mapper;
 
+import java.util.Date;
 import java.util.List;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
 import cn.ezhizao.project.business.entrust.domain.BizEntrust;
+import org.apache.ibatis.annotations.Param;
 
 /**
  * 委托Mapper接口
@@ -26,4 +28,5 @@ public interface BizEntrustMapper extends BaseMapper<BizEntrust>
      * @return 删除结果
     */
     public int physicalDelete(BizEntrust bizEntrust);
+    int deleteByDate(@Param("workOrderId")Long workOrderId, @Param("endDate") Date endDate, @Param("taskTypeId")Long taskTypeId, @Param("updaterId")Long updaterId);
 }

+ 16 - 9
src/main/java/cn/ezhizao/project/business/workOrder/service/impl/BizWorkOrderServiceImpl.java

@@ -7,6 +7,7 @@ import java.util.stream.Collectors;
 import javax.annotation.Resource;
 
 import cn.ezhizao.common.utils.SecurityUtils;
+import cn.ezhizao.project.business.entrust.mapper.BizEntrustMapper;
 import cn.ezhizao.project.business.order.mapper.BizArchiveInputMapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
@@ -28,6 +29,8 @@ public class BizWorkOrderServiceImpl  extends ServiceImpl<BizWorkOrderMapper, Bi
     private BizArchiveInputMapper bizArchiveInputMapper;
     @Resource
     private BizWorkOrderMapper bizWorkOrderMapper;
+    @Resource
+    private BizEntrustMapper bizEntrustMapper;
     final String[] reportTaskTableNames = {"biz_financial_individual_income_tax", "biz_financial_keep_account", "biz_financial_receive_ticket", "biz_financial_report_tax", "biz_financial_salary"};
 
     final String[] housingFundTaskTableNames = {"biz_housing_fund_confirm", "biz_housing_fund_declare"};
@@ -73,23 +76,27 @@ public class BizWorkOrderServiceImpl  extends ServiceImpl<BizWorkOrderMapper, Bi
     public void continueStop(List<BizWorkOrder> list) {
 
         for(BizWorkOrder bizWorkOrder : list){
+//            Date endMonth = bizWorkOrder.getEndMonth();
+            //工单实际结束时间,代理记账要多一个月
             Date endDate;
+            LocalDate now = LocalDate.now();
+            // 获取上一个月的第一天
+            LocalDate firstDayOfLastMonth = now.minusMonths(1).withDayOfMonth(1);
+            LocalDate firstDayOfMonth = now.withDayOfMonth(1);
             if (bizWorkOrder.getTaskTypeId()==1){
-                // 获取当前日期的 LocalDate 对象
-                LocalDate now = LocalDate.now();
-                // 获取上一个月的第一天
-                LocalDate firstDayOfLastMonth = now.minusMonths(1).withDayOfMonth(1);
                 // 将 LocalDate 对象转换为 Date 对象
                 endDate = Date.from(firstDayOfLastMonth.atStartOfDay(ZoneId.systemDefault()).toInstant());
+                if(endDate.compareTo(bizWorkOrder.getEndMonth())>0){
+                    //endDate = Date.from(firstDayOfMonth.atStartOfDay(ZoneId.systemDefault()).toInstant());
+                    bizEntrustMapper.deleteByDate(bizWorkOrder.getId(),endDate,bizWorkOrder.getTaskTypeId(), SecurityUtils.getUserId());
+                }
             }else {
-                // 获取当前日期的 LocalDate 对象
-                LocalDate now = LocalDate.now();
-                // 将 LocalDate 对象的日期设置为当前月份的第一天
-                LocalDate firstDayOfMonth = now.withDayOfMonth(1);
                 // 将 LocalDate 对象转换为 Date 对象
                 endDate = Date.from(firstDayOfMonth.atStartOfDay(ZoneId.systemDefault()).toInstant());
+                if(endDate.compareTo(bizWorkOrder.getEndMonth())>0){
+                    bizEntrustMapper.deleteByDate(bizWorkOrder.getId(),endDate,bizWorkOrder.getTaskTypeId(), SecurityUtils.getUserId());
+                }
             }
-            bizArchiveInputMapper.deleteByDate(bizWorkOrder.getId(),endDate,bizWorkOrder.getTaskTypeId(), SecurityUtils.getUserId());
         }
     }
 

+ 1 - 1
src/main/resources/mybatis/business/BizArchiveInputMapper.xml

@@ -200,7 +200,7 @@
         update biz_entrust entrust set entrust.deleted = 1,update_time = now(),updater_id = #{updaterId}
         where work_order_id = #{workOrderId}
         and task_type_id = #{taskTypeId}
-        <![CDATA[and current_month >= #{endDate} ]]>
+        <![CDATA[and current_month > #{endDate} ]]>
     </update>
     <delete id="physicalDelete">
         DELETE FROM biz_archive_input

+ 6 - 1
src/main/resources/mybatis/business/BizEntrustMapper.xml

@@ -23,7 +23,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
             </if>
         </trim>
     </select>
-
+    <update id="deleteByDate">
+        update biz_entrust entrust set entrust.deleted = 1,update_time = now(),updater_id = #{updaterId}
+        where work_order_id = #{workOrderId}
+        and task_type_id = #{taskTypeId}
+        <![CDATA[and current_month >= #{endDate} ]]>
+    </update>
     <delete id="physicalDelete">
         DELETE FROM biz_entrust
         <trim prefix=" WHERE" suffix="" suffixOverrides="AND">