Prechádzať zdrojové kódy

fix:本月工单导入修改

ly 9 mesiacov pred
rodič
commit
4dd778d55d

+ 89 - 87
src/main/java/cn/ezhizao/project/business/workOrder/controller/WorkOrderCurrentController.java

@@ -12,6 +12,7 @@ import cn.ezhizao.framework.aspectj.lang.annotation.distributedLock;
 import cn.ezhizao.framework.aspectj.lang.enums.BusinessType;
 import cn.ezhizao.framework.web.controller.BaseController;
 import cn.ezhizao.framework.web.domain.AjaxResult;
+import cn.ezhizao.framework.web.domain.BaseEntity;
 import cn.ezhizao.framework.web.page.TableDataInfo;
 import cn.ezhizao.project.business.company.domain.BizCompany;
 import cn.ezhizao.project.business.company.service.IBizCompanyService;
@@ -239,108 +240,109 @@ public class WorkOrderCurrentController extends BaseController {
         AtomicInteger failureNum = new AtomicInteger();
         StringBuilder successMsg = new StringBuilder();
         StringBuilder failureMsg = new StringBuilder();
-        try {
 
-            Long tenantId = getTenantId();
-            //获取当前月
-            SysCurrentMonth sysCurrentMonth = sysCurrentMonthService.getOne(new QueryWrapper<SysCurrentMonth>().eq("tenant_id", tenantId).eq("type", 0));
-            String day = "-01";
-            String workMonth = sysCurrentMonth.getYear() + "-" + sysCurrentMonth.getMonth() + day;
-            ExcelUtil<EntrustVo> util = new ExcelUtil<>(EntrustVo.class);
-            List<EntrustVo> entrustVos = util.importExcel(file.getInputStream());
-            List<EntrustVo> newEntrustList = new ArrayList<>();
-            entrustVos.forEach(f -> {
-                ArrayList<Integer> objects = new ArrayList<>();
-                if (f.getTaskName1().equals("是")) {
-                    objects.add(1);
-                }
-                if (f.getTaskName2().equals("是")) {
-                    objects.add(2);
-                }
-                if (f.getTaskName3().equals("是")) {
-                    objects.add(3);
-                }
-                f.setCount(objects);
-            });
+        Long tenantId = getTenantId();
+        //获取当前月
+        SysCurrentMonth sysCurrentMonth = sysCurrentMonthService.getOne(new QueryWrapper<SysCurrentMonth>().eq("tenant_id", tenantId).eq("type", 0));
+        String day = "-01";
+        String workMonth = sysCurrentMonth.getYear() + "-" + sysCurrentMonth.getMonth() + day;
+        ExcelUtil<EntrustVo> util = new ExcelUtil<>(EntrustVo.class);
+        List<EntrustVo> entrustVos = util.importExcel(file.getInputStream());
+        List<EntrustVo> newEntrustList = new ArrayList<>();
+        entrustVos.forEach(f -> {
+            ArrayList<Integer> objects = new ArrayList<>();
+            if (f.getTaskName1().equals("是")) {
+                objects.add(1);
+            }
+            if (f.getTaskName2().equals("是")) {
+                objects.add(2);
+            }
+            if (f.getTaskName3().equals("是")) {
+                objects.add(3);
+            }
+            f.setCount(objects);
+        });
 
-            for (EntrustVo entrustVo : entrustVos) {
-                for (Integer integer : entrustVo.getCount()) {
-                    EntrustVo entrustVo1 = new EntrustVo();
-                    if (integer == 1) {
-                        entrustVo1.setTaskId(1);
-                    } else if (integer == 2) {
-                        entrustVo1.setTaskId(2);
-                    } else {
-                        entrustVo1.setTaskId(3);
-                    }
-                    entrustVo1.setNo(entrustVo.getNo());
-                    entrustVo1.setToEntrustName(entrustVo.getToEntrustName());
-                    entrustVo1.setCompanyName(entrustVo.getCompanyName());
-                    newEntrustList.add(entrustVo1);
+        for (EntrustVo entrustVo : entrustVos) {
+            for (Integer integer : entrustVo.getCount()) {
+                EntrustVo entrustVo1 = new EntrustVo();
+                if (integer == 1) {
+                    entrustVo1.setTaskId(1);
+                } else if (integer == 2) {
+                    entrustVo1.setTaskId(2);
+                } else {
+                    entrustVo1.setTaskId(3);
                 }
+                entrustVo1.setNo(entrustVo.getNo());
+                entrustVo1.setToEntrustName(entrustVo.getToEntrustName());
+                entrustVo1.setCompanyName(entrustVo.getCompanyName());
+                newEntrustList.add(entrustVo1);
             }
+        }
 
-            newEntrustList.forEach(f -> {
-                try {
-                    BizCompany company = bizCompanyService.getOne(new LambdaQueryWrapper<BizCompany>()
-                            .eq(BizCompany::getTenantId, tenantId)
-                            .eq(BizCompany::getName, f.getCompanyName().trim()));
-                    if (company == null) {
-                        failureNum.getAndIncrement();
-                        failureMsg.append("<br/>" + "序号为" + f.getNo() + "," + "客户 " + f.getCompanyName() + "不存在");
-                    } else {
-                        f.setCompanyId(company.getId());
-                    }
-
-                } catch (Exception e) {
-                    throw new RuntimeException("导入错误");
+        newEntrustList.forEach(f -> {
+            try {
+                BizCompany company = bizCompanyService.getOne(new LambdaQueryWrapper<BizCompany>()
+                        .eq(BizCompany::getTenantId, tenantId)
+                        .eq(BizCompany::getName, f.getCompanyName().trim()));
+                if (company == null) {
+                    failureNum.getAndIncrement();
+                    failureMsg.append("<br/>" + "序号为" + f.getNo() + "," + "客户 " + f.getCompanyName() + "不存在");
+                } else {
+                    f.setCompanyId(company.getId());
                 }
 
-            });
-            //获取工单
-            for (EntrustVo e : newEntrustList) {
-                List<BizWorkOrder> bizWorkOrders = bizWorkOrderService.list(new LambdaQueryWrapper<BizWorkOrder>()
-                        .eq(BizWorkOrder::getTenantId, tenantId)
-                        .eq(BizWorkOrder::getIsStop, 0)
-                        .eq(BizWorkOrder::getDeleted, 0)
-                        .eq(BizWorkOrder::getType, 1)
-                        .eq(BizWorkOrder::getTaskTypeId, e.getTaskId())
-                        .eq(BizWorkOrder::getCompanyId, e.getCompanyId()));
-                if (bizWorkOrders == null || bizWorkOrders.size() == 0) {
-                    failureNum.getAndIncrement();
-                    String s = "";
-                    if (e.getTaskId() == 1) {
-                        s = "代理记账服务";
-                    } else if (e.getTaskId() == 2) {
-                        s = "社保代缴服务";
-                    } else {
-                        s = "公积金代缴服务";
-                    }
-                    failureMsg.append("<br/>" + "序号为" + e.getNo() + "," + "客户 " + e.getCompanyName() + " 没有" + s);
+            } catch (Exception e) {
+                throw new RuntimeException("导入错误");
+            }
+
+        });
+        //获取工单
+        for (EntrustVo e : newEntrustList) {
+            List<BizWorkOrder> bizWorkOrders = bizWorkOrderService.list(new LambdaQueryWrapper<BizWorkOrder>()
+                    .eq(BizWorkOrder::getTenantId, tenantId)
+                    .eq(BizWorkOrder::getIsStop, 0)
+                    .eq(BizWorkOrder::getDeleted, 0)
+                    .eq(BizWorkOrder::getType, 1)
+                    .eq(BizWorkOrder::getTaskTypeId, e.getTaskId())
+                    .eq(BizWorkOrder::getCompanyId, e.getCompanyId()));
+            if (bizWorkOrders == null || bizWorkOrders.size() == 0) {
+                failureNum.getAndIncrement();
+                String s = "";
+                if (e.getTaskId() == 1) {
+                    s = "代理记账服务";
+                } else if (e.getTaskId() == 2) {
+                    s = "社保代缴服务";
                 } else {
-                    e.setWorkOrderIds(bizWorkOrders.stream().map(m -> m.getId()).collect(Collectors.toList()));
+                    s = "公积金代缴服务";
                 }
+                failureMsg.append("<br/>" + "序号为").append(e.getNo()).append(",").append("客户 ").append(e.getCompanyName()).append(" 没有").append(s);
+                throw new ServiceException(failureMsg.toString());
+            } else {
+                e.setWorkOrderIds(bizWorkOrders.stream().map(BaseEntity::getId).collect(Collectors.toList()));
             }
+        }
 
-            //根据受委托方分组
-            Map<String, List<EntrustVo>> map = newEntrustList.stream().collect(Collectors.groupingBy(e -> e.getToEntrustName()));
-            for (String s : map.keySet()) {
-                BizEntrust bizEntrust = new BizEntrust();
-                Tenant one = tenantService.getOne(new LambdaQueryWrapper<Tenant>().eq(Tenant::getAccountName, s));
-                bizEntrust.setToTenantId(one.getId());
-                bizEntrust.setWorkMonth(Date.valueOf(workMonth));
-                List<Long> workOrderIds = map.get(s).stream()
-                        .flatMap(e -> e.getWorkOrderIds().stream())
-                        .collect(Collectors.toList());
-                bizEntrust.setWorkOrderIds(workOrderIds);
-                this.addEntrust(bizEntrust);
+        //根据受委托方分组
+        Map<String, List<EntrustVo>> map = newEntrustList.stream().collect(Collectors.groupingBy(e -> e.getToEntrustName()));
+        for (String s : map.keySet()) {
+            BizEntrust bizEntrust = new BizEntrust();
+            Tenant one = tenantService.getOne(new LambdaQueryWrapper<Tenant>().eq(Tenant::getAccountName, s));
+            if(null == one){
+                failureMsg.append("<br/>" + "受委托方 ").append(s).append(",").append("在系统内不存在");
+                throw new ServiceException(failureMsg.toString());
             }
-        } catch (Exception e) {
-            throw new RuntimeException("出现错误");
+            bizEntrust.setToTenantId(one.getId());
+            bizEntrust.setWorkMonth(Date.valueOf(workMonth));
+            List<Long> workOrderIds = map.get(s).stream()
+                    .flatMap(e -> e.getWorkOrderIds().stream())
+                    .collect(Collectors.toList());
+            bizEntrust.setWorkOrderIds(workOrderIds);
+            this.addEntrust(bizEntrust);
         }
 
 
-        if (Integer.valueOf(failureNum.toString()) > 0) {
+        if (Integer.parseInt(failureNum.toString()) > 0) {
             failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:");
             throw new ServiceException(failureMsg.toString());
         } else {