Browse Source

no message

ly 1 năm trước cách đây
mục cha
commit
21efdab6e1

+ 15 - 13
src/main/java/cn/ezhizao/project/business/order/service/impl/BizArchiveInputServiceImpl.java

@@ -598,22 +598,24 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
         List<BizWorkOrderRecord> records = workOrderRecordService.query().in("work_order_id", workOrders.stream().map(BizWorkOrder::getId).collect(Collectors.toList())).list();
         AtomicBoolean status = new AtomicBoolean(true);
         workOrders.forEach(l -> {
-            // 除了删除的工单明细之外的工单
-            l.setDetails(otherDetails.stream().filter(v -> v.getWorkOrderId().equals(l.getId())).collect(Collectors.toList()));
-            // 完成的部分
-            l.setRecords(records.stream().filter(v -> v.getWorkOrderId().equals(l.getId())).collect(Collectors.toList()));
-            if (l.getStartMonth() != null) {
-                // 余下明细的结束月
-                Integer monthNun = l.getDetails().stream().mapToInt(v -> v.getServiceNum() + v.getFreeNum()).sum();
-                DateTime startDate = DateTime.of(l.getStartMonth());
-                DateTime endDate = startDate.offsetNew(DateField.MONTH, monthNun - 1);
-                if (records.stream().noneMatch(v -> (v.getYear() + v.getMonth()).compareTo(endDate.toString("yyyyMM")) >= 0)) {
-                    status.set(false);
+            if (otherDetails.size()>0 &&records.size()>0) {
+                // 除了删除的工单明细之外的工单
+                l.setDetails(otherDetails.stream().filter(v -> v.getWorkOrderId().equals(l.getId())).collect(Collectors.toList()));
+                // 完成的部分
+                l.setRecords(records.stream().filter(v -> v.getWorkOrderId().equals(l.getId())).collect(Collectors.toList()));
+                if (l.getStartMonth() != null) {
+                    // 余下明细的结束月
+                    Integer monthNun = l.getDetails().stream().mapToInt(v -> v.getServiceNum() + v.getFreeNum()).sum();
+                    DateTime startDate = DateTime.of(l.getStartMonth());
+                    DateTime endDate = startDate.offsetNew(DateField.MONTH, monthNun - 1);
+                    if (records.stream().noneMatch(v -> (v.getYear() + v.getMonth()).compareTo(endDate.toString("yyyyMM")) >= 0)) {
+                        status.set(false);
+                    } else {
+                        status.set(status.get());
+                    }
                 } else {
                     status.set(status.get());
                 }
-            } else {
-                status.set(status.get());
             }
         });
         return status.get();

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

@@ -25,7 +25,7 @@
         left join sys_user t5 on t5.user_id = t1.service_id
         LEFT JOIN biz_archive_input_detail t6 ON t6.id = t1.contract_detail_id
         <trim prefix=" WHERE" suffix="" suffixOverrides="AND">
-            t1.deleted = 0
+            t1.deleted = 0 and t6.from_id = 0
             <if test="id != null "> AND t1.id = #{id}</if>
             <if test="contractDetailId != null "> AND t1.contract_detail_id = #{contractDetailId}</if>
             <if test="tenantId != null "> AND t1.tenant_id = #{tenantId}</if>