Browse Source

app库存查询

master
fanzongzhe 8 months ago
parent
commit
5df2b34598
  1. 39
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/inventorySearch/AppInventorySearchFeign.java
  2. 20
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/inventorySearch/InventorySearchQuery.java
  3. 50
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/inventorySearch/OldStorageListVo.java
  4. 18
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/inventorySearch/OldStorageVo.java
  5. 52
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/inventorySearch/StorageListVo.java
  6. 18
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/inventorySearch/StorageVo.java
  7. 2
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java
  8. 66
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/wms/inventorySearch/AppInventorySearchRest.java
  9. 54
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/wms/inventorySearch/AppInventorySearchService.java
  10. 34
      anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java
  11. 34
      yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java
  12. 6
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java
  13. 77
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml
  14. 206
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java
  15. 20
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appInventory/InventorySearchQuery.java
  16. 50
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appInventory/OldStorageListVo.java
  17. 18
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appInventory/OldStorageVo.java
  18. 52
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appInventory/StorageListVo.java
  19. 18
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appInventory/StorageVo.java

39
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/inventorySearch/AppInventorySearchFeign.java

@ -0,0 +1,39 @@
package com.yxt.anrui.terminal.api.wms.inventorySearch;
import com.yxt.anrui.terminal.api.wms.inventoryprofitin.AppInventoryProfitinDetailsVo;
import com.yxt.anrui.terminal.api.wms.inventoryprofitin.flowable.AppDelegateQuery;
import com.yxt.anrui.terminal.api.wms.inventoryprofitin.flowable.InventInDto;
import com.yxt.anrui.terminal.api.wms.inventoryprofitin.flowable.InventInQuery;
import com.yxt.anrui.terminal.api.wms.inventoryprofitin.flowable.InventInTaskQuery;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.cloud.openfeign.SpringQueryMap;
import org.springframework.web.bind.annotation.*;
/**
* @Author
* @Date
* @Description
*/
@Api(tags = "库存查询")
@FeignClient(
contextId = "terminal-AppInventorySearch",
name = "anrui-terminal",
path = "v1/search")
public interface AppInventorySearchFeign {
@ApiOperation("app库存查询")
@PostMapping("/storage")
public ResultBean<PagerVo<StorageVo>> appStorage(@RequestBody PagerQuery<InventorySearchQuery> pq);
@ApiOperation("app旧件库存查询")
@PostMapping("/oldParts")
public ResultBean<PagerVo<OldStorageVo>> appOldStorage(@RequestBody PagerQuery<InventorySearchQuery> pq);
}

20
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/inventorySearch/InventorySearchQuery.java

@ -0,0 +1,20 @@
package com.yxt.anrui.terminal.api.wms.inventorySearch;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/8/23 8:50
*/
@Data
public class InventorySearchQuery implements Query {
private String name;
private String userSid;
private String menuSid;
private String orgPath;
}

50
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/inventorySearch/OldStorageListVo.java

@ -0,0 +1,50 @@
package com.yxt.anrui.terminal.api.wms.inventorySearch;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/8/23 9:13
*/
@Data
public class OldStorageListVo {
/**
* 车架号/车牌号
*/
private String carCodeInfo;
/**
* 数量
*/
private String count;
/**
* 厂家
*/
private String factory;
/**
* 商品ID
*/
private String goodsID;
/**
* 图号
*/
private String goodsSkuCode;
/**
* 规格
*/
private String goodsSkuOwnSpec;
/**
* 商品名称
*/
private String goodsSpuName;
/**
* 维修单号
*/
private String repairId;
/**
* 单位
*/
private String unit;
private String title;
}

18
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/inventorySearch/OldStorageVo.java

@ -0,0 +1,18 @@
package com.yxt.anrui.terminal.api.wms.inventorySearch;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/8/23 9:15
*/
@Data
public class OldStorageVo {
private String title;
private List<OldStorageListVo> list = new ArrayList<>();
}

52
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/inventorySearch/StorageListVo.java

