Переглянути джерело

fix:升级时需要把工单详情里没有合同id的设为deleted 1,页面延续设置判断改变

ly 11 місяців тому
батько
коміт
ed6a0949e9

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

@@ -1,17 +1,13 @@
 package cn.ezhizao.project.business.upgrade.service.impl;
 
-import java.util.ArrayList;
-import java.util.Collections;
 import java.util.List;
 import javax.annotation.Resource;
 
-import cn.ezhizao.project.business.upgrade.mapper.BizWorkOrderDetailUpdateMapper;
 import cn.ezhizao.project.business.upgrade.mapper.BizWorkOrderUpdateMapper;
 import cn.ezhizao.project.business.workOrder.domain.BizWorkOrder;
 import cn.ezhizao.project.business.workOrder.domain.BizWorkOrderDetail;
 import cn.ezhizao.project.business.workOrder.service.impl.BizWorkOrderDetailServiceImpl;
 import cn.ezhizao.project.business.workOrder.service.impl.BizWorkOrderServiceImpl;
-import cn.ezhizao.project.system.domain.SysUser;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
@@ -81,14 +77,15 @@ public class BizWorkOrderUpdateServiceImpl  extends ServiceImpl<BizWorkOrderUpda
         query2.setTenantId(tenantId);
         //从BizWorkOrderUpdate中获取获取同账套下的工单 并且不用BizWorkOrderUpdate接受,改用BizWorkOrder 保存时不用赋值了
         List<BizWorkOrder> bizWorkOrderList = bizWorkOrderUpdateMapper.selectByUpgradeId(query);
+        bizWorkOrderList.forEach(bizWorkOrder -> bizWorkOrder.setVersion(null));
         List<BizWorkOrderDetail> bizWorkOrderDetailList = bizWorkOrderDetailUpdateService.selectByUpgradeId(query2);
+        bizWorkOrderDetailList.forEach(bizWorkOrderDetail -> bizWorkOrderDetail.setVersion(null));
         bizWorkOrderService.saveOrUpdateBatch(bizWorkOrderList);
         bizWorkOrderDetailService.saveOrUpdateBatch(bizWorkOrderDetailList);
 
-        List<Long> ids = bizWorkOrderDetailService.selectByContractId(tenantId);
-        bizWorkOrderDetailService.lambdaUpdate()
-                .set(BizWorkOrderDetail::getDeleted,1)
-                .in(BizWorkOrderDetail::getId,ids);
+        int i = bizWorkOrderDetailService.deleteDuplicateId(tenantId);
+
+        System.out.println(i);
     }
 
     @Override

+ 6 - 1
src/main/java/cn/ezhizao/project/business/workOrder/controller/BizWorkOrderController.java

@@ -170,7 +170,9 @@ public class BizWorkOrderController extends BaseController {
 
                         //如果只有一个合同
                         if (detailList.size() == 1) {
-
+                            if(null == detailList.get(0).getAccountsReceivable()){
+                                System.out.println("好了");
+                            }
                             //且收款金额为0
                             detailList.get(0).setTotalityMoney(detailList.get(0).getTotalityMoney() == null ? new BigDecimal(0) : detailList.get(0).getTotalityMoney());
                             if (detailList.get(0).getAccountsReceivable().compareTo(new BigDecimal(0)) == 0) {
@@ -219,6 +221,9 @@ public class BizWorkOrderController extends BaseController {
                                 BizArchiveInputDetail detail = bizArchiveInputDetailService.getById(contractDetailId);
                                 // 该明细的合同总金额
                                 BizArchiveInput e = bizArchiveInputService.getById(d.getContractId());
+                                if(null == e){
+                                    System.out.println("a");
+                                }
                                 money = e.getAmount();
                                 //如果收款金额大于0
                                 if (d.getTotalityMoney() != null && d.getTotalityMoney().compareTo(new BigDecimal(0)) > 0 && d.getServiceNum() > 0) {

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

@@ -29,5 +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);
+    int deleteDuplicateId(@Param("tenantId")Long tenantId);
 }

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

@@ -28,5 +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);
+    int deleteDuplicateId(Long tenantId);
 }

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

@@ -53,7 +53,7 @@ public class BizWorkOrderDetailServiceImpl  extends ServiceImpl<BizWorkOrderDeta
 
 
     @Override
-    public List<Long> selectByContractId(Long tenantId) {
-        return bizWorkOrderDetailMapper.selectByContractId(tenantId);
+    public int deleteDuplicateId(Long tenantId) {
+        return bizWorkOrderDetailMapper.deleteDuplicateId(tenantId);
     }
 }

+ 4 - 3
src/main/resources/mybatis/business/BizWorkOrderDetailMapper.xml

@@ -67,12 +67,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
+    <update id="deleteDuplicateId">
+        update  biz_work_order_detail as detail
                           left join biz_work_order as workorder on detail.work_order_id = workorder.id
+        set detail.deleted = 1
         where workorder.id is not null
           and detail.tenant_id = #{tenantId}
           and detail.contract_id = 0
           and workorder.contract_id != 0;
-    </select>
+    </update>
 </mapper>