80 lines
2.8 KiB
Java
80 lines
2.8 KiB
Java
![]() |
package com.yem.wm.es.Util;
|
||
|
|
||
|
import com.yem.wm.utils.YEM;
|
||
|
import kd.bos.dataentity.entity.DynamicObject;
|
||
|
import kd.bos.entity.datamodel.IDataModel;
|
||
|
|
||
|
import java.math.BigDecimal;
|
||
|
import java.math.RoundingMode;
|
||
|
|
||
|
/**
|
||
|
* @author xwudd
|
||
|
* @date 15:03
|
||
|
* @Description
|
||
|
**/
|
||
|
public class PJUtils {
|
||
|
|
||
|
/**
|
||
|
* @description 汇总数量到 订单总台数
|
||
|
* @author xwudd
|
||
|
* return
|
||
|
* @time 2023/7/29 16:38
|
||
|
*/
|
||
|
|
||
|
public static void countOrderSumNumberPJ(IDataModel model){
|
||
|
BigDecimal total = BigDecimal.ZERO;
|
||
|
DynamicObject billType = (DynamicObject)model.getValue("yem_billtype");
|
||
|
if(YEM.isNotEmpty(billType)){
|
||
|
String number = billType.getString("number");
|
||
|
int materialInfoRows = model.getEntryRowCount("yem_es_materialinfo");
|
||
|
for (int i = 0; i < materialInfoRows; i++) {
|
||
|
String businessSort = (String)model.getValue("yem_businesssort", i);
|
||
|
if("P".equals(businessSort)){
|
||
|
total = total.add((BigDecimal)model.getValue("yem_qty",i));
|
||
|
}
|
||
|
}
|
||
|
|
||
|
}
|
||
|
model.setValue("yem_ordersumnumber",total);
|
||
|
}
|
||
|
|
||
|
|
||
|
/**
|
||
|
* @description 配件计算费用信息分录信息
|
||
|
* @author xwudd
|
||
|
* return
|
||
|
* @time 2023/8/4 15:47
|
||
|
*/
|
||
|
|
||
|
public static void countCostSumAmountPJ(IDataModel model){
|
||
|
int salesRrderRows = model.getEntryRowCount("yem_costinfor");
|
||
|
BigDecimal bigCabinetQty = (BigDecimal) model.getValue("yem_bigcabinetnumber");
|
||
|
BigDecimal minCabinetQty = (BigDecimal) model.getValue("yem_mincabinetnumber");
|
||
|
Integer singleQty = (Integer) model.getValue("yem_singlenumber");
|
||
|
BigDecimal rate = (BigDecimal) model.getValue("yem_exrate");
|
||
|
|
||
|
for(int i = 0;i < salesRrderRows;i++){
|
||
|
DynamicObject billInGWay = (DynamicObject)model.getValue("yem_bd_chargemode",i);
|
||
|
String number = YEM.isEmpty(billInGWay)?"":billInGWay.getString("number");
|
||
|
BigDecimal amt = BigDecimal.ZERO;
|
||
|
if("JFFS-0002".equals(number)){
|
||
|
BigDecimal bigCabinetPrice = (BigDecimal) model.getValue("yem_bigcabinetprice",i);
|
||
|
BigDecimal minCabinetPrice = (BigDecimal) model.getValue("yem_mincabinetprice",i);
|
||
|
amt = bigCabinetPrice.multiply(bigCabinetQty).add(minCabinetPrice.multiply(minCabinetQty));
|
||
|
}
|
||
|
if("JFFS-0003".equals(number)){
|
||
|
BigDecimal ticketPrice = (BigDecimal) model.getValue("yem_ticketprice",i);
|
||
|
amt = ticketPrice.multiply(new BigDecimal(singleQty));
|
||
|
|
||
|
}
|
||
|
if(rate.compareTo(BigDecimal.ZERO) > 0){
|
||
|
model.setValue("yem_costsumamount",amt.divide(rate, RoundingMode.HALF_DOWN),i);
|
||
|
}
|
||
|
model.setValue("yem_costsumamountcoin",amt,i);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
|
||
|
}
|