@ -0,0 +1,52 @@
package com.yxt.anrui.terminal.api.wms.inventorySearch;
import lombok.Data;
@Data
public class StorageListVo {
/**
* 数量
*/
private String count;
/**
* 厂家
*/
private String factory;
/**
* 商品ID
*/
private String goodsID;
/**
* 图号
*/
private String goodsSkuCode;
/**
* 规格
*/
private String goodsSkuOwnSpec;
/**
* 商品名称
*/
private String goodsSpuName;
/**
* 库龄
*/
private String inventoryAge;
/**
* 入库单价
*/
private String price;
/**
* 供应商
*/
private String provider;
/**
* 税率
*/
private String rate;
/**
* 单位
*/
private String unit;
private String title;
}

18
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/wms/inventorySearch/StorageVo.java

@ -0,0 +1,18 @@
package com.yxt.anrui.terminal.api.wms.inventorySearch;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/8/23 9:11
*/
@Data
public class StorageVo {
private String title;
private List<StorageListVo> list = new ArrayList<>();
}

2
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/TerminalApplication.java

@ -15,7 +15,7 @@ import org.springframework.cloud.openfeign.EnableFeignClients;
"com.yxt.anrui.terminal",
"com.yxt.common.base.config"
},exclude = {DataSourceAutoConfiguration.class})
@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.crm", "com.yxt.anrui.base", "com.yxt.anrui.riskcenter","com.yxt.anrui.flowable","com.yxt.anrui.buscenter","com.yxt.anrui.scm","com.yxt.anrui.fin", "com.yxt.anrui.terminal.fegin.wmsinventorycheckbill","com.yxt.anrui.terminal.fegin.wmsinventoryprofitin","com.yxt.anrui.terminal.fegin.wmsinventoryprofitout","com.yxt.anrui.terminal.fegin.basegoodssku","com.yxt.anrui.terminal.fegin.basesupplierinfo"})
@EnableFeignClients(basePackages = {"com.yxt.anrui.portal", "com.yxt.anrui.crm", "com.yxt.anrui.base", "com.yxt.anrui.riskcenter","com.yxt.anrui.flowable","com.yxt.anrui.buscenter","com.yxt.anrui.scm","com.yxt.anrui.fin", "com.yxt.anrui.terminal.fegin.wmsinventorycheckbill","com.yxt.anrui.terminal.fegin.wmsinventoryprofitin","com.yxt.anrui.terminal.fegin.wmsinventoryprofitout","com.yxt.anrui.terminal.fegin.basegoodssku","com.yxt.anrui.terminal.fegin.basesupplierinfo","com.yxt.anrui.terminal.fegin.wmsInventory"})
public class TerminalApplication {
public static void main(String[] args) {

66
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/wms/inventorySearch/AppInventorySearchRest.java

@ -0,0 +1,66 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.wms.inventorySearch;
import com.yxt.anrui.terminal.api.wms.inventorySearch.AppInventorySearchFeign;
import com.yxt.anrui.terminal.api.wms.inventorySearch.InventorySearchQuery;
import com.yxt.anrui.terminal.api.wms.inventorySearch.OldStorageVo;
import com.yxt.anrui.terminal.api.wms.inventorySearch.StorageVo;
import com.yxt.anrui.terminal.api.wms.inventoryprofitout.AppInventoryProfitoutDetailsVo;
import com.yxt.anrui.terminal.api.wms.inventoryprofitout.AppInventoryProfitoutFeign;
import com.yxt.anrui.terminal.api.wms.inventoryprofitout.flowable.AppDelegateQuery;
import com.yxt.anrui.terminal.api.wms.inventoryprofitout.flowable.InventOutDto;
import com.yxt.anrui.terminal.api.wms.inventoryprofitout.flowable.InventOutQuery;
import com.yxt.anrui.terminal.api.wms.inventoryprofitout.flowable.InventOutTaskQuery;
import com.yxt.anrui.terminal.fegin.wmsInventory.WmsInventoryFeign;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.Api;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.Resource;
@Api(tags = "库存查询")
@RestController
@RequestMapping("v1/search")
public class AppInventorySearchRest implements AppInventorySearchFeign {
@Resource
private WmsInventoryFeign wmsInventoryFeign;
@Override
public ResultBean<PagerVo<StorageVo>> appStorage(PagerQuery<InventorySearchQuery> pq) {
return wmsInventoryFeign.appStorage(pq);
}
@Override
public ResultBean<PagerVo<OldStorageVo>> appOldStorage(PagerQuery<InventorySearchQuery> pq) {
return wmsInventoryFeign.appOldStorage(pq);
}
}

54
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/biz/wms/inventorySearch/AppInventorySearchService.java

@ -0,0 +1,54 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.anrui.terminal.biz.wms.inventorySearch;
import cn.hutool.core.bean.BeanUtil;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrg;
import com.yxt.anrui.portal.api.sysstafforg.SysStaffOrgFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserFeign;
import com.yxt.anrui.portal.api.sysuser.SysUserVo;
import com.yxt.anrui.terminal.api.wms.inventoryprofitout.AppInventoryProfitoutDetailsVo;
import com.yxt.anrui.terminal.api.wms.inventoryprofitout.flowable.AppDelegateQuery;
import com.yxt.anrui.terminal.api.wms.inventoryprofitout.flowable.InventOutDto;
import com.yxt.anrui.terminal.api.wms.inventoryprofitout.flowable.InventOutQuery;
import com.yxt.anrui.terminal.api.wms.inventoryprofitout.flowable.InventOutTaskQuery;
import com.yxt.anrui.terminal.fegin.wmsinventoryprofitout.WmsInventoryProfitoutDetailsVo;
import com.yxt.anrui.terminal.fegin.wmsinventoryprofitout.WmsInventoryProfitoutFeign;
import com.yxt.anrui.terminal.fegin.wmsinventoryprofitout.flowable.*;
import com.yxt.common.core.result.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.Collections;
import java.util.List;
@Service
public class AppInventorySearchService {
}

34
anrui-terminal/anrui-terminal-biz/src/main/java/com/yxt/anrui/terminal/fegin/wmsInventory/WmsInventoryFeign.java

@ -0,0 +1,34 @@
package com.yxt.anrui.terminal.fegin.wmsInventory;
import com.yxt.anrui.terminal.api.wms.inventorySearch.InventorySearchQuery;
import com.yxt.anrui.terminal.api.wms.inventorySearch.OldStorageVo;
import com.yxt.anrui.terminal.api.wms.inventorySearch.StorageVo;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import io.swagger.annotations.ApiOperation;
import org.springframework.cloud.openfeign.FeignClient;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestParam;
/**
* @description: 商品基础信息
* @author: fzz
* @date: 2024/3/7
**/
@FeignClient(
contextId = "yxt-wms-WmsInventory",
name = "yxt-wms",
path = "apiadmin/inventory/wmsinventory"
)
public interface WmsInventoryFeign {
@ApiOperation("app库存查询")
@PostMapping("/appStorage")
public ResultBean<PagerVo<StorageVo>> appStorage(@RequestBody PagerQuery<InventorySearchQuery> pq);
@ApiOperation("app旧件库存查询")
@PostMapping("/appOldStorage")
public ResultBean<PagerVo<OldStorageVo>> appOldStorage(@RequestBody PagerQuery<InventorySearchQuery> pq);
}

34
yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRest.java

@ -11,6 +11,9 @@ import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryService;
import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryVo;
import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryBillUseOrgSidQuery;
import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryBillUseOrgSidVo;
import com.yxt.wms.biz.inventory.wmsinventory.appInventory.InventorySearchQuery;
import com.yxt.wms.biz.inventory.wmsinventory.appInventory.OldStorageVo;
import com.yxt.wms.biz.inventory.wmsinventory.appInventory.StorageVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -50,13 +53,6 @@ public class WmsInventoryRest {
return rb.success().setData(pv);
}
@ApiOperation("配件库存查询")
@PostMapping("/fittingsInventory2")
public ResultBean<PagerVo<FittingsInventoryVo>> fittingsInventory2(@RequestBody PagerQuery<FittingsInventoryQuery> pq) {
ResultBean<PagerVo<FittingsInventoryVo>> rb = ResultBean.fireFail();
PagerVo<FittingsInventoryVo> pv = wmsInventoryService.fittingsInventory(pq);
return rb.success().setData(pv);
}
@ApiOperation("分页列表")
@PostMapping("/listPage")
@ -220,4 +216,28 @@ public class WmsInventoryRest {
return rb.success().setData(pv);
}
//-----------------------------app-------------------------------------------
@ApiOperation("app配件库存查询")
@PostMapping("/fittingsInventory2")
public ResultBean<PagerVo<FittingsInventoryVo>> fittingsInventory2(@RequestBody PagerQuery<FittingsInventoryQuery> pq) {
ResultBean<PagerVo<FittingsInventoryVo>> rb = ResultBean.fireFail();
PagerVo<FittingsInventoryVo> pv = wmsInventoryService.fittingsInventory(pq);
return rb.success().setData(pv);
}
@ApiOperation("app库存查询")
@PostMapping("/appStorage")
public ResultBean<PagerVo<StorageVo>> appStorage(@RequestBody PagerQuery<InventorySearchQuery> pq) {
ResultBean<PagerVo<StorageVo>> rb = ResultBean.fireFail();
PagerVo<StorageVo> pv = wmsInventoryService.appStorage(pq);
return rb.success().setData(pv);
}
@ApiOperation("app旧件库存查询")
@PostMapping("/appOldStorage")
public ResultBean<PagerVo<OldStorageVo>> appOldStorage(@RequestBody PagerQuery<InventorySearchQuery> pq) {
ResultBean<PagerVo<OldStorageVo>> rb = ResultBean.fireFail();
PagerVo<OldStorageVo> pv = wmsInventoryService.appOldStorage(pq);
return rb.success().setData(pv);
}
}

6
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java

@ -8,6 +8,8 @@ import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsListTagH5Vo;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTagH5Vo;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackH5Vo;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackListVo;
import com.yxt.wms.biz.inventory.wmsinventory.appInventory.OldStorageListVo;
import com.yxt.wms.biz.inventory.wmsinventory.appInventory.StorageListVo;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -70,4 +72,8 @@ public interface WmsInventoryMapper extends BaseMapper<WmsInventory> {
IPage<WmsInventoryBillUseOrgSidVo> selInvenGoodsByUseOrgSid(IPage<WmsInventory> page,@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
IPage<FittingsInventoryVo> fittingsInventory(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
List<StorageListVo> appStorage(@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
List<OldStorageListVo> appOldStorage(@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
}

77
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml

@ -410,4 +410,81 @@
${ew.sqlSegment}
</where>
</select>
<select id="appStorage" resultType="com.yxt.wms.biz.inventory.wmsinventory.appInventory.StorageListVo">
SELECT
i.count,
i.manufacturerName factory,
i.goodsID,
i.goodsSkuCode,
i.goodsSkuOwnSpec,
i.goodsSpuName,
DATEDIFF( NOW(), i.firstInDate ) inventoryAge,
i.cost price,
i.billObjName provider,
i.taxRate rate,
i.unit,
CONCAT(i.warehouseName, '-',a.areaName, '-',i.warehouseRackCode ) title
FROM
wms_inventory AS i
LEFT JOIN wms_warehouse_rack as r ON i.warehouseRackSid = r.sid
LEFT JOIN wms_warehouse_area as a ON r.locationSid = a.sid
LEFT JOIN anrui_portal.sys_organization as s ON i.useOrgSid = s.sid
<where>
${ew.sqlSegment}
</where>
</select>
<select id="appOldStorage"
resultType="com.yxt.wms.biz.inventory.wmsinventory.appInventory.OldStorageListVo">
SELECT * FROM
(SELECT
e.*,
(
SELECT
CONCAT( v.vinNo, '/', v.vehMark )
FROM
yxt_4sas.as_busrepair_inventorybill_detail AS d
LEFT JOIN yxt_4sas.as_busrepair_inventorybill AS i ON d.billSid = i.sid
LEFT JOIN yxt_4sas.as_busrepair_bill_vech AS v ON i.sourceBillSid = v.billSid
WHERE
d.oldInventorySid = e.sid
LIMIT 1
) carCodeInfo,
(
SELECT
b.billNo
FROM
yxt_4sas.as_busrepair_inventorybill_detail AS d
LEFT JOIN yxt_4sas.as_busrepair_inventorybill AS i ON d.billSid = i.sid
LEFT JOIN yxt_4sas.as_busrepair_bill AS b ON i.sourceBillSid = b.sid
WHERE
d.oldInventorySid = e.sid
LIMIT 1
) repairId
FROM
(
SELECT
i.count,
i.manufacturerName factory,
i.goodsID,
i.goodsSkuCode,
i.goodsSkuOwnSpec,
i.goodsSpuName,
DATEDIFF( NOW(), i.firstInDate ) inventoryAge,
i.cost price,
i.unit,
CONCAT( i.warehouseName, '-', a.areaName, '-', i.warehouseRackCode ) title,
i.sid,
s.orgSidPath,
i.createBySid
FROM
wms_inventory AS i
LEFT JOIN wms_warehouse_rack AS r ON i.warehouseRackSid = r.sid
LEFT JOIN wms_warehouse_area AS a ON r.locationSid = a.sid
LEFT JOIN wms_warehouse_info AS w ON i.warehouseSid = w.sid
LEFT JOIN anrui_portal.sys_organization AS s ON i.useOrgSid = s.sid
) e) a
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

206
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java

@ -16,6 +16,7 @@ import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsListTagH5Vo;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTagH5Vo;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackH5Vo;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackListVo;
import com.yxt.wms.biz.inventory.wmsinventory.appInventory.*;
import com.yxt.wms.biz.inventory.wmsinventorybill.WmsInventoryBill;
import com.yxt.wms.biz.inventory.wmsinventorybill.WmsInventoryBillService;
import com.yxt.wms.biz.inventory.wmsshelfbill.WmsShelfBill;
@ -35,6 +36,7 @@ import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.math.BigDecimal;
import java.util.*;
import java.util.stream.Collectors;
/**
* @author wangpengfei
@ -698,4 +700,208 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
PagerVo<FittingsInventoryVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public PagerVo<StorageVo> appStorage(PagerQuery<InventorySearchQuery> pq) {
PagerVo<StorageVo> pagerVo = new PagerVo<>();
InventorySearchQuery query = pq.getParams();
QueryWrapper<WmsInventory> qw = new QueryWrapper<>();
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setUserSid(query.getUserSid());
privilegeQuery.setMenuSid(query.getMenuSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("s.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("s.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("s.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("s.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("i.createBySid", query.getUserSid());
} else {
PagerVo<StorageVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<StorageVo> p = new PagerVo<>();
return p;
}
//ToDo:添加查询条件
if (StringUtils.isNotBlank(query.getName())) {
qw.and(wrapper -> wrapper.like("i.warehouseName", query.getName())
.or().like("a.areaName", query.getName())
.or().like("i.warehouseRackCode", query.getName())
.or().like("i.goodsSpuName", query.getName())
.or().like("i.manufacturerName", query.getName())
.or().like("i.billObjName", query.getName())
.or().like("i.goodsSkuCode", query.getName())
);
}
List<StorageListVo> listVos = baseMapper.appStorage(qw);
Map<String,List<StorageListVo>> stringListMap = listVos.stream().collect(Collectors.groupingBy(StorageListVo::getTitle));
List<StorageVo> records = new ArrayList<>();
if (!stringListMap.isEmpty()) {
for (Map.Entry <String, List<StorageListVo>> entry : stringListMap.entrySet()) {
StorageVo vo = new StorageVo();
vo.setTitle(entry.getKey());
vo.setList(entry.getValue());
records.add(vo);
}
}
if (!records.isEmpty()) {
List<StorageVo> lastList = this.pageBySubList1(records, (int) pq.getSize(), (int) pq.getCurrent());
pagerVo.setRecords(lastList);
pagerVo.setTotal(records.size());
pagerVo.setCurrent(pq.getCurrent());
pagerVo.setSize(pq.getSize());
if (records.size() % pq.getSize() != 0L) {
pagerVo.setPages((records.size() / pq.getSize()) + 1);
} else {
pagerVo.setPages(records.size() / pq.getSize());
}
pagerVo.setMsg("当前共查询到" + records.size() + "条记录");
}
return pagerVo;
}
/**
* 分页方法
*/
public List<StorageVo> pageBySubList1(List<StorageVo> list, int pagesize, int currentPage) {
int totalcount = list.size();
int pagecount = 0;
List<StorageVo> subList;
int m = totalcount % pagesize;
if (m > 0) {
pagecount = totalcount / pagesize + 1;
} else {
pagecount = totalcount / pagesize;
}
if (m == 0) {
subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage));
} else {
if (currentPage == pagecount) {
subList = list.subList((currentPage - 1) * pagesize, totalcount);
} else {
subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage));
}
}
return subList;
}
/**
* 分页方法
*/
public List<OldStorageVo> pageBySubList2(List<OldStorageVo> list, int pagesize, int currentPage) {
int totalcount = list.size();
int pagecount = 0;
List<OldStorageVo> subList;
int m = totalcount % pagesize;
if (m > 0) {
pagecount = totalcount / pagesize + 1;
} else {
pagecount = totalcount / pagesize;
}
if (m == 0) {
subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage));
} else {
if (currentPage == pagecount) {
subList = list.subList((currentPage - 1) * pagesize, totalcount);
} else {
subList = list.subList((currentPage - 1) * pagesize, pagesize * (currentPage));
}
}
return subList;
}
public PagerVo<OldStorageVo> appOldStorage(PagerQuery<InventorySearchQuery> pq) {
PagerVo<OldStorageVo> pagerVo = new PagerVo<>();
InventorySearchQuery query = pq.getParams();
QueryWrapper<WmsInventory> qw = new QueryWrapper<>();
PrivilegeQuery privilegeQuery = new PrivilegeQuery();
privilegeQuery.setOrgPath(query.getOrgPath());
privilegeQuery.setUserSid(query.getUserSid());
privilegeQuery.setMenuSid(query.getMenuSid());
ResultBean<String> defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery);
if (StringUtils.isNotBlank(defaultIdReltBean.getData())) {
//数据权限ID(1集团、2事业部、3分公司、4部门、5个人)
String orgSidPath = query.getOrgPath();
orgSidPath = orgSidPath + "/";
int i1 = orgSidPath.indexOf("/");
int i2 = orgSidPath.indexOf("/", i1 + 1);
int i3 = orgSidPath.indexOf("/", i2 + 1);
int i4 = orgSidPath.indexOf("/", i3 + 1);
String orgLevelKey = defaultIdReltBean.getData();
if ("1".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i1);
qw.like("a.orgSidPath", orgSidPath);
} else if ("2".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i2);
qw.like("a.orgSidPath", orgSidPath);
} else if ("3".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i3);
qw.like("a.orgSidPath", orgSidPath);
} else if ("4".equals(orgLevelKey)) {
orgSidPath = orgSidPath.substring(0, i4);
qw.like("a.orgSidPath", orgSidPath);
} else if ("5".equals(orgLevelKey)) {
qw.eq("a.createBySid", query.getUserSid());
} else {
PagerVo<OldStorageVo> p = new PagerVo<>();
return p;
}
} else {
PagerVo<OldStorageVo> p = new PagerVo<>();
return p;
}
//ToDo:添加查询条件
if (StringUtils.isNotBlank(query.getName())) {
qw.and(wrapper -> wrapper.like("a.title", query.getName())
.or().like("a.goodsSpuName", query.getName())
.or().like("a.manufacturerName", query.getName())
.or().like("a.goodsSkuCode", query.getName())
.or().like("a.repairId", query.getName())
);
}
List<OldStorageListVo> listVos = baseMapper.appOldStorage(qw);
Map<String,List<OldStorageListVo>> stringListMap = listVos.stream().collect(Collectors.groupingBy(OldStorageListVo::getTitle));
List<OldStorageVo> records = new ArrayList<>();
if (!stringListMap.isEmpty()) {
for (Map.Entry <String, List<OldStorageListVo>> entry : stringListMap.entrySet()) {
OldStorageVo vo = new OldStorageVo();
vo.setTitle(entry.getKey());
vo.setList(entry.getValue());
records.add(vo);
}
}
if (!records.isEmpty()) {
List<OldStorageVo> lastList = this.pageBySubList2(records, (int) pq.getSize(), (int) pq.getCurrent());
pagerVo.setRecords(lastList);
pagerVo.setTotal(records.size());
pagerVo.setCurrent(pq.getCurrent());
pagerVo.setSize(pq.getSize());
if (records.size() % pq.getSize() != 0L) {
pagerVo.setPages((records.size() / pq.getSize()) + 1);
} else {
pagerVo.setPages(records.size() / pq.getSize());
}
pagerVo.setMsg("当前共查询到" + records.size() + "条记录");
}
return pagerVo;
}
}

