/** 添加 */ public void onAdd() { try { // biRedPointsShowAdd.setGoodsId(gmGoodsInfo.getGoodsId()); if (preSubmitCheck(biRedPointsShowAdd).equals(false)) { return; } biRedPointsShowAdd.setGoodsId(gmGoodsInfoShowAdd.getGoodsId()); biRedPointsShowAdd.setCrtDate(ToolUtil.getStrLastUpdDate()); // 创建日期YYYY-MM-DD biRedPointsShowAdd.setCrtTime(ToolUtil.getStrLastUpdTime()); // 创建时间HH:mm:ss biRedPointsShowAdd.setCrtOperId(operManager.getOperInfo().getOperId()); // 创建者ID biRedPointsShowAdd.setOrigin(EnuOrigin.ORIGIN_0.getCode()); // 数据来源:0_系统录入;1_系统外导入 impBpPointsDtl(biRedPointsShowAdd, null, "add"); // 导入BpPointsDtl表 updBpCusts(biRedPointsShowAdd.getCustNo()); // 更新BpCusts表的累计减少积分数、累计积分数 impGmGoodsDtl(biRedPointsShowAdd, "add"); // 导入GmGoodsDtl表 updateGmGoodsInfoStorQty( biRedPointsShowAdd.getGoodsId(), biRedPointsShowAdd.getGoodsQty()); // 更新GmGoodsInfo表在库数量 MessageUtil.addInfo("添加成功!"); gmGoodsInfoShowAdd = new GmGoodsInfo(); biRedPointsShowAdd = new BpRedPointsShow(); onQryForAdd(); } catch (Exception e) { logger.error("添加失败!", e); MessageUtil.addError("添加失败!" + e.getMessage()); } }
private Boolean preSubmitCheck(BpRedPointsShow bpRedPointsShowPara) { if (ToolUtil.getStrIgnoreNull(gmGoodsInfoShowAdd.getGoodsId()).length() == 0) { MessageUtil.addError("物品号不能为空,请输入物品号!"); return false; } List<BpCusts> gmBpCustsTmp = bpCustsService.getBpCustListByID(bpRedPointsShowPara.getCustNo()); if (gmBpCustsTmp == null || gmBpCustsTmp.size() <= 0) { MessageUtil.addError("该客户(" + bpRedPointsShowPara.getCustNo() + ")不存在,请确认您输入的客户号!"); return false; } List<GmGoodsInfo> gmGoodsInfoListTmp = gmGoodsInfoService.getGmGoodsInfoListByID(gmGoodsInfoShowAdd.getGoodsId()); if (gmGoodsInfoListTmp == null || gmGoodsInfoListTmp.size() <= 0) { MessageUtil.addError("该物品(" + gmGoodsInfoShowAdd.getGoodsId() + ")不存在,请确认您输入的物品号!"); return false; } BigDecimal bdCumuPoints = ToolUtil.getBdIgnoreNull(gmBpCustsTmp.get(0).getCumuPoints()); if (bdCumuPoints.compareTo(ToolUtil.getBdIgnoreNull(bpRedPointsShowPara.getPoints())) < 0) { MessageUtil.addError("该客户剩余积分(" + bdCumuPoints + ")不足本次捐赠,请确认您本次捐赠操作是否正确?"); return false; } Long storQty = ToolUtil.getLongIgnoreNull(gmGoodsInfoListTmp.get(0).getStorQty()); if (storQty < bpRedPointsShowPara.getGoodsQty()) { MessageUtil.addError("该物品库存量(" + storQty + ")不足本次捐赠,请确认您本次捐赠操作是否正确?"); return false; } return true; }
// 自动更新减少积分 public void blurAction() { if (biRedPointsShowAdd.getGoodsQty() == null) { return; } if (biRedPointsShowAdd.getGoodsQty() != null && biRedPointsShowAdd.getGoodsQty() < 0) { MessageUtil.addError("兑换数量(" + biRedPointsShowAdd.getGoodsQty() + ")请输入正数!"); return; } if (gmGoodsInfoShowAdd.getGoodsId() != null) { BigDecimal bigDecimal; List<GmGoodsInfo> gmGoodsInfoListTmp = gmGoodsInfoService.getGmGoodsInfoListByID(gmGoodsInfoShowAdd.getGoodsId()); if (gmGoodsInfoListTmp == null || gmGoodsInfoListTmp.size() <= 0) { MessageUtil.addError("该物品(" + gmGoodsInfoShowAdd.getGoodsId() + ")不存在,请确认您输入的物品号!"); return; } if (gmGoodsInfoListTmp.get(0).getPoints() == null || biRedPointsShowAdd.getGoodsQty() == null) { bigDecimal = null; } else { bigDecimal = gmGoodsInfoListTmp .get(0) .getPoints() .multiply(new BigDecimal(biRedPointsShowAdd.getGoodsQty())); } biRedPointsShowAdd.setPoints(bigDecimal); } }
/** * 导入GmGoodsDtl表 * * @param bpRedPointsShowPara * @param action */ private void impGmGoodsDtl(BpRedPointsShow bpRedPointsShowPara, String action) { try { GmGoodsDtl gmGoodsDtlTmp = new GmGoodsDtl(); gmGoodsDtlTmp.setTxndate(bpRedPointsShowPara.getTxndate()); // 发生日期:入库/出库日期YYYY-MM-DD gmGoodsDtlTmp.setGoodsId(bpRedPointsShowPara.getGoodsId()); // 物品ID gmGoodsDtlTmp.setInOutType(EnuInOutType.IN_OUT_TYPE_1.getCode()); // 出入库标志:0_入库;1_出库 gmGoodsDtlTmp.setQty(-(bpRedPointsShowPara.getGoodsQty())); // 数量:入库为正,出库为负 gmGoodsDtlTmp.setCrtDate(ToolUtil.getStrLastUpdDate()); // 创建日期YYYY-MM-DD gmGoodsDtlTmp.setCrtTime(ToolUtil.getStrLastUpdTime()); // 创建时间HH:mm:ss gmGoodsDtlTmp.setCrtOperId(operManager.getOperInfo().getOperId()); // 创建者ID gmGoodsDtlTmp.setRecVer(0L); // 记录版本号:初始记录,版本号为0 if ("imp".equals(action)) { // 导入 gmGoodsDtlTmp.setOrigin(EnuOrigin.ORIGIN_1.getCode()); // 数据来源:0_系统录入;1_系统外导入 } else { // 添加 gmGoodsDtlTmp.setOrigin(EnuOrigin.ORIGIN_0.getCode()); // 数据来源:0_系统录入;1_系统外导入 } gmGoodsDtlTmp.setTxnsn(platformService.obtainSeqNo("POINTS_DTL_SEQNO")); // 交易流水号 gmGoodsDtlTmp.setBillNo(bpRedPointsShowPara.getBillNo()); bpPointsDtlService.insertSelective(gmGoodsDtlTmp); } catch (Exception e) { logger.error("GmGoodsDtl导入失败!", e); } }