| 
					
				 | 
			
			
				@@ -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 出入库数据 
			 |