修复盘点数据传 MES 逻辑
- 完善盘点数量和账面数量的处理逻辑 - 增加对 null 值的处理,避免数据传输错误 - 优化盘盈盘亏数量的计算方法,确保数据准确性
This commit is contained in:
parent
27225bf8f4
commit
5a8aa3a808
|
@ -24,11 +24,11 @@ import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
||||||
import nc.vo.pubapp.pattern.pub.SqlBuilder;
|
import nc.vo.pubapp.pattern.pub.SqlBuilder;
|
||||||
import nc.vo.vorg.DeptVersionVO;
|
import nc.vo.vorg.DeptVersionVO;
|
||||||
import nccloud.pubift.commen.itf.utils.IHttpPostOtherSys;
|
import nccloud.pubift.commen.itf.utils.IHttpPostOtherSys;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 盘点(审批后传MES)
|
* 盘点(审批后传MES)
|
||||||
*/
|
*/
|
||||||
|
@ -135,27 +135,37 @@ public class AfterApprovingSynchronizeRuleMES implements IRule<InvCountBillVO> {
|
||||||
detail.put("KW", transferCodeByPk(RackVO.getDefaultTableName(), RackVO.CODE, RackVO.PK_RACK, bvo.getClocationid()));
|
detail.put("KW", transferCodeByPk(RackVO.getDefaultTableName(), RackVO.CODE, RackVO.PK_RACK, bvo.getClocationid()));
|
||||||
// 物料批号
|
// 物料批号
|
||||||
detail.put("WLPH", getStringValue(bvo.getVbatchcode()));
|
detail.put("WLPH", getStringValue(bvo.getVbatchcode()));
|
||||||
|
|
||||||
// 盘存数量 -> 实盘主数量
|
// 盘存数量 -> 实盘主数量
|
||||||
UFDouble pcNum = bvo.getNcountnum();
|
UFDouble pcNum = bvo.getNcountnum();
|
||||||
// 账面主数量
|
// 账面主数量
|
||||||
UFDouble zmNum = bvo.getNonhandnum();
|
UFDouble zmNum = bvo.getNonhandnum();
|
||||||
if (pcNum != null) {
|
// 如果盘存数量为null赋值为0
|
||||||
// 盘存数量 -> 实盘主数量
|
if (pcNum == null) {
|
||||||
|
detail.put("PCSL", 0);
|
||||||
|
pcNum = new UFDouble(0);
|
||||||
|
}
|
||||||
|
// 如果账面数量为null赋值为0
|
||||||
|
if (zmNum == null) {
|
||||||
|
zmNum = new UFDouble(0);
|
||||||
|
}
|
||||||
|
// 如果二者相等 两个 想减为0 都传0
|
||||||
|
if (pcNum.getDouble() == zmNum.getDouble()) {
|
||||||
detail.put("PCSL", pcNum.getDouble());
|
detail.put("PCSL", pcNum.getDouble());
|
||||||
if (zmNum != null) {
|
detail.put("PYSL", 0);
|
||||||
// 盘盈数量 -> 账面主数量 - 实盘主数量
|
detail.put("PKSL", 0);
|
||||||
detail.put("PYSL", zmNum.getDouble() - pcNum.getDouble());
|
}
|
||||||
// 盘亏数量 -> 实盘主数量 - 账面主数量
|
// 盘盈盘亏都是正数
|
||||||
detail.put("PKSL", pcNum.getDouble() - zmNum.getDouble());
|
// 账面数据比实盘数据大时,为盘亏,此时盘盈没有值,盘亏为账面减去实盘;
|
||||||
} else {
|
// 账面数据比实盘数据小时,为盘盈,此时盘亏没有值,盘盈为实盘减去账面
|
||||||
detail.put("PYSL", null);
|
if (zmNum.getDouble() > pcNum.getDouble()) {
|
||||||
detail.put("PKSL", null);
|
detail.put("PCSL", pcNum.getDouble());
|
||||||
}
|
detail.put("PYSL", 0);
|
||||||
} else {
|
detail.put("PKSL", Math.abs(zmNum.getDouble() - pcNum.getDouble()));
|
||||||
detail.put("PCSL", null);
|
}
|
||||||
detail.put("PYSL", null);
|
if (zmNum.getDouble() < pcNum.getDouble()) {
|
||||||
detail.put("PKSL", null);
|
detail.put("PCSL", pcNum.getDouble());
|
||||||
|
detail.put("PYSL", Math.abs(pcNum.getDouble() - zmNum.getDouble()));
|
||||||
|
detail.put("PKSL", 0);
|
||||||
}
|
}
|
||||||
// 盈亏单价
|
// 盈亏单价
|
||||||
detail.put("YCDJ", null);
|
detail.put("YCDJ", null);
|
||||||
|
|
Loading…
Reference in New Issue