|
@@ -254,6 +254,90 @@ public class CcbHttpServiceImpl implements CcbHttpService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 查询提单号
|
|
|
+ *
|
|
|
+ * @param mblno 报文
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public MblnoR blNumberIsExist(Mblno mblno) {
|
|
|
+ // 库存帐查询
|
|
|
+ List<Map<String, Object>> stockList = ccbService.selectBlNumber(mblno.getBlNumber(), mblno.getUserName());
|
|
|
+ //提单号返回信息
|
|
|
+ MblnoR voucherR = new MblnoR();
|
|
|
+ //判断该提单号是否存在
|
|
|
+ if (stockList.size() > 0) {
|
|
|
+ voucherR.setIsExist("Y");
|
|
|
+ } else {
|
|
|
+ voucherR.setIsExist("N");
|
|
|
+ }
|
|
|
+ voucherR.setBeLongUser(mblno.getUserName());
|
|
|
+ voucherR.setUscc(mblno.getUscc());
|
|
|
+ return voucherR;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 提单号详情
|
|
|
+ * @param mblno
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public MblnoDetailR blNumberDetail(Mblno mblno) {
|
|
|
+ // 货物信息集合
|
|
|
+ List<CargoDetail> cargos = new ArrayList<>();
|
|
|
+ //获取库存信息
|
|
|
+ List<Map<String, Object>> stockList = ccbService.getStockList(mblno.getBlNumber(), mblno.getUserName());
|
|
|
+ //遍历库存信息,将拿到的货物信息存入集合中
|
|
|
+ stockList.forEach(map -> {
|
|
|
+ String temp = JSON.toJSONString(map);
|
|
|
+
|
|
|
+ //货物信息
|
|
|
+ CargoDetail detail = JSON.parseObject(temp, CargoDetail.class);
|
|
|
+ detail.setNumberUnit("件");
|
|
|
+ detail.setWeightUnit("千克");
|
|
|
+ detail.setCargoBelong(mblno.getUserName());
|
|
|
+ detail.setInStorageNumber(detail.getTakeVoucher());
|
|
|
+ detail.setRemainNumber(detail.getNumberLeft());
|
|
|
+ detail.setRemainWeight(detail.getWeightLeft());
|
|
|
+ detail.setElectronicTags(ccbService.getLabel(detail.getTakeVoucher()));
|
|
|
+ detail.setBlNumber(mblno.getBlNumber());
|
|
|
+
|
|
|
+ JSONObject object = JSON.parseObject(temp);
|
|
|
+ //判断货物是否为锁定状态
|
|
|
+ if (!"0".equals(object.getString("lockStatus"))) {
|
|
|
+ //货物锁定信息
|
|
|
+ CargoLockInfo lockInfo = new CargoLockInfo();
|
|
|
+ lockInfo.setCargoNo(detail.getCargoNo());
|
|
|
+ lockInfo.setBlNumber(detail.getBlNumber());
|
|
|
+ lockInfo.setCargoBelong(detail.getCargoBelong());
|
|
|
+ lockInfo.setTakeVoucher(detail.getTakeVoucher());
|
|
|
+ lockInfo.setNumber(detail.getNumberLeft());
|
|
|
+ lockInfo.setNumberUnit(detail.getNumberUnit());
|
|
|
+ lockInfo.setWeight(detail.getWeightLeft());
|
|
|
+ lockInfo.setWeightUnit(detail.getWeightUnit());
|
|
|
+ lockInfo.setSpeci(detail.getSpeci());
|
|
|
+ lockInfo.setReasonCode("PLGL");
|
|
|
+ lockInfo.setLockTime(object.getDate("lockTime"));
|
|
|
+ lockInfo.setWrNumber(detail.getWrNumber());
|
|
|
+ lockInfo.setElectronicTags(detail.getElectronicTags());
|
|
|
+ detail.setLockInfo(lockInfo);
|
|
|
+ }
|
|
|
+ cargos.add(detail);
|
|
|
+ });
|
|
|
+
|
|
|
+ //提单号返回信息
|
|
|
+ MblnoDetailR detailR = new MblnoDetailR();
|
|
|
+ detailR.setBlNumber(mblno.getBlNumber());
|
|
|
+ detailR.setStorageEnterpriseName(mblno.getUserName());
|
|
|
+ detailR.setBondedStatus(0);
|
|
|
+ detailR.setUserName(mblno.getUserName());
|
|
|
+ detailR.setUscc(mblno.getUscc());
|
|
|
+ detailR.setCargos(cargos);
|
|
|
+ return detailR;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 数据转换
|
|
|
*
|
|
|
* @param cargos 出入库数据
|