/** * 导入BpPointsDtl表 * * @param bpRedPointsShowPara * @param otherTxnsn */ private void impBpPointsDtl(BpRedPointsShow bpRedPointsShowPara, Long otherTxnsn, String action) { try { BpPointsDtl bpPointsDtlTmp = new BpPointsDtl(); bpPointsDtlTmp.setTxndate(bpRedPointsShowPara.getTxndate()); // 数据日期 bpPointsDtlTmp.setCustNo(bpRedPointsShowPara.getCustNo()); // 客户号 bpPointsDtlTmp.setPointsType(EnuPointsType.POINTS_TYPE_50.getCode()); // 积分类型 bpPointsDtlTmp.setPoints( ToolUtil.getNegativeBigDecimal(bpRedPointsShowPara.getPoints())); // 积分 bpPointsDtlTmp.setCrtDate(ToolUtil.getStrLastUpdDate()); // 创建日期YYYY-MM-DD bpPointsDtlTmp.setCrtTime(ToolUtil.getStrLastUpdTime()); // 创建时间HH:mm:ss bpPointsDtlTmp.setCrtOperId(operManager.getOperInfo().getOperId()); // 创建者ID if ("imp".equals(action)) { // 导入 bpPointsDtlTmp.setOrigin(EnuOrigin.ORIGIN_1.getCode()); // 数据来源:0_系统录入;1_系统外导入 bpPointsDtlTmp.setOtherTxnsn(otherTxnsn); // 外部系统流水号 } else { // 添加 bpPointsDtlTmp.setOrigin(EnuOrigin.ORIGIN_0.getCode()); // 数据来源:0_系统录入;1_系统外导入 } Long strSeqNo = (platformService.obtainSeqNo("POINTS_DTL_SEQNO")); bpPointsDtlTmp.setTxnsn(strSeqNo); // 交易流水号 String strBillNoTmp = ToolUtil.getStrToday() + "02" + strSeqNo; bpPointsDtlTmp.setBillNo(strBillNoTmp); // 回带订单号 bpRedPointsShowPara.setBillNo(strBillNoTmp); bpPointsDtlService.insertSelective(bpPointsDtlTmp); } catch (Exception e) { logger.error("BpPointsDtl导入失败!", e); } }
/** 导入 */ public void onImp() { try { if (file == null) { MessageUtil.addError("请选择要导入的.txt文件!"); return; } if (!file.getFileName().endsWith(".txt")) { MessageUtil.addError("文件格式错误,请选择.txt文件!"); return; } String line; // 每行数据 String[] colData; // 每列数据 int impCnt = 0; // 导入笔数 int result = 0; // 执行插入数据的结果 int lines = 0; // 总笔数 BpRedPointsShow bpRedPointsShow; BufferedReader br = new BufferedReader(new InputStreamReader(file.getInputstream(), "GBK")); try { while ((line = br.readLine()) != null) { lines++; colData = line.split("\\|"); bpRedPointsShow = new BpRedPointsShow(); bpRedPointsShow.setTxndate(colData[0]); // 数据日期 bpRedPointsShow.setCustNo(colData[1]); // 客户代码 bpRedPointsShow.setPoints(new BigDecimal(colData[2])); // 减少积分 bpRedPointsShow.setGoodsId(colData[3]); // 兑换礼品ID bpRedPointsShow.setCrtDate(ToolUtil.getStrLastUpdDate()); // 创建日期YYYY-MM-DD bpRedPointsShow.setCrtTime(ToolUtil.getStrLastUpdTime()); // 创建时间HH:mm:ss bpRedPointsShow.setCrtOperId(operManager.getOperInfo().getOperId()); // 创建者ID bpRedPointsShow.setOrigin(EnuOrigin.ORIGIN_1.getCode()); // 数据来源:0_系统录入;1_系统外导入 /* result = biRedPointsService.insertSelective(bpRedPointsShow); if (result > 0) { impCnt++; } else { continue; }*/ impBpPointsDtl(bpRedPointsShow, Long.valueOf(colData[4]), "imp"); // 导入BpPointsDtl表 updBpCusts(); // 更新BpCusts表的累计减少积分数、累计积分数 impGmGoodsDtl(bpRedPointsShow, "imp"); // 导入GmGoodsDtl表 updateGmGoodsInfoStorQty(bpRedPointsShow.getGoodsId()); // 更新GmGoodsInfo表在库数量 } } finally { br.close(); } if (impCnt > 0) { MessageUtil.addInfo("导入成功!总共" + lines + " 笔,导入" + impCnt + "笔。"); onQryImp(false); } } catch (Exception e) { logger.error("导入失败!", e); MessageUtil.addError("导入失败!" + e.getMessage()); } }
/** 查询导入 */ public void onQryImp(Boolean isTruePara) { try { if (StringUtils.isNotEmpty(impDate)) { biRedPointsShowQry.setCrtDate(impDate); } biRedPointsShowQry.setOrigin(EnuOrigin.ORIGIN_1.getCode()); bpRedPointsShowList = bpPointsDtlService.selectForAddByModelShow(biRedPointsShowQry); if (isTruePara.equals(true)) { if (bpRedPointsShowList.size() == 0) { MessageUtil.addInfo("没有查询到数据。"); } } } catch (Exception e) { logger.error("查询失败!", e); MessageUtil.addError("查询失败!" + e.getMessage()); } }
/** * 导入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); } }