Sfoglia il codice sorgente

fix:服务区间用签约日期排序

ly 11 mesi fa
parent
commit
3ead64d7e7

+ 6 - 6
src/main/java/cn/ezhizao/project/business/order/controller/BizArchiveInputController.java

@@ -37,7 +37,6 @@ import cn.ezhizao.project.system.service.ISysFileStorageService;
 import cn.ezhizao.project.system.service.ISysUserService;
 import cn.hutool.core.date.DateField;
 import cn.hutool.core.date.DateTime;
-import cn.hutool.http.HttpUtil;
 import com.alibaba.nacos.common.utils.CollectionUtils;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.springframework.core.io.ResourceLoader;
@@ -621,13 +620,13 @@ public class BizArchiveInputController extends BaseController {
             logger.error("获取工单失败");
             return null;
         }
-        List<BizWorkOrderDetail> list = bizWorkOrderDetailService.list(new LambdaQueryWrapper<BizWorkOrderDetail>()
-                .eq(BizWorkOrderDetail::getWorkOrderId, workOrderId)
-                .eq(BizWorkOrderDetail::getTaskTypeId, typeId)
-                .orderByAsc(BizWorkOrderDetail::getCreateTime));
-
+        //一个工单对应多个工单详细,一个工单可以挂多个合同
+        //获取工单对应的工单详细(里面的数据有一些是从合同写入的)需要用签约日期排序
+        List<BizWorkOrderDetail> list = bizWorkOrderDetailService.selectByWorkOrderId(contractId,workOrderId,typeId);
+        //合同详细id转成list
         List<Long> indexList = list.stream().map(m -> m.getContractDetailId()).collect(Collectors.toList());
         //确定当前索引元素
+        //获取当前方法传入的合同详细id在列表中的位置
         int i = indexList.indexOf(contractDetailId);
         if (i == -1) {
             return null;
@@ -635,6 +634,7 @@ public class BizArchiveInputController extends BaseController {
         //当前元素所有月份
         BizWorkOrderDetail bizWorkOrderDetail = list.get(i);
         int monthNum = bizWorkOrderDetail.getFreeNum() + bizWorkOrderDetail.getServiceNum();
+        //获取位置之前所有数据月数的和(设置结束月)
         //判断是不是第一个
         if (i == 0) {
             DateTime startMonth = DateTime.of(workOrder.getStartMonth());

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

@@ -30,4 +30,6 @@ public interface BizWorkOrderDetailMapper extends BaseMapper<BizWorkOrderDetail>
     public void updateByTenantId(@Param("tenantId") Long tenantId);
     BizWorkOrderDetail getDetail(BizWorkOrderDetail workOrderDetaul);
     int deleteDuplicateId(@Param("tenantId")Long tenantId);
+
+    List<BizWorkOrderDetail> selectByWorkOrderId(Long contractId, Long workOrderId, Long typeId);
 }

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

@@ -29,4 +29,5 @@ public interface IBizWorkOrderDetailService extends IService<BizWorkOrderDetail>
     public void updateByTenantId(Long tenantId);
     BizWorkOrderDetail getDetail(BizWorkOrderDetail workOrderDetaul);
     int deleteDuplicateId(Long tenantId);
+    List<BizWorkOrderDetail> selectByWorkOrderId(Long contractId, Long workOrderId, Long typeId);
 }

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

@@ -1,6 +1,5 @@
 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;
@@ -56,4 +55,9 @@ public class BizWorkOrderDetailServiceImpl  extends ServiceImpl<BizWorkOrderDeta
     public int deleteDuplicateId(Long tenantId) {
         return bizWorkOrderDetailMapper.deleteDuplicateId(tenantId);
     }
+
+    @Override
+    public List<BizWorkOrderDetail> selectByWorkOrderId(Long contractId, Long workOrderId, Long typeId) {
+        return bizWorkOrderDetailMapper.selectByWorkOrderId(contractId,workOrderId,typeId);
+    }
 }

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

@@ -76,4 +76,13 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
           and detail.contract_id = 0
           and workorder.contract_id != 0;
     </update>
+
+    <select id="selectByWorkOrderId" resultMap="BizWorkOrderDetailResult">
+        select * from biz_work_order_detail orderDetail
+        left join biz_archive_input input on input.id = orderDetail.contract_id
+        where orderDetail.work_order_id = #{workOrderId}
+            and orderDetail.task_type_id = #{typeId}
+        order by input.form_date asc
+
+    </select>
 </mapper>