ly 1 rok pred
rodič
commit
43f396d31d

+ 1 - 1
src/main/java/cn/ezhizao/common/utils/poi/ExcelUtil.java

@@ -1460,7 +1460,7 @@ public class ExcelUtil<T>
      */
     public void createWorkbook()
     {
-        this.wb = new SXSSFWorkbook(500);
+        this.wb = new SXSSFWorkbook(-1);
         this.sheet = wb.createSheet();
         wb.setSheetName(0, sheetName);
         this.styles = createStyles(wb);

+ 10 - 0
src/main/java/cn/ezhizao/project/business/keepAccounts/domain/BizFinancialKeepAccount.java

@@ -1,5 +1,6 @@
 package cn.ezhizao.project.business.keepAccounts.domain;
 
+import cn.ezhizao.framework.aspectj.lang.annotation.Excel;
 import cn.ezhizao.framework.web.domain.BaseEntity;
 import com.baomidou.mybatisplus.annotation.TableField;
 import io.swagger.annotations.ApiModel;
@@ -8,6 +9,7 @@ import lombok.Data;
 import lombok.EqualsAndHashCode;
 import lombok.experimental.Accessors;
 
+import java.util.Date;
 import java.util.List;
 
 @EqualsAndHashCode(callSuper = true)
@@ -67,4 +69,12 @@ public class BizFinancialKeepAccount extends BaseEntity {
     @ApiModelProperty(value = "是否零申报")
     @TableField(exist = false)
     private Integer isZero;
+    @TableField(exist = false)
+    @Excel(name = "上传时间", sort = 8)
+    private Date finishTime;
+    @TableField(exist = false)
+    private Long finishUserId;
+    @TableField(exist = false)
+    @Excel(name = "上传人", sort = 8)
+    private String finishUserName;
 }

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

@@ -11,6 +11,8 @@ import cn.ezhizao.framework.web.domain.AjaxResult;
 import cn.ezhizao.framework.web.page.TableDataInfo;
 import cn.ezhizao.project.business.channel.domain.BizChannel;
 import cn.ezhizao.project.business.channel.service.IBizChannelService;
+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.service.IBizCompanyService;
 import cn.ezhizao.project.business.order.domain.*;
@@ -30,6 +32,8 @@ 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 com.alibaba.nacos.common.utils.CollectionUtils;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import org.springframework.core.io.ResourceLoader;
 import org.springframework.security.access.prepost.PreAuthorize;
 import org.springframework.transaction.annotation.Transactional;
@@ -79,7 +83,8 @@ public class BizArchiveInputController extends BaseController {
     private ISysFileStorageService fileStorageService;
     @Resource
     private IBizWorkOrderService workOrderService;
-
+    @Resource
+    private IBizCollectionDetailService bizCollectionDetailService;
     /**
      * 查询档案入库列表
      */
@@ -185,6 +190,23 @@ public class BizArchiveInputController extends BaseController {
     @Log(title = "合同变更", businessType = BusinessType.UPDATE)
     @Transactional(rollbackFor = Exception.class)
     public AjaxResult alter(@RequestBody BizArchiveInput bizArchiveInput) {
+        Long userId = SecurityUtils.getUserId();
+        List<BizArchiveInputDetail> details = archiveInputDetailService.query()
+                .eq("deleted",0)
+                .eq("contract_id", bizArchiveInput.getId()).list();
+        for (BizArchiveInputDetail item : details) {
+            BizCollectionDetail detail = new BizCollectionDetail();
+            detail.setContractId(bizArchiveInput.getId());
+            detail.setContractDetailId(item.getId());
+            detail.setTaskTypeId(item.getTaskTypeId());
+            List<BizCollectionDetail> list = bizCollectionDetailService.list(new LambdaQueryWrapper<BizCollectionDetail>()
+                    .eq(BizCollectionDetail::getContractId, bizArchiveInput.getId())
+                    .eq(BizCollectionDetail::getContractDetailId, item.getId())
+                    .eq(BizCollectionDetail::getTaskTypeId, item.getTaskTypeId()));
+            if(CollectionUtils.isNotEmpty(list)){
+                throw new RuntimeException("已存在该任务类型的收款合同,无法删除");
+            }
+        }
         BizArchiveInput oldBizArchiveInput = getById(bizArchiveInput.getId());
         checkAlter(bizArchiveInput, oldBizArchiveInput);
         setNullId(oldBizArchiveInput);

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

@@ -16,6 +16,9 @@ import cn.ezhizao.common.utils.StringUtils;
 import cn.ezhizao.common.utils.uuid.SnowflakeIdWorker;
 import cn.ezhizao.project.business.channel.domain.BizChannel;
 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.DictRegion;
 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.hutool.core.date.DateField;
 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.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
@@ -83,6 +88,8 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
     private IBizSourceService bizSourceService;
     @Resource
     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"};
 
@@ -134,7 +141,8 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
             if (bizArchiveInput.getServiceType().equals(1)) {
                 // 假设是循环 判断是否已有该任务并没有签出
                 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();
                     // 假设未有该任务 添加任务记录
                     if (workOrders.isEmpty()) {
@@ -303,6 +311,9 @@ public class BizArchiveInputServiceImpl extends ServiceImpl<BizArchiveInputMappe
                 stopWorkOrders.forEach(l -> l.setIsStop(1));
             }
         }
+
+
+
         boolean status = (newWorkOrderDetails.isEmpty() || workOrderDetailService.saveBatch(newWorkOrderDetails))
                 && (newWorkOrders.isEmpty() || workOrderService.saveBatch(newWorkOrders))
                 && (stopWorkOrders.isEmpty() || workOrderService.updateBatchById(stopWorkOrders))
@@ -598,7 +609,7 @@ 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 -> {
-            if (otherDetails.size()>0 &&records.size()>0) {
+            if (otherDetails.size() > 0 && records.size() > 0) {
                 // 除了删除的工单明细之外的工单
                 l.setDetails(otherDetails.stream().filter(v -> v.getWorkOrderId().equals(l.getId())).collect(Collectors.toList()));
                 // 完成的部分