20
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appInventory/InventorySearchQuery.java

@ -0,0 +1,20 @@
package com.yxt.wms.biz.inventory.wmsinventory.appInventory;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/8/23 8:50
*/
@Data
public class InventorySearchQuery implements Query {
private String name;
private String userSid;
private String menuSid;
private String orgPath;
}

50
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appInventory/OldStorageListVo.java

@ -0,0 +1,50 @@
package com.yxt.wms.biz.inventory.wmsinventory.appInventory;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/8/23 9:13
*/
@Data
public class OldStorageListVo {
/**
* 车架号/车牌号
*/
private String carCodeInfo;
/**
* 数量
*/
private String count;
/**
* 厂家
*/
private String factory;
/**
* 商品ID
*/
private String goodsID;
/**
* 图号
*/
private String goodsSkuCode;
/**
* 规格
*/
private String goodsSkuOwnSpec;
/**
* 商品名称
*/
private String goodsSpuName;
/**
* 维修单号
*/
private String repairId;
/**
* 单位
*/
private String unit;
private String title;
}

18
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appInventory/OldStorageVo.java

@ -0,0 +1,18 @@
package com.yxt.wms.biz.inventory.wmsinventory.appInventory;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/8/23 9:15
*/
@Data
public class OldStorageVo {
private String title;
private List<OldStorageListVo> list = new ArrayList<>();
}

52
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appInventory/StorageListVo.java

@ -0,0 +1,52 @@
package com.yxt.wms.biz.inventory.wmsinventory.appInventory;
import lombok.Data;
@Data
public class StorageListVo {
/**
* 数量
*/
private String count;
/**
* 厂家
*/
private String factory;
/**
* 商品ID
*/
private String goodsID;
/**
* 图号
*/
private String goodsSkuCode;
/**
* 规格
*/
private String goodsSkuOwnSpec;
/**
* 商品名称
*/
private String goodsSpuName;
/**
* 库龄
*/
private String inventoryAge;
/**
* 入库单价
*/
private String price;
/**
* 供应商
*/
private String provider;
/**
* 税率
*/
private String rate;
/**
* 单位
*/
private String unit;
private String title;
}

18
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appInventory/StorageVo.java

@ -0,0 +1,18 @@
package com.yxt.wms.biz.inventory.wmsinventory.appInventory;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/8/23 9:11
*/
@Data
public class StorageVo {
private String title;
private List<StorageListVo> list = new ArrayList<>();
}
Loading…
Cancel
Save