Commit fad7a97c by liuyang

Merge branch 'dev' of http://git.pseer.com:8800/platform/hg-smart into dev-ly

parents b69e255d ea5c435e
...@@ -686,28 +686,30 @@ public class HGCBTools { ...@@ -686,28 +686,30 @@ public class HGCBTools {
kc003ParamMap.put(HGCW001.FIELD_ACCOUNT_PERIOD_DATE_START,hgcw001.getAccountPeriodDateStart()); kc003ParamMap.put(HGCW001.FIELD_ACCOUNT_PERIOD_DATE_START,hgcw001.getAccountPeriodDateStart());
kc003ParamMap.put(HGCW001.FIELD_ACCOUNT_PERIOD_DATE_END,hgcw001.getAccountPeriodDateEnd()); kc003ParamMap.put(HGCW001.FIELD_ACCOUNT_PERIOD_DATE_END,hgcw001.getAccountPeriodDateEnd());
List<HGKC003> hgkc003List = HGKCTools.HgKc003.list(kc003ParamMap); List<HGKC003> hgkc003List = HGKCTools.HgKc003.list(kc003ParamMap);
//入库单按项目编码、产品编码、存货工序ID、规格、单重分组,分别取正向入库单数量、重量和退回数量 if(CollectionUtils.isNotEmpty(hgkc003List)) {
//生成制造成本基础数据 //入库单按项目编码、产品编码、存货工序ID、规格、单重分组,分别取正向入库单数量、重量和退回数量
List<HGCB005> hgcb005List = constractHGCB005(hgcw001,hgkc003List); //生成制造成本基础数据
//设置权重 List<HGCB005> hgcb005List = constractHGCB005(hgcw001, hgkc003List);
setingCostWeight(hgcb005List); //设置权重
//计算项目总成本 setingCostWeight(hgcb005List);
Map<String,BigDecimal> totalAmoutMap = calculateProjAmout(hgcw001); //计算项目总成本
//计算产副品成本:权重值*项目总费用=产副品制造总成本;总成本/数量=单位成本 Map<String, BigDecimal> totalAmoutMap = calculateProjAmout(hgcw001);
Optional.ofNullable(hgcb005List).orElse(new ArrayList<>()).stream().forEach( o -> { //计算产副品成本:权重值*项目总费用=产副品制造总成本;总成本/数量=单位成本
BigDecimal totalAmout = totalAmoutMap.get(o.getProjCode()); Optional.ofNullable(hgcb005List).orElse(new ArrayList<>()).stream().forEach(o -> {
o.setTotalCost(totalAmout.multiply(o.getCostWeightValue()).setScale(6,RoundingMode.HALF_UP)); BigDecimal totalAmout = totalAmoutMap.get(o.getProjCode());
o.setUnitCost(o.getTotalCost().divide(o.getQuantity(),6,RoundingMode.HALF_UP)); o.setTotalCost(totalAmout.multiply(o.getCostWeightValue()).setScale(6, RoundingMode.HALF_UP));
}); o.setUnitCost(o.getTotalCost().divide(o.getQuantity(), 6, RoundingMode.HALF_UP));
//按公司删除当前会计起的成本核算数据 });
Map cb005DeleteParam = new HashMap(); //按公司删除当前会计起的成本核算数据
cb005DeleteParam.put(HGCB005.FIELD_company_code,hgcw001.getCompanyCode()); Map cb005DeleteParam = new HashMap();
cb005DeleteParam.put(HGCB005.FIELD_account_year,hgcw001.getAccountYear()); cb005DeleteParam.put(HGCB005.FIELD_company_code, hgcw001.getCompanyCode());
cb005DeleteParam.put(HGCB005.FIELD_account_month,hgcw001.getAccountPeriod().substring(4)); cb005DeleteParam.put(HGCB005.FIELD_account_year, hgcw001.getAccountYear());
deleteByCondition(cb005DeleteParam); cb005DeleteParam.put(HGCB005.FIELD_account_month, hgcw001.getAccountPeriod().substring(4));
//保存新的成本核算数据 deleteByCondition(cb005DeleteParam);
if(CollectionUtils.isNotEmpty(hgcb005List)){ //保存新的成本核算数据
DaoBase.getInstance().insertBatch(HGCB005.INSERT, hgcb005List); if (CollectionUtils.isNotEmpty(hgcb005List)) {
DaoBase.getInstance().insertBatch(HGCB005.INSERT, hgcb005List);
}
} }
} }
} }
......
...@@ -558,7 +558,7 @@ ...@@ -558,7 +558,7 @@
LEFT JOIN ${hggpSchema}.HGSC001 b on a.PROJ_CODE = b.PROJ_CODE LEFT JOIN ${hggpSchema}.HGSC001 b on a.PROJ_CODE = b.PROJ_CODE
WHERE 1=1 WHERE 1=1
AND a.REVIEW_STATUS= 3 AND a.REVIEW_STATUS= 3
AND a.CONTRACT_TYPE IN (1,2) AND a.CONTRACT_TYPE IN (1,2,4)
AND b.approval_status = 2 AND b.approval_status = 2
AND b.proj_status = 0 AND b.proj_status = 0
<isNotEmpty prepend=" AND " property="accountCode"> <isNotEmpty prepend=" AND " property="accountCode">
......
...@@ -21,13 +21,13 @@ ...@@ -21,13 +21,13 @@
</EF:EFCascadeSelect> </EF:EFCascadeSelect>
</div> </div>
<div class="row"> <div class="row">
<EF:EFInput ename="result-0-subcontractName" cname="方名称" type="hidden"/> <EF:EFInput ename="result-0-subcontractName" cname="方名称" type="hidden"/>
<EF:EFSelect cname="方" ename="result-0-subcontractCode" colWidth="4" required="true" filter="contains"> <EF:EFSelect cname="方" ename="result-0-subcontractCode" colWidth="4" required="true" filter="contains">
<EF:EFOption label="-- 请选择 --" value="" /> <EF:EFOption label="-- 请选择 --" value="" />
<EF:EFOptions blockId="roleCompany" valueField="companyCode" textField="companyName"/> <EF:EFOptions blockId="roleCompany" valueField="companyCode" textField="companyName"/>
</EF:EFSelect> </EF:EFSelect>
<EF:EFInput ename="result-0-genralContractName" cname="方名称" type="hidden"/> <EF:EFInput ename="result-0-genralContractName" cname="方名称" type="hidden"/>
<EF:EFCascadeSelect cascadeFrom="result-0-subcontractCode" cname="方" ename="result-0-genralContractCode" <EF:EFCascadeSelect cascadeFrom="result-0-subcontractCode" cname="方" ename="result-0-genralContractCode"
colWidth="4" required="true" filter="contains" defaultValue="" colWidth="4" required="true" filter="contains" defaultValue=""
serviceName="HGSC001" methodName="genralContractComboBox" resultId="customer_record_block_id" serviceName="HGSC001" methodName="genralContractComboBox" resultId="customer_record_block_id"
textField="textField" valueField="valueField" > textField="textField" valueField="valueField" >
......
...@@ -21,13 +21,13 @@ ...@@ -21,13 +21,13 @@
</EF:EFCascadeSelect> </EF:EFCascadeSelect>
</div> </div>
<div class="row"> <div class="row">
<EF:EFInput ename="result-0-subcontractName" cname="方名称" type="hidden"/> <EF:EFInput ename="result-0-subcontractName" cname="方名称" type="hidden"/>
<EF:EFSelect cname="方" ename="result-0-subcontractCode" colWidth="4" required="true" filter="contains"> <EF:EFSelect cname="方" ename="result-0-subcontractCode" colWidth="4" required="true" filter="contains">
<EF:EFOption label="-- 请选择 --" value="" /> <EF:EFOption label="-- 请选择 --" value="" />
<EF:EFOptions blockId="roleCompany" valueField="companyCode" textField="companyName"/> <EF:EFOptions blockId="roleCompany" valueField="companyCode" textField="companyName"/>
</EF:EFSelect> </EF:EFSelect>
<EF:EFInput ename="result-0-genralContractName" cname="方名称" type="hidden"/> <EF:EFInput ename="result-0-genralContractName" cname="方名称" type="hidden"/>
<EF:EFCascadeSelect cascadeFrom="result-0-subcontractCode" cname="方" ename="result-0-genralContractCode" <EF:EFCascadeSelect cascadeFrom="result-0-subcontractCode" cname="方" ename="result-0-genralContractCode"
colWidth="4" required="true" filter="contains" defaultValue="" colWidth="4" required="true" filter="contains" defaultValue=""
serviceName="HGSC001" methodName="genralContractComboBox" resultId="customer_record_block_id" serviceName="HGSC001" methodName="genralContractComboBox" resultId="customer_record_block_id"
textField="textField" valueField="valueField" > textField="textField" valueField="valueField" >
......
...@@ -23,13 +23,13 @@ ...@@ -23,13 +23,13 @@
</EF:EFCascadeSelect> </EF:EFCascadeSelect>
</div> </div>
<div class="row"> <div class="row">
<EF:EFInput ename="result-0-subcontractName" cname="方名称" type="hidden"/> <EF:EFInput ename="result-0-subcontractName" cname="方名称" type="hidden"/>
<EF:EFSelect cname="方" ename="result-0-subcontractCode" colWidth="4" required="true" filter="contains"> <EF:EFSelect cname="方" ename="result-0-subcontractCode" colWidth="4" required="true" filter="contains">
<EF:EFOption label="-- 请选择 --" value="" /> <EF:EFOption label="-- 请选择 --" value="" />
<EF:EFOptions blockId="roleCompany" valueField="companyCode" textField="companyName"/> <EF:EFOptions blockId="roleCompany" valueField="companyCode" textField="companyName"/>
</EF:EFSelect> </EF:EFSelect>
<EF:EFInput ename="result-0-genralContractName" cname="方名称" type="hidden"/> <EF:EFInput ename="result-0-genralContractName" cname="方名称" type="hidden"/>
<EF:EFCascadeSelect cascadeFrom="result-0-subcontractCode" cname="方" ename="result-0-genralContractCode" <EF:EFCascadeSelect cascadeFrom="result-0-subcontractCode" cname="方" ename="result-0-genralContractCode"
colWidth="4" required="true" filter="contains" defaultValue="" colWidth="4" required="true" filter="contains" defaultValue=""
serviceName="HGSC001" methodName="genralContractComboBox" resultId="customer_record_block_id" serviceName="HGSC001" methodName="genralContractComboBox" resultId="customer_record_block_id"
textField="textField" valueField="valueField" > textField="textField" valueField="valueField" >
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment