优化浮点数bug
This commit is contained in:
parent
d9c232ab26
commit
3e15bd6457
|
@ -115,10 +115,14 @@ public class saveBeforeCheck implements IBusinessListener {
|
|||
Object nassistnumObj = valMap.get("nassistnum");
|
||||
String nassistnums = (nassistnumObj != null) ? nassistnumObj.toString() : "";
|
||||
double nassistnum = (nassistnums.isEmpty()) ? 0 : Double.parseDouble(nassistnums);// 累计出库主数量
|
||||
if (sQty < (nassistnum + bdsfnum)) {
|
||||
throw new BusinessException("销售出库单明细" + (i + 1) + ",累计出库实发数量'" + (nassistnum + bdsfnum)
|
||||
+ "'大于销售订单累计发货申请数量'" + sQty + "',无法保存!");
|
||||
if (new UFDouble(sQty).compareTo((new UFDouble(nassistnum).add(new UFDouble(bdnum)))) <0) {
|
||||
throw new BusinessException("销售出库单明细" + (i + 1) + ",累计出库实发数量'" + (new UFDouble(nassistnum).add(new UFDouble(bdnum)).toString())
|
||||
+ "'大于销售订单累计发货申请数量'" + (new UFDouble(sQty)).toString() + "',无法保存!");
|
||||
}
|
||||
// if (sQty < (nassistnum + bdsfnum)) {
|
||||
// throw new BusinessException("销售出库单明细" + (i + 1) + ",累计出库实发数量'" + (nassistnum + bdsfnum)
|
||||
// + "'大于销售订单累计发货申请数量'" + sQty + "',无法保存!");
|
||||
// }
|
||||
} catch (NumberFormatException e) {
|
||||
throw new BusinessException("累计发货申请数量、累计出库数量转化数值失败" + e);
|
||||
}
|
||||
|
|
|
@ -13,11 +13,15 @@ import nc.impl.pubapp.pattern.rule.IRule;
|
|||
import nc.vo.pu.m20.entity.PraybillItemVO;
|
||||
import nc.vo.pu.m20.entity.PraybillVO;
|
||||
import nc.vo.pu.pub.constant.PUMDValue;
|
||||
import nc.vo.pub.BusinessException;
|
||||
import nc.vo.pub.lang.UFDouble;
|
||||
import nc.vo.pubapp.pattern.exception.ExceptionUtils;
|
||||
import nccloud.commons.lang.ArrayUtils;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
|
||||
/**
|
||||
* 请购单删除时回写备料计划是否下达字段
|
||||
|
@ -30,22 +34,35 @@ public class UpdatePickmRule implements IRule<PraybillVO> {
|
|||
if (!ArrayUtils.isEmpty(vos)) {
|
||||
try {
|
||||
List<String> pk= new ArrayList<String>();
|
||||
List<Map<String,Object>> updateList = new ArrayList<>();
|
||||
for (PraybillVO vo : vos) {
|
||||
PraybillItemVO[] praybillItemVOS=vo.getBVO();
|
||||
for (PraybillItemVO praybillItemVO : praybillItemVOS) {
|
||||
if("55A3".equals(praybillItemVO.getCsourcetypecode())){
|
||||
Map<String,Object> map = new HashMap<>();
|
||||
map.put("num",praybillItemVO.getNastnum());
|
||||
map.put("pk",praybillItemVO.getCfirstbid());
|
||||
pk.add(praybillItemVO.getCsourcebid());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if(!updateList.isEmpty()){
|
||||
// 回写已经下达数量
|
||||
updetaPmoNum(updateList);
|
||||
}
|
||||
if(!pk.isEmpty()){
|
||||
//回写是否下方为是
|
||||
updetaPmo(pk);
|
||||
}
|
||||
|
||||
|
||||
} catch (Exception e) {
|
||||
ExceptionUtils.wrappException(e);
|
||||
} catch (BusinessException e) {
|
||||
try {
|
||||
throw new BusinessException(e.getMessage());
|
||||
} catch (BusinessException ex) {
|
||||
throw new RuntimeException(ex);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -67,9 +84,19 @@ public class UpdatePickmRule implements IRule<PraybillVO> {
|
|||
} else {
|
||||
result = "'" + (String) arrayList.get(0) + "'";
|
||||
}
|
||||
String sql = " update mm_pickm_b set vbdef13='N' where mm_pickm_b.cpickm_bid in(" + result + ")";
|
||||
String sql = " update mm_pickm_b set vbdef13='N' where mm_pickm_b.cpickm_bid in(" + result + ") and mm_pickm_b.vbdef16='0' ";
|
||||
|
||||
BaseDAO dao = new BaseDAO();
|
||||
dao.executeUpdate(sql);
|
||||
}
|
||||
private void updetaPmoNum(List<Map<String, Object>> updateList) throws DAOException {
|
||||
BaseDAO dao = new BaseDAO();
|
||||
for (Map<String, Object> updateMap : updateList) {
|
||||
String sql = " update mm_pickm_b set vbdef16 = TO_CHAR(TO_NUMBER(vbdef16) -TO_NUMBER('"+((UFDouble)updateMap.get("num")).toString()+"')) where mm_pickm_b.cpickm_bid ='" + updateMap.get("pk") + "'";
|
||||
|
||||
dao.executeUpdate(sql);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue