Преглед изворни кода

修复产品价格库一些bug

longw пре 1 година
родитељ
комит
d3ed7d3fd6

+ 1 - 1
jeecg-boot-base-core/src/main/java/org/jeecg/common/system/base/controller/JeecgController.java

@@ -48,7 +48,7 @@ public class JeecgController<T, S extends IService<T>> {
      *
      * @param request
      */
-    protected ModelAndView exportXls(HttpServletRequest request, T object, Class<T> clazz, String title) {
+    protected ModelAndView   exportXls(HttpServletRequest request, T object, Class<T> clazz, String title) {
         // Step.1 组装查询条件
         QueryWrapper<T> queryWrapper = QueryGenerator.initQueryWrapper(object, request.getParameterMap());
         LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();

+ 1 - 1
module_kzks/src/main/java/org/jeecg/dataSync/task/UserDataSync.java

@@ -25,7 +25,7 @@ import java.util.List;
 import java.util.Map;
 
 @Component
-public class UserDataSync implements Job {
+public class    UserDataSync implements Job {
 
     @Autowired
     private HrConfigurer hrConfigurer;

+ 7 - 7
module_kzks/src/main/java/org/jeecg/modules/costModelProductPrice/controller/KzksCostModelProductPriceController.java

@@ -44,12 +44,12 @@ import org.jeecg.common.aspect.annotation.AutoLog;
  */
 @Api(tags="kzks_cost_model_product_price")
 @RestController
-@RequestMapping("/costModelProductPrice/kzksCostModelProductPrice")
+@RequestMapping("/costModelProductPrice/costModelProductPrice")
 @Slf4j
 public class KzksCostModelProductPriceController extends JeecgController<KzksCostModelProductPrice, IKzksCostModelProductPriceService> {
 	@Autowired
 	private IKzksCostModelProductPriceService kzksCostModelProductPriceService;
-	
+
 	/**
 	 * 分页列表查询
 	 *
@@ -73,7 +73,7 @@ public class KzksCostModelProductPriceController extends JeecgController<KzksCos
 		IPage<KzksCostModelProductPrice> pageList = kzksCostModelProductPriceService.page(page, queryWrapper);
 		return Result.OK(pageList);
 	}
-	
+
 	/**
 	 *   添加
 	 *
@@ -88,7 +88,7 @@ public class KzksCostModelProductPriceController extends JeecgController<KzksCos
 		kzksCostModelProductPriceService.save(kzksCostModelProductPrice);
 		return Result.OK("添加成功!");
 	}
-	
+
 	/**
 	 *  编辑
 	 *
@@ -103,7 +103,7 @@ public class KzksCostModelProductPriceController extends JeecgController<KzksCos
 		kzksCostModelProductPriceService.updateById(kzksCostModelProductPrice);
 		return Result.OK("编辑成功!");
 	}
-	
+
 	/**
 	 *   通过id删除
 	 *
@@ -119,7 +119,7 @@ public class KzksCostModelProductPriceController extends JeecgController<KzksCos
 		boolean b = kzksCostModelProductPriceService.removeById(id);
 		return Result.OK("删除成功!");
 	}
-	
+
 	/**
 	 *  批量删除
 	 *
@@ -135,7 +135,7 @@ public class KzksCostModelProductPriceController extends JeecgController<KzksCos
 		this.kzksCostModelProductPriceService.removeByIds(Arrays.asList(ids.split(",")));
 		return Result.OK("批量删除成功!");
 	}
-	
+
 	/**
 	 * 通过id查询
 	 *

+ 103 - 47
module_kzks/src/main/java/org/jeecg/modules/projectCostHuiji/service/impl/ProjectCostHuijiServiceImpl.java

@@ -25,11 +25,12 @@ import java.math.BigDecimal;
 import java.math.RoundingMode;
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Optional;
 
 /**
  * @Description: 项目成本汇集表
  * @Author: jeecg-boot
- * @Date:   2023-08-15
+ * @Date: 2023-08-15
  * @Version: V1.0
  */
 @Service
@@ -58,29 +59,40 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
 //        return huijiMapper.compareListByIds(ids);
 //    }
     //sl修改添加每台的对比
-    public ProjectCostHuijiCompare compareListByIds(List<String> ids){
+    public ProjectCostHuijiCompare compareListByIds(List<String> ids) {
         ProjectCostHuijiCompare projectCostHuijiCompare = new ProjectCostHuijiCompare();
         List<ProjectCostHuiji> listAll = huijiMapper.compareListByIds(ids);
         List<ProjectCostHuiji> listOne = new ArrayList<>();
-        for(ProjectCostHuiji projectCostHuiji:listAll){
-            ProjectCostHuiji projectCostHuiji1 = (ProjectCostHuiji)projectCostHuiji.clone();
-            if(projectCostHuiji1.getYzsl() != null && projectCostHuiji1.getYzsl() != 0){
+        for (ProjectCostHuiji projectCostHuiji : listAll) {
+            ProjectCostHuiji projectCostHuiji1 = (ProjectCostHuiji) projectCostHuiji.clone();
+            if (projectCostHuiji1.getYzsl() != null && projectCostHuiji1.getYzsl() != 0) {
                 int yzsl = projectCostHuiji1.getYzsl();//获取研制数量
                 BigDecimal yzslBigDec = BigDecimal.valueOf(yzsl);
                 System.out.println("研制数量为");
                 System.out.println(yzslBigDec);
-                if(projectCostHuiji1.getGlf() != null) projectCostHuiji1.setGlf(projectCostHuiji1.getGlf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//管理费
-                if(projectCostHuiji1.getSwf() != null) projectCostHuiji1.setSwf(projectCostHuiji1.getSwf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//事务费
-                if(projectCostHuiji1.getWxf() != null) projectCostHuiji1.setWxf(projectCostHuiji1.getWxf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//外协费
-                if(projectCostHuiji1.getZyf() != null) projectCostHuiji1.setZyf(projectCostHuiji1.getZyf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//专用费
-                if(projectCostHuiji1.getGzjlwf() != null) projectCostHuiji1.setGzjlwf(projectCostHuiji1.getGzjlwf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//工资费
-                if(projectCostHuiji1.getGdzczj() != null) projectCostHuiji1.setGdzczj(projectCostHuiji1.getGdzczj().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//固资费
-                if(projectCostHuiji1.getClf() != null) projectCostHuiji1.setClf(projectCostHuiji1.getClf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//材料费
-                if(projectCostHuiji1.getRldlf() != null) projectCostHuiji1.setRldlf(projectCostHuiji1.getRldlf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//燃动费
-
-                if(projectCostHuiji1.getZjcb() != null) projectCostHuiji1.setZjcb(projectCostHuiji1.getZjcb().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//装机成本
-                if(projectCostHuiji1.getLbsy() != null) projectCostHuiji1.setLbsy(projectCostHuiji1.getLbsy().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//内部试验
-                if(projectCostHuiji1.getWorkhour() != null) projectCostHuiji1.setWorkhour(projectCostHuiji1.getWorkhour().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//工时
+                if (projectCostHuiji1.getGlf() != null)
+                    projectCostHuiji1.setGlf(projectCostHuiji1.getGlf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//管理费
+                if (projectCostHuiji1.getSwf() != null)
+                    projectCostHuiji1.setSwf(projectCostHuiji1.getSwf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//事务费
+                if (projectCostHuiji1.getWxf() != null)
+                    projectCostHuiji1.setWxf(projectCostHuiji1.getWxf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//外协费
+                if (projectCostHuiji1.getZyf() != null)
+                    projectCostHuiji1.setZyf(projectCostHuiji1.getZyf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//专用费
+                if (projectCostHuiji1.getGzjlwf() != null)
+                    projectCostHuiji1.setGzjlwf(projectCostHuiji1.getGzjlwf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//工资费
+                if (projectCostHuiji1.getGdzczj() != null)
+                    projectCostHuiji1.setGdzczj(projectCostHuiji1.getGdzczj().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//固资费
+                if (projectCostHuiji1.getClf() != null)
+                    projectCostHuiji1.setClf(projectCostHuiji1.getClf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//材料费
+                if (projectCostHuiji1.getRldlf() != null)
+                    projectCostHuiji1.setRldlf(projectCostHuiji1.getRldlf().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//燃动费
+
+                if (projectCostHuiji1.getZjcb() != null)
+                    projectCostHuiji1.setZjcb(projectCostHuiji1.getZjcb().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//装机成本
+                if (projectCostHuiji1.getLbsy() != null)
+                    projectCostHuiji1.setLbsy(projectCostHuiji1.getLbsy().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//内部试验
+                if (projectCostHuiji1.getWorkhour() != null)
+                    projectCostHuiji1.setWorkhour(projectCostHuiji1.getWorkhour().divide(yzslBigDec, 2, RoundingMode.HALF_UP));//工时
             }
             listOne.add(projectCostHuiji1);
 
@@ -91,8 +103,10 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
         return projectCostHuijiCompare;
     }
 
-    /**计算项目成本汇集的总和*/
-    public ProjectCostHuiji costHJSum(ProjectCostHuiji projectCostHuiji){
+    /**
+     * 计算项目成本汇集的总和
+     */
+    public ProjectCostHuiji costHJSum(ProjectCostHuiji projectCostHuiji) {
         return huijiMapper.costHJSum(projectCostHuiji);
     }
 
@@ -122,56 +136,96 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
     }
 
     /**
-     *   author: dzc
-     *   version: 1.0
-     *   des: 将选中的任务号加入到产品价格库中(添加到成本模型中) (将汇集表中的status改为4)
-     *   date: 2023/10/24
+     * author: dzc
+     * version: 1.0
+     * des: 将选中的任务号加入到产品价格库中(添加到成本模型中) (将汇集表中的status改为4)
+     * date: 2023/10/24
      */
     @Override
     public Boolean insertIntoCostModel(List<ProjectCostHuiji> projectCostHuijis) {
         ArrayList<String> tasknoList = new ArrayList<>();
         ArrayList<KzksCostModelProductPrice> productPriceList = new ArrayList<>();
         /** 1、遍历对象集合,将任务号放入集合中 */
-        for (ProjectCostHuiji projectCostHuiji:projectCostHuijis) {
+        for (ProjectCostHuiji projectCostHuiji : projectCostHuijis) {
             tasknoList.add(projectCostHuiji.getTaskno());
             BigDecimal yzsl = BigDecimal.valueOf(0);
-            if (projectCostHuiji.getYzsl() != 0){
+            if (projectCostHuiji.getYzsl() != 0) {
                 yzsl = BigDecimal.valueOf(projectCostHuiji.getYzsl()); // 研制数量
             }
+
+
             // 单台 -- 预估价
-            BigDecimal oneEstimationcoat = projectCostHuiji.getEstimationcoat().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneEstimationcoat = BigDecimal.valueOf(0);
             // 单台 -- 合同分配额
-            BigDecimal oneContractfpe = projectCostHuiji.getContractfpe().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneContractfpe = BigDecimal.valueOf(0);
             // 单台 -- 已收款
-            BigDecimal oneTaskmoney = projectCostHuiji.getTaskmoney().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneTaskmoney = BigDecimal.valueOf(0);
             // 单台 -- 总成本
-            BigDecimal oneZcb = projectCostHuiji.getZcb().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneZcb = BigDecimal.valueOf(0);
             // 单台 -- 材料费
-            BigDecimal oneClf = projectCostHuiji.getClf().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneClf = BigDecimal.valueOf(0);
             // 单台 -- 事务费
-            BigDecimal oneSwf = projectCostHuiji.getSwf().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneSwf = BigDecimal.valueOf(0);
             // 单台 -- 外协费
-            BigDecimal oneWxf = projectCostHuiji.getWxf().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneWxf = BigDecimal.valueOf(0);
             // 单台 -- 专用费
-            BigDecimal oneZyf = projectCostHuiji.getZyf().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneZyf = BigDecimal.valueOf(0);
             // 单台 -- 燃料动力费
-            BigDecimal oneRldlf = projectCostHuiji.getRldlf().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneRldlf = BigDecimal.valueOf(0);
             // 单台 -- 固定资产折旧费
-            BigDecimal oneGdzczj = projectCostHuiji.getGdzczj().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneGdzczj = BigDecimal.valueOf(0);
             // 单台 -- 工资及劳务费
-            BigDecimal oneGzjlwf = projectCostHuiji.getGzjlwf().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneGzjlwf = BigDecimal.valueOf(0);
             // 单台 -- 管理费
-            BigDecimal oneGlf = projectCostHuiji.getGlf().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneGlf = BigDecimal.valueOf(0);
             // 单台 -- 装机成本
-            BigDecimal oneZjcb = projectCostHuiji.getZjcb().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneZjcb = BigDecimal.valueOf(0);
             // 单台 -- 内部试验
-            BigDecimal oneLbsy = projectCostHuiji.getLbsy().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneLbsy = BigDecimal.valueOf(0);
             // 单台 -- 工时
-            BigDecimal oneWorkhour = projectCostHuiji.getWorkhour().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneWorkhour = BigDecimal.valueOf(0);
             // 单台 -- 设计工时
-            BigDecimal oneSjgs = projectCostHuiji.getSjgs().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneSjgs = BigDecimal.valueOf(0);
             // 单台 -- 生产工时
-            BigDecimal oneScgs = projectCostHuiji.getScgs().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
+            BigDecimal oneScgs = BigDecimal.valueOf(0);
+
+
+            if (yzsl.compareTo(BigDecimal.ZERO) != 0) {
+                // 单台 -- 预估价
+                oneEstimationcoat = projectCostHuiji.getEstimationcoat().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 合同分配额
+                oneContractfpe = projectCostHuiji.getContractfpe().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 已收款
+                oneTaskmoney = projectCostHuiji.getTaskmoney().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 总成本
+                oneZcb = projectCostHuiji.getZcb().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 材料费
+                oneClf = projectCostHuiji.getClf().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 事务费
+                oneSwf = projectCostHuiji.getSwf().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 外协费
+                oneWxf = projectCostHuiji.getWxf().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 专用费
+                oneZyf = projectCostHuiji.getZyf().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 燃料动力费
+                oneRldlf = projectCostHuiji.getRldlf().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 固定资产折旧费
+                oneGdzczj = projectCostHuiji.getGdzczj().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 工资及劳务费
+                oneGzjlwf = projectCostHuiji.getGzjlwf().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 管理费
+                oneGlf = projectCostHuiji.getGlf().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 装机成本
+                oneZjcb = projectCostHuiji.getZjcb().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 内部试验
+                oneLbsy = projectCostHuiji.getLbsy().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 工时
+                oneWorkhour = projectCostHuiji.getWorkhour().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 设计工时
+                oneSjgs = projectCostHuiji.getSjgs().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+                // 单台 -- 生产工时
+                oneScgs = projectCostHuiji.getScgs().divide(yzsl, 5, BigDecimal.ROUND_HALF_UP);
+            }
 
             KzksCostModelProductPrice productPrice = new KzksCostModelProductPrice();
             productPrice.setTaskno(projectCostHuiji.getTaskno());
@@ -181,12 +235,12 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
             if (projectCostHuiji.getYzjdname() != null) productPrice.setYzjdname(projectCostHuiji.getYzjdname());
             if (projectCostHuiji.getProcesspercent() != null && !ObjectUtils.isEmpty(projectCostHuiji.getProcesspercent())) {
                 productPrice.setProcesspercent(projectCostHuiji.getProcesspercent());
-            }else {
+            } else {
                 productPrice.setProcesspercent("0");
             }
             if (projectCostHuiji.getCostPercent() != null && !ObjectUtils.isEmpty(projectCostHuiji.getCostPercent())) {
                 productPrice.setCostPercent(projectCostHuiji.getCostPercent());
-            }else {
+            } else {
                 productPrice.setCostPercent("0");
             }
             productPrice.setYzsl(projectCostHuiji.getYzsl());
@@ -223,17 +277,19 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
             if (projectCostHuiji.getPccode() != null) productPrice.setPccode(projectCostHuiji.getPccode());
             if (projectCostHuiji.getBccode() != null) productPrice.setBccode(projectCostHuiji.getBccode());
             if (projectCostHuiji.getBlcode() != null) productPrice.setBlcode(projectCostHuiji.getBlcode());
-            if (projectCostHuiji.getBusinessman() != null) productPrice.setBusinessman(projectCostHuiji.getBusinessman());
+            if (projectCostHuiji.getBusinessman() != null)
+                productPrice.setBusinessman(projectCostHuiji.getBusinessman());
             productPrice.setSjgs(oneSjgs);
             productPrice.setScgs(oneScgs);
-            productPrice.setStatus(projectCostHuiji.getStatus());
+            String status = Optional.ofNullable(projectCostHuiji.getStatus()).orElse("0");
+            productPrice.setStatus(status);
             productPriceList.add(productPrice);
         }
         /** 2、修改指定任务号的status为4 */
         int i1 = huijiMapper.updateStatus1(tasknoList);
         /** 3、将对象的集合插入到成本模型表中 */
         int i2 = productPriceMapper.insertBatchIntoKzksCostModelProductPrice(productPriceList);
-        if (i1 > 0 && i2 > 0){
+        if (i1 > 0 && i2 > 0) {
             return true;
         }
         return false;