|
@@ -11,6 +11,7 @@ import com.ruoyi.ccb.domain.basic.Page;
|
|
|
import com.ruoyi.ccb.domain.basic.SyncedOrg;
|
|
|
import com.ruoyi.ccb.service.CcbHttpService;
|
|
|
import com.ruoyi.common.core.domain.AjaxResult;
|
|
|
+import com.ruoyi.common.utils.DateUtils;
|
|
|
import com.ruoyi.warehouseBusiness.domain.TWarehousebillsitems;
|
|
|
import com.ruoyi.warehouseBusiness.service.IWarehouseBillsCcbService;
|
|
|
import lombok.AllArgsConstructor;
|
|
@@ -262,7 +263,7 @@ public class CcbHttpServiceImpl implements CcbHttpService {
|
|
|
@Override
|
|
|
public MblnoR blNumberIsExist(Mblno mblno) {
|
|
|
// 库存帐查询
|
|
|
- List<Map<String, Object>> stockList = ccbService.selectBlNumber(mblno.getBlNumber(), mblno.getUserName());
|
|
|
+ List<Map<String, Object>> stockList = ccbService.selectBlNumber(mblno.getBlNumber(), mblno.getUserName(), null);
|
|
|
//提单号返回信息
|
|
|
MblnoR voucherR = new MblnoR();
|
|
|
//判断该提单号是否存在
|
|
@@ -279,6 +280,7 @@ public class CcbHttpServiceImpl implements CcbHttpService {
|
|
|
|
|
|
/**
|
|
|
* 提单号详情
|
|
|
+ *
|
|
|
* @param mblno
|
|
|
* @return
|
|
|
*/
|
|
@@ -338,6 +340,191 @@ public class CcbHttpServiceImpl implements CcbHttpService {
|
|
|
}
|
|
|
|
|
|
/**
|
|
|
+ * 核库指令
|
|
|
+ *
|
|
|
+ * @param checkCargo 报文
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public CheckCargoR checkCargoCmd(CheckCargo checkCargo) {
|
|
|
+ // 库存帐查询
|
|
|
+ List<Map<String, Object>> stockList = ccbService.getStockList(checkCargo.getTakeVoucher(), checkCargo.getUserName());
|
|
|
+
|
|
|
+ CheckCargoR voucherR = new CheckCargoR();
|
|
|
+ if (stockList.size() > 0) {
|
|
|
+ voucherR.setResult("Y");
|
|
|
+ } else {
|
|
|
+ voucherR.setResult("N");
|
|
|
+ voucherR.setReason("未找到库存!");
|
|
|
+ }
|
|
|
+ return voucherR;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询核库结果
|
|
|
+ *
|
|
|
+ * @param checkCargoResult 报文
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public CheckCargoResultR checkCargoResult(CheckCargoResult checkCargoResult) {
|
|
|
+ // 货物信息集合
|
|
|
+ List<CargoDetail> cargos = new ArrayList<>();
|
|
|
+ //核库设备清单
|
|
|
+ String[] checkDevices = null;
|
|
|
+ //核库员
|
|
|
+ String[] checkers = null;
|
|
|
+
|
|
|
+ //获取库存信息(总数)
|
|
|
+ List<Map<String, Object>> stockList = ccbService.selectBlNumber(checkCargoResult.getBlNumber(), checkCargoResult.getUserName(), checkCargoResult.getTakeVoucher());
|
|
|
+ //获取库存信息(分页)
|
|
|
+ List<Map<String, Object>> stockList1 = ccbService.selectBlNumberPage(
|
|
|
+ checkCargoResult.getBlNumber(),
|
|
|
+ checkCargoResult.getUserName(),
|
|
|
+ checkCargoResult.getTakeVoucher(),
|
|
|
+ checkCargoResult.getPageNo(),
|
|
|
+ checkCargoResult.getPageSize());
|
|
|
+
|
|
|
+ //遍历库存信息,将拿到的货物信息存入集合中
|
|
|
+ stockList1.forEach(map -> {
|
|
|
+ String temp = JSON.toJSONString(map);
|
|
|
+
|
|
|
+ //货物信息
|
|
|
+ CargoDetail detail = JSON.parseObject(temp, CargoDetail.class);
|
|
|
+ detail.setNumberUnit("件");
|
|
|
+ detail.setWeightUnit("千克");
|
|
|
+ detail.setCargoBelong(checkCargoResult.getUserName());
|
|
|
+ detail.setInStorageNumber(detail.getTakeVoucher());
|
|
|
+ detail.setRemainNumber(detail.getNumberLeft());
|
|
|
+ detail.setRemainWeight(detail.getWeightLeft());
|
|
|
+ detail.setElectronicTags(ccbService.getLabel(detail.getTakeVoucher()));
|
|
|
+// detail.setBlNumber(checkCargoResult.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);
|
|
|
+ });
|
|
|
+
|
|
|
+ //核库返回数据
|
|
|
+ CheckCargoResultContent checkCargoResultContent = new CheckCargoResultContent();
|
|
|
+ checkCargoResultContent.setCargos(cargos);
|
|
|
+ checkCargoResultContent.setCheckers(checkers);
|
|
|
+ checkCargoResultContent.setCheckDevices(checkDevices);
|
|
|
+ checkCargoResultContent.setCheckTime(DateUtils.getNowDate());
|
|
|
+
|
|
|
+ //核库返回报文
|
|
|
+ CheckCargoResultR checkCargoResultR = new CheckCargoResultR();
|
|
|
+ checkCargoResultR.setPageSize(stockList1.size());
|
|
|
+ checkCargoResultR.setPageNo(checkCargoResult.getPageNo());
|
|
|
+ checkCargoResultR.setTotalRecords(stockList.size());
|
|
|
+ checkCargoResultR.setContent(checkCargoResultContent);
|
|
|
+
|
|
|
+
|
|
|
+ return checkCargoResultR;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 查询用户资产
|
|
|
+ *
|
|
|
+ * @param assets 报文
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public AssetsR queryAssets(Assets assets) {
|
|
|
+ // 货物信息集合
|
|
|
+ List<CargoDetail> cargos = new ArrayList<>();
|
|
|
+
|
|
|
+ //获取库存信息
|
|
|
+ List<Map<String, Object>> stockList1 = ccbService.selectQueryAssets(
|
|
|
+ assets.getBlNumber(),
|
|
|
+ assets.getUserName(),
|
|
|
+ assets.getWrNumber(),
|
|
|
+ assets.getCargoType());
|
|
|
+
|
|
|
+ //遍历库存信息,将拿到的货物信息存入集合中
|
|
|
+ stockList1.forEach(map -> {
|
|
|
+ String temp = JSON.toJSONString(map);
|
|
|
+
|
|
|
+ //货物信息
|
|
|
+ CargoDetail detail = JSON.parseObject(temp, CargoDetail.class);
|
|
|
+ detail.setNumberUnit("件");
|
|
|
+ detail.setWeightUnit("千克");
|
|
|
+ detail.setCargoBelong(assets.getUserName());
|
|
|
+ detail.setInStorageNumber(detail.getTakeVoucher());
|
|
|
+ detail.setRemainNumber(detail.getNumberLeft());
|
|
|
+ detail.setRemainWeight(detail.getWeightLeft());
|
|
|
+ detail.setElectronicTags(ccbService.getLabel(detail.getTakeVoucher()));
|
|
|
+// detail.setBlNumber(assets.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);
|
|
|
+ });
|
|
|
+ //返回数据
|
|
|
+ AssetsR assetsR = new AssetsR();
|
|
|
+ assetsR.setCargos(cargos);
|
|
|
+ return assetsR;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 跌价补货
|
|
|
+ * @param replenishment 报文
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public ReplenishmentR cargosRF(Replenishment replenishment) {
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 移库请求
|
|
|
+ * @param moveCargo 报文
|
|
|
+ * @return 结果
|
|
|
+ */
|
|
|
+ @Override
|
|
|
+ public MoveCargoR moveCargoReq(MoveCargo moveCargo) {
|
|
|
+
|
|
|
+ return null;
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
* 数据转换
|
|
|
*
|
|
|
* @param cargos 出入库数据
|