فهرست منبع

1.入库 出库 列表优化(已完成)
2.银行接口-保管凭证号详情修改(已完成)
3.银行接口-核库指令(已完成)
4.银行接口-核库结果(已完成)
5.银行接口-查询用户资产(已完成)
2022年7月19日18点40分

纪新园 3 سال پیش
والد
کامیت
d5dd769eaf
17فایلهای تغییر یافته به همراه614 افزوده شده و 7 حذف شده
  1. 55 0
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/plugin/CcbController.java
  2. 1 1
      ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseOutStockController.java
  3. 1 0
      ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java
  4. 27 0
      ruoyi-plugin/src/main/java/com/ruoyi/ccb/domain/Cargos.java
  5. 31 0
      ruoyi-plugin/src/main/java/com/ruoyi/ccb/domain/CheckCargoResult.java
  6. 24 0
      ruoyi-plugin/src/main/java/com/ruoyi/ccb/domain/CheckCargoResultContent.java
  7. 21 0
      ruoyi-plugin/src/main/java/com/ruoyi/ccb/domain/CheckCargoResultR.java
  8. 27 0
      ruoyi-plugin/src/main/java/com/ruoyi/ccb/domain/Replenishment.java
  9. 31 0
      ruoyi-plugin/src/main/java/com/ruoyi/ccb/domain/ReplenishmentR.java
  10. 35 0
      ruoyi-plugin/src/main/java/com/ruoyi/ccb/service/CcbHttpService.java
  11. 188 1
      ruoyi-plugin/src/main/java/com/ruoyi/ccb/service/impl/CcbHttpServiceImpl.java
  12. 24 1
      ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/mapper/TWhgenlegMapper.java
  13. 24 1
      ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/IWarehouseBillsCcbService.java
  14. 6 0
      ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java
  15. 34 2
      ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/WarehouseBillsCcbServiceImpl.java
  16. 84 0
      ruoyi-warehouse/src/main/resources/mapper/reportManagement/TWhgenlegMapper.xml
  17. 1 1
      ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsMapper.xml

+ 55 - 0
ruoyi-admin/src/main/java/com/ruoyi/web/controller/plugin/CcbController.java

@@ -142,4 +142,59 @@ public class CcbController {
         return ccbHttpService.blNumberDetail(mblno);
     }
 
+    /**
+     * 核库指令
+     *
+     * @param checkCargo 报文
+     * @return 结果
+     */
+    @PostMapping("/checkCargoCMD")
+    public CheckCargoR checkCargoCMD(@RequestBody CheckCargo checkCargo) {
+        return ccbHttpService.checkCargoCmd(checkCargo);
+    }
+
+    /**
+     * 查询核库结果
+     *
+     * @param checkCargoResult 报文
+     * @return 结果
+     */
+    @PostMapping("/checkCargoResult")
+    public CheckCargoResultR checkCargoResult(@RequestBody CheckCargoResult checkCargoResult) {
+        return ccbHttpService.checkCargoResult(checkCargoResult);
+    }
+
+    /**
+     * 跌价补货
+     *
+     * @param replenishment 报文
+     * @return 结果
+     */
+    @PostMapping("/cargosRF")
+    public ReplenishmentR cargosRF(@RequestBody Replenishment replenishment) {
+        return ccbHttpService.cargosRF(replenishment);
+    }
+
+    /**
+     * 查询用户资产
+     *
+     * @param assets 报文
+     * @return 结果
+     */
+    @PostMapping("/queryAssets")
+    public AssetsR queryAssets(@RequestBody Assets assets) {
+        return ccbHttpService.queryAssets(assets);
+    }
+
+    /**
+     * 移库请求
+     *
+     * @param moveCargo 报文
+     * @return 结果
+     */
+    @PostMapping("/moveCargoReq")
+    public MoveCargoR moveCargoReq(@RequestBody MoveCargo moveCargo) {
+        return ccbHttpService.moveCargoReq(moveCargo);
+    }
+
 }

+ 1 - 1
ruoyi-admin/src/main/java/com/ruoyi/web/controller/warehouse/warehouseBusiness/TWarehouseOutStockController.java

