前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >库存单据计算逻辑和运费计算

库存单据计算逻辑和运费计算

作者头像
破晓之翼
发布2023-10-17 17:14:45
1620
发布2023-10-17 17:14:45
举报
文章被收录于专栏:产品能力
代码语言:javascript
复制
var CU = pluginCtx.getUIContext().get(“sysContext”).getCurrentFIUnit();

//判断分录净重合计是否与表头净重一致
 var total = new java.math.BigDecimal(0);
 total = pluginCtx.getKDFormattedTextField(“txttotalNetQty”).getValue();
 if(total!=null && total.compareTo(new java.math.BigDecimal(0))>0){
 var nettotal = new java.math.BigDecimal(0);
 var rowsize = pluginCtx.getKDTable(“detailTable”).getRowCount();
 for(var i=0;i<rowsize;i++){
 var netQty = pluginCtx.getKDTable(“detailTable”).getRow(i).getCell(“netQty”).getValue();
 netQty = netQty==null?new java.math.BigDecimal(0):netQty;
 nettotal = nettotal.add(netQty);
 }
 if(total.compareTo(nettotal)!=0){
 com.kingdee.eas.util.client.MsgBox.showInfo(“分录明细净重之和与表头净重不一致,请重新调整!”);
 com.kingdee.eas.util.SysUtil.abort();
 }
 }
//判断是否过磅
 var srcbilltype = pluginCtx.getKDBizPromptBox(“kDBizPromptBoxSorBillType”).getValue();
 if(srcbilltype!=null && srcbilltype.getName().equals(“采购收货单”)){
 var isInit = pluginCtx.getKDCheckBox(“cboxIsInitBill”).isSelected();
 var rowc=pluginCtx.getKDTable(“detailTable”).getRowCount();
 if(CU!=null && !isInit){
 for(var i=0;i<rowc;i++){
 var material = pluginCtx.getKDTable(“detailTable”).getRow(i).getCell(“materialNum”).getValue(); 
 if(material!=null){
 var ev = new com.kingdee.bos.metadata.entity.EntityViewInfo();
 var filter = new com.kingdee.bos.metadata.entity.FilterInfo();
 filter.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo(“material”, material.getId(), com.kingdee.bos.metadata.query.util.CompareType.EQUALS));
 filter.getFilterItems().add(new com.kingdee.bos.metadata.entity.FilterItemInfo(“orgUnit”, CU.getId(), com.kingdee.bos.metadata.query.util.CompareType.EQUALS));
 ev.setFilter(filter);
 var materialPurColl = com.kingdee.eas.basedata.master.material.MaterialPurchasingFactory.getRemoteInstance().getMaterialPurchasingCollection(ev);
 if(materialPurColl.size()>0){
 var materialPurInfo = materialPurColl.get(0);
 var isWeigh = materialPurInfo.get(“producingArea”);
 var weighBill = pluginCtx.getKDBizPromptBox(“prmtweighBill”).getValue();
 if(isWeigh!=null && isWeigh.equals(“Y”)){
 if(weighBill==null){
 com.kingdee.eas.util.client.MsgBox.showInfo(“必须先过磅才能入库,请选择磅单!”);
 com.kingdee.eas.util.SysUtil.abort();
 } 
 } 
 }
 }
 }
 }
 }

//计算运费
 var weighDiff = pluginCtx.getKDFormattedTextField(“txtweighDiff”).getValue();
 weighDiff = weighDiffnull?new java.math.BigDecimal(0):weighDiff;
 var rowsize = pluginCtx.getKDTable(“detailTable”).getRowCount();
 for(var i=0;i<rowsize;i++){
 var shipQty = pluginCtx.getKDTable(“detailTable”).getRow(i).getCell(“shipQty”).getValue();
 shipQty = shipQtynull?new java.math.BigDecimal(0):shipQty;
 var netQty = pluginCtx.getKDTable(“detailTable”).getRow(i).getCell(“netQty”).getValue();
 netQty = netQtynull?new java.math.BigDecimal(0):netQty;
 var transPrice = pluginCtx.getKDTable(“detailTable”).getRow(i).getCell(“transPrice”).getValue();
 transPrice = transPricenull?new java.math.BigDecimal(0):transPrice;

代码语言:javascript
复制
var transAmt = new java.math.BigDecimal(0);
if(transPrice==null || transPrice==0){
	transAmt=0;
	}
else if(shipQty.subtract(netQty).compareTo(weighDiff)>0){
	transAmt = shipQty.multiply(transPrice);
}else{
	var actualTaxPrice = pluginCtx.getKDTable("detailTable").getRow(i).getCell("actualTaxPrice").getValue(); 
	transAmt = netQty.multiply(transPrice).subtract(shipQty.subtract(netQty).subtract(weighDiff).multiply(actualTaxPrice));
}
pluginCtx.getKDTable("detailTable").getRow(i).getCell("transAmt").setValue(transAmt); 

}

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2023-10-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档