Ver código fonte

优化项目费用导入的无效代码

lw 1 ano atrás
pai
commit
5026d5d3b5

+ 0 - 650
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/controller/ProjectCostHuijiControllerBak.java

@@ -1,650 +0,0 @@
-/*
-package org.jeecg.modules.projectCostHuiji.controller;
-
-import com.alibaba.fastjson.JSONObject;
-import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
-import com.baomidou.mybatisplus.core.metadata.IPage;
-import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
-import io.swagger.annotations.Api;
-import io.swagger.annotations.ApiOperation;
-import lombok.extern.slf4j.Slf4j;
-import org.apache.commons.lang3.ObjectUtils;
-import org.apache.commons.lang3.StringUtils;
-import org.apache.shiro.SecurityUtils;
-import org.jeecg.common.api.vo.Result;
-import org.jeecg.common.aspect.annotation.AutoLog;
-import org.jeecg.common.system.base.controller.JeecgController;
-import org.jeecg.common.system.query.QueryGenerator;
-import org.jeecg.common.system.vo.LoginUser;
-import org.jeecg.common.util.Md5Util;
-import org.jeecg.common.util.RedisUtil;
-import org.jeecg.modules.Index.util.AuthMark;
-import org.jeecg.modules.Index.util.CacheKey;
-import org.jeecg.modules.Index.util.CommonMethod;
-import org.jeecg.modules.costModelProductPrice.service.IKzksCostModelProductPriceService;
-import org.jeecg.modules.mesInfoInstallationcost.service.IMesInfoInstallationcostService;
-import org.jeecg.modules.projectCost.entity.ProjectCost;
-import org.jeecg.modules.projectCost.entity.ProjectCostSumVo;
-import org.jeecg.modules.projectCost.service.IProjectCostService;
-import org.jeecg.modules.projectCost.vo.ProjectCostVO;
-import org.jeecg.modules.projectCostHuiji.convert.impl.ProjectCostHuijiConverCustomImpl;
-import org.jeecg.modules.projectCostHuiji.convert.ProjectCostHuijiConvert;
-import org.jeecg.modules.projectCostHuiji.entity.ProjectCostHuiji;
-import org.jeecg.modules.projectCostHuiji.entity.ProjectCostHuijiCompare;
-import org.jeecg.modules.projectCostHuiji.entity.ProjectCostHuijiVo;
-import org.jeecg.modules.projectCostHuiji.service.IProjectCostHuijiService;
-import org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiListVO;
-import org.jeecg.modules.projectCostHuiji.vo.ProjectCostHuijiSumVO;
-import org.jeecg.modules.projectCostYs.entity.KzksProjectCostYs;
-import org.jeecg.modules.projectCostYs.service.IKzksProjectCostYsService;
-import org.jeecg.modules.system.mapper.SysDepartMapper;
-import org.springframework.beans.BeanUtils;
-import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.web.bind.annotation.*;
-import org.springframework.web.servlet.ModelAndView;
-
-import javax.servlet.http.HttpServletRequest;
-import javax.servlet.http.HttpServletResponse;
-import java.math.BigDecimal;
-import java.math.RoundingMode;
-import java.util.*;
-import java.util.concurrent.*;
-import java.util.stream.Collectors;
-
-*/
-/**
- * @Description: 项目成本汇集表
- * @Author: jeecg-boot
- * @Date: 2023-08-15
- * @Version: V1.0
- *//*
-
-@Api(tags = "项目成本汇集表")
-@RestController
-@RequestMapping("/projectCostHuiji/projectCostHuiji")
-@Slf4j
-public class ProjectCostHuijiController extends JeecgController<ProjectCostHuiji, IProjectCostHuijiService> {
-    @Autowired
-    @SuppressWarnings("all")
-    private IProjectCostHuijiService projectCostHuijiService;
-    @Autowired
-    @SuppressWarnings("all")
-    private IProjectCostService costService;
-    @Autowired
-    @SuppressWarnings("all")
-    private IMesInfoInstallationcostService mesInfoInstallationcostService;
-    @Autowired
-    @SuppressWarnings("all")
-    private IKzksProjectCostYsService costYsService;
-
-    @Autowired
-    private RedisUtil redisUtil;
-
-    @Autowired
-    private ProjectCostHuijiConverCustomImpl projectCostHuijiConverCustom;
-
-    @Autowired
-    private CommonMethod commonMethod;
-
-    @Autowired
-    private SysDepartMapper sysDepartMapper;
-
-    @Autowired
-    private IKzksCostModelProductPriceService costModelProductPriceService;
-
-    @ApiOperation(value = "111111111111")
-    @GetMapping(value = "/children1")
-    public List<ProjectCostVO> children1(String taskno) {
-        return costService.costListByTaskNoMain(taskno); //主任务及批产的主任务
-    }
-
-    @ApiOperation(value = "22222222222222")
-    @GetMapping(value = "/children2")
-    public List<ProjectCostVO> children2(String taskno) {
-        return costService.costListByTaskNoSub(taskno); //主任务及批产的主任务
-    }
-
-    */
-/**
-     * 项目成本汇集——对比
-     *//*
-
-    //sl修改添加每台的对比
-    @ApiOperation(value = "项目成本汇集——对比", notes = "项目成本汇集——对比")
-    @GetMapping(value = "/compareList")
-//    public List<ProjectCostHuiji> compareList(String ids) {
-//        List<ProjectCostHuiji> list = projectCostHuijiService.compareListByIds(Arrays.asList(ids.split(",")));
-//        return list;
-//    }
-    public ProjectCostHuijiCompare compareList(String ids) {
-        return projectCostHuijiService.compareListByIds(Arrays.asList(ids.split(",")));
-
-    }
-
-    */
-/**
-     * 分页列表查询
-     *
-     * @param projectCostHuiji
-     * @param pageNo
-     * @param pageSize
-     * @param req
-     * @return
-     *//*
-
-    //@AutoLog(value = "项目成本汇集表-分页列表查询")
-    @ApiOperation(value = "项目成本汇集——分页查询——汇总+两级(一级汇集、二级主任务及主批产任务及子任务及子批产任务)", notes = "项目成本汇集——分页查询——两级(一级汇集、二级主任务及子任务)")
-    @GetMapping(value = "/list")
-    public Result<Object> queryPageList(ProjectCostHuiji projectCostHuiji,
-                                        @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo,
-                                        @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize,
-                                        HttpServletRequest req) {
-        LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
-        String role = commonMethod.getRole(sysUser.getUsername());
-        //if (AuthMark.BOSS.equals(role)) role = AuthMark.DEPT_LEADER;
-        ProjectCostHuijiSumVO sumVO = new ProjectCostHuijiSumVO();
-        ProjectCostHuiji huiji1 = new ProjectCostHuiji();
-
-        QueryWrapper<ProjectCostHuiji> queryWrapper = QueryGenerator.initQueryWrapper(huiji1, req.getParameterMap());
-        List<String> departNames = new ArrayList<>();
-
-        //高级查询参数不等于"null"并且有查询条件("[%5B%5D]" 高级查询无查询条件) 则返回true,获取满足查询条件的任务号
-        //普通查询有查询条件则returnFlag()返回true,判断条件是ProjectCostHuiji对象有任意属性不为null
-        String superQueryParams = Arrays.toString(req.getParameterMap().get("superQueryParams"));
-        String superQueryParamsMd5 = Md5Util.md5Encode(superQueryParams, "utf-8");
-        if (projectCostHuiji == null) projectCostHuiji = new ProjectCostHuiji();
-        boolean hasTaskno = projectCostHuiji.getTaskno() != null && !projectCostHuiji.getTaskno().isEmpty() ;
-
-        boolean isStaff;
-        if (AuthMark.STAFF.equals(role)) {
-            LoginUser finalSysUser = sysUser;
-            queryWrapper.lambda().and(i -> {
-                i.eq(StringUtils.isNotBlank(finalSysUser.getRealname()),ProjectCostHuiji::getBusinessManName, finalSysUser.getRealname()).or()
-                        .eq(StringUtils.isNotBlank(finalSysUser.getRealname()),ProjectCostHuiji::getYwfzrname, finalSysUser.getRealname());
-            });
-            isStaff = true;
-        } else {
-            isStaff = false;
-        }
-
-        boolean tips;
-        if (AuthMark.DEPT_LEADER.equals(role)) {
-            tips = true;
-            String[] deptIds = sysUser.getDepartIds().split(",");
-            departNames = sysDepartMapper.getDepNameByIds(deptIds);
-            if (departNames.isEmpty()) return Result.ok();
-            List<String> finalDepartNames = departNames;
-            if (!hasTaskno) {
-                queryWrapper.lambda().and(i -> {
-                    for (String departName : finalDepartNames) {
-                        i.or().like(StringUtils.isNotBlank(departName), ProjectCostHuiji::getJycs, departName)
-                                .or().like(StringUtils.isNotBlank(departName), ProjectCostHuiji::getZrbm, departName);
-                    }
-                });
-            }
-            projectCostHuiji.setDeptNames(departNames);
-            sysUser = new LoginUser();
-        } else {
-            tips = false;
-        }
-
-        if (AuthMark.BOSS.equals(role)) {
-            queryWrapper.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getJycs()), ProjectCostHuiji::getJycs, projectCostHuiji.getJycs())
-                    .or().like(StringUtils.isNotBlank(projectCostHuiji.getZrbm()), ProjectCostHuiji::getZrbm, projectCostHuiji.getZrbm());
-            sysUser = new LoginUser();
-        }
-
-        queryWrapper.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getTaskno()), ProjectCostHuiji::getTaskno, projectCostHuiji.getTaskno());
-        queryWrapper.lambda().like(StringUtils.isNotBlank(projectCostHuiji.getTaskname()), ProjectCostHuiji::getTaskname, projectCostHuiji.getTaskname());
-
-        boolean flag = !superQueryParams.equals("null") && !"[%5B%5D]".equals(superQueryParams) || returnFlag(projectCostHuiji);
-        String ObjectMd5 = Md5Util.md5Encode(projectCostHuiji.toString(), "utf-8");
-        ProjectCostHuijiSumVO cacheResultOne = (ProjectCostHuijiSumVO) redisUtil.get(CacheKey.PROJECT_COST_HUIJI + ":" + role + ":" + departNames + ":" + sysUser.getRealname() + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize);
-        ProjectCostSumVo cacheResultTwo = (ProjectCostSumVo) redisUtil.get(CacheKey.PROJECT_COST + ":" + role + ":" + departNames + ":" + sysUser.getRealname() + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize);
-        if (cacheResultOne != null) return Result.ok(cacheResultOne);
-        if (cacheResultTwo != null) return Result.ok(cacheResultTwo);
-
-
-        List<String> taskNos;
-        if (flag) {
-            List<ProjectCostHuiji> resultList = projectCostHuijiService.selectList(queryWrapper);
-            taskNos = resultList.stream().map(ProjectCostHuiji::getTaskno).collect(Collectors.toList());
-        } else {
-            taskNos = new ArrayList<>();
-        }
-
-        ProjectCostHuiji finalProjectCostHuiji = projectCostHuiji;
-        LoginUser finalSysUser = sysUser;
-        CompletableFuture<ProjectCostHuiji> huijiFuture = CompletableFuture.supplyAsync(() -> {
-            if (tips && !flag) {
-                ProjectCostHuiji huiji = new ProjectCostHuiji();
-                huiji.setDeptNames(finalProjectCostHuiji.getDeptNames());
-                return projectCostHuijiService.costHJSum(huiji);
-            }
-            if (!flag && isStaff){
-                return  projectCostHuijiService.costHJSumIsStaff(finalProjectCostHuiji,finalSysUser.getRealname());
-            }
-            if (!flag)
-                return projectCostHuijiService.costHJSum(finalProjectCostHuiji);//汇集总和
-            if (taskNos.isEmpty())
-                return initProjectCostHuiji();
-            return projectCostHuijiService.costHJSumByTaskNoList(taskNos);
-        });
-
-        //当前任务号集合是查询的汇集表,一定是主任务的任务号集合,所以根据主任务号,查询子级任务号
-        if (!taskNos.isEmpty()) {
-            List<String> taskNoListByRefTaskNo = costService.getTaskNoListByRefTaskNo(taskNos);
-            taskNos.addAll(taskNoListByRefTaskNo);
-        }
-
-        CompletableFuture<KzksProjectCostYs> ysFuture = CompletableFuture.supplyAsync(() -> {
-            if (!flag)
-                return costYsService.selectSumClys();
-            if (taskNos.isEmpty())
-                return new KzksProjectCostYs();
-            return costYsService.selectSumClysByTaskNos(taskNos);
-        });
-
-        Page<ProjectCostHuiji> page = new Page<>(pageNo, pageSize);
-        CompletableFuture<Page<ProjectCostHuiji>> pageFuture = CompletableFuture.supplyAsync(() -> {
-            return projectCostHuijiService.costHuijPage(page, queryWrapper);
-        });
-
-        CompletableFuture<Void> future1 = CompletableFuture.allOf(huijiFuture, pageFuture, ysFuture);
-        future1.join();
-        ProjectCostHuiji huiji = huijiFuture.join();
-        Page<ProjectCostHuiji> pageList = pageFuture.join();
-        KzksProjectCostYs ys = ysFuture.join();
-        if (ys == null) ys = new KzksProjectCostYs();
-        if (ObjectUtils.isEmpty(ys.getClys())) ys.setClys(BigDecimal.valueOf(0));
-        if (ObjectUtils.isEmpty(ys.getWxys())) ys.setWxys(BigDecimal.valueOf(0));
-        if (pageList != null && !pageList.getRecords().isEmpty()) {//costYsService
-
-            List<ProjectCostHuijiListVO> collect = pageList.getRecords().stream().map(i -> {
-                List<ProjectCostVO> children1 = costService.costListByTaskNoMain(i.getTaskno()); //主任务及批产的主任务
-                List<ProjectCostVO> children2 = costService.costListByTaskNoSub(i.getTaskno()); //子任务及批产的子任务
-                List<ProjectCostVO> children = new ArrayList<>();
-
-                CompletableFuture<List<ProjectCostVO>> children3Future = CompletableFuture.supplyAsync(() -> {
-                    return children1.stream().map(this::apply).collect(Collectors.toList());
-                });
-
-                CompletableFuture<List<ProjectCostVO>> children4Future = CompletableFuture.supplyAsync(() -> {
-                    return children2.stream().map(this::apply).collect(Collectors.toList());
-                });
-
-                CompletableFuture<Void> future = CompletableFuture.allOf(children3Future, children4Future);
-                future.join();
-
-                List<ProjectCostVO> children3 = children3Future.join();
-                List<ProjectCostVO> children4 = children4Future.join();
-                children.addAll(children3);
-                children.addAll(children4);
-                BigDecimal wxysSum = BigDecimal.valueOf(0);
-                BigDecimal clysSum = BigDecimal.valueOf(0);
-
-                CompletableFuture<BigDecimal> wxysFuture = CompletableFuture.supplyAsync(() -> {
-                    return children.stream().filter(o -> {
-                        return ObjectUtils.isEmpty(o.getStatus()) || (!"1".equals(o.getStatus()));
-                    }).map(ProjectCostVO::getWxys).filter(ObjectUtils::isNotEmpty).reduce(BigDecimal.ZERO, BigDecimal::add);
-                });
-
-                CompletableFuture<BigDecimal> clysFuture = CompletableFuture.supplyAsync(() -> {
-                    return children.stream().filter(o -> {
-                        return ObjectUtils.isEmpty(o.getStatus()) || (!"1".equals(o.getStatus()));
-                    }).map(ProjectCostVO::getClys).filter(ObjectUtils::isNotEmpty).reduce(BigDecimal.ZERO, BigDecimal::add);
-                });
-
-                CompletableFuture<Void> future2 = CompletableFuture.allOf(wxysFuture, clysFuture);
-                future2.join();
-                wxysSum = wxysFuture.join();
-                clysSum = clysFuture.join();
-
-                return projectCostHuijiConverCustom.toHuijiListVOAndYs(i, children, 1, wxysSum, clysSum);
-            }).collect(Collectors.toList());
-
-            IPage<ProjectCostHuijiListVO> pageList1 = ProjectCostHuijiConvert.INSTANCE.toHuijiListVOPage(pageList, collect);
-
-            ProjectCostHuijiVo resultHuiJiVo = new ProjectCostHuijiVo();
-            if (ObjectUtils.isEmpty(huiji)) huiji = new ProjectCostHuiji();
-            BeanUtils.copyProperties(huiji, resultHuiJiVo);
-            resultHuiJiVo.setClys(ys.getClys());
-            resultHuiJiVo.setWxys(ys.getWxys());
-
-            if (pageList1.getRecords().isEmpty()) resultHuiJiVo = new ProjectCostHuijiVo();
-            sumVO.setProjectCostHuijiSum(resultHuiJiVo);
-            sumVO.setPageList(pageList1);
-
-            redisUtil.set(CacheKey.PROJECT_COST_HUIJI + ":" + role + ":" + departNames + ":" + sysUser.getRealname() + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize, sumVO, 1000L * 60 * 60 * 10);
-            return Result.OK(sumVO);
-        } else {
-            ProjectCost projectCost = new ProjectCost();
-            BeanUtils.copyProperties(projectCostHuiji, projectCost);
-
-            ProjectCost projectCost1 = new ProjectCost();
-
-            QueryWrapper<ProjectCost> query = QueryGenerator.initQueryWrapper(projectCost1, req.getParameterMap());
-            query.lambda().like(StringUtils.isNotBlank(projectCost.getTaskno()), ProjectCost::getTaskno, projectCost.getTaskno());
-            query.lambda().like(StringUtils.isNotBlank(projectCost.getTaskname()), ProjectCost::getTaskname, projectCost.getTaskname());
-
-            if (AuthMark.STAFF.equals(role)) {
-                LoginUser finalSysUser1 = sysUser;
-                query.lambda().and(i -> {
-                    i.eq(ProjectCost::getBusinessManName, finalSysUser1.getRealname()).or()
-                            .eq(ProjectCost::getYwfzrname, finalSysUser1.getRealname());
-                });
-            }
-
-            if (AuthMark.DEPT_LEADER.equals(role)) {
-                List<String> finalDepartNames1 = departNames;
-                if (!hasTaskno) {
-                    query.lambda().and(i -> {
-                        for (String departName : finalDepartNames1) {
-                            i.or().like(StringUtils.isNotBlank(departName), ProjectCost::getClys, departName)
-                                    .or().like(StringUtils.isNotBlank(departName), ProjectCost::getZrbm, departName);
-                        }
-                    });
-                }
-                projectCost.setDeptNames(departNames);
-                sysUser = new LoginUser();
-            }
-
-            if (AuthMark.BOSS.equals(role)) {
-                query.lambda().like(StringUtils.isNotBlank(projectCost.getJycs()), ProjectCost::getJycs, projectCost.getJycs())
-                        .or().like(StringUtils.isNotBlank(projectCost.getZrbm()), ProjectCost::getZrbm, projectCost.getZrbm());
-                sysUser = new LoginUser();
-            }
-
-            QueryWrapper<ProjectCost> clone = query.clone();
-            //根据条件分页查询任务
-            CompletableFuture<Page<ProjectCost>> pageCompletableFuture = CompletableFuture.supplyAsync(() -> {
-                Page<ProjectCost> page1 = new Page<ProjectCost>(pageNo, pageSize);
-                return costService.getCostListPage(page1, query);
-            });
-
-            //根据条件查询所有满足条件的任务号
-            CompletableFuture<List<String>> listCompletableFuture = CompletableFuture.supplyAsync(() -> {
-                List<ProjectCost> costs = costService.projectCostlist(clone);
-                return costs.stream().map(ProjectCost::getTaskno).collect(Collectors.toList());
-            });
-
-            CompletableFuture<Void> future = CompletableFuture.allOf(pageCompletableFuture, listCompletableFuture);
-            future.join();
-            Page<ProjectCost> projectCosts = pageCompletableFuture.join();
-            List<String> taskList = listCompletableFuture.join();
-
-            CompletableFuture<ProjectCostHuiji> projectCostHuijiCompletableFuture = CompletableFuture.supplyAsync(() -> {
-                //如果是普通查询就走这个方法
-                ProjectCostHuiji projectCostHuiji1;  //筛选合计
-                if (taskList.isEmpty()) {
-                    projectCostHuiji1 = initProjectCostHuiji();
-                } else {
-                    projectCostHuiji1 = projectCostHuijiService.costHJSumByProjectCostByTaskList(taskList);
-                }
-                if (projectCostHuiji1 == null) projectCostHuiji1 = initProjectCostHuiji();
-                return projectCostHuiji1;
-            });
-
-            CompletableFuture<KzksProjectCostYs> kzksProjectCostYsCompletableFuture = CompletableFuture.supplyAsync(() -> {
-                if (taskList.isEmpty()) return new KzksProjectCostYs();
-                return costYsService.selectSumClysByTaskNos(taskList);
-            });
-
-            CompletableFuture<Integer> yzslCompletableFuture = CompletableFuture.supplyAsync(() -> {
-                if (taskList.isEmpty()) return 0;
-                return costService.getYzslSumByTaskNos(taskList);
-            });
-
-
-            CompletableFuture<ArrayList<ProjectCostVO>> arrayListCompletableFuture = CompletableFuture.supplyAsync(() -> {
-                ArrayList<ProjectCostVO> projectCostVOS = new ArrayList<>();
-
-                for (ProjectCost record : projectCosts.getRecords()) {
-                    ProjectCostVO projectCostVO = new ProjectCostVO();
-                    BeanUtils.copyProperties(record, projectCostVO);
-                    KzksProjectCostYs kzksProjectCostYs = costYsService.selectYSByTaskno(record.getTaskno());
-
-                    BigDecimal clys = BigDecimal.valueOf(0);
-                    BigDecimal wxys = BigDecimal.valueOf(0);
-
-                    if (ObjectUtils.isNotEmpty(kzksProjectCostYs)) {
-                        if (ObjectUtils.isNotEmpty(kzksProjectCostYs.getClys())) clys = kzksProjectCostYs.getClys();
-                        if (ObjectUtils.isNotEmpty(kzksProjectCostYs.getWxys())) wxys = kzksProjectCostYs.getWxys();
-                    }
-                    projectCostVO.setClys(clys.setScale(2, RoundingMode.HALF_UP));
-                    projectCostVO.setWxys(wxys.setScale(2, RoundingMode.HALF_UP));
-                    projectCostVOS.add(projectCostVO);
-                }
-                return projectCostVOS;
-            });
-
-            CompletableFuture<Void> future2 = CompletableFuture.allOf(projectCostHuijiCompletableFuture, kzksProjectCostYsCompletableFuture, arrayListCompletableFuture, yzslCompletableFuture);
-            future2.join();
-            ProjectCostHuiji projectCostHuiji1 = projectCostHuijiCompletableFuture.join();
-            KzksProjectCostYs huijiYs = kzksProjectCostYsCompletableFuture.join();
-            ArrayList<ProjectCostVO> projectCostVOS = arrayListCompletableFuture.join();
-            Integer yzslSum = yzslCompletableFuture.join();
-            projectCostHuiji1.setYzsl(yzslSum);
-
-            BigDecimal contractfpe = projectCostHuiji1.getContractfpe();//合同分配额
-            BigDecimal estimationcoat = projectCostHuiji1.getEstimationcoat();//预估价
-            BigDecimal lre = projectCostHuiji1.getLre(); //利润额
-            BigDecimal cpt = BigDecimal.ZERO; //固定比较值
-            BigDecimal lrl = BigDecimal.ZERO; //利润率
-            if (lre.compareTo(cpt) != 0) {
-                if (contractfpe.compareTo(cpt) != 0) {
-                    lrl = lre.divide(contractfpe, 2, RoundingMode.HALF_UP);
-                } else if (estimationcoat.compareTo(cpt) != 0) {
-                    lrl = lre.divide(estimationcoat, 2, RoundingMode.HALF_UP);
-                }
-            }
-            projectCostHuiji1.setLrl(lrl);
-
-            ProjectCostHuijiVo resultHuiJiVo = new ProjectCostHuijiVo();
-            if (ObjectUtils.isEmpty(projectCostHuiji1)) projectCostHuiji1 = new ProjectCostHuiji();
-            BeanUtils.copyProperties(projectCostHuiji1, resultHuiJiVo);
-            BigDecimal clys = BigDecimal.ZERO;
-            BigDecimal wxys = BigDecimal.ZERO;
-            if (huijiYs != null) {
-                if (huijiYs.getClys() != null) clys = huijiYs.getClys();
-                if (huijiYs.getWxys() != null) wxys = huijiYs.getWxys();
-            }
-            resultHuiJiVo.setClys(clys);
-            resultHuiJiVo.setWxys(wxys);
-
-            ProjectCostSumVo projectCostSumVo = new ProjectCostSumVo();
-            Page<ProjectCostVO> projectCostListVOPage = ProjectCostHuijiConvert.INSTANCE.toProjectCostListVOPage(projectCosts, projectCostVOS);
-            if (projectCostListVOPage.getRecords().isEmpty()) resultHuiJiVo = new ProjectCostHuijiVo();
-            projectCostSumVo.setProjectCostHuijiSum(resultHuiJiVo);
-            projectCostSumVo.setPageList(projectCostListVOPage);
-
-            redisUtil.set(CacheKey.PROJECT_COST + ":" + role + ":" + departNames + ":" + sysUser.getRealname() + ":" + ObjectMd5 + ":" + superQueryParamsMd5 + ":" + pageNo + "&" + pageSize, projectCostSumVo, 1000L * 60 * 60 * 10);
-            return Result.OK(projectCostSumVo);
-        }
-    }
-
-    private ProjectCostVO apply(ProjectCostVO x) {
-        KzksProjectCostYs ys = costYsService.selectYSByTaskno(x.getTaskno());
-        if (ys != null) {
-            if (ys.getClys() != null) {
-                x.setClys(ys.getClys());
-            } else {
-                x.setClys(BigDecimal.valueOf(0));
-            }
-            if (ys.getWxys() != null) {
-                x.setWxys(ys.getWxys());
-            } else {
-                x.setWxys(BigDecimal.valueOf(0));
-            }
-        }
-        return x;
-    }
-
-    private ProjectCostHuiji initProjectCostHuiji() {
-        ProjectCostHuiji huiji = new ProjectCostHuiji();
-        huiji.setContractfpe(BigDecimal.ZERO);
-        huiji.setEstimationcoat(BigDecimal.ZERO);
-        huiji.setZcb(BigDecimal.ZERO);
-        huiji.setYzsl(0);
-        huiji.setLre(BigDecimal.ZERO);
-        huiji.setLrl(BigDecimal.ZERO);
-        huiji.setClf(BigDecimal.ZERO);
-        huiji.setZyf(BigDecimal.ZERO);
-        huiji.setSwf(BigDecimal.ZERO);
-        huiji.setWxf(BigDecimal.ZERO);
-        huiji.setGdzczj(BigDecimal.ZERO);
-        huiji.setGlf(BigDecimal.ZERO);
-        huiji.setRldlf(BigDecimal.ZERO);
-        huiji.setWorkhour(BigDecimal.ZERO);
-        huiji.setScgs(BigDecimal.ZERO);
-        huiji.setSjgs(BigDecimal.ZERO);
-        return huiji;
-    }
-
-    private boolean returnFlag(ProjectCostHuiji projectCostHuiji) {
-        JSONObject json = (JSONObject) JSONObject.toJSON(projectCostHuiji);
-        for (Map.Entry<String, Object> entry : json.entrySet()) {
-            if (entry.getValue() != null) return true;
-        }
-        return false;
-    }
-
-    */
-/**
-     * 添加
-     *
-     * @param projectCostHuiji
-     * @return
-     *//*
-
-    @AutoLog(value = "项目成本汇集表-添加")
-    @ApiOperation(value = "项目成本汇集表-添加", notes = "项目成本汇集表-添加")
-    //@RequiresPermissions("org.jeecg.modules:kzks_project_cost_huiji:add")
-    @PostMapping(value = "/add")
-    public Result<String> add(@RequestBody ProjectCostHuiji projectCostHuiji) {
-        projectCostHuijiService.save(projectCostHuiji);
-        return Result.OK("添加成功!");
-    }
-
-    */
-/**
-     * 编辑
-     *
-     * @param projectCostHuiji
-     * @return
-     *//*
-
-    @AutoLog(value = "项目成本汇集表-编辑")
-    @ApiOperation(value = "项目成本汇集表-编辑", notes = "项目成本汇集表-编辑")
-    //@RequiresPermissions("org.jeecg.modules:kzks_project_cost_huiji:edit")
-    @RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
-    public Result<String> edit(@RequestBody ProjectCostHuiji projectCostHuiji) {
-        projectCostHuijiService.updateById(projectCostHuiji);
-        return Result.OK("编辑成功!");
-    }
-
-    */
-/**
-     * 通过id删除
-     *
-     * @param id
-     * @return
-     *//*
-
-    @AutoLog(value = "项目成本汇集表-通过id删除")
-    @ApiOperation(value = "项目成本汇集表-通过id删除", notes = "项目成本汇集表-通过id删除")
-    //@RequiresPermissions("org.jeecg.modules:kzks_project_cost_huiji:delete")
-    @DeleteMapping(value = "/delete")
-    public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
-        projectCostHuijiService.removeById(id);
-        return Result.OK("删除成功!");
-    }
-
-    */
-/**
-     * 批量删除
-     *
-     * @param ids
-     * @return
-     *//*
-
-    @AutoLog(value = "项目成本汇集表-批量删除")
-    @ApiOperation(value = "项目成本汇集表-批量删除", notes = "项目成本汇集表-批量删除")
-    //@RequiresPermissions("org.jeecg.modules:kzks_project_cost_huiji:deleteBatch")
-    @DeleteMapping(value = "/deleteBatch")
-    public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
-        this.projectCostHuijiService.removeByIds(Arrays.asList(ids.split(",")));
-        return Result.OK("批量删除成功!");
-    }
-
-    */
-/**
-     * 通过id查询
-     *
-     * @param id
-     * @return
-     *//*
-
-    //@AutoLog(value = "项目成本汇集表-通过id查询")
-    @ApiOperation(value = "项目成本汇集表-通过id查询", notes = "项目成本汇集表-通过id查询")
-    @GetMapping(value = "/queryById")
-    public Result<ProjectCostHuiji> queryById(@RequestParam(name = "id", required = true) String id) {
-        ProjectCostHuiji projectCostHuiji = projectCostHuijiService.getById(id);
-        if (projectCostHuiji == null) {
-            return Result.error("未找到对应数据");
-        }
-        return Result.OK(projectCostHuiji);
-    }
-
-    */
-/**
-     * 导出excel
-     *
-     * @param request
-     * @param projectCostHuiji
-     *//*
-
-    //@RequiresPermissions("org.jeecg.modules:kzks_project_cost_huiji:exportXls")
-    @RequestMapping(value = "/exportXls")
-    public ModelAndView exportXls(HttpServletRequest request, ProjectCostHuiji projectCostHuiji) {
-        return super.exportXls(request, projectCostHuiji, ProjectCostHuiji.class, "项目成本汇集表");
-    }
-
-    */
-/**
-     * 通过excel导入数据
-     *
-     * @param request
-     * @param response
-     * @return
-     *//*
-
-    //@RequiresPermissions("kzks_project_cost_huiji:importExcel")
-    @RequestMapping(value = "/importExcel", method = RequestMethod.POST)
-    public Result<?> importExcel(HttpServletRequest request, HttpServletResponse response) {
-        return super.importExcel(request, response, ProjectCostHuiji.class);
-    }
-
-    */
-/**
-     * author: dzc
-     * version: 1.0
-     * des: 将选中的任务号加入到成本模型中 (将汇集表中的status改为4)
-     * date: 2023/10/24
-     *//*
-
-    @AutoLog(value = "项目成本汇集表-添加到成本模型中")
-    @ApiOperation(value = "项目成本汇集表-添加到成本模型中", notes = "项目成本汇集表-添加到成本模型中")
-    @PostMapping(value = "/insertIntoCostModel")
-    public Result<String> insertIntoCostModel(@RequestBody List<ProjectCostHuiji> projectCostHuijis) {
-        redisUtil.removeAll(CacheKey.PROJECT_COST_HUIJI);
-        redisUtil.removeAll(CacheKey.PROJECT_COST);
-        Boolean b = costModelProductPriceService.insertIntoCostModel(projectCostHuijis);
-        if (b) {
-            return Result.OK("加入成功!");
-        }
-        return Result.OK("加入失败!");
-    }
-
-}
-*/

