销售订单保存接口-单价金额等字段取值调整
This commit is contained in:
		
							parent
							
								
									cbeb3380b2
								
							
						
					
					
						commit
						4cfab31123
					
				| 
						 | 
					@ -146,106 +146,108 @@ public class APISaleOrderMaitainImpl implements IAPISaleOrderMaitain {
 | 
				
			||||||
            ExceptionUtils.wrappBusinessException(
 | 
					            ExceptionUtils.wrappBusinessException(
 | 
				
			||||||
                    NCLangRes4VoTransl.getNCLangRes().getStrByID("4006013_0", "04006013-0024")/* @res "请先选择交易类型!" */);
 | 
					                    NCLangRes4VoTransl.getNCLangRes().getStrByID("4006013_0", "04006013-0024")/* @res "请先选择交易类型!" */);
 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        // 1.缓存交易类型VO
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        SaleOrderBVO[] vbos = ordervo.getChildrenVO();
 | 
					        SaleOrderBVO[] vbos = ordervo.getChildrenVO();
 | 
				
			||||||
        UFDouble sumnum = UFDouble.ZERO_DBL;
 | 
					        UFDouble sumnum = UFDouble.ZERO_DBL;
 | 
				
			||||||
        UFDouble sumnny = UFDouble.ZERO_DBL;
 | 
					        UFDouble sumnny = UFDouble.ZERO_DBL;
 | 
				
			||||||
        String ybpk = ordervo.getParentVO().getCorigcurrencyid();
 | 
					 | 
				
			||||||
 | 
					
 | 
				
			||||||
        for (int i = 0; i < vbos.length; i++) {
 | 
					        for (int i = 0; i < vbos.length; i++) {
 | 
				
			||||||
            SaleOrderBVO childrenVO = vbos[i];
 | 
					            SaleOrderBVO childrenVO = vbos[i];
 | 
				
			||||||
            String zbbz = childrenVO.getCcurrencyid();
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            childrenVO.setFtaxtypeflag(1);
 | 
					            childrenVO.setFtaxtypeflag(1);
 | 
				
			||||||
            // 得到税率
 | 
					            UFDouble nexchangerate = getUFDouble_NullAsOne(childrenVO.getNexchangerate());
 | 
				
			||||||
            UFDouble ntaxrate = BFPubTools.getUFDouble_NullAsZero(childrenVO.getNtaxrate());
 | 
					            childrenVO.setNexchangerate(nexchangerate);
 | 
				
			||||||
 | 
					            // 处理单价(4位)和金额(2位)
 | 
				
			||||||
            // 折本汇率
 | 
					 | 
				
			||||||
            UFDouble nexchangerate = childrenVO.getNexchangerate();
 | 
					 | 
				
			||||||
            nexchangerate = getUFDouble_NullAsOne(nexchangerate);
 | 
					 | 
				
			||||||
            // 含税单价
 | 
					            // 含税单价
 | 
				
			||||||
            UFDouble nqtorigtaxprice = childrenVO.getNqtorigtaxprice();
 | 
					            UFDouble nqtorigtaxprice = childrenVO.getNqtorigtaxprice();
 | 
				
			||||||
 | 
					            nqtorigtaxprice.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
 | 
					            childrenVO.setNqtorigtaxprice(nqtorigtaxprice);
 | 
				
			||||||
            // 无税单价
 | 
					            // 无税单价
 | 
				
			||||||
            UFDouble nqtorigprice = nqtorigtaxprice.div(UFDouble.ONE_DBL.add(ntaxrate.div(100)));
 | 
					            UFDouble nqtorigprice = childrenVO.getNqtorigprice();
 | 
				
			||||||
            // 价税合计
 | 
					            nqtorigprice.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
            // UFDouble norigtaxmny=nqtorigtaxprice.multiply(childrenVO.getNqtunitnum());
 | 
					            childrenVO.setNqtorigprice(nqtorigprice);
 | 
				
			||||||
            UFDouble norigtaxmny = nqtorigtaxprice.multiply(childrenVO.getNqtunitnum()).setScale(2, 4);
 | 
					            // 含税净价
 | 
				
			||||||
            childrenVO.setNorigtaxmny(norigtaxmny);
 | 
					            UFDouble nqtorigtaxnetprc = childrenVO.getNqtorigtaxnetprc();
 | 
				
			||||||
            // 无税金额
 | 
					            nqtorigtaxnetprc.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
            UFDouble norigmny = nqtorigprice.multiply(childrenVO.getNqtunitnum());
 | 
					            childrenVO.setNqtorigtaxnetprc(nqtorigtaxnetprc);
 | 
				
			||||||
 | 
					            // 无税净价
 | 
				
			||||||
            childrenVO.setNorigmny(Currency.getFormaUfValue(ybpk, norigmny));
 | 
					            UFDouble nqtorignetprice = childrenVO.getNqtorignetprice();
 | 
				
			||||||
            // 税额
 | 
					            nqtorignetprice.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
            childrenVO.setNqtorigprice(nqtorigprice.setScale(4, 4));
 | 
					            childrenVO.setNqtorignetprice(nqtorignetprice);
 | 
				
			||||||
 | 
					            // 主含税单价
 | 
				
			||||||
            // 无税本币金额单价
 | 
					            UFDouble norigtaxprice = childrenVO.getNorigtaxprice();
 | 
				
			||||||
            UFDouble taxspric = nqtorigtaxprice.div(UFDouble.ONE_DBL.add(ntaxrate.div(100)));
 | 
					            norigtaxprice.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
 | 
					            childrenVO.setNorigtaxprice(norigtaxprice);
 | 
				
			||||||
            sumnum = sumnum.add(childrenVO.getNastnum());
 | 
					            // 主无税单价
 | 
				
			||||||
            sumnny = sumnny.add(childrenVO.getNorigtaxmny());
 | 
					            UFDouble norigprice = childrenVO.getNorigprice();
 | 
				
			||||||
 | 
					            norigprice.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
            nqtorigprice = nqtorigprice.setScale(4, 4);
 | 
					            childrenVO.setNorigprice(norigprice);
 | 
				
			||||||
            // nqtorigtaxnetprc--含税净价
 | 
					            // 主含税净价
 | 
				
			||||||
            childrenVO.setNqtorigtaxnetprc(nqtorigtaxprice);
 | 
					            UFDouble norigtaxnetprice = childrenVO.getNorigtaxnetprice();
 | 
				
			||||||
            // ,nqtorignetprice --无税净价
 | 
					            norigtaxnetprice.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
            childrenVO.setNqtorignetprice(nqtorigprice);
 | 
					            childrenVO.setNorigtaxnetprice(norigtaxnetprice);
 | 
				
			||||||
            String Vqtunitrate = childrenVO.getVqtunitrate();
 | 
					            // 主无税净价
 | 
				
			||||||
            UFDouble dVqtunitrate = UFDouble.ONE_DBL;
 | 
					            UFDouble norignetprice = childrenVO.getNorignetprice();
 | 
				
			||||||
            if (Vqtunitrate != null) {
 | 
					            norignetprice.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
                dVqtunitrate = BFPubTools.getUFDouble_NullAsZero(Vqtunitrate.split("/")[0]);
 | 
					            childrenVO.setNorignetprice(norignetprice);
 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
            // ,norigtaxprice --主含税单价
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            UFDouble wsje = taxspric.multiply(nexchangerate).multiply(childrenVO.getNqtunitnum());
 | 
					 | 
				
			||||||
            if (ybpk.equals(zbbz) && BFPubTools.getString_TrimAsNull(childrenVO.getCqtunitid())
 | 
					 | 
				
			||||||
                    .equals(BFPubTools.getString_TrimAsNull(childrenVO.getCastunitid()))) {
 | 
					 | 
				
			||||||
                wsje = taxspric.multiply(nexchangerate).multiply(childrenVO.getNqtunitnum());
 | 
					 | 
				
			||||||
            }
 | 
					 | 
				
			||||||
 | 
					 | 
				
			||||||
            wsje = Currency.getFormaUfValue(zbbz, wsje);
 | 
					 | 
				
			||||||
            // 本币无税金额
 | 
					            // 本币无税金额
 | 
				
			||||||
            childrenVO.setNorigtaxprice(nqtorigtaxprice.div(dVqtunitrate).setScale(4, 4));
 | 
					            UFDouble nmny = childrenVO.getNmny();
 | 
				
			||||||
            // ,norigprice --主无税单价
 | 
					            nmny.setScale(2, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
            childrenVO.setNorigprice(nqtorigprice.div(dVqtunitrate).setScale(4, 4));
 | 
					            childrenVO.setNmny(nmny);
 | 
				
			||||||
            // ,norigtaxnetprice --主含税净价
 | 
					            // 本币价税合计
 | 
				
			||||||
            childrenVO.setNorigtaxnetprice(childrenVO.getNorigtaxprice());
 | 
					            UFDouble ntaxmny = childrenVO.getNtaxmny();
 | 
				
			||||||
            // ,norignetprice --主无税净价
 | 
					            ntaxmny.setScale(2, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
            childrenVO.setNorignetprice(childrenVO.getNorigprice());
 | 
					            childrenVO.setNtaxmny(ntaxmny);
 | 
				
			||||||
            // ncaltaxmny --计税金额
 | 
					            // 税额
 | 
				
			||||||
 | 
					            UFDouble ntax = childrenVO.getNtax();
 | 
				
			||||||
 | 
					            ntax.setScale(2, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
 | 
					            childrenVO.setNtax(ntax);
 | 
				
			||||||
 | 
					            // 无税金额
 | 
				
			||||||
 | 
					            UFDouble norigmny = childrenVO.getNorigmny();
 | 
				
			||||||
 | 
					            norigmny.setScale(2, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
 | 
					            childrenVO.setNorigmny(norigmny);
 | 
				
			||||||
 | 
					            // 价税合计
 | 
				
			||||||
 | 
					            UFDouble norigtaxmny = childrenVO.getNorigtaxmny();
 | 
				
			||||||
 | 
					            norigtaxmny.setScale(2, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
 | 
					            childrenVO.setNorigtaxmny(norigtaxmny);
 | 
				
			||||||
 | 
					            // 本币含税单价
 | 
				
			||||||
 | 
					            UFDouble nqttaxprice = childrenVO.getNqttaxprice();
 | 
				
			||||||
 | 
					            nqttaxprice.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
 | 
					            childrenVO.setNqttaxprice(nqttaxprice);
 | 
				
			||||||
 | 
					            // 本币无税单价
 | 
				
			||||||
 | 
					            UFDouble nqtprice = childrenVO.getNqtprice();
 | 
				
			||||||
 | 
					            nqtprice.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
 | 
					            childrenVO.setNqtprice(nqtprice);
 | 
				
			||||||
 | 
					            // 本币含税净价
 | 
				
			||||||
 | 
					            UFDouble nqttaxnetprice = childrenVO.getNqttaxnetprice();
 | 
				
			||||||
 | 
					            nqttaxnetprice.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
 | 
					            childrenVO.setNqttaxnetprice(nqttaxnetprice);
 | 
				
			||||||
 | 
					            // 本币无税净价
 | 
				
			||||||
 | 
					            UFDouble nqtnetprice = childrenVO.getNqtnetprice();
 | 
				
			||||||
 | 
					            nqtnetprice.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
 | 
					            childrenVO.setNqtnetprice(nqtnetprice);
 | 
				
			||||||
 | 
					            // 主本币含税单价
 | 
				
			||||||
 | 
					            UFDouble ntaxprice = childrenVO.getNtaxprice();
 | 
				
			||||||
 | 
					            ntaxprice.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
 | 
					            childrenVO.setNtaxprice(ntaxprice);
 | 
				
			||||||
 | 
					            // 主本币无税单价
 | 
				
			||||||
 | 
					            UFDouble nprice = childrenVO.getNprice();
 | 
				
			||||||
 | 
					            nprice.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
 | 
					            childrenVO.setNprice(nprice);
 | 
				
			||||||
 | 
					            // 主本币含税净价
 | 
				
			||||||
 | 
					            UFDouble ntaxnetprice = childrenVO.getNtaxnetprice();
 | 
				
			||||||
 | 
					            ntaxnetprice.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
 | 
					            childrenVO.setNtaxnetprice(ntaxnetprice);
 | 
				
			||||||
 | 
					            // 主本币无税净价
 | 
				
			||||||
 | 
					            UFDouble nnetprice = childrenVO.getNnetprice();
 | 
				
			||||||
 | 
					            nnetprice.setScale(4, UFDouble.ROUND_HALF_UP);
 | 
				
			||||||
 | 
					            childrenVO.setNnetprice(nnetprice);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            UFDouble nastnum = childrenVO.getNastnum();
 | 
				
			||||||
 | 
					            sumnum = sumnum.add(nastnum);
 | 
				
			||||||
 | 
					            sumnny = sumnny.add(norigtaxmny);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            // ,nqttaxprice --本币含税单价
 | 
					 | 
				
			||||||
            childrenVO.setNqttaxprice(nqtorigtaxprice.multiply(nexchangerate));
 | 
					 | 
				
			||||||
            // ,nqtprice --本币无税单价
 | 
					 | 
				
			||||||
            UFDouble bbwsd = nqtorigtaxprice.div(UFDouble.ONE_DBL.add(ntaxrate.div(100))).multiply(nexchangerate);
 | 
					 | 
				
			||||||
            childrenVO.setNqtprice(bbwsd.setScale(4, 4));
 | 
					 | 
				
			||||||
            // , nqttaxnetprice --本币含税净价
 | 
					 | 
				
			||||||
            childrenVO.setNqttaxnetprice(nqtorigtaxprice.multiply(nexchangerate));
 | 
					 | 
				
			||||||
            // ,nqtnetprice --本币无税净价
 | 
					 | 
				
			||||||
            UFDouble Nqtnetprice = nqtorigtaxprice.div(UFDouble.ONE_DBL.add(ntaxrate.div(100))).multiply(nexchangerate);
 | 
					 | 
				
			||||||
            childrenVO.setNqtnetprice(Nqtnetprice.setScale(4, 4));
 | 
					 | 
				
			||||||
            // ,ntaxprice --主本币含税单价 , nprice --主本币无税单价
 | 
					 | 
				
			||||||
            childrenVO.setNtaxprice(nqtorigtaxprice.div(dVqtunitrate).multiply(nexchangerate).setScale(4, 4));
 | 
					 | 
				
			||||||
            UFDouble Nprice = nqtorigtaxprice.div(dVqtunitrate).div(UFDouble.ONE_DBL.add(ntaxrate.div(100)))
 | 
					 | 
				
			||||||
                    .multiply(nexchangerate);
 | 
					 | 
				
			||||||
            childrenVO.setNprice(Nprice.setScale(4, 4));
 | 
					 | 
				
			||||||
            // ,ntaxnetprice --主本币含税净价
 | 
					 | 
				
			||||||
            // ,nnetprice --主本币无税净价
 | 
					 | 
				
			||||||
            childrenVO.setNtaxnetprice(nqtorigtaxprice.div(dVqtunitrate).multiply(nexchangerate).setScale(4, 4));
 | 
					 | 
				
			||||||
            UFDouble Nnetprice = nqtorigtaxprice.div(UFDouble.ONE_DBL.add(ntaxrate.div(100))).div(dVqtunitrate);
 | 
					 | 
				
			||||||
            childrenVO.setNnetprice(Nnetprice.multiply(nexchangerate).setScale(4, 4));
 | 
					 | 
				
			||||||
//            ,nmny	--本币无税金额
 | 
					 | 
				
			||||||
//            ,ntaxmny	--本币价税合计
 | 
					 | 
				
			||||||
            childrenVO.setNmny(Currency.getFormaUfValue(zbbz, norigmny.multiply(nexchangerate)));
 | 
					 | 
				
			||||||
            childrenVO.setNtaxmny(
 | 
					 | 
				
			||||||
                    nqtorigtaxprice.multiply(nexchangerate).multiply(childrenVO.getNqtunitnum()).setScale(2, 4));
 | 
					 | 
				
			||||||
//            childrenVO.setNtaxmny(nqtorigtaxprice.multiply(nexchangerate).multiply(childrenVO.getNqtunitnum()));
 | 
					 | 
				
			||||||
            childrenVO.setNcaltaxmny(wsje);
 | 
					 | 
				
			||||||
            UFDouble ntax = norigtaxmny.multiply(nexchangerate).sub(wsje);
 | 
					 | 
				
			||||||
            childrenVO.setNtax(ntax.setScale(2, 4));
 | 
					 | 
				
			||||||
        }
 | 
					        }
 | 
				
			||||||
        ordervo.getParentVO().setNtotalnum(sumnum);
 | 
					        ordervo.getParentVO().setNtotalnum(sumnum);
 | 
				
			||||||
//  	  ordervo.getParentVO().setNtotalorigmny(sumnny);
 | 
					 | 
				
			||||||
        ordervo.getParentVO().setNtotalorigmny(sumnny.setScale(2, 4));
 | 
					        ordervo.getParentVO().setNtotalorigmny(sumnny.setScale(2, 4));
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -1072,4 +1074,114 @@ public class APISaleOrderMaitainImpl implements IAPISaleOrderMaitain {
 | 
				
			||||||
        return new UFDouble(value.toString().trim());
 | 
					        return new UFDouble(value.toString().trim());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    public void calculatorPrice1(SaleOrderVO ordervo) throws BusinessException {
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        IKeyValue keyValue = new VOKeyValue<SaleOrderVO>(ordervo);
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        String ctrantypeid = keyValue.getHeadStringValue(SaleOrderHVO.CTRANTYPEID);
 | 
				
			||||||
 | 
					        if (StringUtil.isEmptyTrimSpace(ctrantypeid)) {
 | 
				
			||||||
 | 
					            ExceptionUtils.wrappBusinessException(
 | 
				
			||||||
 | 
					                    NCLangRes4VoTransl.getNCLangRes().getStrByID("4006013_0", "04006013-0024")/* @res "请先选择交易类型!" */);
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        // 1.缓存交易类型VO
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        SaleOrderBVO[] vbos = ordervo.getChildrenVO();
 | 
				
			||||||
 | 
					        UFDouble sumnum = UFDouble.ZERO_DBL;
 | 
				
			||||||
 | 
					        UFDouble sumnny = UFDouble.ZERO_DBL;
 | 
				
			||||||
 | 
					        String ybpk = ordervo.getParentVO().getCorigcurrencyid();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        for (int i = 0; i < vbos.length; i++) {
 | 
				
			||||||
 | 
					            SaleOrderBVO childrenVO = vbos[i];
 | 
				
			||||||
 | 
					            String zbbz = childrenVO.getCcurrencyid();
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            childrenVO.setFtaxtypeflag(1);
 | 
				
			||||||
 | 
					            // 得到税率
 | 
				
			||||||
 | 
					            UFDouble ntaxrate = BFPubTools.getUFDouble_NullAsZero(childrenVO.getNtaxrate());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // 折本汇率
 | 
				
			||||||
 | 
					            UFDouble nexchangerate = childrenVO.getNexchangerate();
 | 
				
			||||||
 | 
					            nexchangerate = getUFDouble_NullAsOne(nexchangerate);
 | 
				
			||||||
 | 
					            // 含税单价
 | 
				
			||||||
 | 
					            UFDouble nqtorigtaxprice = childrenVO.getNqtorigtaxprice();
 | 
				
			||||||
 | 
					            // 无税单价
 | 
				
			||||||
 | 
					            UFDouble nqtorigprice = nqtorigtaxprice.div(UFDouble.ONE_DBL.add(ntaxrate.div(100)));
 | 
				
			||||||
 | 
					            // 价税合计
 | 
				
			||||||
 | 
					            // UFDouble norigtaxmny=nqtorigtaxprice.multiply(childrenVO.getNqtunitnum());
 | 
				
			||||||
 | 
					            UFDouble norigtaxmny = nqtorigtaxprice.multiply(childrenVO.getNqtunitnum()).setScale(2, 4);
 | 
				
			||||||
 | 
					            childrenVO.setNorigtaxmny(norigtaxmny);
 | 
				
			||||||
 | 
					            // 无税金额
 | 
				
			||||||
 | 
					            UFDouble norigmny = nqtorigprice.multiply(childrenVO.getNqtunitnum());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            childrenVO.setNorigmny(Currency.getFormaUfValue(ybpk, norigmny));
 | 
				
			||||||
 | 
					            // 税额
 | 
				
			||||||
 | 
					            childrenVO.setNqtorigprice(nqtorigprice.setScale(4, 4));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // 无税本币金额单价
 | 
				
			||||||
 | 
					            UFDouble taxspric = nqtorigtaxprice.div(UFDouble.ONE_DBL.add(ntaxrate.div(100)));
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            sumnum = sumnum.add(childrenVO.getNastnum());
 | 
				
			||||||
 | 
					            sumnny = sumnny.add(childrenVO.getNorigtaxmny());
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            nqtorigprice = nqtorigprice.setScale(4, 4);
 | 
				
			||||||
 | 
					            // nqtorigtaxnetprc--含税净价
 | 
				
			||||||
 | 
					            childrenVO.setNqtorigtaxnetprc(nqtorigtaxprice);
 | 
				
			||||||
 | 
					            // nqtorignetprice --无税净价
 | 
				
			||||||
 | 
					            childrenVO.setNqtorignetprice(nqtorigprice);
 | 
				
			||||||
 | 
					            String Vqtunitrate = childrenVO.getVqtunitrate();
 | 
				
			||||||
 | 
					            UFDouble dVqtunitrate = UFDouble.ONE_DBL;
 | 
				
			||||||
 | 
					            if (Vqtunitrate != null) {
 | 
				
			||||||
 | 
					                dVqtunitrate = BFPubTools.getUFDouble_NullAsZero(Vqtunitrate.split("/")[0]);
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					            // norigtaxprice --主含税单价
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            UFDouble wsje = taxspric.multiply(nexchangerate).multiply(childrenVO.getNqtunitnum());
 | 
				
			||||||
 | 
					            if (ybpk.equals(zbbz) && BFPubTools.getString_TrimAsNull(childrenVO.getCqtunitid())
 | 
				
			||||||
 | 
					                    .equals(BFPubTools.getString_TrimAsNull(childrenVO.getCastunitid()))) {
 | 
				
			||||||
 | 
					                wsje = taxspric.multiply(nexchangerate).multiply(childrenVO.getNqtunitnum());
 | 
				
			||||||
 | 
					            }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            wsje = Currency.getFormaUfValue(zbbz, wsje);
 | 
				
			||||||
 | 
					            // 本币无税金额
 | 
				
			||||||
 | 
					            childrenVO.setNorigtaxprice(nqtorigtaxprice.div(dVqtunitrate).setScale(4, 4));
 | 
				
			||||||
 | 
					            // norigprice --主无税单价
 | 
				
			||||||
 | 
					            childrenVO.setNorigprice(nqtorigprice.div(dVqtunitrate).setScale(4, 4));
 | 
				
			||||||
 | 
					            // norigtaxnetprice --主含税净价
 | 
				
			||||||
 | 
					            childrenVO.setNorigtaxnetprice(childrenVO.getNorigtaxprice());
 | 
				
			||||||
 | 
					            // norignetprice --主无税净价
 | 
				
			||||||
 | 
					            childrenVO.setNorignetprice(childrenVO.getNorigprice());
 | 
				
			||||||
 | 
					            // ncaltaxmny --计税金额
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					            // nqttaxprice --本币含税单价
 | 
				
			||||||
 | 
					            childrenVO.setNqttaxprice(nqtorigtaxprice.multiply(nexchangerate));
 | 
				
			||||||
 | 
					            // nqtprice --本币无税单价
 | 
				
			||||||
 | 
					            UFDouble bbwsd = nqtorigtaxprice.div(UFDouble.ONE_DBL.add(ntaxrate.div(100))).multiply(nexchangerate);
 | 
				
			||||||
 | 
					            childrenVO.setNqtprice(bbwsd.setScale(4, 4));
 | 
				
			||||||
 | 
					            // nqttaxnetprice --本币含税净价
 | 
				
			||||||
 | 
					            childrenVO.setNqttaxnetprice(nqtorigtaxprice.multiply(nexchangerate));
 | 
				
			||||||
 | 
					            // nqtnetprice --本币无税净价
 | 
				
			||||||
 | 
					            UFDouble Nqtnetprice = nqtorigtaxprice.div(UFDouble.ONE_DBL.add(ntaxrate.div(100))).multiply(nexchangerate);
 | 
				
			||||||
 | 
					            childrenVO.setNqtnetprice(Nqtnetprice.setScale(4, 4));
 | 
				
			||||||
 | 
					            // ntaxprice --主本币含税单价 , nprice --主本币无税单价
 | 
				
			||||||
 | 
					            childrenVO.setNtaxprice(nqtorigtaxprice.div(dVqtunitrate).multiply(nexchangerate).setScale(4, 4));
 | 
				
			||||||
 | 
					            UFDouble Nprice = nqtorigtaxprice.div(dVqtunitrate).div(UFDouble.ONE_DBL.add(ntaxrate.div(100)))
 | 
				
			||||||
 | 
					                    .multiply(nexchangerate);
 | 
				
			||||||
 | 
					            childrenVO.setNprice(Nprice.setScale(4, 4));
 | 
				
			||||||
 | 
					            // ntaxnetprice --主本币含税净价
 | 
				
			||||||
 | 
					            // nnetprice --主本币无税净价
 | 
				
			||||||
 | 
					            childrenVO.setNtaxnetprice(nqtorigtaxprice.div(dVqtunitrate).multiply(nexchangerate).setScale(4, 4));
 | 
				
			||||||
 | 
					            UFDouble Nnetprice = nqtorigtaxprice.div(UFDouble.ONE_DBL.add(ntaxrate.div(100))).div(dVqtunitrate);
 | 
				
			||||||
 | 
					            childrenVO.setNnetprice(Nnetprice.multiply(nexchangerate).setScale(4, 4));
 | 
				
			||||||
 | 
					            // nmny	--本币无税金额
 | 
				
			||||||
 | 
					            childrenVO.setNmny(Currency.getFormaUfValue(zbbz, norigmny.multiply(nexchangerate)));
 | 
				
			||||||
 | 
					            // ntaxmny--本币价税合计
 | 
				
			||||||
 | 
					            childrenVO.setNtaxmny(
 | 
				
			||||||
 | 
					                    nqtorigtaxprice.multiply(nexchangerate).multiply(childrenVO.getNqtunitnum()).setScale(2, 4));
 | 
				
			||||||
 | 
					            childrenVO.setNcaltaxmny(wsje);
 | 
				
			||||||
 | 
					            UFDouble ntax = norigtaxmny.multiply(nexchangerate).sub(wsje);
 | 
				
			||||||
 | 
					            childrenVO.setNtax(ntax.setScale(2, 4));
 | 
				
			||||||
 | 
					        }
 | 
				
			||||||
 | 
					        ordervo.getParentVO().setNtotalnum(sumnum);
 | 
				
			||||||
 | 
					        ordervo.getParentVO().setNtotalorigmny(sumnny.setScale(2, 4));
 | 
				
			||||||
 | 
					    }
 | 
				
			||||||
 | 
					
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in New Issue