@@ -44,10 +44,10 @@ public class TWarehouseOutStockController extends BaseController {
     @DataScope(deptAlias = "d", userAlias = "u")
     @GetMapping("/list")
     public TableDataInfo list(TWarehouseBills tWarehouseBills) {
-        startPage();
         tWarehouseBills.setfBilltype("SJCK");
         // 获取登录用户数据
         LoginUser loginUser = SpringUtils.getBean(TokenService.class).getLoginUser(ServletUtils.getRequest());
+        startPage();
         List<Map<String, Object>> list = itWarehouseBillsService.selectWarehouseBusinessListAddUser(tWarehouseBills,loginUser);
         return getDataTable(list);
     }

+ 1 - 0
ruoyi-framework/src/main/java/com/ruoyi/framework/config/SecurityConfig.java

@@ -115,6 +115,7 @@ public class SecurityConfig extends WebSecurityConfigurerAdapter
                 .antMatchers("/*/api-docs").anonymous()
                 .antMatchers("/druid/**").anonymous()
                 .antMatchers("/api/**").anonymous()
+                .antMatchers("/ccb/**").anonymous()
                 // 除上面外的所有请求全部需要鉴权认证
                 .anyRequest().authenticated()
                 .and()

+ 27 - 0
ruoyi-plugin/src/main/java/com/ruoyi/ccb/domain/Cargos.java

@@ -0,0 +1,27 @@
+package com.ruoyi.ccb.domain;
+
+import com.ruoyi.ccb.domain.basic.CargoDetail;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 跌价补货报文
+ */
+@Data
+public class Cargos {
+
+    //客户名称
+    private String userName;
+    //统一社会信用代码
+    private String uscc;
+    //新归属人(质押给银行)
+    private String newUserName;
+    //统一社会信用代码
+    private String newUserNameUSCC;
+    //请求用户
+    private String reqUser;
+    //跌价补货的货物清单
+    private List<CargoDetail> cargos;
+
+}

+ 31 - 0
ruoyi-plugin/src/main/java/com/ruoyi/ccb/domain/CheckCargoResult.java

@@ -0,0 +1,31 @@
+package com.ruoyi.ccb.domain;
+
+import lombok.Data;
+
+import java.security.Timestamp;
+
+/**
+ * 查询核库报文
+ */
+@Data
+public class CheckCargoResult {
+
+    //客户名称
+    private String userName;
+    //统一社会信用代码
+    private String uscc;
+    //提单号
+    private String blNumber;
+    //保管凭证号
+    private String takeVoucher;
+    //查询次数
+    private Integer history;
+    //页码号
+    private Integer pageNo;
+    //分页条数
+    private Integer pageSize;
+    //开始时间
+    private Timestamp startTime;
+    //结束时间
+    private Timestamp endTime;
+}

+ 24 - 0
ruoyi-plugin/src/main/java/com/ruoyi/ccb/domain/CheckCargoResultContent.java

@@ -0,0 +1,24 @@
+package com.ruoyi.ccb.domain;
+
+import com.ruoyi.ccb.domain.basic.CargoDetail;
+import lombok.Data;
+
+import java.util.Date;
+import java.util.List;
+
+/**
+ * 查询核库返回报文(内容)
+ */
+@Data
+public class CheckCargoResultContent {
+
+    //货物编号
+    private List<CargoDetail> cargos;
+    //核库时间
+    private Date checkTime;
+    //核库设备清单
+    private String[] checkDevices;
+    //核库员
+    private String[] checkers;
+
+}

+ 21 - 0
ruoyi-plugin/src/main/java/com/ruoyi/ccb/domain/CheckCargoResultR.java

@@ -0,0 +1,21 @@
+package com.ruoyi.ccb.domain;
+
+import lombok.Data;
+
+/**
+ * 查询核库返回报文
+ */
+@Data
+public class CheckCargoResultR {
+
+    //单页大小
+    private int pageSize;
+    //总记录数
+    private int totalRecords;
+    //当前页码
+    private int pageNo;
+    //内容
+    private CheckCargoResultContent content;
+
+
+}

+ 27 - 0
ruoyi-plugin/src/main/java/com/ruoyi/ccb/domain/Replenishment.java

@@ -0,0 +1,27 @@
+package com.ruoyi.ccb.domain;
+
+import com.ruoyi.ccb.domain.basic.CargoDetail;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 跌价补货请求报文
+ */
+@Data
+public class Replenishment {
+
+    //客户名称
+    private String userName;
+    //统一社会信用代码
+    private String uscc;
+    //新归属人(质押给银行)
+    private String newUserName;
+    //统一社会信用代码(新)
+    private String newUserNameUSCC;
+    //请求用户
+    private String reqUser;
+    //跌价补货的货物清单
+    private List<CargoDetail> cargos;
+
+}

+ 31 - 0
ruoyi-plugin/src/main/java/com/ruoyi/ccb/domain/ReplenishmentR.java

@@ -0,0 +1,31 @@
+package com.ruoyi.ccb.domain;
+
+import com.ruoyi.ccb.domain.basic.CargoDetail;
+import lombok.Data;
+
+import java.util.List;
+
+/**
+ * 跌价补货返回报文
+ */
+@Data
+public class ReplenishmentR {
+
+    //客户名称
+    private String userName;
+    //统一社会信用代码
+    private String uscc;
+    //新归属人(质押给银行)
+    private String newUserName;
+    //统一社会信用代码(新)
+    private String newUserNameUSCC;
+    //请求用户
+    private String reqUser;
+    //跌价补货的货物清单
+    private List<CargoDetail> cargos;
+    //处理结果
+    private String result;
+    //失败原因
+    private String reason;
+
+}

+ 35 - 0
ruoyi-plugin/src/main/java/com/ruoyi/ccb/service/CcbHttpService.java

@@ -97,4 +97,39 @@ public interface CcbHttpService {
      * @return
      */
     MblnoDetailR blNumberDetail(Mblno mblno);
+
+    /**
+     * 核库指令
+     * @param  checkCargo  报文
+     * @return  结果
+     */
+    CheckCargoR checkCargoCmd(CheckCargo checkCargo);
+
+    /**
+     * 查询核库结果
+     * @param  checkCargoResult  报文
+     * @return  结果
+     */
+    CheckCargoResultR checkCargoResult(CheckCargoResult checkCargoResult);
+
+    /**
+     * 查询用户资产
+     * @param assets 报文
+     * @return  结果
+     */
+    AssetsR queryAssets(Assets assets);
+
+    /**
+     * 跌价补货
+     * @param replenishment  报文
+     * @return  结果
+     */
+    ReplenishmentR cargosRF(Replenishment replenishment);
+
+    /**
+     * 移库请求
+     * @param moveCargo 报文
+     * @return  结果
+     */
+    MoveCargoR moveCargoReq(MoveCargo moveCargo);
 }

+ 188 - 1
ruoyi-plugin/src/main/java/com/ruoyi/ccb/service/impl/CcbHttpServiceImpl.java

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

+ 24 - 1
ruoyi-warehouse/src/main/java/com/ruoyi/reportManagement/mapper/TWhgenlegMapper.java

@@ -257,5 +257,28 @@ public interface TWhgenlegMapper {
      * @param blNumber 提单号
      * @return 结果
      */
-    List<Map<String, Object>> selectBlNumber(@Param("blNumber") String blNumber, @Param("corpId") Long corpId);
+    List<Map<String, Object>> selectBlNumber(@Param("blNumber") String blNumber, @Param("corpId") Long corpId,@Param("billNo") String billNo);
+
+    /**
+     * 查询提单号是否存在
+     *
+     * @param blNumber 提单号
+     * @return 结果
+     */
+    List<Map<String, Object>> selectBlNumberPage(@Param("blNumber") String blNumber,
+                                             @Param("corpId") Long corpId,
+                                             @Param("billNo") String billNo,
+                                             @Param("pageNo") int pageNo,
+                                             @Param("pageSize") int pageSize
+    );
+
+    /**
+     * 查询用户资产
+     * @param blNumber  提单号
+     * @param corpId  客户id
+     * @param wrNumber   仓单编号
+     * @param cargoType  物料编号
+     * @return
+     */
+    List<Map<String, Object>> selectQueryAssets(@Param("blNumber")String blNumber, @Param("corpId")Long corpId, @Param("wrNumber")String wrNumber, @Param("cargoType")String cargoType);
 }

+ 24 - 1
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/IWarehouseBillsCcbService.java

@@ -74,7 +74,30 @@ public interface IWarehouseBillsCcbService {
      *
      * @param blNumber 提单号
      * @param corpName 客户名
+     * @param billNo 凭证号
      * @return 库存列表
      */
-    List<Map<String, Object>> selectBlNumber(String blNumber, String corpName);
+    List<Map<String, Object>> selectBlNumber(String blNumber, String corpName,String billNo);
+
+    /**
+     * 获取库存
+     *
+     * @param blNumber 提单号
+     * @param corpName 客户名
+     * @param billNo 凭证号
+     * @param pageNo 页数
+     * @param pageSize 条数
+     * @return 库存列表
+     */
+    List<Map<String, Object>> selectBlNumberPage(String blNumber, String corpName,String billNo,int pageNo,int pageSize);
+
+    /**
+     * 查询用户资产
+     * @param blNumber  提单号
+     * @param userName  客户名称
+     * @param wrNumber   仓单编号
+     * @param cargoType  物料编号
+     * @return
+     */
+    List<Map<String, Object>> selectQueryAssets(String blNumber, String userName, String wrNumber, String cargoType);
 }

+ 6 - 0
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/TWarehouseBillsServiceImpl.java

@@ -7,6 +7,7 @@ import com.alibaba.fastjson.JSON;
 import com.alibaba.fastjson.JSONArray;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
+import com.github.pagehelper.PageHelper;
 import com.ruoyi.approvalFlow.domain.AuditItems;
 import com.ruoyi.approvalFlow.mapper.AuditItemsMapper;
 import com.ruoyi.approvalFlow.mapper.AuditItemsUsersMapper;
@@ -23,6 +24,8 @@ import com.ruoyi.common.core.domain.entity.SysDictData;
 import com.ruoyi.common.core.domain.entity.SysUser;
 import com.ruoyi.common.core.domain.entity.TWarehouse;
 import com.ruoyi.common.core.domain.model.LoginUser;
+import com.ruoyi.common.core.page.PageDomain;
+import com.ruoyi.common.core.page.TableSupport;
 import com.ruoyi.common.exception.BaseException;
 import com.ruoyi.common.exception.StorageFeeException;
 import com.ruoyi.common.exception.WarehouseException;
@@ -30,6 +33,7 @@ import com.ruoyi.common.utils.*;
 import com.ruoyi.common.utils.ip.AddressUtils;
 import com.ruoyi.common.utils.poi.DrawExcel;
 import com.ruoyi.common.utils.poi.ExcelUtils;
+import com.ruoyi.common.utils.sql.SqlUtil;
 import com.ruoyi.finance.domain.TFeeDo;
 import com.ruoyi.finance.mapper.TFeeDoMapper;
 import com.ruoyi.quotation.domain.TSeaprice;
@@ -508,6 +512,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
     @Override
     public List<Map<String, Object>> selectWarehouseBusinessListAddUser(TWarehouseBills tWarehousebills, LoginUser user) {
         if (tWarehousebills.getfBilltype().equals(WarehouseTypeEnum.JSCCF.getType())) {
+
             List<Map<String, Object>> mapList = tWarehouseBillsMapper.selecStorageFeeList(tWarehousebills);
             if (CollectionUtils.isNotEmpty(mapList)) {
                 mapList.forEach(li -> {
@@ -553,6 +558,7 @@ public class TWarehouseBillsServiceImpl implements ITWarehouseBillsService {
             }
             return list;
         } else {
+
             List<Map<String, Object>> billsList = tWarehouseBillsMapper.selectWarehouseBusinessList(tWarehousebills);
 
             for (Map<String, Object> billsMap : billsList) {

+ 34 - 2
ruoyi-warehouse/src/main/java/com/ruoyi/warehouseBusiness/service/impl/WarehouseBillsCcbServiceImpl.java

@@ -252,16 +252,48 @@ public class WarehouseBillsCcbServiceImpl implements IWarehouseBillsCcbService {
      *
      * @param blNumber 提单号
      * @param corpName 客户名
+     * @param billNo 保管凭证号
      * @return 库存列表
      */
     @Override
-    public List<Map<String, Object>> selectBlNumber(String blNumber, String corpName) {
+    public List<Map<String, Object>> selectBlNumber(String blNumber, String corpName,String billNo) {
         // 获取客户信息
         TCorps corp = corpMapper.getCorpByName(corpName);
         //判断该客户是否存在
         if (ObjectUtil.isNull(corp)) {
             return Collections.emptyList();
         }
-        return stockMapper.selectBlNumber(blNumber, corp.getfId());
+        return stockMapper.selectBlNumber(blNumber, corp.getfId(),billNo);
+    }
+
+    @Override
+    public List<Map<String, Object>> selectBlNumberPage(String blNumber, String corpName, String billNo, int pageNo, int pageSize) {
+        // 获取客户信息
+        TCorps corp = corpMapper.getCorpByName(corpName);
+        //判断该客户是否存在
+        if (ObjectUtil.isNull(corp)) {
+            return Collections.emptyList();
+        }
+        return stockMapper.selectBlNumberPage(blNumber, corp.getfId(),billNo,pageNo,pageSize);
+    }
+
+
+    /**
+     * 查询用户资产
+     * @param blNumber  提单号
+     * @param userName  客户名称
+     * @param wrNumber   仓单编号
+     * @param cargoType  物料编号
+     * @return
+     */
+    @Override
+    public List<Map<String, Object>> selectQueryAssets(String blNumber, String userName, String wrNumber, String cargoType) {
+        // 获取客户信息
+        TCorps corp = corpMapper.getCorpByName(userName);
+        //判断该客户是否存在
+        if (ObjectUtil.isNull(corp)) {
+            return Collections.emptyList();
+        }
+        return stockMapper.selectQueryAssets(blNumber, corp.getfId(),wrNumber,cargoType);
     }
 }

+ 84 - 0
ruoyi-warehouse/src/main/resources/mapper/reportManagement/TWhgenlegMapper.xml

@@ -1470,7 +1470,91 @@
             and t1.f_qtyblc &gt; 0
             and t1.f_grossweightblc &gt; 0
             <if test="blNumber != null and blNumber != ''">and t1.f_mblno = #{blNumber}</if>
+            <if test="billNo != null and billNo != ''">and t1.f_originalbillno = #{billNo}</if>
+            <if test="corpId != null ">and t1.f_corpid = #{corpId}</if>
+        </where>
+    </select>
+    <select id="selectBlNumberPage" resultType="java.util.Map">
+        select
+        t3.dict_label as cargoType,
+        t2.f_no as cargoNo,
+        t2.f_name as cargoName,
+        t1.f_qtyD as number,
+        t1.f_qtyblc as numberLeft,
+        t1.f_grossweightD as weight,
+        t1.f_grossweightblc as weightLeft,
+        t6.f_packagespecs as speci,
+        t6.f_sealno as bondedStatus,
+        t4.f_no as shelvesName,
+        t5.f_no as warehouseNo,
+        t5.f_name as warehouseName,
+        t1.f_originalbillno as takeVoucher,
+        date_format(t1.f_bsdate, '%Y-%m-%d %H:%i:%S') as inStorageDate,
+        t1.f_mblno as blNumber,
+        date_format(t1.update_time, '%Y-%m-%d %H:%i:%S') as latestOptDate,
+        t1.lock_status as lockStatus,
+        t1.belong_to as belongTo,
+        t1.lock_time as lockTime,
+        t1.unlock_time as unlockTime,
+        t1.wr_number as wrNumber
+        from t_whgenleg t1
+        left join t_goods t2 on t2.f_id = t1.f_goodsid
+        left join sys_dict_data t3 on t3.dict_value = t2.f_typeid
+        left join t_warehouse t4 on t4.f_id = t1.f_warehouse_locationid
+        left join t_warehouse t5 on t5.f_id = t1.f_warehouseid
+        left join t_warehousebillsitems t6 on t6.f_billno = t1.f_originalbillno
+        <where>
+            t3.status = '0'
+            and t3.dict_type = 'data_goods_category'
+            and t1.f_qtyD != 0
+            and t1.f_qtyblc &gt; 0
+            and t1.f_grossweightblc &gt; 0
+            <if test="blNumber != null and blNumber != ''">and t1.f_mblno = #{blNumber}</if>
+            <if test="billNo != null and billNo != ''">and t1.f_originalbillno = #{billNo}</if>
+            <if test="corpId != null ">and t1.f_corpid = #{corpId}</if>
+            ORDER BY t1.f_bsdate DESC
+            LIMIT #{pageNo},#{pageSize}
+        </where>
+    </select>
+    <select id="selectQueryAssets" resultType="java.util.Map">
+        select
+        t3.dict_label as cargoType,
+        t2.f_no as cargoNo,
+        t2.f_name as cargoName,
+        t1.f_qtyD as number,
+        t1.f_qtyblc as numberLeft,
+        t1.f_grossweightD as weight,
+        t1.f_grossweightblc as weightLeft,
+        t6.f_packagespecs as speci,
+        t6.f_sealno as bondedStatus,
+        t4.f_no as shelvesName,
+        t5.f_no as warehouseNo,
+        t5.f_name as warehouseName,
+        t1.f_originalbillno as takeVoucher,
+        date_format(t1.f_bsdate, '%Y-%m-%d %H:%i:%S') as inStorageDate,
+        t1.f_mblno as blNumber,
+        date_format(t1.update_time, '%Y-%m-%d %H:%i:%S') as latestOptDate,
+        t1.lock_status as lockStatus,
+        t1.belong_to as belongTo,
+        t1.lock_time as lockTime,
+        t1.unlock_time as unlockTime,
+        t1.wr_number as wrNumber
+        from t_whgenleg t1
+        left join t_goods t2 on t2.f_id = t1.f_goodsid
+        left join sys_dict_data t3 on t3.dict_value = t2.f_typeid
+        left join t_warehouse t4 on t4.f_id = t1.f_warehouse_locationid
+        left join t_warehouse t5 on t5.f_id = t1.f_warehouseid
+        left join t_warehousebillsitems t6 on t6.f_billno = t1.f_originalbillno
+        <where>
+            t3.status = '0'
+            and t3.dict_type = 'data_goods_category'
+            and t1.f_qtyD != 0
+            and t1.f_qtyblc &gt; 0
+            and t1.f_grossweightblc &gt; 0
+            <if test="blNumber != null and blNumber != ''">and t1.f_mblno = #{blNumber}</if>
             <if test="corpId != null ">and t1.f_corpid = #{corpId}</if>
+            <if test="wrNumber != null and wrNumber != ''">and t4.f_no = #{wrNumber}</if>
+            <if test="cargoType != null and cargoType != ''">and t2.f_no = #{cargoType}</if>
         </where>
     </select>
     <update id="changeBelongTo" parameterType="TWhgenleg">

+ 1 - 1
ruoyi-warehouse/src/main/resources/mapper/warehouseBusiness/TWarehousebillsMapper.xml

@@ -368,7 +368,7 @@
             LEFT JOIN t_warehouse ware1 ON ware1.f_id = bill.f_inwarehouseid
             LEFT JOIN t_warehousebillsitems item ON item.f_pid = bill.f_id
             LEFT JOIN t_goods goods ON goods.f_id = item.f_goodsid
-            LEFT JOIN sys_dict_data dictIn ON dictIn.dict_value = bill.f_business_type
+            LEFT JOIN sys_dict_data dictIn ON dictIn.dict_value = bill.f_business_type and dictIn.dict_type in  ('st_in_type','st_out_type','st_trans_type')
             LEFT JOIN (
             SELECT
             f_id,