Browse Source

更改

master
ligaode 4 months ago
parent
commit
40f53bdf71
  1. 23
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeDto.java
  2. 4
      anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeFeign.java
  3. 8
      yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java
  4. 31
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java
  5. 449
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml
  6. 93
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java
  7. 48
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoListVo.java
  8. 28
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoQuery.java
  9. 41
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoVo.java

23
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeDto.java

@ -0,0 +1,23 @@
package com.yxt.anrui.terminal.api.as.storechange;
import com.yxt.anrui.terminal.api.as.firstshelves.AppFirstShelvesGoodsDto;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.List;
@Data
public class AppStoreChangeDto implements Dto {
@ApiModelProperty("库存sid")
private String sid;
@ApiModelProperty("移位数量")
private String count;
@ApiModelProperty("移位仓库")
private String houseInfo2;
@ApiModelProperty("移位库位编码")
private String houseCode2;
@ApiModelProperty("移位仓库")
private String store;
}

4
anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeFeign.java

@ -26,9 +26,9 @@ public interface AppStoreChangeFeign {
@ResponseBody @ResponseBody
public ResultBean<AppStoreChangeScanVo> scan(@RequestParam("content") String content, @RequestParam("type") String type, @RequestParam("orgPath") String orgPath, @RequestParam(value = "storeSid", required = false) String storeSid); public ResultBean<AppStoreChangeScanVo> scan(@RequestParam("content") String content, @RequestParam("type") String type, @RequestParam("orgPath") String orgPath, @RequestParam(value = "storeSid", required = false) String storeSid);
@ApiOperation("上架保存") @ApiOperation("保存")
@PostMapping("/save") @PostMapping("/save")
@ResponseBody @ResponseBody
public ResultBean save(@RequestBody AppFirstShelvesDto dto); public ResultBean save(@RequestBody AppStoreChangeDto dto);
} }

8
yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java

