|
@@ -4,6 +4,9 @@ import com.baomidou.mybatisplus.core.conditions.Wrapper;
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
|
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import org.apache.commons.lang3.ObjectUtils;
|
|
|
+import org.jeecg.modules.costModelProductPrice.entity.KzksCostModelProductPrice;
|
|
|
+import org.jeecg.modules.costModelProductPrice.mapper.KzksCostModelProductPriceMapper;
|
|
|
import org.jeecg.modules.dataSourceSwitch.annotation.TargetDataSource;
|
|
|
import org.jeecg.modules.dataSourceSwitch.enums.DataSourceType;
|
|
|
import org.jeecg.modules.projectCost.entity.ProjectCost;
|
|
@@ -37,6 +40,10 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
|
|
|
@SuppressWarnings("all")
|
|
|
private ProjectCostHuijiMapper huijiMapper;
|
|
|
|
|
|
+ @Autowired
|
|
|
+ @SuppressWarnings("all")
|
|
|
+ private KzksCostModelProductPriceMapper productPriceMapper;
|
|
|
+
|
|
|
/**
|
|
|
* 分页查询
|
|
|
*/
|
|
@@ -117,4 +124,122 @@ public class ProjectCostHuijiServiceImpl extends ServiceImpl<ProjectCostHuijiMap
|
|
|
return huijiMapper.costHJSumByProjectCostByTaskList(taskList);
|
|
|
}
|
|
|
|
|
|
+ /**
|
|
|
+ * 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) {
|
|
|
+ tasknoList.add(projectCostHuiji.getTaskno());
|
|
|
+ BigDecimal yzsl = BigDecimal.valueOf(0);
|
|
|
+ if (projectCostHuiji.getYzsl() != 0){
|
|
|
+ yzsl = BigDecimal.valueOf(projectCostHuiji.getYzsl()); // 研制数量
|
|
|
+ }
|
|
|
+ // 单台 -- 预估价
|
|
|
+ BigDecimal oneEstimationcoat = projectCostHuiji.getEstimationcoat().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 合同分配额
|
|
|
+ BigDecimal oneContractfpe = projectCostHuiji.getContractfpe().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 已收款
|
|
|
+ BigDecimal oneTaskmoney = projectCostHuiji.getTaskmoney().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 总成本
|
|
|
+ BigDecimal oneZcb = projectCostHuiji.getZcb().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 材料费
|
|
|
+ BigDecimal oneClf = projectCostHuiji.getClf().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 事务费
|
|
|
+ BigDecimal oneSwf = projectCostHuiji.getSwf().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 外协费
|
|
|
+ BigDecimal oneWxf = projectCostHuiji.getWxf().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 专用费
|
|
|
+ BigDecimal oneZyf = projectCostHuiji.getZyf().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 燃料动力费
|
|
|
+ BigDecimal oneRldlf = projectCostHuiji.getRldlf().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 固定资产折旧费
|
|
|
+ BigDecimal oneGdzczj = projectCostHuiji.getGdzczj().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 工资及劳务费
|
|
|
+ BigDecimal oneGzjlwf = projectCostHuiji.getGzjlwf().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 管理费
|
|
|
+ BigDecimal oneGlf = projectCostHuiji.getGlf().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 装机成本
|
|
|
+ BigDecimal oneZjcb = projectCostHuiji.getZjcb().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 内部试验
|
|
|
+ BigDecimal oneLbsy = projectCostHuiji.getLbsy().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 工时
|
|
|
+ BigDecimal oneWorkhour = projectCostHuiji.getWorkhour().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 设计工时
|
|
|
+ BigDecimal oneSjgs = projectCostHuiji.getSjgs().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+ // 单台 -- 生产工时
|
|
|
+ BigDecimal oneScgs = projectCostHuiji.getScgs().divide(yzsl,5,BigDecimal.ROUND_HALF_UP);
|
|
|
+
|
|
|
+ KzksCostModelProductPrice productPrice = new KzksCostModelProductPrice();
|
|
|
+ productPrice.setTaskno(projectCostHuiji.getTaskno());
|
|
|
+ if (projectCostHuiji.getTaskname() != null) productPrice.setTaskname(projectCostHuiji.getTaskname());
|
|
|
+ if (projectCostHuiji.getXhname() != null) productPrice.setXhname(projectCostHuiji.getXhname());
|
|
|
+ if (productPrice.getJhwcsj() != null) productPrice.setJhwcsj(productPrice.getJhwcsj());
|
|
|
+ if (projectCostHuiji.getYzjdname() != null) productPrice.setYzjdname(projectCostHuiji.getYzjdname());
|
|
|
+ if (projectCostHuiji.getProcesspercent() != null && !ObjectUtils.isEmpty(projectCostHuiji.getProcesspercent())) {
|
|
|
+ productPrice.setProcesspercent(projectCostHuiji.getProcesspercent());
|
|
|
+ }else {
|
|
|
+ productPrice.setProcesspercent("0");
|
|
|
+ }
|
|
|
+ if (projectCostHuiji.getCostPercent() != null && !ObjectUtils.isEmpty(projectCostHuiji.getCostPercent())) {
|
|
|
+ productPrice.setCostPercent(projectCostHuiji.getCostPercent());
|
|
|
+ }else {
|
|
|
+ productPrice.setCostPercent("0");
|
|
|
+ }
|
|
|
+ productPrice.setYzsl(projectCostHuiji.getYzsl());
|
|
|
+ productPrice.setOneIncome(projectCostHuiji.getOneIncome());
|
|
|
+ productPrice.setOneCost(projectCostHuiji.getOneCost());
|
|
|
+ productPrice.setOneProfit(projectCostHuiji.getOneProfit());
|
|
|
+ productPrice.setLre(projectCostHuiji.getLre());
|
|
|
+ productPrice.setLrl(projectCostHuiji.getLrl());
|
|
|
+ productPrice.setEstimationcoat(oneEstimationcoat);
|
|
|
+ productPrice.setContractfpe(oneContractfpe);
|
|
|
+ productPrice.setTaskmoney(oneTaskmoney);
|
|
|
+ productPrice.setZcb(oneZcb);
|
|
|
+ productPrice.setClf(oneClf);
|
|
|
+ productPrice.setZyf(oneZyf);
|
|
|
+ productPrice.setSwf(oneSwf);
|
|
|
+ productPrice.setWxf(oneWxf);
|
|
|
+ productPrice.setRldlf(oneRldlf);
|
|
|
+ productPrice.setGdzczj(oneGdzczj);
|
|
|
+ productPrice.setGzjlwf(oneGzjlwf);
|
|
|
+ productPrice.setGlf(oneGlf);
|
|
|
+ productPrice.setZjcb(oneZjcb);
|
|
|
+ productPrice.setLbsy(oneLbsy);
|
|
|
+ productPrice.setWorkhour(oneWorkhour);
|
|
|
+ if (projectCostHuiji.getZrbm() != null) productPrice.setZrbm(projectCostHuiji.getZrbm());
|
|
|
+ if (projectCostHuiji.getJycsid() != null) productPrice.setJycsid(projectCostHuiji.getJycsid());
|
|
|
+ if (projectCostHuiji.getJycs() != null) productPrice.setJycs(projectCostHuiji.getJycs());
|
|
|
+ if (projectCostHuiji.getHxzxid() != null) productPrice.setHxzxid(projectCostHuiji.getHxzxid());
|
|
|
+ if (projectCostHuiji.getHxzxname() != null) productPrice.setHxzxname(projectCostHuiji.getHxzxname());
|
|
|
+ if (projectCostHuiji.getTasktype() != null) productPrice.setTasktype(projectCostHuiji.getTasktype());
|
|
|
+ if (projectCostHuiji.getAuditprice() != null) productPrice.setAuditprice(projectCostHuiji.getAuditprice());
|
|
|
+ if (projectCostHuiji.getIflag() != null) productPrice.setIflag(projectCostHuiji.getIflag());
|
|
|
+ if (projectCostHuiji.getBrief() != null) productPrice.setBrief(projectCostHuiji.getBrief());
|
|
|
+ if (projectCostHuiji.getReftaskno() != null) productPrice.setReftaskno(projectCostHuiji.getReftaskno());
|
|
|
+ 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());
|
|
|
+ productPrice.setSjgs(oneSjgs);
|
|
|
+ productPrice.setScgs(oneScgs);
|
|
|
+ productPrice.setStatus(projectCostHuiji.getStatus());
|
|
|
+ productPriceList.add(productPrice);
|
|
|
+ }
|
|
|
+ /** 2、修改指定任务号的status为4 */
|
|
|
+ int i1 = huijiMapper.updateStatus1(tasknoList);
|
|
|
+ /** 3、将对象的集合插入到成本模型表中 */
|
|
|
+ int i2 = productPriceMapper.insertBatchIntoKzksCostModelProductPrice(productPriceList);
|
|
|
+ if (i1 > 0 && i2 > 0){
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
}
|