|
@@ -16,6 +16,9 @@ import cn.ezhizao.common.utils.StringUtils;
|
|
import cn.ezhizao.common.utils.uuid.SnowflakeIdWorker;
|
|
import cn.ezhizao.common.utils.uuid.SnowflakeIdWorker;
|
|
import cn.ezhizao.project.business.channel.domain.BizChannel;
|
|
import cn.ezhizao.project.business.channel.domain.BizChannel;
|
|
import cn.ezhizao.project.business.channel.service.IBizChannelService;
|
|
import cn.ezhizao.project.business.channel.service.IBizChannelService;
|
|
|
|
+import cn.ezhizao.project.business.collection.domain.BizCollection;
|
|
|
|
+import cn.ezhizao.project.business.collection.domain.BizCollectionDetail;
|
|
|
|
+import cn.ezhizao.project.business.collection.service.IBizCollectionDetailService;
|
|
import cn.ezhizao.project.business.company.domain.BizCompany;
|
|
import cn.ezhizao.project.business.company.domain.BizCompany;
|
|
import cn.ezhizao.project.business.company.domain.DictRegion;
|
|
import cn.ezhizao.project.business.company.domain.DictRegion;
|
|
import cn.ezhizao.project.business.company.service.IBizCompanyService;
|
|
import cn.ezhizao.project.business.company.service.IBizCompanyService;
|
|
@@ -42,6 +45,8 @@ import cn.ezhizao.project.system.service.ISysFileStorageService;
|
|
import cn.ezhizao.project.system.service.ISysUserService;
|
|
import cn.ezhizao.project.system.service.ISysUserService;
|
|
import cn.hutool.core.date.DateField;
|
|
import cn.hutool.core.date.DateField;
|
|
import cn.hutool.core.date.DateTime;
|
|
import cn.hutool.core.date.DateTime;
|
|
|
|
+import com.alibaba.nacos.common.utils.CollectionUtils;
|
|
|
|
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
|
|
import org.springframework.stereotype.Service;
|
|
import org.springframework.stereotype.Service;
|
|
@@ -83,6 +88,8 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
|
|
private IBizSourceService bizSourceService;
|
|
private IBizSourceService bizSourceService;
|
|
@Resource
|
|
@Resource
|
|
SnowflakeIdWorker snowflakeIdWorker;
|
|
SnowflakeIdWorker snowflakeIdWorker;
|
|
|
|
+ @Resource
|
|
|
|
+ private IBizCollectionDetailService bizCollectionDetailService;
|
|
|
|
|
|
final String[] reportTaskTableNames = {"biz_financial_individual_income_tax", "biz_financial_keep_account", "biz_financial_receive_ticket", "biz_financial_report_tax", "biz_financial_salary"};
|
|
final String[] reportTaskTableNames = {"biz_financial_individual_income_tax", "biz_financial_keep_account", "biz_financial_receive_ticket", "biz_financial_report_tax", "biz_financial_salary"};
|
|
|
|
|
|
@@ -134,7 +141,8 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
|
|
if (bizArchiveInput.getServiceType().equals(1)) {
|
|
if (bizArchiveInput.getServiceType().equals(1)) {
|
|
// 假设是循环 判断是否已有该任务并没有签出
|
|
// 假设是循环 判断是否已有该任务并没有签出
|
|
details.forEach(l -> {
|
|
details.forEach(l -> {
|
|
- List<BizWorkOrder> workOrders = workOrderService.query().eq("company_id", bizArchiveInput.getCompanyId()).eq("task_type_id", l.getTaskTypeId()).eq("is_stop", 0).list();
|
|
|
|
|
|
+ List<BizWorkOrder> workOrders = workOrderService.query().eq("deleted", 0)
|
|
|
|
+ .eq("company_id", bizArchiveInput.getCompanyId()).eq("task_type_id", l.getTaskTypeId()).eq("is_stop", 0).list();
|
|
List<BizWorkOrderDetail> workOrderDetails = workOrderDetailService.query().eq("contract_detail_id", l.getId()).eq("is_stop", 0).list();
|
|
List<BizWorkOrderDetail> workOrderDetails = workOrderDetailService.query().eq("contract_detail_id", l.getId()).eq("is_stop", 0).list();
|
|
// 假设未有该任务 添加任务记录
|
|
// 假设未有该任务 添加任务记录
|
|
if (workOrders.isEmpty()) {
|
|
if (workOrders.isEmpty()) {
|
|
@@ -303,6 +311,9 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
|
|
stopWorkOrders.forEach(l -> l.setIsStop(1));
|
|
stopWorkOrders.forEach(l -> l.setIsStop(1));
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
boolean status = (newWorkOrderDetails.isEmpty() || workOrderDetailService.saveBatch(newWorkOrderDetails))
|
|
boolean status = (newWorkOrderDetails.isEmpty() || workOrderDetailService.saveBatch(newWorkOrderDetails))
|
|
&& (newWorkOrders.isEmpty() || workOrderService.saveBatch(newWorkOrders))
|
|
&& (newWorkOrders.isEmpty() || workOrderService.saveBatch(newWorkOrders))
|
|
&& (stopWorkOrders.isEmpty() || workOrderService.updateBatchById(stopWorkOrders))
|
|
&& (stopWorkOrders.isEmpty() || workOrderService.updateBatchById(stopWorkOrders))
|
|
@@ -598,22 +609,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();
|
|
List<BizWorkOrderRecord> records = workOrderRecordService.query().in("work_order_id", workOrders.stream().map(BizWorkOrder::getId).collect(Collectors.toList())).list();
|
|
AtomicBoolean status = new AtomicBoolean(true);
|
|
AtomicBoolean status = new AtomicBoolean(true);
|
|
workOrders.forEach(l -> {
|
|
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 {
|
|
} else {
|
|
status.set(status.get());
|
|
status.set(status.get());
|
|
}
|
|
}
|
|
- } else {
|
|
|
|
- status.set(status.get());
|
|
|
|
}
|
|
}
|
|
});
|
|
});
|
|
return status.get();
|
|
return status.get();
|