@ -5,6 +5,8 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.wms.biz.inventory.wmsgoodstag.app.AppTagInit; import com.yxt.wms.biz.inventory.wmsgoodstag.app.AppTagInit;
import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryService; import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryService;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTagH5Vo; import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTagH5Vo;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTwoQuery;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTwoVo;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackH5Vo; import com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackH5Vo;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
@ -52,9 +54,9 @@ public class WmsH5Rest {
@GetMapping("goods2") @GetMapping("goods2")
@ApiOperation("扫描商品标签看详情") @ApiOperation("扫描商品标签看详情")
ResultBean<GoodsTagH5Vo> goods2(@RequestParam("sid") String sid) { ResultBean<GoodsTwoVo> goods2(@RequestBody GoodsTwoQuery query) {
ResultBean<GoodsTagH5Vo> rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
GoodsTagH5Vo vo = wmsInventoryService.scanGoodsTag(sid); GoodsTwoVo vo = wmsInventoryService.goods2(query);
if (null == vo) { if (null == vo) {
return rb.fail().setMsg("商品不存在"); return rb.fail().setMsg("商品不存在");
} }

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

@ -44,9 +44,9 @@ public interface WmsInventoryMapper extends BaseMapper<WmsInventory> {
IPage<WmsInventorySalesVo> listPageSales(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); IPage<WmsInventorySalesVo> listPageSales(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
IPage<WmsInventoryPackageVo> getPackageGoodsVo(IPage<WmsInventory> page,@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); IPage<WmsInventoryPackageVo> getPackageGoodsVo(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
IPage<WmsInventoryAgeVo> inventoryAgeList(IPage<WmsInventory> page,@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); IPage<WmsInventoryAgeVo> inventoryAgeList(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
List<WmsInventoryAgeExportVo> ageExportExcel(@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); List<WmsInventoryAgeExportVo> ageExportExcel(@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
@ -72,13 +72,13 @@ public interface WmsInventoryMapper extends BaseMapper<WmsInventory> {
List<WmsInventory> selByDeptSid(String deptSid); List<WmsInventory> selByDeptSid(String deptSid);
List<WmsInventory> selByDeptSidAndRackSid(@Param("deptSid") String deptSid,@Param("rackSids") List<String> rackSids); List<WmsInventory> selByDeptSidAndRackSid(@Param("deptSid") String deptSid, @Param("rackSids") List<String> rackSids);
IPage<WmsInventoryBillUseOrgSidVo> selInvenGoodsByUseOrgSid(IPage<WmsInventory> page,@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); IPage<WmsInventoryBillUseOrgSidVo> selInvenGoodsByUseOrgSid(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
IPage<WmsInventoryReturnFactSelectList> returnFactGoodsListPage(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); IPage<WmsInventoryReturnFactSelectList> returnFactGoodsListPage(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
List<WmsInventoryReturnFactSelectList> selBillNoAndCode(@Param("sourceBillNo") String sourceBillNo,@Param("goodsSkuCode") String goodsSkuCode,@Param("deptSid") String deptSid); List<WmsInventoryReturnFactSelectList> selBillNoAndCode(@Param("sourceBillNo") String sourceBillNo, @Param("goodsSkuCode") String goodsSkuCode, @Param("deptSid") String deptSid);
IPage<FittingsInventoryVo> fittingsInventory(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); IPage<FittingsInventoryVo> fittingsInventory(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
@ -86,32 +86,37 @@ public interface WmsInventoryMapper extends BaseMapper<WmsInventory> {
List<OldStorageListVo> appOldStorage(@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); List<OldStorageListVo> appOldStorage(@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
List<WmsInventory> selJJByDeptSidAndRackSid(@Param("deptSid") String deptSid,@Param("rackSids") List<String> rackSids); List<WmsInventory> selJJByDeptSidAndRackSid(@Param("deptSid") String deptSid, @Param("rackSids") List<String> rackSids);
List<WmsInventory> selJJByDeptSid(String deptSid); List<WmsInventory> selJJByDeptSid(String deptSid);
WmsInventory selbyGoodsId(@Param("goodsID") String goodsID); WmsInventory selbyGoodsId(@Param("goodsID") String goodsID);
IPage<DeadStockVo> deadStockList(IPage<WmsInventory> page,@Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw); IPage<DeadStockVo> deadStockList(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
String selByGoodsIdAndRackSid(@Param("goodsID") String goodsID,@Param("warehouseRackSid") String warehouseRackSid); String selByGoodsIdAndRackSid(@Param("goodsID") String goodsID, @Param("warehouseRackSid") String warehouseRackSid);
BigDecimal compute(String skuSid); BigDecimal compute(String skuSid);
List<WmsInventory> selCJByDeptSidAndRackSid(@Param("deptSid") String deptSid,@Param("rackSids") List<String> rackSids); List<WmsInventory> selCJByDeptSidAndRackSid(@Param("deptSid") String deptSid, @Param("rackSids") List<String> rackSids);
List<WmsInventory> selCJByDeptSid(String deptSid); List<WmsInventory> selCJByDeptSid(String deptSid);
IPage<InventoryStockListVo> inventoryStockList(IPage<WmsInventory> page, @Param(Constants.WRAPPER)QueryWrapper<WmsInventory> qw); IPage<InventoryStockListVo> inventoryStockList(IPage<WmsInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WmsInventory> qw);
List<WmsInventory> selOaInventoryList(@Param("useOrgSid")String useOrgSid, @Param("warehouseTypeValue")String warehouseTypeValue); List<WmsInventory> selOaInventoryList(@Param("useOrgSid") String useOrgSid, @Param("warehouseTypeValue") String warehouseTypeValue);
@Select("select count from wms_inventory where goodsID = #{goodsID}") @Select("select count from wms_inventory where goodsID = #{goodsID}")
String selCountByGoodsID(String goodsID); String selCountByGoodsID(String goodsID);
@Select("select * from wms_inventory where goodsID = #{goodsID} and useOrgSid = #{useOrgSid}") @Select("select * from wms_inventory where goodsID = #{goodsID} and useOrgSid = #{useOrgSid}")
List<WmsInventory> selByGoodsIDAndUseOrgSid(@Param("goodID") String goodID,@Param("useOrgSid") String useOrgSid); List<WmsInventory> selByGoodsIDAndUseOrgSid(@Param("goodID") String goodID, @Param("useOrgSid") String useOrgSid);
@Select("select * from wms_inventory where goodsID = #{goodsID} and useOrgSid = #{useOrgSid} and warehouseSid = #{warehouseSid}") @Select("select * from wms_inventory where goodsID = #{goodsID} and useOrgSid = #{useOrgSid} and warehouseSid = #{warehouseSid}")
List<WmsInventory> selByGoodsIDAndUseOrgSidAndWarehouseSid(@Param("goodID") String goodID,@Param("useOrgSid") String useOrgSid,@Param("warehouseSid") String warehouseSid); List<WmsInventory> selByGoodsIDAndUseOrgSidAndWarehouseSid(@Param("goodID") String goodID, @Param("useOrgSid") String useOrgSid, @Param("warehouseSid") String warehouseSid);
@Select("select * from wms_inventory where goodsSpuSid = #{spuSid} and useOrgSid = #{useOrgSid}")
List<WmsInventory> selBySpuSidAndUseOrgSid(@Param("spuSid") String spuSid, @Param("useOrgSid") String useOrgSid);
List<WmsInventory> selBySpuSidAndUseOrgSidWarehouseSid(@Param("spuSid") String spuSid, @Param("useOrgSid") String useOrgSid, @Param("warehouseSid") String warehouseSid, @Param("sids") List<String> sids);
} }

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

@ -209,7 +209,9 @@
DATEDIFF(NOW(), w.firstInDate) as age DATEDIFF(NOW(), w.firstInDate) as age
FROM wms_inventory as w, FROM wms_inventory as w,
( SELECT @rank := 0 ) t ( SELECT @rank := 0 ) t
<where>${ew.sqlSegment}</where> <where>
${ew.sqlSegment}
</where>
</select> </select>
<select id="selectInvenBySkuSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsGoodsInventoryVo"> <select id="selectInvenBySkuSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsGoodsInventoryVo">
@ -323,100 +325,95 @@
</where> </where>
</select> </select>
<select id="getListByGoodsID" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="getListByGoodsID" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
select * from wms_inventory wi where wi.goodsID =#{goodsID} and wi.count > 0 select *
from wms_inventory wi
where wi.goodsID = #{goodsID}
and wi.count > 0
</select> </select>
<select id="selGoodsListForScanRackTag" <select id="selGoodsListForScanRackTag"
resultType="com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackListVo"> resultType="com.yxt.wms.biz.inventory.wmsinventory.appH5.HouseRackListVo">
SELECT SELECT wi.goodsID,
wi.goodsID, b.supplierName provider,
b.supplierName provider, wi.goodsSpuName goodsName,
wi.goodsSpuName goodsName, wi.goodsSkuCode numId,
wi.goodsSkuCode numId, wi.count num,
wi.count num, CONCAT((date_format(wi.firstInDate, '%Y-%m-%d')), ' (库龄)', (DATEDIFF(NOW(), wi.firstInDate)),
CONCAT( ( date_format ( wi.firstInDate, '%Y-%m-%d' )), ' (库龄)',( DATEDIFF( NOW(), wi.firstInDate )), '天' ) inboundTime '天') inboundTime
FROM FROM wms_inventory AS wi
wms_inventory AS wi LEFT JOIN wms_goods_tag AS t ON wi.goodsID = t.goodsID
LEFT JOIN wms_goods_tag AS t ON wi.goodsID = t.goodsID LEFT JOIN wms_receipt_bill AS b ON t.billSid = b.sid
LEFT JOIN wms_receipt_bill AS b ON t.billSid = b.sid WHERE wi.warehouseRackSid = #{houseRackSid}
WHERE
wi.warehouseRackSid = #{houseRackSid}
</select> </select>
<select id="selGoodsH5Vo" resultType="com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTagH5Vo"> <select id="selGoodsH5Vo" resultType="com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsTagH5Vo">
SELECT SELECT wi.goodsID,
wi.goodsID, b.supplierName provider,
b.supplierName provider, wi.goodsSpuName goodsName,
wi.goodsSpuName goodsName, wi.goodsSkuCode numId,
wi.goodsSkuCode numId, wi.unit,
wi.unit, wi.goodsSkuOwnSpec,
wi.goodsSkuOwnSpec, CONCAT((date_format(wi.firstInDate, '%Y-%m-%d')), ' (库龄)', (DATEDIFF(NOW(), wi.firstInDate)),
CONCAT( ( date_format ( wi.firstInDate, '%Y-%m-%d' )), ' (库龄)',( DATEDIFF( NOW(), wi.firstInDate )), '天' ) inboundTime '天') inboundTime
FROM FROM wms_inventory AS wi
wms_inventory AS wi LEFT JOIN wms_goods_tag AS t ON wi.goodsID = t.goodsID
LEFT JOIN wms_goods_tag AS t ON wi.goodsID = t.goodsID LEFT JOIN wms_receipt_bill AS b ON t.billSid = b.sid
LEFT JOIN wms_receipt_bill AS b ON t.billSid = b.sid WHERE wi.goodsID = #{goodsID}
WHERE ORDER BY wi.firstInDate ASC LIMIT 1
wi.goodsID = #{goodsID}
ORDER BY
wi.firstInDate ASC
LIMIT 1
</select> </select>
<select id="selGoodsListForScanGoodsTag" <select id="selGoodsListForScanGoodsTag"
resultType="com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsListTagH5Vo"> resultType="com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsListTagH5Vo">
SELECT SELECT wi.count num,
wi.count num, r.rackCode houseAddress,
r.rackCode houseAddress, CONCAT(i.warehouseName, '-', a.areaName) houseName
CONCAT( i.warehouseName, '-', a.areaName ) houseName FROM wms_inventory AS wi
FROM LEFT JOIN wms_warehouse_info AS i ON wi.warehouseSid = i.sid
wms_inventory AS wi LEFT JOIN wms_warehouse_rack AS r ON wi.warehouseRackSid = r.sid
LEFT JOIN wms_warehouse_info AS i ON wi.warehouseSid = i.sid LEFT JOIN wms_warehouse_area AS a ON r.locationSid = a.sid
LEFT JOIN wms_warehouse_rack AS r ON wi.warehouseRackSid = r.sid WHERE wi.goodsID = #{goodsID}
LEFT JOIN wms_warehouse_area AS a ON r.locationSid = a.sid
WHERE
wi.goodsID = #{goodsID}
</select> </select>
<select id="selByDeptSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="selByDeptSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
SELECT wi.* SELECT wi.*
FROM wms_inventory wi FROM wms_inventory wi
LEFT JOIN wms_warehouse_info wwi LEFT JOIN wms_warehouse_info wwi
ON wi.warehouseSid = wwi.sid ON wi.warehouseSid = wwi.sid
WHERE wi.count > 0 WHERE wi.count > 0
AND wwi.useOrgSid = #{deptSid} AND wwi.useOrgSid = #{deptSid}
AND wwi.warehouseTypeKey = '01' AND wwi.warehouseTypeKey = '01'
AND RIGHT(wi.goodsID,2) != '-O' AND RIGHT (wi.goodsID
, 2) != '-O'
</select> </select>
<select id="selByDeptSidAndRackSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="selByDeptSidAndRackSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
SELECT wi.* SELECT wi.*
FROM wms_inventory wi FROM wms_inventory wi
LEFT JOIN wms_warehouse_info wwi LEFT JOIN wms_warehouse_info wwi
ON wi.warehouseSid = wwi.sid ON wi.warehouseSid = wwi.sid
WHERE wi.count > 0 WHERE wi.count > 0
AND wwi.useOrgSid = #{deptSid} AND wwi.useOrgSid = #{deptSid}
AND RIGHT(wi.goodsID,2) != '-O' AND RIGHT(wi.goodsID,2) != '-O'
AND wwi.warehouseTypeKey = '01' AND wwi.warehouseTypeKey = '01'
AND wi.warehouseRackSid in AND wi.warehouseRackSid in
<foreach item="rackSid" collection="rackSids" open="(" separator="," close=")"> <foreach item="rackSid" collection="rackSids" open="(" separator="," close=")">
#{rackSid} #{rackSid}
</foreach> </foreach>
</select> </select>
<select id="selInvenGoodsByUseOrgSid" <select id="selInvenGoodsByUseOrgSid"
resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryBillUseOrgSidVo"> resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryBillUseOrgSidVo">
SELECT SELECT
w.*, w.*,
w.supplierSid, w.supplierSid,
w.supplierName, w.supplierName,
wa.sid AS warehouseAreaSid, wa.sid AS warehouseAreaSid,
wa.areaName AS warehouseArea, wa.areaName AS warehouseArea,
p.sid AS manufactorBillSid p.sid AS manufactorBillSid
FROM wms_inventory w FROM wms_inventory w
LEFT JOIN yxt_pms.pms_purchase_bill p LEFT JOIN yxt_pms.pms_purchase_bill p
ON w.manufactorBillNo = p.manufacturersOrderNumber ON w.manufactorBillNo = p.manufacturersOrderNumber
LEFT JOIN wms_warehouse_rack wr LEFT JOIN wms_warehouse_rack wr
ON w.warehouseRackSid = wr.sid ON w.warehouseRackSid = wr.sid
LEFT JOIN wms_warehouse_area wa LEFT JOIN wms_warehouse_area wa
ON wr.locationSid = wa.sid ON wr.locationSid = wa.sid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -446,23 +443,23 @@
</select> </select>
<select id="appStorage" resultType="com.yxt.wms.biz.inventory.wmsinventory.appInventory.StorageListVo"> <select id="appStorage" resultType="com.yxt.wms.biz.inventory.wmsinventory.appInventory.StorageListVo">
SELECT SELECT
i.count, i.count,
i.manufacturerName factory, i.manufacturerName factory,
i.goodsID, i.goodsID,
i.goodsSkuCode, i.goodsSkuCode,
i.goodsSkuOwnSpec, i.goodsSkuOwnSpec,
i.goodsSpuName, i.goodsSpuName,
DATEDIFF( NOW(), i.firstInDate ) inventoryAge, DATEDIFF( NOW(), i.firstInDate ) inventoryAge,
i.cost price, i.cost price,
i.supplierName provider, i.supplierName provider,
i.taxRate rate, i.taxRate rate,
i.unit, i.unit,
CONCAT(i.warehouseName, '-',a.areaName, '-',i.warehouseRackCode ) title CONCAT(i.warehouseName, '-',a.areaName, '-',i.warehouseRackCode ) title
FROM FROM
wms_inventory AS i wms_inventory AS i
LEFT JOIN wms_warehouse_rack as r ON i.warehouseRackSid = r.sid 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_area as a ON r.locationSid = a.sid
LEFT JOIN anrui_portal.sys_organization as s ON i.useOrgSid = s.sid LEFT JOIN anrui_portal.sys_organization as s ON i.useOrgSid = s.sid
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -470,53 +467,53 @@
<select id="appOldStorage" <select id="appOldStorage"
resultType="com.yxt.wms.biz.inventory.wmsinventory.appInventory.OldStorageListVo"> resultType="com.yxt.wms.biz.inventory.wmsinventory.appInventory.OldStorageListVo">
SELECT * FROM SELECT * FROM
(SELECT (SELECT
e.*, e.*,
( (
SELECT SELECT
CONCAT( v.vinNo, '/', v.vehMark ) CONCAT( v.vinNo, '/', v.vehMark )
FROM FROM
yxt_4sas.as_busrepair_inventorybill_detail AS d 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_inventorybill AS i ON d.billSid = i.sid
LEFT JOIN yxt_4sas.as_busrepair_bill_vech AS v ON i.sourceBillSid = v.billSid LEFT JOIN yxt_4sas.as_busrepair_bill_vech AS v ON i.sourceBillSid = v.billSid
WHERE WHERE
d.oldInventorySid = e.sid d.oldInventorySid = e.sid
LIMIT 1 LIMIT 1
) carCodeInfo, ) carCodeInfo,
( (
SELECT SELECT
b.billNo b.billNo
FROM FROM
yxt_4sas.as_busrepair_inventorybill_detail AS d 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_inventorybill AS i ON d.billSid = i.sid
LEFT JOIN yxt_4sas.as_busrepair_bill AS b ON i.sourceBillSid = b.sid LEFT JOIN yxt_4sas.as_busrepair_bill AS b ON i.sourceBillSid = b.sid
WHERE WHERE
d.oldInventorySid = e.sid d.oldInventorySid = e.sid
LIMIT 1 LIMIT 1
) repairId ) repairId
FROM FROM
( (
SELECT SELECT
i.count, i.count,
i.manufacturerName factory, i.manufacturerName factory,
i.goodsID, i.goodsID,
i.goodsSkuCode, i.goodsSkuCode,
i.goodsSkuOwnSpec, i.goodsSkuOwnSpec,
i.goodsSpuName, i.goodsSpuName,
DATEDIFF( NOW(), i.firstInDate ) inventoryAge, DATEDIFF( NOW(), i.firstInDate ) inventoryAge,
i.cost price, i.cost price,
i.unit, i.unit,
CONCAT( i.warehouseName, '-', a.areaName, '-', i.warehouseRackCode ) title, CONCAT( i.warehouseName, '-', a.areaName, '-', i.warehouseRackCode ) title,
i.sid, i.sid,
s.orgSidPath, s.orgSidPath,
i.createBySid i.createBySid
FROM FROM
wms_inventory AS i wms_inventory AS i
LEFT JOIN wms_warehouse_rack AS r ON i.warehouseRackSid = r.sid 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_area AS a ON r.locationSid = a.sid
LEFT JOIN wms_warehouse_info AS w ON i.warehouseSid = w.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 LEFT JOIN anrui_portal.sys_organization AS s ON i.useOrgSid = s.sid
) e) a ) e) a
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
@ -564,41 +561,39 @@
</select> </select>
<select id="selBillNoAndCode" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryReturnFactSelectList"> <select id="selBillNoAndCode" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryReturnFactSelectList">
SELECT SELECT wi.goodsID,
wi.goodsID, wi.goodsSpuSid,
wi.goodsSpuSid, wi.goodsSpuName,
wi.goodsSpuName, wi.goodsSkuSid,
wi.goodsSkuSid, wi.goodsSkuTitle,
wi.goodsSkuTitle, wi.goodsSkuCode,
wi.goodsSkuCode, wi.goodsSkuOwnSpec,
wi.goodsSkuOwnSpec, wi.manufacturerSid,
wi.manufacturerSid, wi.manufacturerName,
wi.manufacturerName, wi.unit,
wi.unit, wi.warehouseSid,
wi.warehouseSid, wi.warehouseName,
wi.warehouseName, wa.sid AS warehouseAreaSid,
wa.sid AS warehouseAreaSid, wa.areaName AS warehouseAreaName,
wa.areaName AS warehouseAreaName, wi.warehouseRackSid,
wi.warehouseRackSid, wr.rackName AS warehouseRackName,
wr.rackName AS warehouseRackName, wi.count
wi.count FROM wms_inventory wi
FROM LEFT JOIN wms_warehouse_rack wr
wms_inventory wi ON wi.warehouseRackSid = wr.sid
LEFT JOIN wms_warehouse_rack wr LEFT JOIN wms_warehouse_area wa
ON wi.warehouseRackSid = wr.sid ON wr.locationSid = wa.sid
LEFT JOIN wms_warehouse_area wa LEFT JOIN yxt_4sas.as_busrepair_inventorybill_detail ad
ON wr.locationSid = wa.sid ON wi.sid = ad.oldInventorySid
LEFT JOIN yxt_4sas.as_busrepair_inventorybill_detail ad LEFT JOIN yxt_4sas.as_busrepair_inventorybill ai
ON wi.sid = ad.oldInventorySid ON ad.billSid = ai.sid
LEFT JOIN yxt_4sas.as_busrepair_inventorybill ai LEFT JOIN yxt_4sas.as_busrepair_bill ab
ON ad.billSid = ai.sid ON ai.sourceBillSid = ab.sid
LEFT JOIN yxt_4sas.as_busrepair_bill ab LEFT JOIN yxt_4sas.as_busrepair_bill_vech av
ON ai.sourceBillSid = ab.sid ON ab.sid = av.billSid
LEFT JOIN yxt_4sas.as_busrepair_bill_vech av
ON ab.sid = av.billSid
WHERE ab.billNo = #{sourceBillNo} WHERE ab.billNo = #{sourceBillNo}
AND wi.goodsSkuCode = #{goodsSkuCode} AND wi.goodsSkuCode = #{goodsSkuCode}
AND wi.useOrgSid = #{deptSid} AND wi.useOrgSid = #{deptSid}
</select> </select>
<select id="selJJByDeptSidAndRackSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="selJJByDeptSidAndRackSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
@ -619,15 +614,18 @@
<select id="selJJByDeptSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="selJJByDeptSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
SELECT wi.* SELECT wi.*
FROM wms_inventory wi FROM wms_inventory wi
LEFT JOIN wms_warehouse_info wwi LEFT JOIN wms_warehouse_info wwi
ON wi.warehouseSid = wwi.sid ON wi.warehouseSid = wwi.sid
WHERE wi.count > 0 WHERE wi.count > 0
AND wwi.useOrgSid = #{deptSid} AND wwi.useOrgSid = #{deptSid}
AND wwi.warehouseTypeKey = '02' AND wwi.warehouseTypeKey = '02'
AND RIGHT(wi.goodsID,2) = '-O' AND RIGHT (wi.goodsID
, 2) = '-O'
</select> </select>
<select id="selbyGoodsId" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="selbyGoodsId" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
SELECT * FROM wms_inventory WHERE goodsID =#{goodsID} SELECT *
FROM wms_inventory
WHERE goodsID = #{goodsID}
</select> </select>
<select id="otherOutGoodsListPage" <select id="otherOutGoodsListPage"
@ -656,48 +654,55 @@
</select> </select>
<select id="deadStockList" resultType="com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockVo"> <select id="deadStockList" resultType="com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockVo">
SELECT * FROM SELECT * FROM
(SELECT (SELECT
s.orgSidPath, s.orgSidPath,
so.name useOrgName, so.name useOrgName,
s.name deptName, s.name deptName,
i.goodsSpuName, i.goodsSpuName,
i.goodsSkuCode, i.goodsSkuCode,
i.manufacturerName, i.manufacturerName,
i.supplierName, i.supplierName,
IFNULL(SUM(count),0) count, IFNULL(SUM(count),0) count,
DATEDIFF(NOW(),(SELECT MIN(wi.firstInDate) FROM wms_inventory as wi WHERE wi.count > 0 and wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid)) inventoryAge, DATEDIFF(NOW(),(SELECT MIN(wi.firstInDate) FROM wms_inventory as wi WHERE wi.count > 0 and wi.useOrgSid =
date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.busTypeValue = '销售出库'),'%Y-%m-%d') salesTime, i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid =
DATEDIFF(NOW(),(date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.busTypeValue = '销售出库'),'%Y-%m-%d'))) noSalesDays, i.supplierSid)) inventoryAge,
date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.billType = '1'),'%Y-%m-%d') storageTime, date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on
SUM(IFNULL(i.cost,0) * IFNULL(i.count,0)) totalCost, r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and
FORMAT((SUM(IFNULL(i.cost,0) * IFNULL(i.count,0))/IFNULL(SUM(count),0)),2) avgPrice wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.busTypeValue =
FROM '销售出库'),'%Y-%m-%d') salesTime,
wms_inventory as i DATEDIFF(NOW(),(date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as
LEFT JOIN anrui_portal.sys_organization as s ON i.useOrgSid = s.sid wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and
LEFT JOIN anrui_portal.sys_organization as so ON i.createOrgSid = so.sid wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.busTypeValue =
WHERE i.count > 0 '销售出库'),'%Y-%m-%d'))) noSalesDays,
GROUP BY i.goodsSkuSid,i.goodsSkuCode,i.useOrgSid,i.manufacturerSid,i.supplierSid) m date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on
r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and
wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.billType = '1'),'%Y-%m-%d')
storageTime,
SUM(IFNULL(i.cost,0) * IFNULL(i.count,0)) totalCost,
FORMAT((SUM(IFNULL(i.cost,0) * IFNULL(i.count,0))/IFNULL(SUM(count),0)),2) avgPrice
FROM
wms_inventory as i
LEFT JOIN anrui_portal.sys_organization as s ON i.useOrgSid = s.sid
LEFT JOIN anrui_portal.sys_organization as so ON i.createOrgSid = so.sid
WHERE i.count > 0
GROUP BY i.goodsSkuSid,i.goodsSkuCode,i.useOrgSid,i.manufacturerSid,i.supplierSid) m
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
</select> </select>
<select id="selByGoodsIdAndRackSid" resultType="java.lang.String"> <select id="selByGoodsIdAndRackSid" resultType="java.lang.String">
SELECT SELECT sid
sid FROM wms_inventory
FROM
wms_inventory
WHERE goodsID = #{goodsID} WHERE goodsID = #{goodsID}
AND warehouseRackSid = #{warehouseRackSid} AND warehouseRackSid = #{warehouseRackSid}
</select> </select>
<select id="compute" resultType="java.math.BigDecimal"> <select id="compute" resultType="java.math.BigDecimal">
SELECT SELECT IFNULL(SUM(COUNT * cost) / SUM(COUNT), 0) AS total
IFNULL(SUM(COUNT * cost) / SUM(COUNT), 0) AS total FROM wms_inventory
FROM
wms_inventory
WHERE goodsSkuSid = #{skuSid} WHERE goodsSkuSid = #{skuSid}
AND COUNT> 0 AND COUNT > 0
</select> </select>
<select id="selCJByDeptSidAndRackSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="selCJByDeptSidAndRackSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
@ -737,17 +742,28 @@
i.unit, i.unit,
IFNULL(SUM(count),0) count, IFNULL(SUM(count),0) count,
IFNULL(i.cost,0) cost, IFNULL(i.cost,0) cost,
SUM(IFNULL(i.cost,0) * IFNULL(i.count,0)) costTotal, SUM(IFNULL(i.cost,0) * IFNULL(i.count,0)) costTotal,
(SELECT IFNULL(salesPrice,0) FROM yxt_base.base_goods_sku_extend as sku WHERE sku.sid = i.goodsSkuSid) price, (SELECT IFNULL(salesPrice,0) FROM yxt_base.base_goods_sku_extend as sku WHERE sku.sid = i.goodsSkuSid) price,
i.warehouseName, i.warehouseName,
wa.areaName wareAreaName, wa.areaName wareAreaName,
i.warehouseRackCode, i.warehouseRackCode,
i.manufacturerName, i.manufacturerName,
i.supplierName, i.supplierName,
(SELECT MIN(wi.firstInDate) FROM wms_inventory as wi WHERE wi.count > 0 and wi.useOrgSid = i.useOrgSid and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid AND wi.warehouseRackCode = i.warehouseRackCode) firstInDate, (SELECT MIN(wi.firstInDate) FROM wms_inventory as wi WHERE wi.count > 0 and wi.useOrgSid = i.useOrgSid and
date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid AND wi.warehouseRackCode = i.warehouseRackCode and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.billType = '1'),'%Y-%m-%d') storageTime, -- 最近一次入库时间 wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid
date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid AND wi.warehouseRackCode = i.warehouseRackCode and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.busTypeValue = '销售出库'),'%Y-%m-%d') salesTime, -- 最近一次销售日期 AND wi.warehouseRackCode = i.warehouseRackCode) firstInDate,
DATEDIFF(NOW(),date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid AND wi.warehouseRackCode = i.warehouseRackCode and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid and r.billType = '1'),'%Y-%m-%d')) inventoryAge, date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on
r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid AND wi.warehouseRackCode = i.warehouseRackCode and
wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid
and r.billType = '1'),'%Y-%m-%d') storageTime, -- 最近一次入库时间
date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as wi on
r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid AND wi.warehouseRackCode = i.warehouseRackCode and
wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid = i.supplierSid
and r.busTypeValue = '销售出库'),'%Y-%m-%d') salesTime, -- 最近一次销售日期
DATEDIFF(NOW(),date_format ((SELECT MAX(r.createTime) FROM wms_inventory_record as r LEFT JOIN wms_inventory as
wi on r.inventorySid = wi.sid WHERE wi.useOrgSid = i.useOrgSid AND wi.warehouseRackCode = i.warehouseRackCode
and wi.goodsSkuCode = i.goodsSkuCode and wi.manufacturerSid = i.manufacturerSid and wi.supplierSid =
i.supplierSid and r.billType = '1'),'%Y-%m-%d')) inventoryAge,
i.manufactorBillNo, i.manufactorBillNo,
pb.payTypeValue procurementMethod, pb.payTypeValue procurementMethod,
pb.purchaseTypeValue, pb.purchaseTypeValue,
@ -760,14 +776,35 @@
LEFT JOIN wms_warehouse_area as wa ON wa.sid = ra.locationSid LEFT JOIN wms_warehouse_area as wa ON wa.sid = ra.locationSid
LEFT JOIN yxt_pms.pms_purchase_bill as pb ON pb.manufacturersOrderNumber = i.manufactorBillNo LEFT JOIN yxt_pms.pms_purchase_bill as pb ON pb.manufacturersOrderNumber = i.manufactorBillNo
WHERE i.count > 0 WHERE i.count > 0
GROUP BY i.goodsID,i.goodsSkuSid,i.goodsSkuCode,i.useOrgSid,i.manufacturerSid,i.supplierSid,i.warehouseRackCode,i.manufactorBillNo) m GROUP BY
i.goodsID,i.goodsSkuSid,i.goodsSkuCode,i.useOrgSid,i.manufacturerSid,i.supplierSid,i.warehouseRackCode,i.manufactorBillNo)
m
<where> <where>
${ew.sqlSegment} ${ew.sqlSegment}
</where> </where>
</select> </select>
<select id="selOaInventoryList" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory"> <select id="selOaInventoryList" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
select wi.* from wms_inventory as wi select wi.*
LEFT JOIN wms_warehouse_info wwi on wi.warehouseSid = wwi.sid from wms_inventory as wi
where wi.count > 0 and wi.useOrgSid =#{useOrgSid} and wwi.warehouseTypeValue =#{warehouseTypeValue} LEFT JOIN wms_warehouse_info wwi on wi.warehouseSid = wwi.sid
where wi.count > 0
and wi.useOrgSid = #{useOrgSid}
and wwi.warehouseTypeValue = #{warehouseTypeValue}
</select>
<select id="selBySpuSidAndUseOrgSidWarehouseSid" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
SELECT
*
FROM
wms_inventory
WHERE goodsSpuSid = #{spuSid}
AND useOrgSid = #{useOrgSid}
AND warehouseSid = #{warehouseSid}
<if test="sids != null and sids.size() != 0">
AND sid NOT IN
<foreach collection="sids" item="item" index="index" open="(" separator="," close=")">
#{item}
</foreach>
</if>
</select> </select>
</mapper> </mapper>

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

