Procházet zdrojové kódy

fix:合同解除和续签后月份和日期不对的问题

ly před 10 měsíci
rodič
revize
97efda5ab0

+ 5 - 8
src/main/java/cn/ezhizao/project/business/order/service/impl/BizArchiveInputServiceImpl.java

@@ -235,10 +235,7 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
                                 v.setServiceId(v.getServiceId() == null ? userId : v.getServiceId());
                                 if (v.getStartMonth() != null) {
                                     DateTime startMonth = DateTime.of(v.getStartMonth());
-                                    if(v.getTaskTypeId() != 1L){
-                                        monthNum = monthNum-1;
-                                    }
-                                    v.setEndMonth(startMonth.offset(DateField.MONTH, monthNum).toSqlDate());
+                                    v.setEndMonth(startMonth.offset(DateField.MONTH, monthNum-1).toSqlDate());
                                 }
                                 changeWorkOrders.add(v);
                             });
@@ -262,10 +259,7 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
                                 l.setMonthNum(monthNum);
                                 if (l.getStartMonth() != null) {
                                     DateTime startMonth = DateTime.of(l.getStartMonth());
-                                    if(l.getTaskTypeId() != 1L){
-                                        monthNum = monthNum-1;
-                                    }
-                                    l.setEndMonth(startMonth.offset(DateField.MONTH, monthNum).toSqlDate());
+                                    l.setEndMonth(startMonth.offset(DateField.MONTH, monthNum-1).toSqlDate());
                                 }
                                 changeWorkOrders.add(l);
                             }
@@ -616,6 +610,9 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
                             l.setIsContinue(0);
                             updateMonth(bizArchiveInput, l, details);
                         } else {
+                            if(l.getTaskTypeId() == 1L){
+                                months++;
+                            }
                             // 不停止工单 只修改工单完成时间
                             l.setMonthNum(months);
                             // 获取当前日期的 LocalDate 对象