Commit fad7a97c by liuyang

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

parents b69e255d ea5c435e
......@@ -686,31 +686,33 @@ public class HGCBTools {
kc003ParamMap.put(HGCW001.FIELD_ACCOUNT_PERIOD_DATE_START,hgcw001.getAccountPeriodDateStart());
kc003ParamMap.put(HGCW001.FIELD_ACCOUNT_PERIOD_DATE_END,hgcw001.getAccountPeriodDateEnd());
List<HGKC003> hgkc003List = HGKCTools.HgKc003.list(kc003ParamMap);
if(CollectionUtils.isNotEmpty(hgkc003List)) {
//入库单按项目编码、产品编码、存货工序ID、规格、单重分组,分别取正向入库单数量、重量和退回数量
//生成制造成本基础数据
List<HGCB005> hgcb005List = constractHGCB005(hgcw001,hgkc003List);
List<HGCB005> hgcb005List = constractHGCB005(hgcw001, hgkc003List);
//设置权重
setingCostWeight(hgcb005List);
//计算项目总成本
Map<String,BigDecimal> totalAmoutMap = calculateProjAmout(hgcw001);
Map<String, BigDecimal> totalAmoutMap = calculateProjAmout(hgcw001);
//计算产副品成本:权重值*项目总费用=产副品制造总成本;总成本/数量=单位成本
Optional.ofNullable(hgcb005List).orElse(new ArrayList<>()).stream().forEach( o -> {
Optional.ofNullable(hgcb005List).orElse(new ArrayList<>()).stream().forEach(o -> {
BigDecimal totalAmout = totalAmoutMap.get(o.getProjCode());
o.setTotalCost(totalAmout.multiply(o.getCostWeightValue()).setScale(6,RoundingMode.HALF_UP));
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());
cb005DeleteParam.put(HGCB005.FIELD_account_year,hgcw001.getAccountYear());
cb005DeleteParam.put(HGCB005.FIELD_account_month,hgcw001.getAccountPeriod().substring(4));
cb005DeleteParam.put(HGCB005.FIELD_company_code, hgcw001.getCompanyCode());
cb005DeleteParam.put(HGCB005.FIELD_account_year, hgcw001.getAccountYear());
cb005DeleteParam.put(HGCB005.FIELD_account_month, hgcw001.getAccountPeriod().substring(4));
deleteByCondition(cb005DeleteParam);
//保存新的成本核算数据
if(CollectionUtils.isNotEmpty(hgcb005List)){
if (CollectionUtils.isNotEmpty(hgcb005List)) {
DaoBase.getInstance().insertBatch(HGCB005.INSERT, hgcb005List);
}
}
}
}
private static Map<String,BigDecimal> calculateProjAmout(HGCW001 hgcw001){
//通过业务账期信息查询类型为分摊的费用归集数据,按项目分组金额求和
......
......@@ -558,7 +558,7 @@
LEFT JOIN ${hggpSchema}.HGSC001 b on a.PROJ_CODE = b.PROJ_CODE
WHERE 1=1
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.proj_status = 0
<isNotEmpty prepend=" AND " property="accountCode">
......
......@@ -21,13 +21,13 @@
</EF:EFCascadeSelect>
</div>
<div class="row">
<EF:EFInput ename="result-0-subcontractName" cname="方名称" type="hidden"/>
<EF:EFSelect cname="方" ename="result-0-subcontractCode" colWidth="4" required="true" filter="contains">
<EF:EFInput ename="result-0-subcontractName" cname="方名称" type="hidden"/>
<EF:EFSelect cname="方" ename="result-0-subcontractCode" colWidth="4" required="true" filter="contains">
<EF:EFOption label="-- 请选择 --" value="" />
<EF:EFOptions blockId="roleCompany" valueField="companyCode" textField="companyName"/>
</EF:EFSelect>
<EF:EFInput ename="result-0-genralContractName" cname="方名称" type="hidden"/>
<EF:EFCascadeSelect cascadeFrom="result-0-subcontractCode" cname="方" ename="result-0-genralContractCode"
<EF:EFInput ename="result-0-genralContractName" cname="方名称" type="hidden"/>
<EF:EFCascadeSelect cascadeFrom="result-0-subcontractCode" cname="方" ename="result-0-genralContractCode"
colWidth="4" required="true" filter="contains" defaultValue=""
serviceName="HGSC001" methodName="genralContractComboBox" resultId="customer_record_block_id"
textField="textField" valueField="valueField" >
......
......@@ -21,13 +21,13 @@
</EF:EFCascadeSelect>
</div>
<div class="row">
<EF:EFInput ename="result-0-subcontractName" cname="方名称" type="hidden"/>
<EF:EFSelect cname="方" ename="result-0-subcontractCode" colWidth="4" required="true" filter="contains">
<EF:EFInput ename="result-0-subcontractName" cname="方名称" type="hidden"/>
<EF:EFSelect cname="方" ename="result-0-subcontractCode" colWidth="4" required="true" filter="contains">
<EF:EFOption label="-- 请选择 --" value="" />
<EF:EFOptions blockId="roleCompany" valueField="companyCode" textField="companyName"/>
</EF:EFSelect>
<EF:EFInput ename="result-0-genralContractName" cname="方名称" type="hidden"/>
<EF:EFCascadeSelect cascadeFrom="result-0-subcontractCode" cname="方" ename="result-0-genralContractCode"
<EF:EFInput ename="result-0-genralContractName" cname="方名称" type="hidden"/>
<EF:EFCascadeSelect cascadeFrom="result-0-subcontractCode" cname="方" ename="result-0-genralContractCode"
colWidth="4" required="true" filter="contains" defaultValue=""
serviceName="HGSC001" methodName="genralContractComboBox" resultId="customer_record_block_id"
textField="textField" valueField="valueField" >
......
......@@ -23,13 +23,13 @@
</EF:EFCascadeSelect>
</div>
<div class="row">
<EF:EFInput ename="result-0-subcontractName" cname="方名称" type="hidden"/>
<EF:EFSelect cname="方" ename="result-0-subcontractCode" colWidth="4" required="true" filter="contains">
<EF:EFInput ename="result-0-subcontractName" cname="方名称" type="hidden"/>
<EF:EFSelect cname="方" ename="result-0-subcontractCode" colWidth="4" required="true" filter="contains">
<EF:EFOption label="-- 请选择 --" value="" />
<EF:EFOptions blockId="roleCompany" valueField="companyCode" textField="companyName"/>
</EF:EFSelect>
<EF:EFInput ename="result-0-genralContractName" cname="方名称" type="hidden"/>
<EF:EFCascadeSelect cascadeFrom="result-0-subcontractCode" cname="方" ename="result-0-genralContractCode"
<EF:EFInput ename="result-0-genralContractName" cname="方名称" type="hidden"/>
<EF:EFCascadeSelect cascadeFrom="result-0-subcontractCode" cname="方" ename="result-0-genralContractCode"
colWidth="4" required="true" filter="contains" defaultValue=""
serviceName="HGSC001" methodName="genralContractComboBox" resultId="customer_record_block_id"
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