@ -2,6 +2,7 @@ package com.yxt.wms.biz.inventory.wmsinventory;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime; import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
@ -12,10 +13,7 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import com.yxt.wms.biz.base.wmswarehouserack.WmsHouseInfoVo; import com.yxt.wms.biz.base.wmswarehouserack.WmsHouseInfoVo;
import com.yxt.wms.biz.base.wmswarehouserack.WmsWarehouseRackService; import com.yxt.wms.biz.base.wmswarehouserack.WmsWarehouseRackService;
import com.yxt.wms.biz.inventory.wmsinventory.appH5.GoodsListTagH5Vo; import com.yxt.wms.biz.inventory.wmsinventory.appH5.*;
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.wmsinventory.appInventory.*;
import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockQuery; import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockQuery;
import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockVo; import com.yxt.wms.biz.inventory.wmsinventory.report.DeadStockVo;
@ -59,6 +57,7 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
private SysUserFeign sysUserFeign; private SysUserFeign sysUserFeign;
@Autowired @Autowired
private BaseGoodsSkuExtendFeign baseGoodsSkuExtendFeign; private BaseGoodsSkuExtendFeign baseGoodsSkuExtendFeign;
public PagerVo<WmsInventoryVo> listPage(PagerQuery<WmsInventoryQuery> pq) { public PagerVo<WmsInventoryVo> listPage(PagerQuery<WmsInventoryQuery> pq) {
WmsInventoryQuery query = pq.getParams(); WmsInventoryQuery query = pq.getParams();
QueryWrapper<WmsInventory> qw = new QueryWrapper<>(); QueryWrapper<WmsInventory> qw = new QueryWrapper<>();
@ -739,6 +738,72 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
return vo; return vo;
} }
public GoodsTwoVo goods2(GoodsTwoQuery query) {
GoodsTwoVo goodsTwoVo = new GoodsTwoVo();
String deptSid = "";
List<String> split = Arrays.asList(query.getOrgPath().split("/"));
if (split.size() > 1) {
//获取本级sid获取本级部门信息
SysOrganizationVo sysOrganization1 = sysOrganizationFeign.fetchBySid(split.get(split.size() - 1)).getData();
deptSid = sysOrganization1.getSid();
} else {
SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(split.get(0)).getData();
deptSid = sysOrganization.getSid();
}
if (StringUtils.isBlank(query.getStoreSid())) {
List<WmsInventory> wmsInventoryList = baseMapper.selBySpuSidAndUseOrgSid(query.getSid(), deptSid);
goodsTwoVo.setGoodsName(wmsInventoryList.get(0).getGoodsSkuTitle());
goodsTwoVo.setNumId(wmsInventoryList.get(0).getGoodsSkuCode());
goodsTwoVo.setProvider(wmsInventoryList.get(0).getSupplierName());
goodsTwoVo.setInboundTime(DateUtil.formatDate(wmsInventoryList.get(0).getFirstInDate()));
goodsTwoVo.setGoodsSkuOwnSpec(wmsInventoryList.get(0).getGoodsSkuOwnSpec());
goodsTwoVo.setUnit(wmsInventoryList.get(0).getUnit());
List<GoodsTwoListVo> list = new ArrayList<>();
for (WmsInventory wmsInventory : wmsInventoryList) {
GoodsTwoListVo goodsTwoListVo = new GoodsTwoListVo();
goodsTwoListVo.setSid(wmsInventory.getSid());
goodsTwoListVo.setGoodsName(wmsInventory.getGoodsSkuTitle());
goodsTwoListVo.setNumId(wmsInventory.getGoodsSkuCode());
goodsTwoListVo.setStore(wmsInventory.getWarehouseName());
goodsTwoListVo.setStoreSid(wmsInventory.getWarehouseSid());
goodsTwoListVo.setCount(wmsInventory.getCount().toString());
goodsTwoListVo.setMaxCount(wmsInventory.getCount().toString());
goodsTwoListVo.setHouseInfo("保内-" + wmsInventory.getWarehouseName() + " " + wmsInventory.getWarehouseRackCode());
if (wmsInventory.getCount().compareTo(BigDecimal.ONE) == 0) {
goodsTwoListVo.setForbid(true);
}
list.add(goodsTwoListVo);
}
goodsTwoVo.setList(list);
return goodsTwoVo;
}
List<WmsInventory> wmsInventoryList = baseMapper.selBySpuSidAndUseOrgSidWarehouseSid(query.getSid(), deptSid, query.getStoreSid(), query.getSids());
goodsTwoVo.setGoodsName(wmsInventoryList.get(0).getGoodsSkuTitle());
goodsTwoVo.setNumId(wmsInventoryList.get(0).getGoodsSkuCode());
goodsTwoVo.setProvider(wmsInventoryList.get(0).getSupplierName());
goodsTwoVo.setInboundTime(DateUtil.formatDate(wmsInventoryList.get(0).getFirstInDate()));
goodsTwoVo.setGoodsSkuOwnSpec(wmsInventoryList.get(0).getGoodsSkuOwnSpec());
goodsTwoVo.setUnit(wmsInventoryList.get(0).getUnit());
List<GoodsTwoListVo> list = new ArrayList<>();
for (WmsInventory wmsInventory : wmsInventoryList) {
GoodsTwoListVo goodsTwoListVo = new GoodsTwoListVo();
goodsTwoListVo.setSid(wmsInventory.getSid());
goodsTwoListVo.setGoodsName(wmsInventory.getGoodsSkuTitle());
goodsTwoListVo.setNumId(wmsInventory.getGoodsSkuCode());
goodsTwoListVo.setStore(wmsInventory.getWarehouseName());
goodsTwoListVo.setStoreSid(wmsInventory.getWarehouseSid());
goodsTwoListVo.setCount(wmsInventory.getCount().toString());
goodsTwoListVo.setMaxCount(wmsInventory.getCount().toString());
goodsTwoListVo.setHouseInfo("保内-" + wmsInventory.getWarehouseName() + " " + wmsInventory.getWarehouseRackCode());
if (wmsInventory.getCount().compareTo(BigDecimal.ONE) == 0) {
goodsTwoListVo.setForbid(true);
}
list.add(goodsTwoListVo);
}
goodsTwoVo.setList(list);
return goodsTwoVo;
}
public List<WmsInventory> selByDeptSid(String deptSid) { public List<WmsInventory> selByDeptSid(String deptSid) {
return baseMapper.selByDeptSid(deptSid); return baseMapper.selByDeptSid(deptSid);
} }
@ -1300,7 +1365,7 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
useOrgSid = sysOrganization.getSid(); useOrgSid = sysOrganization.getSid();
} }
} }
List<WmsInventory> inventories = baseMapper.selOaInventoryList(useOrgSid,warehouseTypeValue); List<WmsInventory> inventories = baseMapper.selOaInventoryList(useOrgSid, warehouseTypeValue);
if (!inventories.isEmpty()) { if (!inventories.isEmpty()) {
for (WmsInventory d : inventories) { for (WmsInventory d : inventories) {
FormCommon f = new FormCommon(); FormCommon f = new FormCommon();
@ -1308,26 +1373,26 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
f.setDictValue(d.getGoodsSpuName()); f.setDictValue(d.getGoodsSpuName());
Map<String, Object> extra = new HashMap<>(); Map<String, Object> extra = new HashMap<>();
if (null != d.getCount()) { if (null != d.getCount()) {
extra.put("count",d.getCount().toString()); extra.put("count", d.getCount().toString());
} }
if (StringUtils.isNotBlank(d.getGoodsSkuOwnSpec())) { if (StringUtils.isNotBlank(d.getGoodsSkuOwnSpec())) {
extra.put("goodsSkuOwnSpec",d.getGoodsSkuOwnSpec()); extra.put("goodsSkuOwnSpec", d.getGoodsSkuOwnSpec());
} }
if (StringUtils.isNotBlank(d.getGoodsSkuSid())) { if (StringUtils.isNotBlank(d.getGoodsSkuSid())) {
extra.put("goodsSkuSid",d.getGoodsSkuSid()); extra.put("goodsSkuSid", d.getGoodsSkuSid());
} }
if (StringUtils.isNotBlank(d.getGoodsSpuSid())) { if (StringUtils.isNotBlank(d.getGoodsSpuSid())) {
extra.put("goodsSpuSid",d.getGoodsSpuSid()); extra.put("goodsSpuSid", d.getGoodsSpuSid());
} }
if (StringUtils.isNotBlank(d.getUnit())) { if (StringUtils.isNotBlank(d.getUnit())) {
extra.put("unit",d.getUnit()); extra.put("unit", d.getUnit());
} }
if (warehouseTypeValue.equals("招待库")) { if (warehouseTypeValue.equals("招待库")) {
String price = baseGoodsSkuExtendFeign.selSalesPrice(d.getGoodsSkuSid()).getData(); String price = baseGoodsSkuExtendFeign.selSalesPrice(d.getGoodsSkuSid()).getData();
if (StringUtils.isNotBlank(price)) { if (StringUtils.isNotBlank(price)) {
extra.put("price",price); extra.put("price", price);
} else { } else {
extra.put("price",""); extra.put("price", "");
} }
} }
f.setExtra(extra); f.setExtra(extra);
@ -1345,13 +1410,13 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
public ResultBean<List<WmsInventory>> selByGoodsIDAndUseOrgSid(String goodID, String useOrgSid) { public ResultBean<List<WmsInventory>> selByGoodsIDAndUseOrgSid(String goodID, String useOrgSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
List<WmsInventory> wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSid(goodID,useOrgSid); List<WmsInventory> wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSid(goodID, useOrgSid);
return rb.success().setData(wmsInventoryList); return rb.success().setData(wmsInventoryList);
} }
public ResultBean<List<WmsInventory>> selByGoodsIDAndUseOrgSidAndWarehouseSid(String goodID, String useOrgSid, String warehouseSid) { public ResultBean<List<WmsInventory>> selByGoodsIDAndUseOrgSidAndWarehouseSid(String goodID, String useOrgSid, String warehouseSid) {
ResultBean rb = ResultBean.fireFail(); ResultBean rb = ResultBean.fireFail();
List<WmsInventory> wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSidAndWarehouseSid(goodID,useOrgSid,warehouseSid); List<WmsInventory> wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSidAndWarehouseSid(goodID, useOrgSid, warehouseSid);
return rb.success().setData(wmsInventoryList); return rb.success().setData(wmsInventoryList);
} }
} }

48
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoListVo.java

@ -0,0 +1,48 @@
package com.yxt.wms.biz.inventory.wmsinventory.appH5;
import lombok.Data;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/6/26 10:40
*/
@Data
public class GoodsTwoListVo {
private String sid;
/**
* 商品名称
*/
private String goodsName;
/**
* 图号
*/
private String numId;
/**
* 仓库
*/
private String store;
/**
* 仓库sid
*/
private String storeSid;
/**
* 可调数量
*/
private String count;
/**
* 最大可调数量
*/
private String maxCount;
/**
* 格式例保内-仓库 库位编码
*/
private String houseInfo;
/**
* 是否禁止修改(maxCount=1 true)
*/
private Boolean forbid = false;
}

28
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoQuery.java

@ -0,0 +1,28 @@
package com.yxt.wms.biz.inventory.wmsinventory.appH5;
import lombok.Data;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/6/26 10:40
*/
@Data
public class GoodsTwoQuery {
private String orgPath;
/**
* 商品sid
*/
private String sid;
/**
* 需要去重的库存sid
*/
private List<String> sids;
/**
* 仓库sid
*/
private String storeSid;
}

41
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoVo.java

@ -0,0 +1,41 @@
package com.yxt.wms.biz.inventory.wmsinventory.appH5;
import lombok.Data;
import java.util.List;
/**
* @author Fan
* @description
* @date 2024/6/26 10:40
*/
@Data
public class GoodsTwoVo {
/**
* 商品名称
*/
private String goodsName;
/**
* 图号
*/
private String numId;
/**
* 供应商
*/
private String provider;
/**
* 首次入库日期
*/
private String inboundTime;
/**
* 规格
*/
private String goodsSkuOwnSpec;
/**
* 计量单位
*/
private String unit;
private List<GoodsTwoListVo> list;
}
Loading…
Cancel
Save