| 
					
				 | 
			
			
				@@ -0,0 +1,305 @@ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+package com.ruoyi.ccb.service.impl; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import cn.hutool.core.util.ObjectUtil; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.alibaba.fastjson.JSON; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.alibaba.fastjson.JSONObject; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.github.pagehelper.PageInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.ccb.domain.*; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.ccb.domain.basic.CargoDetail; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.ccb.domain.basic.CargoLockInfo; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+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.warehouseBusiness.domain.TWarehousebillsitems; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import com.ruoyi.warehouseBusiness.service.IWarehouseBillsCcbService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import lombok.AllArgsConstructor; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.stereotype.Service; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import org.springframework.transaction.annotation.Transactional; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.math.BigDecimal; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.ArrayList; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.List; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.Map; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+import java.util.stream.Collectors; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+/** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * CCB-HTTP接口实现 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ * @author s 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@Service 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+@AllArgsConstructor 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+public class CcbHttpServiceImpl implements CcbHttpService { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private final IWarehouseBillsCcbService ccbService; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public VoucherR takeVoucherIsExist(Voucher voucher) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 库存帐查询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Map<String, Object>> stockList = ccbService.getStockList(voucher.getTakeVoucher(), voucher.getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        VoucherR voucherR = new VoucherR(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (stockList.size() > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            voucherR.setIsExist("Y"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            voucherR.setIsExist("N"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        voucherR.setBeLongUser(voucher.getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        voucherR.setUscc(voucher.getUscc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return voucherR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public VoucherDetailR takeVoucherDetail(Voucher voucher) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 库存帐查询 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<CargoDetail> cargos = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Map<String, Object>> stockList = ccbService.getStockList(voucher.getTakeVoucher(), voucher.getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        stockList.forEach(map -> { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            String temp = JSON.toJSONString(map); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            CargoDetail detail = JSON.parseObject(temp, CargoDetail.class); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            detail.setNumberUnit("件"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            detail.setWeightUnit("千克"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            detail.setCargoBelong(voucher.getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            detail.setInStorageNumber(detail.getTakeVoucher()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            detail.setRemainNumber(detail.getNumberLeft()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            detail.setRemainWeight(detail.getWeightLeft()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            detail.setElectronicTags(ccbService.getLabel(detail.getTakeVoucher())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            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()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        VoucherDetailR detailR = new VoucherDetailR(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        detailR.setTakeVoucher(voucher.getTakeVoucher()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        detailR.setStorageEnterpriseName(voucher.getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        detailR.setBondedStatus(0); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        detailR.setUserName(voucher.getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        detailR.setUscc(voucher.getUscc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        detailR.setCargos(cargos); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return detailR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public PledgeR cargoPledge(Pledge pledge) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> billNoList = pledge.getCargos() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .map(CargoDetail::getTakeVoucher) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 出质处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AjaxResult result = ccbService.lockStock(pledge.getNewUserName(), billNoList, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PledgeR pledgeR = new PledgeR(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setUserName(pledge.getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setUscc(pledge.getUscc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setNewUserName(pledge.getNewUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setNewUserNameUscc(pledge.getNewUserNameUscc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setCargos(pledge.getCargos()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ((int) result.get("code") != 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pledgeR.setResult("N"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pledgeR.setReason((String) result.get("msg")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pledgeR.setResult("Y"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return pledgeR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public PledgeR cargoPledgeOut(Pledge pledge) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> billNoList = pledge.getCargos() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .map(CargoDetail::getTakeVoucher) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 解质处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AjaxResult result = ccbService.unlockStock(billNoList, false); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PledgeR pledgeR = new PledgeR(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setUserName(pledge.getNewUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setUscc(pledge.getNewUserNameUscc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setCargos(pledge.getCargos()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ((int) result.get("code") != 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pledgeR.setResult("N"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pledgeR.setReason((String) result.get("msg")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pledgeR.setResult("Y"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return pledgeR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Transactional(rollbackFor = Exception.class) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public InOutCargoR inCargoReq(InOutCargo inOutCargo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TWarehousebillsitems> items = convert(inOutCargo.getCargos()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AjaxResult result = ccbService.inAndOutStock("SJRK", items); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        InOutCargoR inOutCargoR = new InOutCargoR(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        inOutCargoR.setUserName(inOutCargo.getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        inOutCargoR.setUscc(inOutCargo.getUscc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        inOutCargoR.setReqUser(inOutCargo.getReqUser()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ((int) result.get("code") != 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            inOutCargoR.setResult("N"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            inOutCargoR.setReason((String) result.get("msg")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            inOutCargoR.setResult("Y"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return inOutCargoR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public InOutCargoR outCargoReq(InOutCargo inOutCargo) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TWarehousebillsitems> items = convert(inOutCargo.getCargos()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AjaxResult result = ccbService.inAndOutStock("SJCK", items); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        InOutCargoR inOutCargoR = new InOutCargoR(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        inOutCargoR.setUserName(inOutCargo.getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        inOutCargoR.setUscc(inOutCargo.getUscc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        inOutCargoR.setReqUser(inOutCargo.getReqUser()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ((int) result.get("code") != 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            inOutCargoR.setResult("N"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            inOutCargoR.setReason((String) result.get("msg")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            inOutCargoR.setResult("Y"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            inOutCargoR.setReason(""); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return inOutCargoR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public Page syncOrg(SyncOrg syncOrg) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        Page page = syncOrg.getPage(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if (ObjectUtil.isNull(page)) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            page = new Page(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            page.setPageNo(1); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            page.setPageSize(10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<Map<String, Object>> orgList = ccbService.getSyncOrg(page.getPageNo(), page.getPageSize(), syncOrg.getRegisterAfter()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        page.setTotalRecords(new PageInfo<>(orgList).getTotal()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<SyncedOrg> orgListR = orgList.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .map(e -> JSON.parseObject(JSON.toJSONString(e), SyncedOrg.class)) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        page.setContent(orgListR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return page; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public PledgeR generateWrNumber(Pledge pledge) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<CargoDetail> cargos = pledge.getCargos(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> billNoList = cargos.stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .map(CargoDetail::getTakeVoucher) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AjaxResult result = ccbService.unlockStock(billNoList, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PledgeR pledgeR = new PledgeR(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setUserName(pledge.getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setUscc(pledge.getUscc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setNewUserName(pledge.getNewUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setNewUserNameUscc(pledge.getNewUserNameUscc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ((int) result.get("code") != 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pledgeR.setResult("N"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pledgeR.setReason((String) result.get("msg")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pledgeR.setResult("Y"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            cargos.forEach(cargo -> cargo.setWrNumber(cargo.getTakeVoucher())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setCargos(cargos); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return pledgeR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    @Override 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    public PledgeR cancelWrNumber(Pledge pledge) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<String> billNoList = pledge.getCargos() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .stream() 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .map(CargoDetail::getTakeVoucher) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                .collect(Collectors.toList()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        // 解质处理 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        AjaxResult result = ccbService.unlockStock(billNoList, true); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        PledgeR pledgeR = new PledgeR(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setUserName(pledge.getUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setUscc(pledge.getUscc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setNewUserName(pledge.getNewUserName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setNewUserNameUscc(pledge.getNewUserNameUscc()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        if ((int) result.get("code") != 200) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pledgeR.setResult("N"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pledgeR.setReason((String) result.get("msg")); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            pledgeR.setResult("Y"); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        pledgeR.setCargos(pledge.getCargos()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return pledgeR; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 数据转换 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @param cargos 出入库数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     * @return 结果 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+     */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    private List<TWarehousebillsitems> convert(List<CargoDetail> cargos) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        List<TWarehousebillsitems> items = new ArrayList<>(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        for (CargoDetail cargo : cargos) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            TWarehousebillsitems item = new TWarehousebillsitems(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.setCargoNo(cargo.getCargoNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.setCargoBelong(cargo.getCargoBelong()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.setfMblno(cargo.getBlNumber()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.setfPackagespecs(cargo.getSpeci()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.setfOriginalbillno(cargo.getBlNumber()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.setfBillingway(3L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.setfCntqty(1L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.setWarehouseNo(cargo.getWarehouseNo()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.setShelvesNo(cargo.getShelvesName()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtil.isNotNull(cargo.getNumber())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                item.setfPlanqty(cargo.getNumber()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                item.setfQty(cargo.getNumber()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                String[] s = String.valueOf(cargo.getWeight()).split("\\."); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                item.setfPlanqty(Long.parseLong(s[0])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                item.setfQty(Long.parseLong(s[0])); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (ObjectUtil.isNotNull(cargo.getWeight())) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                item.setfPlangrossweight(BigDecimal.valueOf(cargo.getWeight())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                item.setfPlannetweight(BigDecimal.valueOf(cargo.getWeight())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                item.setfGrossweight(BigDecimal.valueOf(cargo.getWeight())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                item.setfNetweight(BigDecimal.valueOf(cargo.getWeight())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                item.setfPlangrossweight(BigDecimal.valueOf(cargo.getNumber())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                item.setfPlannetweight(BigDecimal.valueOf(cargo.getNumber())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                item.setfGrossweight(BigDecimal.valueOf(cargo.getNumber())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                item.setfNetweight(BigDecimal.valueOf(cargo.getNumber())); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            // fSealno代替保税字段 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.setfSealno(cargo.getBondedStatus()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.setfPlanvolumn(BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.setfVolumn(BigDecimal.ZERO); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.setfBillstatus(10L); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            item.setElectronicTags(cargo.getElectronicTags()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            items.add(item); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        return items; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+} 
			 |