库存
This commit is contained in:
@@ -27,9 +27,7 @@ public class PurchaseInventoryBillRest {
|
||||
@ApiOperation("分页列表")
|
||||
@PostMapping("/listPage")
|
||||
public ResultBean<PagerVo<PurchaseInventoryBillPageVo>> listPage(@RequestBody PagerQuery<PurchaseInventoryBillQuery> pq) {
|
||||
ResultBean<PagerVo<PurchaseInventoryBillPageVo>> rb = ResultBean.fireFail();
|
||||
PagerVo<PurchaseInventoryBillPageVo> pv = purchaseInventoryBillService.listPage(pq);
|
||||
return rb.success().setData(pv);
|
||||
return purchaseInventoryBillService.listPage(pq);
|
||||
}
|
||||
|
||||
@ApiOperation("新增修改保存")
|
||||
|
||||
@@ -42,34 +42,31 @@ public class WarehouseInventoryRest {
|
||||
@ApiOperation("分页列表")
|
||||
@PostMapping("/listPage")
|
||||
public ResultBean<PagerVo<WarehouseInventoryVo>> listPage(@RequestBody PagerQuery<WarehouseInventoryQuery> pq) {
|
||||
ResultBean<PagerVo<WarehouseInventoryVo>> rb = ResultBean.fireFail();
|
||||
PagerVo<WarehouseInventoryVo> pv = WarehouseInventoryService.listPage(pq);
|
||||
return rb.success().setData(pv);
|
||||
return WarehouseInventoryService.listPage(pq);
|
||||
}
|
||||
@ApiOperation("库位库存分页列表")
|
||||
@PostMapping("/locationListPage")
|
||||
public ResultBean<PagerVo<WarehouseInventoryVo>> locationListPage(@RequestBody PagerQuery<WarehouseInventoryQuery> pq) {
|
||||
return WarehouseInventoryService.locationListPage(pq);
|
||||
}
|
||||
|
||||
@ApiOperation("删除/批量删除")
|
||||
@DeleteMapping("/delBySids")
|
||||
ResultBean delBySids(@RequestBody String[] sids) {
|
||||
return WarehouseInventoryService.delAllBySids(sids);
|
||||
}
|
||||
|
||||
// @ApiOperation("入库")
|
||||
// @GetMapping("/warehousing")
|
||||
public ResultBean warehousing(WarehouseInventoryDto dto) {
|
||||
return WarehouseInventoryService.warehousing(dto);
|
||||
}
|
||||
|
||||
/* @ApiOperation("编辑")
|
||||
@PostMapping("/updateWarehouseInventory")
|
||||
ResultBean updateWarehouseInventory(@RequestBody WarehouseInventoryUpdateDto dto) {
|
||||
return WarehouseInventoryService.updateWarehouseInventory(dto);
|
||||
@ApiOperation("查询库位商品数量")
|
||||
@PostMapping("/getRackCountBySid")
|
||||
ResultBean getRackCountBySid(@RequestBody WarehouseInventoryRackCountQuery query) {
|
||||
return WarehouseInventoryService.getRackCountBySid(query);
|
||||
}
|
||||
@ApiOperation("根据商品查询库存变化")
|
||||
@PostMapping("/getInventoryRecordBySid")
|
||||
ResultBean getInventoryRecordBySid(@RequestBody WarehouseInventoryRackCountQuery query) {
|
||||
return WarehouseInventoryService.getInventoryRecordBySid(query);
|
||||
}
|
||||
|
||||
@ApiOperation("新增")
|
||||
@PostMapping("/saveWarehouseInventory")
|
||||
ResultBean<String> saveWarehouseInventory(@RequestBody WarehouseInventorySaveDto dto) {
|
||||
return WarehouseInventoryService.saveWarehouseInventory(dto);
|
||||
}*/
|
||||
}
|
||||
|
||||
|
||||
|
||||
|
||||
@@ -4,6 +4,7 @@
|
||||
<select id="listPage" resultType="com.yxt.warehouse.biz.purchaseinventorybill.PurchaseInventoryBillPageVo">
|
||||
select wrb.*
|
||||
from purchase_inventory_bill wrb
|
||||
LEFT JOIN ss_user.sys_organization as s ON wrb.useOrgSid = s.sid
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
|
||||
@@ -33,11 +33,13 @@ public class PurchaseInventoryBillQuery implements Query {
|
||||
private String goodsSkuSid;
|
||||
@ApiModelProperty("供应商")
|
||||
private String supplierName;
|
||||
private String orgLevelKey;//权限等级
|
||||
@ApiModelProperty("菜单路由")
|
||||
private String menuUrl;
|
||||
@ApiModelProperty("组织全路径sid")
|
||||
private String orgPath;
|
||||
@ApiModelProperty("用户sid")
|
||||
private String userSid;
|
||||
private int index;
|
||||
|
||||
}
|
||||
|
||||
@@ -18,6 +18,7 @@ import com.yxt.warehouse.biz.purchaseinventorybilldetail.PurchaseInventoryBillDe
|
||||
import com.yxt.warehouse.biz.purchaseinventorybilldetail.PurchaseInventoryBillDetailVo;
|
||||
import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBill;
|
||||
import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBillService;
|
||||
import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBillVo;
|
||||
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetail;
|
||||
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetailService;
|
||||
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsListDetailsVo;
|
||||
@@ -71,10 +72,35 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
|
||||
@Autowired
|
||||
WarehouseInfoService warehouseInfoService;
|
||||
|
||||
public PagerVo<PurchaseInventoryBillPageVo> listPage(PagerQuery<PurchaseInventoryBillQuery> pq) {
|
||||
public ResultBean<PagerVo<PurchaseInventoryBillPageVo>> listPage(PagerQuery<PurchaseInventoryBillQuery> pq) {
|
||||
PurchaseInventoryBillQuery query = pq.getParams();
|
||||
ResultBean rb =new ResultBean().fail();
|
||||
QueryWrapper<PurchaseInventoryBill> qw = new QueryWrapper<>();
|
||||
//ToDo:添加查询条件
|
||||
if (StringUtils.isNotBlank(query.getOrgLevelKey())) {
|
||||
//数据权限ID(1全部、2本部门及子部门、3本部门、4个人)
|
||||
String orgLevelKey=query.getOrgLevelKey();
|
||||
String orgSidPath=query.getOrgPath();
|
||||
int index=query.getIndex();
|
||||
if ("1".equals(orgLevelKey)) {
|
||||
orgSidPath = orgSidPath.substring(0, index);
|
||||
qw.like("s.orgSidPath", orgSidPath);
|
||||
} else if ("2".equals(orgLevelKey)) {
|
||||
orgSidPath = orgSidPath.substring(0, index);
|
||||
qw.like("s.orgSidPath", orgSidPath);
|
||||
} else if ("3".equals(orgLevelKey)) {
|
||||
orgSidPath = orgSidPath.substring(0, index);
|
||||
qw.apply("s.orgSidPath like('"+orgSidPath+"')");
|
||||
} else if ("4".equals(orgLevelKey)) {
|
||||
qw.eq("wrb.createBySid", query.getUserSid());
|
||||
} else {
|
||||
PagerVo<PurchaseInventoryBillPageVo> p = new PagerVo<>();
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
} else {
|
||||
PagerVo<PurchaseInventoryBillPageVo> p = new PagerVo<>();
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
//状态
|
||||
if (StringUtils.isNotBlank(query.getBillNo())) {
|
||||
qw.like("wrb.billNo", query.getBillNo());
|
||||
@@ -112,7 +138,7 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
|
||||
IPage<PurchaseInventoryBill> page = PagerUtil.queryToPage(pq);
|
||||
IPage<PurchaseInventoryBillPageVo> pagging = baseMapper.listPage(page, qw);
|
||||
PagerVo<PurchaseInventoryBillPageVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
|
||||
public ResultBean<String> saveBill(List<PurchaseInventoryBillDto2> dto,String userSid,String userName) {
|
||||
|
||||
@@ -20,6 +20,8 @@ import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetail;
|
||||
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetailService;
|
||||
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventory;
|
||||
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryService;
|
||||
import com.yxt.warehouse.biz.warehouseinventorybatch.WarehouseInventoryBatch;
|
||||
import com.yxt.warehouse.biz.warehouseinventorybatch.WarehouseInventoryBatchService;
|
||||
import com.yxt.warehouse.biz.warehouserack.WarehouseRack;
|
||||
import com.yxt.warehouse.biz.warehouserack.WarehouseRackService;
|
||||
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchDto2;
|
||||
@@ -53,6 +55,8 @@ public class PurchaseInventoryBillDetailService extends MybatisBaseService<Purch
|
||||
WarehouseInventoryService warehouseInventoryService;
|
||||
@Autowired
|
||||
WarehouseRackService warehouseRackService;
|
||||
@Autowired
|
||||
WarehouseInventoryBatchService warehouseInventoryBatchService;
|
||||
|
||||
// public void saveOrUpdateDetailsList2(String sid, List<PurchaseInventoryBillDetailDto2> list, List<WarehouseReceiptBillDetailBatchDto2> pcList) {
|
||||
public ResultBean<String> saveOrUpdateDetailsList2(String sid, List<PurchaseInventoryBillDetailDto2> list) {
|
||||
@@ -113,6 +117,15 @@ public class PurchaseInventoryBillDetailService extends MybatisBaseService<Purch
|
||||
}
|
||||
warehouseInventory.setGoodsID(billNo);
|
||||
warehouseInventoryService.save(warehouseInventory);
|
||||
WarehouseInventoryBatch batch=new WarehouseInventoryBatch();
|
||||
batch.setInventorySid(warehouseInventory.getSid());
|
||||
batch.setBatchNumber(v.getBatch());
|
||||
batch.setSupplierName(p.getSupplierName());
|
||||
batch.setSupplierSid(p.getSupplierSid());
|
||||
batch.setBillNo(p.getBillNo());
|
||||
batch.setBillSid(p.getSid());
|
||||
batch.setBillDetailSid(wmsReceiptBillDetail.getSid());
|
||||
warehouseInventoryBatchService.save(batch);
|
||||
baseMapper.insert(wmsReceiptBillDetail);
|
||||
}
|
||||
List<WarehouseAnsBillDetail>warehouseAnsBillDetails=warehouseAnsBillDetailService.list(new QueryWrapper<WarehouseAnsBillDetail>()
|
||||
|
||||
@@ -19,6 +19,8 @@ public class WarehouseAnsBillDetail extends BaseEntity {
|
||||
private String sourceBillSid;
|
||||
@ApiModelProperty("图示")
|
||||
private String illustration;
|
||||
@ApiModelProperty("商品Spusid")
|
||||
private String goodsSpuSid;
|
||||
@ApiModelProperty("商品Skusid")
|
||||
private String goodsSkuSid;
|
||||
@ApiModelProperty("商品名称")
|
||||
|
||||
@@ -16,6 +16,8 @@ public class WarehouseAnsBillDetailDto {
|
||||
private String sourceBillSid;
|
||||
@ApiModelProperty("图示")
|
||||
private String illustration;
|
||||
@ApiModelProperty("商品Spusid")
|
||||
private String goodsSpuSid;
|
||||
@ApiModelProperty("商品Skusid")
|
||||
private String goodsSkuSid;
|
||||
@ApiModelProperty("商品名称")
|
||||
|
||||
@@ -23,4 +23,6 @@ public interface WarehouseAnsBillDetailMapper extends BaseMapper<WarehouseAnsBil
|
||||
@Delete("delete from wms_ans_bill_details where sid = #{sid}")
|
||||
void delByMainSid(String billSid);
|
||||
List<WarehouseAnsListDetailsVo> selectByBillSid(String sid);
|
||||
WarehouseAnsListDetailsVo selCountBySkuSid(String sid);
|
||||
WarehouseAnsListDetailsVo selCountBySpuSid(String sid);
|
||||
}
|
||||
|
||||
@@ -27,4 +27,17 @@
|
||||
from warehouse_ans_bill_detail a
|
||||
where a.sid =#{sid}
|
||||
</select>
|
||||
<select id="selCountBySkuSid" resultType="com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsListDetailsVo">
|
||||
select
|
||||
sum(waitInCount) as waitInCount
|
||||
from warehouse_ans_bill_detail a
|
||||
where a.goodsSkusid =#{sid}
|
||||
</select>
|
||||
<select id="selCountBySpuSid" resultType="com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsListDetailsVo">
|
||||
select
|
||||
sum(waitInCount) as waitInCount
|
||||
from warehouse_ans_bill_detail a
|
||||
where a.goodsSpusid =#{sid}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
@@ -137,4 +137,13 @@ public class WarehouseAnsBillDetailService extends MybatisBaseService<WarehouseA
|
||||
|
||||
return vo;
|
||||
}
|
||||
|
||||
public WarehouseAnsListDetailsVo selCountBySkuSid(String sid) {
|
||||
WarehouseAnsListDetailsVo vo=baseMapper.selCountBySkuSid(sid);
|
||||
return vo;
|
||||
}
|
||||
public WarehouseAnsListDetailsVo selCountBySpuSid(String sid) {
|
||||
WarehouseAnsListDetailsVo vo=baseMapper.selCountBySpuSid(sid);
|
||||
return vo;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -15,6 +15,8 @@ public class WarehouseAnsBillDetailVo {
|
||||
private String sourceBillSid;
|
||||
@ApiModelProperty("图示")
|
||||
private String illustration;
|
||||
@ApiModelProperty("商品Spusid")
|
||||
private String goodsSpuSid;
|
||||
@ApiModelProperty("商品Skusid")
|
||||
private String goodsSkuSid;
|
||||
@ApiModelProperty("商品名称")
|
||||
|
||||
@@ -14,6 +14,8 @@ public class WarehouseAnsListDetailsVo {
|
||||
private String sourceBillSid;
|
||||
@ApiModelProperty("图示")
|
||||
private String illustration;
|
||||
@ApiModelProperty("商品Spusid")
|
||||
private String goodsSpuSid;
|
||||
@ApiModelProperty("商品Skusid")
|
||||
private String goodsSkuSid;
|
||||
@ApiModelProperty("商品名称")
|
||||
|
||||
@@ -17,6 +17,9 @@ import java.util.List;
|
||||
public interface WarehouseInventoryMapper extends BaseMapper<WarehouseInventory> {
|
||||
|
||||
IPage<WarehouseInventoryVo> listPage(IPage<WarehouseInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventory> qw);
|
||||
List<WarehouseInventoryVo> getListBySpuSid(@Param("spuSid")String spuSid);
|
||||
List<WarehouseInventoryVo> getRackCountBySid(@Param("sid")String sid,@Param("orgSid") String orgSid);
|
||||
List<WarehouseInventoryVo> getRackCountBySid1(@Param("sid")String sid,@Param("orgSid") String orgSid);
|
||||
|
||||
WarehouseInventoryVo initialization(@Param("sid") String sid);
|
||||
|
||||
|
||||
@@ -5,23 +5,53 @@
|
||||
<!-- ${ew.customSqlSegment} -->
|
||||
|
||||
<select id="listPage" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryVo">
|
||||
select a.goodsID,
|
||||
select
|
||||
a.goodsID,
|
||||
a.sid,
|
||||
a.goodsSpuName,
|
||||
a.goodsSpuSid,
|
||||
a.goodsSkuSid,
|
||||
a.goodsSkuCode,
|
||||
a.goodsSkuOwnSpec,
|
||||
a.unit,
|
||||
a.warehouseName,
|
||||
a.warehouseRackCode,
|
||||
a.count,
|
||||
a.allocateCount,
|
||||
a.batchNumber,
|
||||
DATE_FORMAT(a.firstInDate, '%Y-%m-%d') as firstInDate
|
||||
sum(a.count) as count ,
|
||||
sum(a.allocateCount) as allocateCount,
|
||||
sum(a.count-a.allocateCount) as useCount,
|
||||
sum(a.freezeCount) as freezeCount,
|
||||
a.batchNumber
|
||||
from warehouse_inventory a
|
||||
LEFT JOIN ss_user.sys_organization as s ON a.useOrgSid = s.sid
|
||||
<where>
|
||||
${ew.sqlSegment}
|
||||
</where>
|
||||
</select>
|
||||
<select id="getListBySpuSid" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryVo">
|
||||
select
|
||||
a.goodsID,
|
||||
a.sid,
|
||||
a.goodsSpuName,
|
||||
a.goodsSkuTitle,
|
||||
a.goodsSpuSid,
|
||||
a.goodsSkuSid,
|
||||
a.goodsSkuCode,
|
||||
a.goodsSkuOwnSpec,
|
||||
a.unit,
|
||||
a.warehouseName,
|
||||
a.warehouseRackCode,
|
||||
a.count as count ,
|
||||
a.allocateCount as allocateCount,
|
||||
a.count-a.allocateCount as useCount,
|
||||
a.freezeCount as freezeCount,
|
||||
a.batchNumber
|
||||
from warehouse_inventory a
|
||||
<where>
|
||||
a.goodsSpuSid=#{spuSid}
|
||||
</where>
|
||||
group by a.goodsSkuSid
|
||||
</select>
|
||||
|
||||
<select id="initialization" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryVo">
|
||||
select a.*,
|
||||
b.goodsName as goodsName
|
||||
@@ -328,5 +358,37 @@
|
||||
a.goodsSkuSid = #{skuSid} and
|
||||
a.useOrgSid=#{orgSid}
|
||||
</select>
|
||||
<select id="getRackCountBySid" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryVo">
|
||||
SELECT
|
||||
b.rackName,
|
||||
b.rackCode,
|
||||
a.count - a.allocateCount AS useCount,
|
||||
a.count,
|
||||
a.allocateCount,
|
||||
a.freezeCount
|
||||
FROM
|
||||
warehouse_inventory a
|
||||
LEFT JOIN warehouse_rack b ON a.warehouseRackSid = b.sid
|
||||
LEFT JOIN warehouse_area c ON c.sid = b.locationSid
|
||||
WHERE
|
||||
a.goodsSpuSid = #{sid} and
|
||||
a.useOrgSid=#{orgSid}
|
||||
</select>
|
||||
<select id="getRackCountBySid1" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryVo">
|
||||
SELECT
|
||||
b.rackName,
|
||||
b.rackCode,
|
||||
a.count - a.allocateCount AS useCount,
|
||||
a.count,
|
||||
a.allocateCount,
|
||||
a.freezeCount
|
||||
FROM
|
||||
warehouse_inventory a
|
||||
LEFT JOIN warehouse_rack b ON a.warehouseRackSid = b.sid
|
||||
LEFT JOIN warehouse_area c ON c.sid = b.locationSid
|
||||
WHERE
|
||||
a.goodsSkuSid = #{sid} and
|
||||
a.useOrgSid=#{orgSid}
|
||||
</select>
|
||||
|
||||
</mapper>
|
||||
|
||||
@@ -10,23 +10,33 @@ import lombok.Data;
|
||||
*/
|
||||
@Data
|
||||
public class WarehouseInventoryQuery implements Query {
|
||||
@ApiModelProperty("goodsID")
|
||||
private String goodsID;
|
||||
|
||||
@ApiModelProperty("商品名称")
|
||||
private String goodsSpuName;
|
||||
|
||||
@ApiModelProperty("商品编码")
|
||||
private String goodsSkuCode;
|
||||
|
||||
@ApiModelProperty("仓库")
|
||||
private String warehouseName;
|
||||
private String warehouseSid;
|
||||
@ApiModelProperty("商品名称")
|
||||
private String goodsSpuSid;
|
||||
private String brandSid;
|
||||
private String spec;
|
||||
private String countStart;
|
||||
private String countEnd;
|
||||
|
||||
|
||||
@ApiModelProperty("条码")
|
||||
private String barCode;
|
||||
private String hh;
|
||||
private String orgLevelKey;//权限等级
|
||||
@ApiModelProperty("菜单路由")
|
||||
private String menuUrl;
|
||||
@ApiModelProperty("组织全路径sid")
|
||||
private String orgPath;
|
||||
@ApiModelProperty("用户sid")
|
||||
private String userSid;
|
||||
private int index;
|
||||
|
||||
@ApiModelProperty("库位编码")
|
||||
private String warehouseRackCode;
|
||||
|
||||
@ApiModelProperty("批次号")
|
||||
private String batchNumber;
|
||||
|
||||
//供应商
|
||||
}
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
package com.yxt.warehouse.biz.warehouseinventory;
|
||||
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2024/8/23 11:02
|
||||
*/
|
||||
@Data
|
||||
public class WarehouseInventoryRackCountQuery {
|
||||
private String sid;
|
||||
private String type;//1 spu 2sku
|
||||
private String orgSid;
|
||||
|
||||
}
|
||||
@@ -10,13 +10,16 @@ import com.yxt.common.base.utils.StringUtils;
|
||||
import com.yxt.common.core.query.PagerQuery;
|
||||
import com.yxt.common.core.result.ResultBean;
|
||||
import com.yxt.common.core.vo.PagerVo;
|
||||
import com.yxt.warehouse.biz.purchaseinventorybill.PurchaseInventoryBillPageVo;
|
||||
import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBillService;
|
||||
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetailService;
|
||||
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsListDetailsVo;
|
||||
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordService;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Arrays;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
import java.util.*;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
@@ -24,30 +27,148 @@ import java.util.List;
|
||||
*/
|
||||
@Service
|
||||
public class WarehouseInventoryService extends MybatisBaseService<WarehouseInventoryMapper, WarehouseInventory> {
|
||||
public PagerVo<WarehouseInventoryVo> listPage(PagerQuery<WarehouseInventoryQuery> pq) {
|
||||
|
||||
@Autowired
|
||||
WarehouseAnsBillDetailService warehouseAnsBillDetailService;
|
||||
@Autowired
|
||||
WarehouseInventoryRecordService warehouseInventoryRecordService;
|
||||
public ResultBean<PagerVo<WarehouseInventoryVo>> listPage(PagerQuery<WarehouseInventoryQuery> pq) {
|
||||
ResultBean rb =new ResultBean().fail();
|
||||
WarehouseInventoryQuery query = pq.getParams();
|
||||
QueryWrapper<WarehouseInventory> qw = new QueryWrapper<>();
|
||||
if (StringUtils.isNotBlank(query.getGoodsID())) {
|
||||
qw.like("a.goodsID", query.getGoodsID());
|
||||
// if (StringUtils.isNotBlank(query.getOrgLevelKey())) {
|
||||
// //数据权限ID(1全部、2本部门及子部门、3本部门、4个人)
|
||||
// String orgLevelKey=query.getOrgLevelKey();
|
||||
// String orgSidPath=query.getOrgPath();
|
||||
// int index=query.getIndex();
|
||||
// if ("1".equals(orgLevelKey)) {
|
||||
// orgSidPath = orgSidPath.substring(0, index);
|
||||
// qw.like("s.orgSidPath", orgSidPath);
|
||||
// } else if ("2".equals(orgLevelKey)) {
|
||||
// orgSidPath = orgSidPath.substring(0, index);
|
||||
// qw.like("s.orgSidPath", orgSidPath);
|
||||
// } else if ("3".equals(orgLevelKey)) {
|
||||
// orgSidPath = orgSidPath.substring(0, index);
|
||||
// qw.apply("s.orgSidPath like('"+orgSidPath+"')");
|
||||
// } else if ("4".equals(orgLevelKey)) {
|
||||
// qw.eq("wab.createBySid", query.getUserSid());
|
||||
// } else {
|
||||
// PagerVo<WarehouseInventoryVo> p = new PagerVo<>();
|
||||
// return rb.success().setData(p);
|
||||
// }
|
||||
// } else {
|
||||
// PagerVo<WarehouseInventoryVo> p = new PagerVo<>();
|
||||
// return rb.success().setData(p);
|
||||
// }
|
||||
if (StringUtils.isNotBlank(query.getWarehouseSid())) {
|
||||
qw.like("a.warehouseNameSid", query.getWarehouseSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getWarehouseName())) {
|
||||
qw.like("a.warehouseName", query.getWarehouseName());
|
||||
if (StringUtils.isNotBlank(query.getGoodsSpuSid())) {
|
||||
qw.like("a.goodsSpuSid", query.getGoodsSpuSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getGoodsSkuCode())) {
|
||||
qw.like("a.goodsSkuCode", query.getGoodsSkuCode());
|
||||
if (StringUtils.isNotBlank(query.getBrandSid())) {
|
||||
qw.like("a.brandSid", query.getBrandSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getGoodsSpuName())) {
|
||||
qw.like("a.goodsSpuName", query.getGoodsSpuName());
|
||||
if (StringUtils.isNotBlank(query.getSpec())) {
|
||||
qw.like("a.goodsSkuOwnSpec", query.getSpec());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getBatchNumber())) {
|
||||
qw.like("a.batchNumber", query.getBatchNumber());
|
||||
if (StringUtils.isNotBlank(query.getGoodsSpuSid())) {
|
||||
qw.like("a.goodsSpuSid", query.getGoodsSpuSid());
|
||||
}
|
||||
|
||||
qw.apply(StringUtils.isNotBlank(query.getCountStart()), "a.count >= " + query.getCountStart()).
|
||||
apply(StringUtils.isNotBlank(query.getCountEnd()), "a.count <= " + query.getCountEnd()
|
||||
);
|
||||
qw.eq("1",1);
|
||||
qw.groupBy("a.goodsSpuSid");
|
||||
IPage<WarehouseInventory> page = PagerUtil.queryToPage(pq);
|
||||
IPage<WarehouseInventoryVo> pagging = baseMapper.listPage(page, qw);
|
||||
for (WarehouseInventoryVo record : pagging.getRecords()) {
|
||||
List<WarehouseInventoryVo> vos=baseMapper.getListBySpuSid(record.getGoodsSpuSid());
|
||||
WarehouseAnsListDetailsVo vo2=warehouseAnsBillDetailService.selCountBySpuSid(record.getGoodsSpuSid());
|
||||
record.setProcurementInTransit(new BigDecimal(vo2.getWaitInCount()));
|
||||
record.setInTransitSummary(record.getInTransitSummary()
|
||||
.add(record.getProcurementInTransit())
|
||||
.add(record.getSalesReturnInTransit())
|
||||
.add(record.getTransferInTransit())
|
||||
.add(record.getOtherOnTheWay())
|
||||
.add(record.getWorkOrderInTransit()));
|
||||
for (WarehouseInventoryVo vo : vos) {
|
||||
vo.setMainSid(record.getGoodsSpuSid());
|
||||
WarehouseAnsListDetailsVo vo1=warehouseAnsBillDetailService.selCountBySkuSid(vo.getGoodsSkuSid());
|
||||
vo.setProcurementInTransit(new BigDecimal(vo1.getWaitInCount()));
|
||||
vo.setInTransitSummary(vo.getInTransitSummary()
|
||||
.add(vo.getProcurementInTransit())
|
||||
.add(vo.getSalesReturnInTransit())
|
||||
.add(vo.getTransferInTransit())
|
||||
.add(vo.getOtherOnTheWay())
|
||||
.add(vo.getWorkOrderInTransit()));
|
||||
}
|
||||
record.setWarehouseInventorys(vos);
|
||||
}
|
||||
PagerVo<WarehouseInventoryVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return p;
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
public ResultBean<PagerVo<WarehouseInventoryVo>> locationListPage(PagerQuery<WarehouseInventoryQuery> pq) {
|
||||
ResultBean rb =new ResultBean().fail();
|
||||
WarehouseInventoryQuery query = pq.getParams();
|
||||
QueryWrapper<WarehouseInventory> qw = new QueryWrapper<>();
|
||||
// if (StringUtils.isNotBlank(query.getOrgLevelKey())) {
|
||||
// //数据权限ID(1全部、2本部门及子部门、3本部门、4个人)
|
||||
// String orgLevelKey=query.getOrgLevelKey();
|
||||
// String orgSidPath=query.getOrgPath();
|
||||
// int index=query.getIndex();
|
||||
// if ("1".equals(orgLevelKey)) {
|
||||
// orgSidPath = orgSidPath.substring(0, index);
|
||||
// qw.like("s.orgSidPath", orgSidPath);
|
||||
// } else if ("2".equals(orgLevelKey)) {
|
||||
// orgSidPath = orgSidPath.substring(0, index);
|
||||
// qw.like("s.orgSidPath", orgSidPath);
|
||||
// } else if ("3".equals(orgLevelKey)) {
|
||||
// orgSidPath = orgSidPath.substring(0, index);
|
||||
// qw.apply("s.orgSidPath like('"+orgSidPath+"')");
|
||||
// } else if ("4".equals(orgLevelKey)) {
|
||||
// qw.eq("wab.createBySid", query.getUserSid());
|
||||
// } else {
|
||||
// PagerVo<WarehouseInventoryVo> p = new PagerVo<>();
|
||||
// return rb.success().setData(p);
|
||||
// }
|
||||
// } else {
|
||||
// PagerVo<WarehouseInventoryVo> p = new PagerVo<>();
|
||||
// return rb.success().setData(p);
|
||||
// }
|
||||
if (StringUtils.isNotBlank(query.getWarehouseSid())) {
|
||||
qw.like("a.warehouseNameSid", query.getWarehouseSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getGoodsSpuSid())) {
|
||||
qw.like("a.goodsSpuSid", query.getGoodsSpuSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getBrandSid())) {
|
||||
qw.like("a.brandSid", query.getBrandSid());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getSpec())) {
|
||||
qw.like("a.goodsSkuOwnSpec", query.getSpec());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getGoodsSpuSid())) {
|
||||
qw.like("a.goodsSpuSid", query.getGoodsSpuSid());
|
||||
}
|
||||
qw.apply(StringUtils.isNotBlank(query.getCountStart()), "a.count >= " + query.getCountStart()).
|
||||
apply(StringUtils.isNotBlank(query.getCountEnd()), "a.count <= " + query.getCountEnd()
|
||||
);
|
||||
qw.eq("1",1);
|
||||
qw.groupBy("a.goodsSpuSid");
|
||||
IPage<WarehouseInventory> page = PagerUtil.queryToPage(pq);
|
||||
IPage<WarehouseInventoryVo> pagging = baseMapper.listPage(page, qw);
|
||||
for (WarehouseInventoryVo record : pagging.getRecords()) {
|
||||
List<WarehouseInventoryVo> vos=baseMapper.getListBySpuSid(record.getGoodsSpuSid());
|
||||
for (WarehouseInventoryVo vo : vos) {
|
||||
vo.setMainSid(record.getGoodsSpuSid());
|
||||
}
|
||||
record.setWarehouseInventorys(vos);
|
||||
}
|
||||
PagerVo<WarehouseInventoryVo> p = PagerUtil.pageToVo(pagging, null);
|
||||
return rb.success().setData(p);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* 入库
|
||||
@@ -113,16 +234,25 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven
|
||||
return rb.success().setMsg("成功");
|
||||
}
|
||||
|
||||
public ResultBean updateWarehouseInventory(WarehouseInventoryUpdateDto dto) {
|
||||
public ResultBean getRackCountBySid(WarehouseInventoryRackCountQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
String sid = dto.getSid();
|
||||
WarehouseInventory WarehouseInventory = fetchBySid(sid);
|
||||
if (WarehouseInventory == null) {
|
||||
return rb.setMsg("该库存信息不存在");
|
||||
List<WarehouseInventoryVo> warehouseInventoryVos=new ArrayList<>();
|
||||
if (query.getType().equals("1")){
|
||||
warehouseInventoryVos=baseMapper.getRackCountBySid(query.getSid(),query.getOrgSid());
|
||||
}else if(query.getType().equals("2")){
|
||||
warehouseInventoryVos=baseMapper.getRackCountBySid1(query.getSid(),query.getOrgSid());
|
||||
}
|
||||
BeanUtil.copyProperties(dto, WarehouseInventory, "sid");
|
||||
baseMapper.updateById(WarehouseInventory);
|
||||
return rb.success();
|
||||
return rb.success().setData(warehouseInventoryVos);
|
||||
}
|
||||
public ResultBean getInventoryRecordBySid(WarehouseInventoryRackCountQuery query) {
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
List<WarehouseInventoryVo> warehouseInventoryVos=new ArrayList<>();
|
||||
if (query.getType().equals("1")){
|
||||
// warehouseInventoryVos=warehouseInventoryRecordService.getRackCountBySid(query.getSid(),query.getOrgSid());
|
||||
}else if(query.getType().equals("2")){
|
||||
// warehouseInventoryVos=baseMapper.getRackCountBySid1(query.getSid(),query.getOrgSid());
|
||||
}
|
||||
return rb.success().setData(warehouseInventoryVos);
|
||||
}
|
||||
|
||||
public ResultBean delAllBySids(String[] sids) {
|
||||
@@ -198,12 +328,12 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven
|
||||
public List<WarehouseInventoryVoExcelVo> listExcel(WarehouseInventoryQuery query) {
|
||||
QueryWrapper<WarehouseInventoryVoExcelVo> qw = new QueryWrapper<>();
|
||||
if (query != null) {
|
||||
if (StringUtils.isNotBlank(query.getGoodsSpuName())) {
|
||||
qw.like("goodsSpuName", query.getGoodsSpuName());
|
||||
}
|
||||
if (StringUtils.isNotBlank(query.getWarehouseName())) {
|
||||
qw.like("warehouseName", query.getWarehouseName());
|
||||
}
|
||||
// if (StringUtils.isNotBlank(query.getGoodsSpuName())) {
|
||||
// qw.like("goodsSpuName", query.getGoodsSpuName());
|
||||
// }
|
||||
// if (StringUtils.isNotBlank(query.getWarehouseName())) {
|
||||
// qw.like("warehouseName", query.getWarehouseName());
|
||||
// }
|
||||
}
|
||||
List<WarehouseInventoryVoExcelVo> list = baseMapper.listExcel(qw);
|
||||
list.removeAll(Collections.singleton(null));
|
||||
|
||||
@@ -4,18 +4,24 @@ import com.yxt.common.core.vo.Vo;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author wangpengfei
|
||||
* @date 2024/2/26 13:37
|
||||
*/
|
||||
@Data
|
||||
public class WarehouseInventoryVo implements Vo {
|
||||
|
||||
private String mainSid="0";
|
||||
private String sid;
|
||||
@ApiModelProperty("商品ID")
|
||||
private String goodsID;
|
||||
private String goodsSpuSid;
|
||||
@ApiModelProperty("商品名称")
|
||||
private String goodsSpuName;
|
||||
private String goodsSkuSid;
|
||||
@ApiModelProperty("商品编码")
|
||||
private String goodsSkuCode;
|
||||
@ApiModelProperty("规格型号")
|
||||
@@ -27,16 +33,35 @@ public class WarehouseInventoryVo implements Vo {
|
||||
@ApiModelProperty("库位名称")
|
||||
private String warehouseRackCode;
|
||||
@ApiModelProperty("现有库存")
|
||||
private String count;
|
||||
private BigDecimal count=new BigDecimal(0);
|
||||
@ApiModelProperty("分配库存")
|
||||
private String allocateCount;
|
||||
private BigDecimal allocateCount=new BigDecimal(0);
|
||||
@ApiModelProperty("可用库存")
|
||||
private String useCount;
|
||||
@ApiModelProperty("批次号")
|
||||
private BigDecimal useCount=new BigDecimal(0);
|
||||
@ApiModelProperty("冻结")
|
||||
private BigDecimal freezeCount=new BigDecimal(0);
|
||||
@ApiModelProperty("在途汇总")
|
||||
private BigDecimal inTransitSummary=new BigDecimal(0);
|
||||
@ApiModelProperty("采购在途")
|
||||
private BigDecimal procurementInTransit=new BigDecimal(0);
|
||||
@ApiModelProperty("销退在途")
|
||||
private BigDecimal salesReturnInTransit=new BigDecimal(0);
|
||||
@ApiModelProperty("调拨在途")
|
||||
private BigDecimal transferInTransit=new BigDecimal(0);
|
||||
@ApiModelProperty("其他在途")
|
||||
private BigDecimal otherOnTheWay=new BigDecimal(0);
|
||||
@ApiModelProperty("工单在途")
|
||||
private BigDecimal workOrderInTransit=new BigDecimal(0);
|
||||
@ApiModelProperty("箱单位")
|
||||
private String boxUnit;
|
||||
@ApiModelProperty("体积m3")
|
||||
private String volume;
|
||||
@ApiModelProperty("重量kg")
|
||||
private String weight;
|
||||
@ApiModelProperty("批次")
|
||||
private String batchNumber;
|
||||
@ApiModelProperty("首次入库日期")
|
||||
private String firstInDate;
|
||||
@ApiModelProperty("库龄")
|
||||
private String dateAge;
|
||||
@ApiModelProperty("序列号")
|
||||
private String serialNumber;
|
||||
private List<WarehouseInventoryVo> warehouseInventorys=new ArrayList<>();
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user