diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeDto.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeDto.java new file mode 100644 index 0000000000..ce255fd5ac --- /dev/null +++ b/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; +} diff --git a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeFeign.java b/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeFeign.java index a9b4ebb553..1138db4edc 100644 --- a/anrui-terminal/anrui-terminal-api/src/main/java/com/yxt/anrui/terminal/api/as/storechange/AppStoreChangeFeign.java +++ b/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 public ResultBean scan(@RequestParam("content") String content, @RequestParam("type") String type, @RequestParam("orgPath") String orgPath, @RequestParam(value = "storeSid", required = false) String storeSid); - @ApiOperation("上架保存") + @ApiOperation("保存") @PostMapping("/save") @ResponseBody - public ResultBean save(@RequestBody AppFirstShelvesDto dto); + public ResultBean save(@RequestBody AppStoreChangeDto dto); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java index 90ea8a27eb..f6035e1fe1 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsH5Rest.java +++ b/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.wmsinventory.WmsInventoryService; 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 io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -52,9 +54,9 @@ public class WmsH5Rest { @GetMapping("goods2") @ApiOperation("扫描商品标签看详情") - ResultBean goods2(@RequestParam("sid") String sid) { - ResultBean rb = ResultBean.fireFail(); - GoodsTagH5Vo vo = wmsInventoryService.scanGoodsTag(sid); + ResultBean goods2(@RequestBody GoodsTwoQuery query) { + ResultBean rb = ResultBean.fireFail(); + GoodsTwoVo vo = wmsInventoryService.goods2(query); if (null == vo) { return rb.fail().setMsg("商品不存在"); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java index 93fe6e4f48..2644c27118 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java @@ -44,9 +44,9 @@ public interface WmsInventoryMapper extends BaseMapper { IPage listPageSales(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - IPage getPackageGoodsVo(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + IPage getPackageGoodsVo(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - IPage inventoryAgeList(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + IPage inventoryAgeList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); List ageExportExcel(@Param(Constants.WRAPPER) QueryWrapper qw); @@ -72,13 +72,13 @@ public interface WmsInventoryMapper extends BaseMapper { List selByDeptSid(String deptSid); - List selByDeptSidAndRackSid(@Param("deptSid") String deptSid,@Param("rackSids") List rackSids); + List selByDeptSidAndRackSid(@Param("deptSid") String deptSid, @Param("rackSids") List rackSids); - IPage selInvenGoodsByUseOrgSid(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + IPage selInvenGoodsByUseOrgSid(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); IPage returnFactGoodsListPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - List selBillNoAndCode(@Param("sourceBillNo") String sourceBillNo,@Param("goodsSkuCode") String goodsSkuCode,@Param("deptSid") String deptSid); + List selBillNoAndCode(@Param("sourceBillNo") String sourceBillNo, @Param("goodsSkuCode") String goodsSkuCode, @Param("deptSid") String deptSid); IPage fittingsInventory(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); @@ -86,32 +86,37 @@ public interface WmsInventoryMapper extends BaseMapper { List appOldStorage(@Param(Constants.WRAPPER) QueryWrapper qw); - List selJJByDeptSidAndRackSid(@Param("deptSid") String deptSid,@Param("rackSids") List rackSids); + List selJJByDeptSidAndRackSid(@Param("deptSid") String deptSid, @Param("rackSids") List rackSids); List selJJByDeptSid(String deptSid); WmsInventory selbyGoodsId(@Param("goodsID") String goodsID); - IPage deadStockList(IPage page,@Param(Constants.WRAPPER) QueryWrapper qw); + IPage deadStockList(IPage page, @Param(Constants.WRAPPER) QueryWrapper 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); - List selCJByDeptSidAndRackSid(@Param("deptSid") String deptSid,@Param("rackSids") List rackSids); + List selCJByDeptSidAndRackSid(@Param("deptSid") String deptSid, @Param("rackSids") List rackSids); List selCJByDeptSid(String deptSid); - IPage inventoryStockList(IPage page, @Param(Constants.WRAPPER)QueryWrapper qw); + IPage inventoryStockList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - List selOaInventoryList(@Param("useOrgSid")String useOrgSid, @Param("warehouseTypeValue")String warehouseTypeValue); + List selOaInventoryList(@Param("useOrgSid") String useOrgSid, @Param("warehouseTypeValue") String warehouseTypeValue); @Select("select count from wms_inventory where goodsID = #{goodsID}") String selCountByGoodsID(String goodsID); @Select("select * from wms_inventory where goodsID = #{goodsID} and useOrgSid = #{useOrgSid}") - List selByGoodsIDAndUseOrgSid(@Param("goodID") String goodID,@Param("useOrgSid") String useOrgSid); + List selByGoodsIDAndUseOrgSid(@Param("goodID") String goodID, @Param("useOrgSid") String useOrgSid); @Select("select * from wms_inventory where goodsID = #{goodsID} and useOrgSid = #{useOrgSid} and warehouseSid = #{warehouseSid}") - List selByGoodsIDAndUseOrgSidAndWarehouseSid(@Param("goodID") String goodID,@Param("useOrgSid") String useOrgSid,@Param("warehouseSid") String warehouseSid); + List 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 selBySpuSidAndUseOrgSid(@Param("spuSid") String spuSid, @Param("useOrgSid") String useOrgSid); + + List selBySpuSidAndUseOrgSidWarehouseSid(@Param("spuSid") String spuSid, @Param("useOrgSid") String useOrgSid, @Param("warehouseSid") String warehouseSid, @Param("sids") List sids); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml index 1bf2f115ef..183ac3a17d 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml @@ -209,7 +209,9 @@ DATEDIFF(NOW(), w.firstInDate) as age FROM wms_inventory as w, ( SELECT @rank := 0 ) t - ${ew.sqlSegment} + + ${ew.sqlSegment} + 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 + (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 ${ew.sqlSegment} @@ -564,41 +561,39 @@ SELECT wi.* FROM wms_inventory wi - LEFT JOIN wms_warehouse_info wwi - ON wi.warehouseSid = wwi.sid + LEFT JOIN wms_warehouse_info wwi + ON wi.warehouseSid = wwi.sid WHERE wi.count > 0 AND wwi.useOrgSid = #{deptSid} AND wwi.warehouseTypeKey = '02' - AND RIGHT(wi.goodsID,2) = '-O' + AND RIGHT (wi.goodsID + , 2) = '-O' SELECT * FROM - (SELECT - s.orgSidPath, - so.name useOrgName, - s.name deptName, - i.goodsSpuName, - i.goodsSkuCode, - i.manufacturerName, - i.supplierName, - 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, - 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, - 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, - 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 + (SELECT + s.orgSidPath, + so.name useOrgName, + s.name deptName, + i.goodsSpuName, + i.goodsSkuCode, + i.manufacturerName, + i.supplierName, + 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, + 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, + 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, + 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 ${ew.sqlSegment} + + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java index 19bcab7035..48dc8e6f93 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java +++ b/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.date.DateTime; +import cn.hutool.core.date.DateUtil; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; 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.wms.biz.base.wmswarehouserack.WmsHouseInfoVo; 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.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.appH5.*; 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.DeadStockVo; @@ -59,6 +57,7 @@ public class WmsInventoryService extends MybatisBaseService listPage(PagerQuery pq) { WmsInventoryQuery query = pq.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -739,6 +738,72 @@ public class WmsInventoryService extends MybatisBaseService 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 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 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 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 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 selByDeptSid(String deptSid) { return baseMapper.selByDeptSid(deptSid); } @@ -1300,7 +1365,7 @@ public class WmsInventoryService extends MybatisBaseService inventories = baseMapper.selOaInventoryList(useOrgSid,warehouseTypeValue); + List inventories = baseMapper.selOaInventoryList(useOrgSid, warehouseTypeValue); if (!inventories.isEmpty()) { for (WmsInventory d : inventories) { FormCommon f = new FormCommon(); @@ -1308,26 +1373,26 @@ public class WmsInventoryService extends MybatisBaseService extra = new HashMap<>(); if (null != d.getCount()) { - extra.put("count",d.getCount().toString()); + extra.put("count", d.getCount().toString()); } if (StringUtils.isNotBlank(d.getGoodsSkuOwnSpec())) { - extra.put("goodsSkuOwnSpec",d.getGoodsSkuOwnSpec()); + extra.put("goodsSkuOwnSpec", d.getGoodsSkuOwnSpec()); } if (StringUtils.isNotBlank(d.getGoodsSkuSid())) { - extra.put("goodsSkuSid",d.getGoodsSkuSid()); + extra.put("goodsSkuSid", d.getGoodsSkuSid()); } if (StringUtils.isNotBlank(d.getGoodsSpuSid())) { - extra.put("goodsSpuSid",d.getGoodsSpuSid()); + extra.put("goodsSpuSid", d.getGoodsSpuSid()); } if (StringUtils.isNotBlank(d.getUnit())) { - extra.put("unit",d.getUnit()); + extra.put("unit", d.getUnit()); } if (warehouseTypeValue.equals("招待库")) { String price = baseGoodsSkuExtendFeign.selSalesPrice(d.getGoodsSkuSid()).getData(); if (StringUtils.isNotBlank(price)) { - extra.put("price",price); + extra.put("price", price); } else { - extra.put("price",""); + extra.put("price", ""); } } f.setExtra(extra); @@ -1345,13 +1410,13 @@ public class WmsInventoryService extends MybatisBaseService> selByGoodsIDAndUseOrgSid(String goodID, String useOrgSid) { ResultBean rb = ResultBean.fireFail(); - List wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSid(goodID,useOrgSid); + List wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSid(goodID, useOrgSid); return rb.success().setData(wmsInventoryList); } public ResultBean> selByGoodsIDAndUseOrgSidAndWarehouseSid(String goodID, String useOrgSid, String warehouseSid) { ResultBean rb = ResultBean.fireFail(); - List wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSidAndWarehouseSid(goodID,useOrgSid,warehouseSid); + List wmsInventoryList = baseMapper.selByGoodsIDAndUseOrgSidAndWarehouseSid(goodID, useOrgSid, warehouseSid); return rb.success().setData(wmsInventoryList); } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoListVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoListVo.java new file mode 100644 index 0000000000..0388d18b41 --- /dev/null +++ b/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; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoQuery.java new file mode 100644 index 0000000000..92463c2e0d --- /dev/null +++ b/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 sids; + /** + * 仓库sid + */ + private String storeSid; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/appH5/GoodsTwoVo.java new file mode 100644 index 0000000000..03fd007ece --- /dev/null +++ b/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 list; +}