+ 21 - 40
module_kzks/src/main/java/org/jeecg/modules/projectImportList/service/impl/ProjectImportListServiceImpl.java

@@ -30,7 +30,7 @@ import java.util.*;
 /**
  * @Description: 导入并下载
  * @Author: jeecg-boot
- * @Date:   2023-08-10
+ * @Date: 2023-08-10
  * @Version: V1.0
  */
 @Service
@@ -50,10 +50,10 @@ public class ProjectImportListServiceImpl extends ServiceImpl<ProjectImportListM
     @SuppressWarnings("all")
     private IProjectChbZyfService zyfService;
 
-//    public List<TasknoAndNd> addTNlist(List<TasknoAndNd> tnList, String taskno, String nd){
-    public List<TasknoAndNd> addTNlist(List<TasknoAndNd> tnList, String nd){
-        for (TasknoAndNd tasknoAndNd : tnList){
-            if(nd.equals(tasknoAndNd.getNd())) return tnList;
+    //    public List<TasknoAndNd> addTNlist(List<TasknoAndNd> tnList, String taskno, String nd){
+    public List<TasknoAndNd> addTNlist(List<TasknoAndNd> tnList, String nd) {
+        for (TasknoAndNd tasknoAndNd : tnList) {
+            if (nd.equals(tasknoAndNd.getNd())) return tnList;
 //            if(taskno.equals(tasknoAndNd.getTaskno()) && nd.equals(tasknoAndNd.getNd())) return tnList;
             else continue;
         }
@@ -95,78 +95,59 @@ public class ProjectImportListServiceImpl extends ServiceImpl<ProjectImportListM
             List<TasknoAndNd> tnZYFList = new ArrayList<>();//专用费任务号年度集合——用于删除
             List<TasknoAndNd> tnWXFList = new ArrayList<>();//外协费任务号年度集合——用于删除
 
-            for (ProjectChb chb: list){
+            for (ProjectChb chb : list) {
                 String taskno = chb.getTaskno();
                 String nd = chb.getNd();
                 String kmbh = chb.getKmbh();
-                if(taskno!=null && !taskno.equals("") && nd!=null && !nd.equals("") && kmbh!=null && !kmbh.equals("")){
+                if (taskno != null && !taskno.equals("") && nd != null && !nd.equals("") && kmbh != null && !kmbh.equals("")) {
                     String fylb = kmbhService.getByNdAndKmbh(nd, kmbh);//费用类别
-                    if(Objects.equals(fylb,"事务费")){
+                    if (Objects.equals(fylb, "事务费")) {
                         swfList.add(CHBConvert.INSTANCE.toSWF(chb));
-//                        tnSWFList = addTNlist(tnSWFList,taskno,nd);
-                        tnSWFList = addTNlist(tnSWFList,nd);
-                    }else if(Objects.equals(fylb,"专用费")){
+                        tnSWFList = addTNlist(tnSWFList, nd);
+                    } else if (Objects.equals(fylb, "专用费")) {
                         zyfList.add(CHBConvert.INSTANCE.toZYF(chb));
-//                        tnZYFList = addTNlist(tnZYFList,taskno,nd);
-                        tnZYFList = addTNlist(tnZYFList,nd);
-                    }else if(Objects.equals(fylb,"外协费")){
+                        tnZYFList = addTNlist(tnZYFList, nd);
+                    } else if (Objects.equals(fylb, "外协费")) {
                         wxfList.add(CHBConvert.INSTANCE.toWXF(chb));
-//                        tnWXFList = addTNlist(tnWXFList,taskno,nd);
-                        tnWXFList = addTNlist(tnWXFList,nd);
+                        tnWXFList = addTNlist(tnWXFList, nd);
                     }
                 }
             }
 
             //update-begin-author:taoyan date:20190528 for:批量插入数据
             long start = System.currentTimeMillis();
-            Map<String, Object> columnMap = new HashMap<>();
-            for(TasknoAndNd tasknoAndNd : tnSWFList){
-                columnMap = new HashMap<>();
-                columnMap.put("nd",tasknoAndNd.getNd());
-//                columnMap.put("taskno",tasknoAndNd.getTaskno());
-//                swfService.removeByMap(columnMap);
+            for (TasknoAndNd tasknoAndNd : tnSWFList) {
                 // 如果导入的年份在数据库当中存在,则删除掉该年份的数据,然后重新导入
                 int counnt = swfService.getIfHaveThisNd(tasknoAndNd.getNd());
-                if (counnt != 0){
+                if (counnt != 0) {
                     swfService.deleteSwfByNd(tasknoAndNd.getNd());
                 }
             }
             swfService.saveBatch(swfList);
-            for(TasknoAndNd tasknoAndNd : tnZYFList){
-                columnMap = new HashMap<>();
-                columnMap.put("nd",tasknoAndNd.getNd());
-//                columnMap.put("taskno",tasknoAndNd.getTaskno());
-//                zyfService.removeByMap(columnMap);
+            for (TasknoAndNd tasknoAndNd : tnZYFList) {
                 int count = zyfService.getIfHaveThisNd(tasknoAndNd.getNd());
-                if (count != 0){
+                if (count != 0) {
                     zyfService.deleteZyfByNd(tasknoAndNd.getNd());
                 }
             }
             zyfService.saveBatch(zyfList);
-            for(TasknoAndNd tasknoAndNd : tnWXFList){
-                columnMap = new HashMap<>();
-                columnMap.put("nd",tasknoAndNd.getNd());
-//                columnMap.put("taskno",tasknoAndNd.getTaskno());
-//                wxfService.removeByMap(columnMap);
+            for (TasknoAndNd tasknoAndNd : tnWXFList) {
                 int count = wxfService.getIfHaveThisNd(tasknoAndNd.getNd());
-                if (count != 0){
+                if (count != 0) {
                     wxfService.deleteWxfByNd(tasknoAndNd.getNd());
                 }
             }
             wxfService.saveBatch(wxfList);
             log.info("消耗时间" + (System.currentTimeMillis() - start) + "毫秒," + "数据行数:" + list.size());
             //update-end-author:taoyan date:20190528 for:批量插入数据
-            //swfService.deleteSwf();
-            //wxfService.deleteWxf();
-            //zyfService.deleteZyf();
             return Result.ok("文件导入成功!数据行数:" + list.size());
         } catch (Exception e) {
             //update-begin-author:taoyan date:20211124 for: 导入数据重复增加提示
             String msg = e.getMessage();
             log.error(msg, e);
-            if(msg!=null && msg.indexOf("Duplicate entry")>=0){
+            if (msg != null && msg.indexOf("Duplicate entry") >= 0) {
                 return Result.error("文件导入失败:有重复数据!");
-            }else{
+            } else {
                 return Result.error("文件导入失败:" + e.getMessage());
             }
             //update-end-author:taoyan date:20211124 for: 导入数据重复增加提示