Browse Source

项目预算

LLL 1 year ago
parent
commit
3f6ad07b36

+ 4 - 0
module_kzks/src/main/java/org/jeecg/modules/projectBudget/entity/ProjectBudget.java

@@ -151,4 +151,8 @@ public class ProjectBudget implements Serializable {
     @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss")
     @ApiModelProperty(value = "计划完成时间")
     private java.util.Date jhWancheng;
+    /**外协预算(万)*/
+    @Excel(name = "外协预算(万)", width = 15)
+    @ApiModelProperty(value = "外协预算(万)")
+    private java.lang.String wxys;
 }

+ 5 - 0
module_kzks/src/main/java/org/jeecg/modules/projectBudget/service/IProjectBudgetService.java

@@ -4,6 +4,8 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.projectBudget.entity.ProjectBudget;
 import com.baomidou.mybatisplus.extension.service.IService;
 
+import java.math.BigDecimal;
+
 /**
  * @Description: 项目预算
  * @Author: jeecg-boot
@@ -12,6 +14,9 @@ import com.baomidou.mybatisplus.extension.service.IService;
  */
 public interface IProjectBudgetService extends IService<ProjectBudget> {
 
+    /**计算外协预算*/
+    public BigDecimal countWXYS(ProjectBudget budget);
+
     /**
      * 通过excel导入数据
      * @return

+ 77 - 28
module_kzks/src/main/java/org/jeecg/modules/projectBudget/service/impl/ProjectBudgetServiceImpl.java

@@ -6,7 +6,7 @@ import org.jeecg.common.api.vo.Result;
 import org.jeecg.modules.projectBudget.entity.ProjectBudget;
 import org.jeecg.modules.projectBudget.mapper.ProjectBudgetMapper;
 import org.jeecg.modules.projectBudget.service.IProjectBudgetService;
-import org.jeecg.modules.projectChbSwf.mapper.ProjectChbSwfMapper;
+import org.jeecg.modules.projectCost.mapper.ProjectCostMapper;
 import org.jeecgframework.poi.excel.ExcelImportUtil;
 import org.jeecgframework.poi.excel.entity.ImportParams;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -16,7 +16,11 @@ import java.io.FileInputStream;
 import java.io.FileNotFoundException;
 import java.io.IOException;
 import java.io.InputStream;
+import java.math.BigDecimal;
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
+import java.util.Objects;
 
 /**
  * @Description: 项目预算
@@ -32,6 +36,61 @@ public class ProjectBudgetServiceImpl extends ServiceImpl<ProjectBudgetMapper, P
     @Autowired
     @SuppressWarnings("all")
     public ProjectBudgetMapper budgetMapper;
+    @Autowired
+    @SuppressWarnings("all")
+    public ProjectCostMapper costMapper;
+
+
+    /**计算外协预算*/
+    public BigDecimal countWXYS(ProjectBudget budget){
+        BigDecimal wxys = new BigDecimal(0);
+        if (Objects.nonNull(budget.getKkxSheji())){ //可靠性设计(万)
+            BigDecimal kkxsj = new BigDecimal(budget.getKkxSheji());
+            wxys = wxys.add(kkxsj);
+        }
+        if (Objects.nonNull(budget.getKkxSheji())){ //结构加工(万)
+            BigDecimal jgjg = new BigDecimal(budget.getJgJiagong());
+            wxys = wxys.add(jgjg);
+        }
+        if (Objects.nonNull(budget.getKkxSheji())){ //表面处理(万)
+            BigDecimal bmcl = new BigDecimal(budget.getBmChuli());
+            wxys = wxys.add(bmcl);
+        }
+        if (Objects.nonNull(budget.getKkxSheji())){ //环境试验(万)
+            BigDecimal hjsy = new BigDecimal(budget.getHjShiyan());
+            wxys = wxys.add(hjsy);
+        }
+        if (Objects.nonNull(budget.getKkxSheji())){ //电缆加工(万)
+            BigDecimal dljg = new BigDecimal(budget.getDlJiagong());
+            wxys = wxys.add(dljg);
+        }
+        if (Objects.nonNull(budget.getKkxSheji())){ //印制板设计及加工(万)
+            BigDecimal yzsjjg = new BigDecimal(budget.getYzbSheji());
+            wxys = wxys.add(yzsjjg);
+        }
+        if (Objects.nonNull(budget.getKkxSheji())){ //试验工装(万)
+            BigDecimal sygz = new BigDecimal(budget.getSyGongzhuang());
+            wxys = wxys.add(sygz);
+        }
+        if (Objects.nonNull(budget.getKkxSheji())){ //测试工装(万)
+            BigDecimal csgz = new BigDecimal(budget.getCsGongzhuang());
+            wxys = wxys.add(csgz);
+        }
+        if (Objects.nonNull(budget.getKkxSheji())){ //包装箱(万)
+            BigDecimal bzx = new BigDecimal(budget.getBaozhuangxiang());
+            wxys = wxys.add(bzx);
+        }
+        if (Objects.nonNull(budget.getKkxSheji())){ //软件设计(万)
+            BigDecimal rjsj = new BigDecimal(budget.getRjSheji());
+            wxys = wxys.add(rjsj);
+        }if (Objects.nonNull(budget.getKkxSheji())){ //其他项目(万)
+            BigDecimal qtxm = new BigDecimal(budget.getQtXiangmu());
+            wxys = wxys.add(qtxm);
+        }
+
+        return wxys;
+
+    }
 
     /**
      * 通过excel导入数据
@@ -54,33 +113,23 @@ public class ProjectBudgetServiceImpl extends ServiceImpl<ProjectBudgetMapper, P
         try {
             List<ProjectBudget> list = ExcelImportUtil.importExcel(inputStream, clazz, params);
 
-//            List<ProjectBudget> list1 = new ArrayList<>();
-//            for(ProjectBudget fy:list){
-//                String nd = fy.getNd();
-//                String taskNo = fy.getTaskno();
-//                if(!nd.equals("") && !taskNo.equals("") && nd!=null && taskNo!=null){
-//                    ProjectBudget fy1 = new ProjectBudget();
-//                    fy1.setNd(nd);
-//                    fy1.setTaskno(taskNo);
-//                    boolean yon = true;
-//                    for (ProjectBudget fy2 : list1){
-//                        if(fy2.equals(fy1)){
-//                            yon = false;
-//                            break;
-//                        }else {
-//                            continue;
-//                        }
-//                    }
-//                    if(yon) list1.add(fy1);
-//                    //删除该年度该任务号所有数据
-//                    for (ProjectBudget fy3 : list1){
-//                        Map<String, Object> map = new HashMap<>();
-//                        map.put("nd",fy3.getNd());
-//                        map.put("taskno",fy3.getTaskno());
-//                        budgetMapper.deleteByMap(map);
-//                    }
-//                }
-//            }
+            //处理数据、每个任务号有唯一的项目预算
+            Map<String, Object> columnMap;
+            for (ProjectBudget budget : list){
+                BigDecimal clys = new BigDecimal(budget.getCailiaofei());//材料预算
+                BigDecimal wxys = countWXYS(budget);//外协预算
+                budget.setWxys(wxys.toString());
+
+                if(!Objects.equals(budget.getTaskNumber(),"")){
+                    //删除原来的项目预算
+                    columnMap = new HashMap<>();
+                    columnMap.put("task_number",budget.getTaskNumber());
+                    this.budgetMapper.deleteByMap(columnMap);
+
+                    //修改项目成本对应任务号的材料预算、外协预算
+                    costMapper.updateYS(clys,wxys,budget.getTaskNumber());
+                }
+            }
 
             //update-begin-author:taoyan date:20190528 for:批量插入数据
             long start = System.currentTimeMillis();