Browse Source

fix:升级时需要把工单详情里没有合同id的设为deleted 1

ly 11 months ago
parent
commit
a2a126b295

+ 0 - 1
src/main/java/cn/ezhizao/project/business/upgrade/service/impl/BizArchiveInputTempServiceImpl.java

@@ -620,7 +620,6 @@ public class BizArchiveInputTempServiceImpl extends ServiceImpl<BizArchiveInputT
                     workOrderDetailUpdate.setWorkOrderId(workOrderUpdate.getId());
                     workOrderDetailUpdate.setContractDetailId(inputDetail.getId());
                     workOrderDetailUpdate.setContractId(inputDetail.getContractId());
-                    workOrderDetailUpdate.setContractDetailId(inputDetail.getId());
                     workOrderDetailUpdate.setFreeNum(inputDetail.getFreeNum());
                     workOrderDetailUpdate.setServiceNum(inputDetail.getServiceNum());
                     workOrderDetailUpdates.add(workOrderDetailUpdate);

+ 5 - 0
src/main/java/cn/ezhizao/project/business/upgrade/service/impl/BizWorkOrderUpdateServiceImpl.java

@@ -84,6 +84,11 @@ public class BizWorkOrderUpdateServiceImpl  extends ServiceImpl<BizWorkOrderUpda
         List<BizWorkOrderDetail> bizWorkOrderDetailList = bizWorkOrderDetailUpdateService.selectByUpgradeId(query2);
         bizWorkOrderService.saveOrUpdateBatch(bizWorkOrderList);
         bizWorkOrderDetailService.saveOrUpdateBatch(bizWorkOrderDetailList);
+
+        List<Long> ids = bizWorkOrderDetailService.selectByContractId(tenantId);
+        bizWorkOrderDetailService.lambdaUpdate()
+                .set(BizWorkOrderDetail::getDeleted,1)
+                .in(BizWorkOrderDetail::getId,ids);
     }
 
     @Override

+ 1 - 0
src/main/java/cn/ezhizao/project/business/workOrder/mapper/BizWorkOrderDetailMapper.java

@@ -29,4 +29,5 @@ public interface BizWorkOrderDetailMapper extends BaseMapper<BizWorkOrderDetail>
     public int physicalDelete(BizWorkOrderDetail bizWorkOrderDetail);
     public void updateByTenantId(@Param("tenantId") Long tenantId);
     BizWorkOrderDetail getDetail(BizWorkOrderDetail workOrderDetaul);
+    List<Long>selectByContractId(@Param("tenantId")Long tenantId);
 }

+ 1 - 0
src/main/java/cn/ezhizao/project/business/workOrder/service/IBizWorkOrderDetailService.java

@@ -28,4 +28,5 @@ public interface IBizWorkOrderDetailService extends IService<BizWorkOrderDetail>
     public int physicalDelete(BizWorkOrderDetail bizWorkOrderDetail);
     public void updateByTenantId(Long tenantId);
     BizWorkOrderDetail getDetail(BizWorkOrderDetail workOrderDetaul);
+    List<Long> selectByContractId(Long tenantId);
 }

+ 7 - 0
src/main/java/cn/ezhizao/project/business/workOrder/service/impl/BizWorkOrderDetailServiceImpl.java

@@ -1,5 +1,6 @@
 package cn.ezhizao.project.business.workOrder.service.impl;
 
+import java.util.Collections;
 import java.util.List;
 import javax.annotation.Resource;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
@@ -49,4 +50,10 @@ public class BizWorkOrderDetailServiceImpl  extends ServiceImpl<BizWorkOrderDeta
     public BizWorkOrderDetail getDetail(BizWorkOrderDetail workOrderDetaul) {
         return bizWorkOrderDetailMapper.getDetail(workOrderDetaul);
     }
+
+
+    @Override
+    public List<Long> selectByContractId(Long tenantId) {
+        return bizWorkOrderDetailMapper.selectByContractId(tenantId);
+    }
 }

+ 3 - 0
src/main/java/cn/ezhizao/project/business/workOrder/service/impl/BizWorkOrderServiceImpl.java

@@ -1,5 +1,6 @@
 package cn.ezhizao.project.business.workOrder.service.impl;
 
+import java.util.Collections;
 import java.util.List;
 import java.util.Map;
 import javax.annotation.Resource;
@@ -74,4 +75,6 @@ public class BizWorkOrderServiceImpl  extends ServiceImpl<BizWorkOrderMapper, Bi
     public void updateByWorkOrderId(List<Long> ids) {
         bizWorkOrderMapper.updateByWorkOrderId(ids);
     }
+
+
 }

+ 9 - 0
src/main/resources/mybatis/business/BizWorkOrderDetailMapper.xml

@@ -66,4 +66,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
        <!-- 删除条件为其他外键可以在这里加 -->
         </trim>
     </delete>
+
+    <select id="selectByContractId" resultType="java.lang.Long">
+        select detail.id from biz_work_order_detail as detail
+                          left join biz_work_order as workorder on detail.work_order_id = workorder.id
+        where workorder.id is not null
+          and detail.tenant_id = #{tenantId}
+          and detail.contract_id = 0
+          and workorder.contract_id != 0;
+    </select>
 </mapper>