wangpengfei 9 months ago
parent
commit
2d01a8b31a
  1. 4
      src/main/java/com/yxt/warehouse/apiadmin/WarehouseInfoRest.java
  2. 35
      src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryHistoryRest.java
  3. 7
      src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryRecordRest.java
  4. 6
      src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryRest.java
  5. 3
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml
  6. 71
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillService.java
  7. 133
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailService.java
  8. 1
      src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfo.java
  9. 1
      src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfoDto.java
  10. 21
      src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfoMapQuery.java
  11. 60
      src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfoService.java
  12. 1
      src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfoVo.java
  13. 93
      src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryDto.java
  14. 6
      src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryMapper.java
  15. 41
      src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryMapper.xml
  16. 21
      src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryRackVo.java
  17. 164
      src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryService.java
  18. 2
      src/main/java/com/yxt/warehouse/biz/warehouseinventorybatch/WarehouseInventoryBatch.java
  19. 65
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistory.java
  20. 61
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryDto.java
  21. 22
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryMapper.java
  22. 42
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryMapper.xml
  23. 42
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryQuery.java
  24. 61
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryScheduledVo.java
  25. 106
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryService.java
  26. 40
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryVo.java
  27. 16
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecord.java
  28. 74
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordDto.java
  29. 23
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordListVo.java
  30. 1
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordMapper.java
  31. 15
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordMapper.xml
  32. 30
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordQuery1.java
  33. 65
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordService.java
  34. 69
      src/main/java/com/yxt/warehouse/biz/warehouseoutbill/WarehouseOutBillService.java

4
src/main/java/com/yxt/warehouse/apiadmin/WarehouseInfoRest.java

@ -33,6 +33,10 @@ public class WarehouseInfoRest {
public ResultBean<PagerVo<WarehouseInfoVo>> listPage(@RequestBody PagerQuery<WarehouseInfoQuery> pq) {
return wmsWarehouseService.listPage(pq);
}
@PostMapping("/list")
public ResultBean<List<WarehouseInfo>> list(@RequestBody WarehouseInfoMapQuery query) {
return wmsWarehouseService.listQuery(query);
}
@ApiOperation("查询所有的仓库")
@PostMapping("/listAll")
public ResultBean<List<WarehouseInfo>> listAll(@RequestBody OrgPathQuery query) {

35
src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryHistoryRest.java

@ -0,0 +1,35 @@
package com.yxt.warehouse.apiadmin;
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.warehouseinventoryhistory.WarehouseInventoryHistoryQuery;
import com.yxt.warehouse.biz.warehouseinventoryhistory.WarehouseInventoryHistoryService;
import com.yxt.warehouse.biz.warehouseinventoryhistory.WarehouseInventoryHistoryVo;
import com.yxt.warehouse.biz.warehouseinventoryrecord.report.WarehouseInventoryDetailsRecordQuery;
import com.yxt.warehouse.biz.warehouseinventoryrecord.report.WarehouseInventoryDetailsRecordVo;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author wangpengfei
* @date 2024/8/30 9:23
*/
@Api(tags = "历史库存")
@RestController
@RequestMapping("/apiadmin/warehouseinventoryhistory")
public class WarehouseInventoryHistoryRest {
@Autowired
WarehouseInventoryHistoryService warehouseInventoryHistoryService;
@ApiOperation("分页列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<WarehouseInventoryHistoryVo>> listPage(@RequestBody PagerQuery<WarehouseInventoryHistoryQuery> pq){
return warehouseInventoryHistoryService.listPage(pq);
}
}

7
src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryRecordRest.java

@ -144,10 +144,15 @@ public class WarehouseInventoryRecordRest {
ResultBean<List<WarehouseInventoryRecordListVo>> getWarehouseInventoryRecordList(@RequestParam("sid")String sid){
return warehouseInventoryRecordService.getWarehouseInventoryRecordList(sid);
}
@ApiOperation("库存出入库记录")
@PostMapping("/getWarehouseInventoryRecord")
ResultBean<PagerVo<WarehouseInventoryRecordListVo>> getWarehouseInventoryRecord(@RequestBody PagerQuery<WarehouseInventoryRecordQuery1> pq){
return warehouseInventoryRecordService.getWarehouseInventoryRecord(pq);
}
@ApiOperation("出入库查询")
@PostMapping("/pageList")
ResultBean<PagerVo<WarehouseInventoryRecordsVo>> pageList(@RequestBody PagerQuery<WarehouseInventoryRecordsQuery> pagerQuery){
ResultBean<PagerVo<WarehouseInventoryRecordsVo>> pageList(@RequestBody PagerQuery<WarehouseInventoryRecordsQuery> pagerQuery){
ResultBean<PagerVo<WarehouseInventoryRecordsVo>> rb = ResultBean.fireFail();
PagerVo<WarehouseInventoryRecordsVo> pv = warehouseInventoryRecordService.listPage(pagerQuery);
return rb.success().setData(pv);

6
src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryRest.java

@ -57,11 +57,7 @@ public class WarehouseInventoryRest {
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) {

3
src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml

@ -2,9 +2,10 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.warehouse.biz.purchaseinventorybill.PurchaseInventoryBillMapper">
<select id="listPage" resultType="com.yxt.warehouse.biz.purchaseinventorybill.PurchaseInventoryBillPageVo">
select wrb.*
select DISTINCT wrb.*
from purchase_inventory_bill wrb
LEFT JOIN ss_user.sys_organization as s ON wrb.useOrgSid = s.sid
left JOIN purchase_inventory_bill_detail a ON a.sourceBillSid = wrb.sid
<where>
${ew.sqlSegment}
</where>

71
src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillService.java

@ -127,13 +127,13 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
qw.like("wrb.waybillNumber", query.getWaybillNumber());
}
if (StringUtils.isNotBlank(query.getGoodsSkuSid())) {
qw.like("wrb.goodsSkuSid", query.getGoodsSkuSid());
qw.eq("a.goodsSkuSid", query.getGoodsSkuSid());
}
if (StringUtils.isNotBlank(query.getSupplierName())) {
qw.like("wrb.supplierName", query.getSupplierName());
}
if (StringUtils.isNotBlank(query.getBillType())) {
qw.like("wrb.billType", query.getBillType());
qw.eq("wrb.billType", query.getBillType());
}
IPage<PurchaseInventoryBill> page = PagerUtil.queryToPage(pq);
IPage<PurchaseInventoryBillPageVo> pagging = baseMapper.listPage(page, qw);
@ -150,11 +150,11 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
c=c.add(purchaseInventoryBillDetailDto2.getCount());
total=total.add(purchaseInventoryBillDetailDto2.getTotalPrice());
}
PurchaseInventoryBill wmsReceiptBill = new PurchaseInventoryBill();
String sid = wmsReceiptBill.getSid();
BeanUtil.copyProperties(dto2, wmsReceiptBill, "sid");
wmsReceiptBill.setBillState("1");
wmsReceiptBill.setTotal(total);
PurchaseInventoryBill purchaseInventoryBill = new PurchaseInventoryBill();
String sid = purchaseInventoryBill.getSid();
BeanUtil.copyProperties(dto2, purchaseInventoryBill, "sid");
purchaseInventoryBill.setBillState("1");
purchaseInventoryBill.setTotal(total);
//生成单据编号
String billNo = "";
String date = DateUtil.format(DateUtil.date(), "yyyyMMdd");
@ -165,10 +165,10 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
} else {
billNo = Rule.getBillNo(billNo, 0);
}
wmsReceiptBill.setBillNo(billNo);
wmsReceiptBill.setTotalQuantity(c);
wmsReceiptBill.setBillType("0");
baseMapper.insert(wmsReceiptBill);
purchaseInventoryBill.setBillNo(billNo);
purchaseInventoryBill.setTotalQuantity(c);
purchaseInventoryBill.setBillType("0");
baseMapper.insert(purchaseInventoryBill);
List<PurchaseInventoryBillDetailDto2> list = dto2.getList();
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
@ -295,15 +295,15 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
c=c.add(purchaseInventoryBillDetailDto2.getCount());
total=total.add(purchaseInventoryBillDetailDto2.getTotalPrice());
}
PurchaseInventoryBill wmsReceiptBill = new PurchaseInventoryBill();
String sid = wmsReceiptBill.getSid();
BeanUtil.copyProperties(dto, wmsReceiptBill, "sid");
wmsReceiptBill.setBillState("1");
wmsReceiptBill.setBillType("1");
wmsReceiptBill.setOperatorName(dto.getUserName());
wmsReceiptBill.setOperatorSid(dto.getUserSid());
wmsReceiptBill.setOperatorTime(new Date());
wmsReceiptBill.setTotal(total);
PurchaseInventoryBill purchaseInventoryBill = new PurchaseInventoryBill();
String sid = purchaseInventoryBill.getSid();
BeanUtil.copyProperties(dto, purchaseInventoryBill, "sid");
purchaseInventoryBill.setBillState("1");
purchaseInventoryBill.setBillType("1");
purchaseInventoryBill.setOperatorName(dto.getUserName());
purchaseInventoryBill.setOperatorSid(dto.getUserSid());
purchaseInventoryBill.setOperatorTime(new Date());
purchaseInventoryBill.setTotal(total);
//生成单据编号
String billNo = "";
String date = DateUtil.format(DateUtil.date(), "yyyyMMdd");
@ -314,13 +314,13 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
} else {
billNo = Rule.getBillNo(billNo, 0);
}
wmsReceiptBill.setBillNo(billNo);
wmsReceiptBill.setTotalQuantity(c);
baseMapper.insert(wmsReceiptBill);
purchaseInventoryBill.setBillNo(billNo);
purchaseInventoryBill.setTotalQuantity(c);
baseMapper.insert(purchaseInventoryBill);
List<PurchaseInventoryBillDetailDto2> list = dto.getList();
list.removeAll(Collections.singleton(null));
for (PurchaseInventoryBillDetailDto2 dto2 : list) {
dto2.setSourceBillSid(wmsReceiptBill.getSid());
dto2.setSourceBillSid(purchaseInventoryBill.getSid());
purchaseInventoryBillDetailService.saveOrUpdate(dto2);
WarehouseInventory warehouseInventory=new WarehouseInventory();
warehouseInventory.setBatchNumber(dto2.getBatch());
@ -410,6 +410,7 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
total=total.add(purchaseInventoryBillDetailDto2.getTotalPrice());
}
PurchaseInventoryBill purchaseInventoryBill = new PurchaseInventoryBill();
BeanUtil.copyProperties(ansBill,purchaseInventoryBill,"id","sid");
String sid = purchaseInventoryBill.getSid();
purchaseInventoryBill.setSourceBillSid("");
purchaseInventoryBill.setSourceBillNo("");
@ -426,19 +427,11 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
purchaseInventoryBill.setBillState("1");
purchaseInventoryBill.setBillType("0");
purchaseInventoryBill.setTotal(total);
purchaseInventoryBill.setSupplierSid(ansBill.getSupplierSid());
purchaseInventoryBill.setSupplierName(ansBill.getSupplierName());
purchaseInventoryBill.setCarrier(ansBill.getCarrier());
purchaseInventoryBill.setWaybillNumber(ansBill.getWaybillNumber());
purchaseInventoryBill.setExternalNo(ansBill.getSourceBillNo());
purchaseInventoryBill.setStorageTime(DateUtil.parse(dto.getStorageTime()));
purchaseInventoryBill.setOperatorSid(dto.getOperatorSid());
purchaseInventoryBill.setOperatorName(dto.getOperatorName());
purchaseInventoryBill.setOperatorTime(DateUtil.parse(dto.getOperatorTime()));
purchaseInventoryBill.setUseOrgSid(ansBill.getUseOrgSid());
purchaseInventoryBill.setCreateOrgSid(ansBill.getCreateOrgSid());
purchaseInventoryBill.setWarehouseName(ansBill.getWarehouseName());
purchaseInventoryBill.setWarehouseSid(ansBill.getWarehouseSid());
purchaseInventoryBill.setTotalQuantity(c);
//生成单据编号
@ -447,22 +440,12 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
for (PurchaseInventoryBillDetailDto2 purchaseInventoryBillDetailDto2 : list) {
for (WarehouseAnsBillDetail ansBillDetail : ansBillDetails) {
if(purchaseInventoryBillDetailDto2.getGoodsSkuSid().equals(ansBillDetail.getGoodsSkuSid())){
purchaseInventoryBillDetailDto2.setSourceBillSid(ansBillDetail.getSourceBillSid());
purchaseInventoryBillDetailDto2.setIllustration(ansBillDetail.getIllustration());
purchaseInventoryBillDetailDto2.setGoodsSpuSid(ansBillDetail.getGoodsSpuSid());
purchaseInventoryBillDetailDto2.setGoodsSpuName(ansBillDetail.getGoodsSpuSid());
purchaseInventoryBillDetailDto2.setGoodsSkuSid(ansBillDetail.getGoodsSkuSid());
purchaseInventoryBillDetailDto2.setGoodsSkuTitle(ansBillDetail.getGoodsSkuTitle());
purchaseInventoryBillDetailDto2.setGoodsSkuCode(ansBillDetail.getGoodsSkuCode());
BeanUtil.copyProperties(ansBillDetail,purchaseInventoryBillDetailDto2,"sid","id");
purchaseInventoryBillDetailDto2.setGoodsSpuName("");
purchaseInventoryBillDetailDto2.setSpecValue(ansBillDetail.getGoodsSkuOwnSpec());
purchaseInventoryBillDetailDto2.setOwnSpec(ansBillDetail.getGoodsSkuOwnSpec());
purchaseInventoryBillDetailDto2.setUnit(ansBillDetail.getUnit());
purchaseInventoryBillDetailDto2.setGoodsUnitName(ansBillDetail.getUnit());
purchaseInventoryBillDetailDto2.setPrice(ansBillDetail.getPrice());
purchaseInventoryBillDetailDto2.setCostPrice(ansBillDetail.getPrice());
purchaseInventoryBillDetailDto2.setTotalPrice(ansBillDetail.getTotalPrice());
purchaseInventoryBillDetailDto2.setCount(purchaseInventoryBillDetailDto2.getCount());
purchaseInventoryBillDetailDto2.setBatch(ansBillDetail.getBatch());
}
}
}

133
src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailService.java

@ -19,9 +19,11 @@ import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBillService;
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.WarehouseInventoryDto;
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.warehouseinventoryrecord.WarehouseInventoryRecordService;
import com.yxt.warehouse.biz.warehouserack.WarehouseRack;
import com.yxt.warehouse.biz.warehouserack.WarehouseRackService;
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchDto2;
@ -57,6 +59,8 @@ public class PurchaseInventoryBillDetailService extends MybatisBaseService<Purch
WarehouseRackService warehouseRackService;
@Autowired
WarehouseInventoryBatchService warehouseInventoryBatchService;
@Autowired
WarehouseInventoryRecordService warehouseInventoryRecordService;
// public void saveOrUpdateDetailsList2(String sid, List<PurchaseInventoryBillDetailDto2> list, List<WarehouseReceiptBillDetailBatchDto2> pcList) {
public ResultBean<String> saveOrUpdateDetailsList2(String sid, List<PurchaseInventoryBillDetailDto2> list) {
@ -64,49 +68,33 @@ public class PurchaseInventoryBillDetailService extends MybatisBaseService<Purch
baseMapper.deleteByBillSid(sid);
PurchaseInventoryBill p=purchaseInventoryBillService.getOne(new QueryWrapper<PurchaseInventoryBill>().eq("sid",sid));
for (PurchaseInventoryBillDetailDto2 v : list) {
PurchaseInventoryBillDetail wmsReceiptBillDetail = new PurchaseInventoryBillDetail();
BeanUtil.copyProperties(v, wmsReceiptBillDetail, "sid");
wmsReceiptBillDetail.setSourceBillSid(sid);
wmsReceiptBillDetail.setSid(UUID.randomUUID().toString());
wmsReceiptBillDetail.setGoodsSkuTitle(v.getGoodsSkuTitle());
wmsReceiptBillDetail.setGoodsSkuCode(v.getGoodsSkuCode());
// wmsReceiptBillDetail.setSpecValue(v.getSpecValue());
wmsReceiptBillDetail.setBatchNumber(v.getBatch());
PurchaseInventoryBillDetail purchaseInventoryBillDetail = new PurchaseInventoryBillDetail();
BeanUtil.copyProperties(v, purchaseInventoryBillDetail, "sid");
purchaseInventoryBillDetail.setSourceBillSid(sid);
purchaseInventoryBillDetail.setSid(UUID.randomUUID().toString());
purchaseInventoryBillDetail.setBatchNumber(v.getBatch());
WarehouseAnsBillDetail warehouseAnsBillDetail=warehouseAnsBillDetailService
.getOne(new QueryWrapper<WarehouseAnsBillDetail>()
.eq("sourceBillSid",p.getSourceBillSid())
.eq("goodsSkuSid",wmsReceiptBillDetail.getGoodsSkuSid()));
if(warehouseAnsBillDetail.getActualInCount()+wmsReceiptBillDetail.getCount()>warehouseAnsBillDetail.getOrderCount()){
.eq("goodsSkuSid",purchaseInventoryBillDetail.getGoodsSkuSid()));
if(warehouseAnsBillDetail.getActualInCount()+purchaseInventoryBillDetail.getCount()>warehouseAnsBillDetail.getOrderCount()){
return rb.setMsg("入库数量大于预约数量");
}
warehouseAnsBillDetail.setWaitInCount(warehouseAnsBillDetail.getWaitInCount()-wmsReceiptBillDetail.getCount());
warehouseAnsBillDetail.setActualInCount(warehouseAnsBillDetail.getActualInCount()+wmsReceiptBillDetail.getCount());
warehouseAnsBillDetail.setWaitInCount(warehouseAnsBillDetail.getWaitInCount()-purchaseInventoryBillDetail.getCount());
warehouseAnsBillDetail.setActualInCount(warehouseAnsBillDetail.getActualInCount()+purchaseInventoryBillDetail.getCount());
warehouseAnsBillDetailService.updateById(warehouseAnsBillDetail);
WarehouseInventory warehouseInventory=new WarehouseInventory();
WarehouseInventoryDto warehouseInventory=new WarehouseInventoryDto();
BeanUtil.copyProperties(v,warehouseInventory);
warehouseInventory.setBatchNumber(v.getBatch());
warehouseInventory.setGoodsSpuName("");
warehouseInventory.setGoodsSkuSid(v.getGoodsSkuSid());
warehouseInventory.setGoodsSkuTitle(v.getGoodsSkuTitle());
warehouseInventory.setGoodsSkuCode(v.getGoodsSkuCode());
warehouseInventory.setGoodsSkuOwnSpec("");
warehouseInventory.setUnit(v.getUnit());
warehouseInventory.setCount(v.getCount());
warehouseInventory.setGoodsSkuOwnSpec(v.getSpecValue());
warehouseInventory.setAllocateCount(new BigDecimal(0));
warehouseInventory.setPickCount(new BigDecimal(0));
warehouseInventory.setFreezeCount(new BigDecimal(0));
warehouseInventory.setCost(v.getPrice());
warehouseInventory.setWarehouseSid(v.getWarehouseSid());
warehouseInventory.setWarehouseName(v.getWarehouseName());
warehouseInventory.setWarehouseRackSid(v.getWarehouseRackSid());
WarehouseRack warehouseRack=warehouseRackService.getOne(new QueryWrapper<WarehouseRack>().eq("sid",v.getWarehouseRackSid()));
warehouseInventory.setWarehouseRackCode(warehouseRack.getRackCode());
warehouseInventory.setFirstInDate(new Date());
warehouseInventory.setUseOrgSid(p.getUseOrgSid());
warehouseInventory.setCreateOrgSid(p.getCreateOrgSid());
warehouseInventory.setGoodsSkuOwnSpec(v.getSpecValue());
warehouseInventory.setGoodsSpuName(v.getGoodsSpuName());
warehouseInventory.setGoodSpuSid(v.getGoodsSpuSid());
String date = DateUtil.format(DateUtil.date(), "yyyyMMdd");
String billNo = v.getGoodsSkuCode() + date;
String i = warehouseInventoryService.selectNum(billNo);
@ -116,17 +104,19 @@ public class PurchaseInventoryBillDetailService extends MybatisBaseService<Purch
billNo = Rule.getBillNo(billNo, 0);
}
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);
warehouseInventory.setBatch(v.getBatch());
warehouseInventory.setSupplierName(p.getSupplierName());
warehouseInventory.setSupplierSid(p.getSupplierSid());
warehouseInventory.setBillNo(p.getBillNo());
warehouseInventory.setBillSid(p.getSid());
warehouseInventory.setDetailSid(purchaseInventoryBillDetail.getSid());
warehouseInventory.setBillType("1");
warehouseInventory.setBusTypeKey("采购入库");
warehouseInventory.setBusTypeValue("采购入库");
warehouseInventory.setSourceBillNo(p.getSid());
warehouseInventory.setSourceBillSid(p.getBillNo());
warehouseInventoryService.saveInventory(warehouseInventory);
baseMapper.insert(purchaseInventoryBillDetail);
}
List<WarehouseAnsBillDetail>warehouseAnsBillDetails=warehouseAnsBillDetailService.list(new QueryWrapper<WarehouseAnsBillDetail>()
.eq("sourceBillSid",p.getSourceBillSid()).eq("waitInCount","0.00"));
@ -147,49 +137,32 @@ public class PurchaseInventoryBillDetailService extends MybatisBaseService<Purch
baseMapper.deleteByBillSid(sid);
PurchaseInventoryBill p=purchaseInventoryBillService.getOne(new QueryWrapper<PurchaseInventoryBill>().eq("sid",sid));
for (PurchaseInventoryBillDetailDto2 v : list) {
PurchaseInventoryBillDetail wmsReceiptBillDetail = new PurchaseInventoryBillDetail();
BeanUtil.copyProperties(v, wmsReceiptBillDetail, "sid");
wmsReceiptBillDetail.setSourceBillSid(sid);
wmsReceiptBillDetail.setSid(UUID.randomUUID().toString());
wmsReceiptBillDetail.setGoodsSkuTitle(v.getGoodsSkuTitle());
wmsReceiptBillDetail.setGoodsSkuCode(v.getGoodsSkuCode());
// wmsReceiptBillDetail.setSpecValue(v.getSpecValue());
wmsReceiptBillDetail.setBatchNumber(v.getBatch());
PurchaseInventoryBillDetail purchaseInventoryBillDetail = new PurchaseInventoryBillDetail();
BeanUtil.copyProperties(v, purchaseInventoryBillDetail, "sid","id");
purchaseInventoryBillDetail.setSourceBillSid(sid);
purchaseInventoryBillDetail.setSid(UUID.randomUUID().toString());
purchaseInventoryBillDetail.setBatchNumber(v.getBatch());
WarehouseAnsBillDetail warehouseAnsBillDetail=warehouseAnsBillDetailService
.getOne(new QueryWrapper<WarehouseAnsBillDetail>()
.eq("sourceBillSid",p.getSourceBillSid())
.eq("goodsSkuSid",wmsReceiptBillDetail.getGoodsSkuSid()));
if(warehouseAnsBillDetail.getActualInCount()+wmsReceiptBillDetail.getCount()>warehouseAnsBillDetail.getOrderCount()){
.eq("goodsSkuSid",purchaseInventoryBillDetail.getGoodsSkuSid()));
if(warehouseAnsBillDetail.getActualInCount()+purchaseInventoryBillDetail.getCount()>warehouseAnsBillDetail.getOrderCount()){
return rb.setMsg("入库数量大于预约数量");
}
warehouseAnsBillDetail.setWaitInCount(warehouseAnsBillDetail.getWaitInCount()-wmsReceiptBillDetail.getCount());
warehouseAnsBillDetail.setActualInCount(warehouseAnsBillDetail.getActualInCount()+wmsReceiptBillDetail.getCount());
warehouseAnsBillDetail.setWaitInCount(warehouseAnsBillDetail.getWaitInCount()-purchaseInventoryBillDetail.getCount());
warehouseAnsBillDetail.setActualInCount(warehouseAnsBillDetail.getActualInCount()+purchaseInventoryBillDetail.getCount());
warehouseAnsBillDetailService.updateById(warehouseAnsBillDetail);
WarehouseInventory warehouseInventory=new WarehouseInventory();
WarehouseInventoryDto warehouseInventory=new WarehouseInventoryDto();
BeanUtil.copyProperties(v,warehouseInventory);
warehouseInventory.setBatchNumber(v.getBatch());
warehouseInventory.setGoodsSpuName("");
warehouseInventory.setGoodsSkuSid(v.getGoodsSkuSid());
warehouseInventory.setGoodsSkuTitle(v.getGoodsSkuTitle());
warehouseInventory.setGoodsSkuCode(v.getGoodsSkuCode());
warehouseInventory.setGoodsSkuOwnSpec("");
warehouseInventory.setUnit(v.getUnit());
warehouseInventory.setCount(v.getCount());
warehouseInventory.setGoodsSkuOwnSpec(v.getSpecValue());
warehouseInventory.setAllocateCount(new BigDecimal(0));
warehouseInventory.setPickCount(new BigDecimal(0));
warehouseInventory.setFreezeCount(new BigDecimal(0));
warehouseInventory.setCost(v.getPrice());
warehouseInventory.setWarehouseSid(v.getWarehouseSid());
warehouseInventory.setWarehouseName(v.getWarehouseName());
warehouseInventory.setWarehouseRackSid(v.getWarehouseRackSid());
WarehouseRack warehouseRack=warehouseRackService.getOne(new QueryWrapper<WarehouseRack>().eq("sid",v.getWarehouseRackSid()));
warehouseInventory.setWarehouseRackCode(warehouseRack.getRackCode());
warehouseInventory.setFirstInDate(new Date());
warehouseInventory.setUseOrgSid(p.getUseOrgSid());
warehouseInventory.setCreateOrgSid(p.getCreateOrgSid());
warehouseInventory.setGoodsSkuOwnSpec(v.getSpecValue());
warehouseInventory.setGoodsSpuName(v.getGoodsSpuName());
warehouseInventory.setGoodSpuSid(v.getGoodsSpuSid());
String date = DateUtil.format(DateUtil.date(), "yyyyMMdd");
String billNo = v.getGoodsSkuCode() + date;
String i = warehouseInventoryService.selectNum(billNo);
@ -199,17 +172,19 @@ public class PurchaseInventoryBillDetailService extends MybatisBaseService<Purch
billNo = Rule.getBillNo(billNo, 0);
}
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);
warehouseInventory.setBatch(v.getBatch());
warehouseInventory.setSupplierName(p.getSupplierName());
warehouseInventory.setSupplierSid(p.getSupplierSid());
warehouseInventory.setBillNo(p.getBillNo());
warehouseInventory.setBillSid(p.getSid());
warehouseInventory.setDetailSid(purchaseInventoryBillDetail.getSid());
warehouseInventory.setBillType("1");
warehouseInventory.setBusTypeKey("采购入库");
warehouseInventory.setBusTypeValue("采购入库");
warehouseInventory.setSourceBillNo(p.getSid());
warehouseInventory.setSourceBillSid(p.getBillNo());
warehouseInventoryService.saveInventory(warehouseInventory);
baseMapper.insert(purchaseInventoryBillDetail);
}
List<WarehouseAnsBillDetail>warehouseAnsBillDetails=warehouseAnsBillDetailService.list(new QueryWrapper<WarehouseAnsBillDetail>()
.eq("sourceBillSid",p.getSourceBillSid()).eq("waitInCount","0.00"));

1
src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfo.java

@ -18,6 +18,7 @@ public class WarehouseInfo extends BaseEntity {
private String manager;//主管
private String areaSid;//地区sid
private String address;//地址
private String lngAndLat;//经纬度
private String longitude;//经度
private String latitude;//纬度
private String warehouseTypeKey;//仓库类型Key

1
src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfoDto.java

@ -32,6 +32,7 @@ public class WarehouseInfoDto implements Dto {
private String manager;//主管
private String areaSid;//地区sid
private String address;//地址
private String lngAndLat;//经纬度
private String longitude;//经度
private String latitude;//纬度
private String warehouseTypeKey;//仓库类型Key

21
src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfoMapQuery.java

@ -0,0 +1,21 @@
package com.yxt.warehouse.biz.warehouseinfo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author wangpengfei
* @date 2024/8/29 11:52
*/
@Data
public class WarehouseInfoMapQuery {
private String name;//仓库名称
@ApiModelProperty("菜单路由")
private String menuUrl;
@ApiModelProperty("组织全路径sid")
private String orgPath;
@ApiModelProperty("用户sid")
private String userSid;
private String orgLevelKey;//
private int index;//下标
}

60
src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfoService.java

@ -82,6 +82,48 @@ public class WarehouseInfoService extends MybatisBaseService<WarehouseInfoMapper
PagerVo<WarehouseInfoVo> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
public ResultBean<List<WarehouseInfo>> listQuery(WarehouseInfoMapQuery query) {
ResultBean rb = ResultBean.fireFail();
QueryWrapper<WarehouseInfo> 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("a.createBySid", query.getUserSid());
// } else {
// PagerVo<WarehouseInfo> p = new PagerVo<>();
// return rb.success().setData(p);
// }
// } else {
// PagerVo<WarehouseInfo> p = new PagerVo<>();
// return rb.success().setData(p);
// }
if (org.apache.commons.lang3.StringUtils.isNotBlank(query.getName())) {
qw.like("name", query.getName());
}
List<WarehouseInfo> storeInfos = baseMapper.selectList(qw);
for (WarehouseInfo storeInfo : storeInfos) {
if(StringUtils.isNotBlank(storeInfo.getLngAndLat())){
String []w=storeInfo.getLngAndLat().split(",");
storeInfo.setLatitude(w[1]);
storeInfo.setLongitude(w[0]);
}
}
return rb.success().setData(storeInfos);
}
public ResultBean<List<WarehouseInfo>> listAll(OrgPathQuery query) {
ResultBean rb = ResultBean.fireFail();
List<WarehouseInfoVo> pagging = baseMapper.listAll(query.getOrgPath());
@ -91,18 +133,18 @@ public class WarehouseInfoService extends MybatisBaseService<WarehouseInfoMapper
public ResultBean<String> saveOrUpdate(WarehouseInfoDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = "";
if(StringUtils.isBlank(dto.getTelephone())){
}
if (StringUtils.isNotBlank(dto.getSid())) {
sid = dto.getSid();
WarehouseInfo wmsWarehouse = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, wmsWarehouse, "id", "sid");
wmsWarehouse.setModifyTime(new Date());
if(StringUtils.isNotBlank(dto.getLngAndLat())){
String []w=dto.getLngAndLat().split(",");
wmsWarehouse.setLatitude(w[1]);
wmsWarehouse.setLongitude(w[0]);
}
baseMapper.updateById(wmsWarehouse);
// for (WmsWarehouseExtendDto wmsWarehouseExtendDto : dto.getWmsWarehouseExtendDtos()) {
// wmsWarehouseExtendDto.setWarehouseSid(wmsWarehouse.getSid());
// }
if(dto.getWmsWarehouseExtendDto()!=null){
dto.getWmsWarehouseExtendDto().setWarehouseSid(wmsWarehouse.getSid());
wmsWarehouseExtendService.saveOrUpdate(dto.getWmsWarehouseExtendDto());
@ -113,10 +155,12 @@ public class WarehouseInfoService extends MybatisBaseService<WarehouseInfoMapper
BeanUtil.copyProperties(dto, wmsWarehouse, "id", "sid");
wmsWarehouse.setCreateTime(new DateTime());
wmsWarehouse.setCreateBySid(dto.getUserSid());
if(StringUtils.isNotBlank(dto.getLngAndLat())){
String []w=dto.getLngAndLat().split(",");
wmsWarehouse.setLatitude(w[1]);
wmsWarehouse.setLongitude(w[0]);
}
baseMapper.insert(wmsWarehouse);
// for (WmsWarehouseExtendDto wmsWarehouseExtendDto : dto.getWmsWarehouseExtendDtos()) {
// wmsWarehouseExtendDto.setWarehouseSid(wmsWarehouse.getSid());
// }
if(dto.getWmsWarehouseExtendDto()!=null){
dto.getWmsWarehouseExtendDto().setWarehouseSid(wmsWarehouse.getSid());
wmsWarehouseExtendService.saveOrUpdate(dto.getWmsWarehouseExtendDto());

1
src/main/java/com/yxt/warehouse/biz/warehouseinfo/WarehouseInfoVo.java

@ -33,6 +33,7 @@ public class WarehouseInfoVo implements Vo {
private String manager;//主管
private String areaSid;//地区sid
private String address;//地址
private String lngAndLat;//经纬度
private String longitude;//经度
private String latitude;//纬度
private String warehouseTypeKey;//仓库类型Key

93
src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryDto.java

@ -2,8 +2,10 @@ package com.yxt.warehouse.biz.warehouseinventory;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
@ -12,37 +14,68 @@ import java.util.Date;
*/
@Data
public class WarehouseInventoryDto implements Dto {
private String id;
private String sid;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date createTime;
private String remarks;
private String isEnable;
private String goodsID;//商品ID(唯一编码,入库时生成)
private String goodsSid;//商品sid
private String billSid;//入库单sid
private String billDetailSid;//入库单明细sid
private String price1;//销售价格1
private String price2;//销售价格2
private String price3;//销售价格3
private String price4;//销售价格4
private String price5;//销售价格5
private String unit;//计量单位
private String count;//库存数量
private String minimumPrice;//销售底价
private String freePrice;//三包价格
private String firstMaintainPrice;//首保价格
private String warehouseSid;//仓库sid
private String warehouseName;//仓库名称
private String warehouseArea;//货位
private String isShowDiscount;//是否显示折扣标志
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date firstInDate;//首次入库日期-计算库龄的依据
private String lockCount;//锁定数量,计算字段,出库申请通过,但未实际出库
private String sortNo;//排序
private String useOrgSid;//使用组织sid
private String createOrgSid;//创建组织sid
@ApiModelProperty("批次号")
private String batchNumber;
@ApiModelProperty("厂家")
private String manufacturerSid;
@ApiModelProperty("厂家")
private String manufacturerName;
@ApiModelProperty("商品ID(唯一编码,入库时生成,生成规则为商品编码+YYMMdd+4位流水)")
private String goodsID;
@ApiModelProperty("商品基础信息sid")
private String goodSpuSid;
@ApiModelProperty("商品名称")
private String goodsSpuName;
@ApiModelProperty("商品Skusid")
private String goodsSkuSid;
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle;
@ApiModelProperty("商品编码(图号)")
private String goodsSkuCode;
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec;
@ApiModelProperty("计量单位")
private String unit;
@ApiModelProperty("现有量")
private BigDecimal count;
@ApiModelProperty("分配量(锁定数量,出库申请通过,但未实际出库)")
private BigDecimal allocateCount;
@ApiModelProperty("拣货量")
private BigDecimal pickCount;
@ApiModelProperty("冻结量")
private BigDecimal freezeCount;
@ApiModelProperty("入库单价")
private BigDecimal cost;
@ApiModelProperty("税率")
private BigDecimal taxRate;
@ApiModelProperty("仓库sid")
private String warehouseSid;
@ApiModelProperty("仓库名称")
private String warehouseName;
@ApiModelProperty("库位sid")
private String warehouseRackSid;
@ApiModelProperty("库位编码")
private String warehouseRackCode;
@ApiModelProperty("首次入库日期-计算库龄的依据")
private Date firstInDate;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
private String batch;
private String supplierName;
private String supplierSid;
private String billNo;
private String billSid;
private String detailSid;
private String userName;
private String userSid;
private String billType;
private String busTypeKey; // 业务类型key(采购入库、维修出入库、销售出入库等)
private String busTypeValue;
private String sourceBillSid;
private String sourceBillNo;
}

6
src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryMapper.java

@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.warehouse.biz.warehouseinventoryhistory.WarehouseInventoryHistory;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
@ -18,8 +19,8 @@ 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);
List<WarehouseInventoryRackVo> getRackCountBySid(@Param("sid")String sid,@Param("orgSid") String orgSid);
List<WarehouseInventoryRackVo> getRackCountBySid1(@Param("sid")String sid,@Param("orgSid") String orgSid);
WarehouseInventoryVo initialization(@Param("sid") String sid);
@ -60,5 +61,6 @@ public interface WarehouseInventoryMapper extends BaseMapper<WarehouseInventory>
GoodsCountVo selCountsBySkuSid(@Param("skuSid") String skuSid);
List<AvailableCountVo> selAvailableBySkuSid(@Param("skuSid") String skuSid,@Param("orgSid") String orgSid);
String selectNum(String billNo);
List<WarehouseInventoryHistory> totalInventoryByOrgSid(@Param("orgSid") String orgSid);
}

41
src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryMapper.xml

@ -358,7 +358,7 @@
a.goodsSkuSid = #{skuSid} and
a.useOrgSid=#{orgSid}
</select>
<select id="getRackCountBySid" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryVo">
<select id="getRackCountBySid" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryRackVo">
SELECT
b.rackName,
b.rackCode,
@ -374,7 +374,7 @@
a.goodsSpuSid = #{sid} and
a.useOrgSid=#{orgSid}
</select>
<select id="getRackCountBySid1" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryVo">
<select id="getRackCountBySid1" resultType="com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryRackVo">
SELECT
b.rackName,
b.rackCode,
@ -391,10 +391,39 @@
a.useOrgSid=#{orgSid}
</select>
<select id="selectNum" resultType="java.lang.String">
select RIGHT (billNo, 4)
from purchase_inventory_bill_detail
where billNo LIKE concat(#{billNo}, '%')
order by billNo desc
select RIGHT (goodsID, 4)
from warehouse_inventory
where goodsID LIKE concat(#{billNo}, '%')
order by goodsID desc
limit 1
</select>
<select id="totalInventoryByOrgSid"
resultType="com.yxt.warehouse.biz.warehouseinventoryhistory.WarehouseInventoryHistory">
SELECT
batchNumber,
manufacturerSid,
manufacturerName,
goodsID,
goodsTypeSid,
goodsTypeName,
goodsBrandSid,
goodsBrandName,
goodSpuSid,
goodsSpuName,
goodsSkuSid,
goodsSkuTitle,
goodsSkuCode,
goodsSkuOwnSpec,
unit,
count,
warehouseSid,
warehouseName,
warehouseRackSid,
warehouseRackCode,
createOrgSid,
useOrgSid
FROM
warehouse_inventory
WHERE useOrgSid=#{orgSid}
</select>
</mapper>

21
src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryRackVo.java

@ -0,0 +1,21 @@
package com.yxt.warehouse.biz.warehouseinventory;
import lombok.Data;
import java.math.BigDecimal;
/**
* @author wangpengfei
* @date 2024/8/28 14:47
*/
@Data
public class WarehouseInventoryRackVo {
private String rackName;
private String rackCode;
private BigDecimal useCount;
private BigDecimal count;
private BigDecimal allocateCount;
private BigDecimal freezeCount;
}

164
src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryService.java

@ -14,6 +14,10 @@ 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.warehouseinventorybatch.WarehouseInventoryBatch;
import com.yxt.warehouse.biz.warehouseinventorybatch.WarehouseInventoryBatchService;
import com.yxt.warehouse.biz.warehouseinventoryhistory.WarehouseInventoryHistory;
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordDto;
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -32,34 +36,36 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven
WarehouseAnsBillDetailService warehouseAnsBillDetailService;
@Autowired
WarehouseInventoryRecordService warehouseInventoryRecordService;
@Autowired
WarehouseInventoryBatchService warehouseInventoryBatchService;
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.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.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());
}
@ -112,30 +118,30 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven
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.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());
}
@ -170,23 +176,35 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven
}
/**
* 入库
*
* @param dto
* @return
*/
public ResultBean<WarehouseInventory> warehousing(WarehouseInventoryDto dto) {
public ResultBean<String> saveInventory(WarehouseInventoryDto dto) {
ResultBean rb = ResultBean.fireFail();
WarehouseInventory WarehouseInventory = baseMapper.selectOne(new QueryWrapper<WarehouseInventory>().eq("goodsSid", dto.getGoodsSid()).eq("warehouseSid", dto.getWarehouseSid()));
if (null == WarehouseInventory) {
WarehouseInventory Warehouse = new WarehouseInventory();
BeanUtil.copyProperties(dto, Warehouse, "sid", "id");
Warehouse.setFirstInDate(new Date());
baseMapper.insert(Warehouse);
return rb.success().setData(Warehouse);
}
return rb.success().setData(WarehouseInventory);
WarehouseInventory warehouseInventory=new WarehouseInventory();
BeanUtil.copyProperties(dto,warehouseInventory);
baseMapper.insert(warehouseInventory);
WarehouseInventoryRecordDto recordDto=new WarehouseInventoryRecordDto();
BeanUtil.copyProperties(dto,recordDto);
recordDto.setInventorySid(warehouseInventory.getSid());
recordDto.setBillType(dto.getBillType());
recordDto.setBusTypeKey(dto.getBusTypeKey());
recordDto.setBusTypeValue(dto.getBusTypeValue());
recordDto.setBillObjSid(dto.getSupplierSid());
recordDto.setBillObjName(dto.getSupplierSid());
recordDto.setCurrentCount(dto.getCount());
recordDto.setOperator(dto.getUserName());
recordDto.setOperatorSid(dto.getUserSid());
warehouseInventoryRecordService.saveRecord(recordDto);
WarehouseInventoryBatch batch=new WarehouseInventoryBatch();
batch.setInventorySid(warehouseInventory.getSid());
batch.setBatchNumber(dto.getBatch());
batch.setSupplierName(dto.getSupplierName());
batch.setSupplierSid(dto.getSupplierSid());
batch.setBillNo(dto.getBillNo());
batch.setBillSid(dto.getBillSid());
batch.setBillDetailSid(dto.getDetailSid());
warehouseInventoryBatchService.save(batch);
return rb.success().setData("");
}
@ -236,7 +254,7 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven
public ResultBean getRackCountBySid(WarehouseInventoryRackCountQuery query) {
ResultBean rb = ResultBean.fireFail();
List<WarehouseInventoryVo> warehouseInventoryVos=new ArrayList<>();
List<WarehouseInventoryRackVo> warehouseInventoryVos=new ArrayList<>();
if (query.getType().equals("1")){
warehouseInventoryVos=baseMapper.getRackCountBySid(query.getSid(),query.getOrgSid());
}else if(query.getType().equals("2")){
@ -244,16 +262,7 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven
}
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) {
ResultBean rb = ResultBean.fireFail();
@ -571,4 +580,9 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven
public String selectNum(String billNo){
return baseMapper.selectNum(billNo);
}
public List<WarehouseInventoryHistory> totalInventoryByOrgSid(String orgSid){
List<WarehouseInventoryHistory> vo=baseMapper.totalInventoryByOrgSid(orgSid);
return vo;
}
}

2
src/main/java/com/yxt/warehouse/biz/warehouseinventorybatch/WarehouseInventoryBatch.java

@ -49,7 +49,7 @@ import java.util.Date;
*/
@Data
@ApiModel(value = "商品库存-批次属性", description = "商品库存-批次属性")
@TableName("wms_inventory_batch")
@TableName("warehouse_inventory_batch")
public class WarehouseInventoryBatch extends BaseEntity {
private static final long serialVersionUID = 1L;

65
src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistory.java

@ -0,0 +1,65 @@
package com.yxt.warehouse.biz.warehouseinventoryhistory;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author wangpengfei
* @date 2024/2/28 8:38
*/
@Data
@TableName("warehouse_inventory")
public class WarehouseInventoryHistory extends BaseEntity {
@ApiModelProperty("批次号")
private String batchNumber;
@ApiModelProperty("厂家")
private String manufacturerSid;
@ApiModelProperty("厂家")
private String manufacturerName;
@ApiModelProperty("商品ID(唯一编码,入库时生成,生成规则为商品编码+YYMMdd+4位流水)")
private String goodsID;
@ApiModelProperty("分类sid")
private String goodsTypeSid;
@ApiModelProperty("分类名")
private String goodsTypeName;
@ApiModelProperty("品牌sid")
private String goodsBrandSid;
@ApiModelProperty("品牌名")
private String goodsBrandName;
@ApiModelProperty("商品基础信息sid")
private String goodSpuSid;
@ApiModelProperty("商品名称")
private String goodsSpuName;
@ApiModelProperty("商品Skusid")
private String goodsSkuSid;
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle;
@ApiModelProperty("商品编码(图号)")
private String goodsSkuCode;
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec;
@ApiModelProperty("计量单位")
private String unit;
@ApiModelProperty("现有量")
private BigDecimal count;
@ApiModelProperty("仓库sid")
private String warehouseSid;
@ApiModelProperty("仓库名称")
private String warehouseName;
@ApiModelProperty("库位sid")
private String warehouseRackSid;
@ApiModelProperty("库位编码")
private String warehouseRackCode;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
private Date orderDate;
}

61
src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryDto.java

@ -0,0 +1,61 @@
package com.yxt.warehouse.biz.warehouseinventoryhistory;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.dto.Dto;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author wangpengfei
* @date 2024/2/26 13:38
*/
@Data
public class WarehouseInventoryHistoryDto implements Dto {
@ApiModelProperty("批次号")
private String batchNumber;
@ApiModelProperty("厂家")
private String manufacturerSid;
@ApiModelProperty("厂家")
private String manufacturerName;
@ApiModelProperty("商品ID(唯一编码,入库时生成,生成规则为商品编码+YYMMdd+4位流水)")
private String goodsID;
@ApiModelProperty("分类sid")
private String goodsTypeSid;
@ApiModelProperty("分类名")
private String goodsTypeName;
@ApiModelProperty("品牌sid")
private String goodsBrandSid;
@ApiModelProperty("品牌名")
private String goodsBrandName;
@ApiModelProperty("商品基础信息sid")
private String goodSpuSid;
@ApiModelProperty("商品名称")
private String goodsSpuName;
@ApiModelProperty("商品Skusid")
private String goodsSkuSid;
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle;
@ApiModelProperty("商品编码(图号)")
private String goodsSkuCode;
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec;
@ApiModelProperty("计量单位")
private String unit;
@ApiModelProperty("现有量")
private BigDecimal count;
@ApiModelProperty("仓库sid")
private String warehouseSid;
@ApiModelProperty("仓库名称")
private String warehouseName;
@ApiModelProperty("库位sid")
private String warehouseRackSid;
@ApiModelProperty("库位编码")
private String warehouseRackCode;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
}

22
src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryMapper.java

@ -0,0 +1,22 @@
package com.yxt.warehouse.biz.warehouseinventoryhistory;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Constants;
import com.yxt.warehouse.biz.warehouseinventory.*;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @author wangpengfei
* @date 2024/2/26 13:40
*/
@Mapper
public interface WarehouseInventoryHistoryMapper extends BaseMapper<WarehouseInventoryHistory> {
IPage<WarehouseInventoryHistoryVo> listPage(IPage<WarehouseInventoryHistory> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventoryHistory> qw);
List<WarehouseInventoryHistoryVo> getListBySpuSid(@Param("spuSid")String spuSid);
}

42
src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryMapper.xml

@ -0,0 +1,42 @@
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.warehouse.biz.warehouseinventoryhistory.WarehouseInventoryHistoryMapper">
<!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="listPage" resultType="com.yxt.warehouse.biz.warehouseinventoryhistory.WarehouseInventoryHistoryVo">
select
a.goodsSpuName,
a.goodsSpuSid,
a.goodsSkuSid,
a.goodsSkuCode,
a.goodsSkuOwnSpec,
a.unit,
sum(a.count) as count ,
a.batchNumber
from warehouse_inventory_history 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.warehouseinventoryhistory.WarehouseInventoryHistoryVo">
select
a.goodsSpuName,
a.goodsSkuTitle,
a.goodsSpuSid,
a.goodsSkuSid,
a.goodsSkuCode,
a.goodsSkuOwnSpec,
a.unit,
a.count as count ,
a.batchNumber
from warehouse_inventory_history a
<where>
a.goodsSpuSid=#{spuSid}
</where>
group by a.goodsSkuSid
</select>
</mapper>

42
src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryQuery.java

@ -0,0 +1,42 @@
package com.yxt.warehouse.biz.warehouseinventoryhistory;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author wangpengfei
* @date 2024/2/26 13:37
*/
@Data
public class WarehouseInventoryHistoryQuery implements Query {
@ApiModelProperty("商品编码")
private String goodsSkuCode;
@ApiModelProperty("仓库")
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;
//供应商
}

61
src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryScheduledVo.java

@ -0,0 +1,61 @@
package com.yxt.warehouse.biz.warehouseinventoryhistory;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author wangpengfei
* @date 2024/8/29 16:55
*/
@Data
public class WarehouseInventoryHistoryScheduledVo {
@ApiModelProperty("批次号")
private String batchNumber;
@ApiModelProperty("厂家")
private String manufacturerSid;
@ApiModelProperty("厂家")
private String manufacturerName;
@ApiModelProperty("商品ID(唯一编码,入库时生成,生成规则为商品编码+YYMMdd+4位流水)")
private String goodsID;
@ApiModelProperty("分类sid")
private String goodsTypeSid;
@ApiModelProperty("分类名")
private String goodsTypeName;
@ApiModelProperty("品牌sid")
private String goodsBrandSid;
@ApiModelProperty("品牌名")
private String goodsBrandName;
@ApiModelProperty("商品基础信息sid")
private String goodSpuSid;
@ApiModelProperty("商品名称")
private String goodsSpuName;
@ApiModelProperty("商品Skusid")
private String goodsSkuSid;
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle;
@ApiModelProperty("商品编码(图号)")
private String goodsSkuCode;
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec;
@ApiModelProperty("计量单位")
private String unit;
@ApiModelProperty("现有量")
private BigDecimal count;
@ApiModelProperty("仓库sid")
private String warehouseSid;
@ApiModelProperty("仓库名称")
private String warehouseName;
@ApiModelProperty("库位sid")
private String warehouseRackSid;
@ApiModelProperty("库位编码")
private String warehouseRackCode;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
private Date orderDate=new Date();
}

106
src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryService.java

@ -0,0 +1,106 @@
package com.yxt.warehouse.biz.warehouseinventoryhistory;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
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.warehouseansbilldetail.WarehouseAnsBillDetailService;
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsListDetailsVo;
import com.yxt.warehouse.biz.warehouseinventory.*;
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.scheduling.annotation.Scheduled;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
/**
* @author wangpengfei
* @date 2024/2/26 13:40
*/
@Service
public class WarehouseInventoryHistoryService extends MybatisBaseService<WarehouseInventoryHistoryMapper, WarehouseInventoryHistory> {
@Autowired
WarehouseInventoryService warehouseInventoryService;
@Autowired
WarehouseInventoryHistoryService warehouseInventoryHistoryService;
public ResultBean<PagerVo<WarehouseInventoryHistoryVo>> listPage(PagerQuery<WarehouseInventoryHistoryQuery> pq) {
ResultBean rb =new ResultBean().fail();
WarehouseInventoryHistoryQuery query = pq.getParams();
QueryWrapper<WarehouseInventoryHistory> 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<WarehouseInventoryHistory> page = PagerUtil.queryToPage(pq);
IPage<WarehouseInventoryHistoryVo> pagging = baseMapper.listPage(page, qw);
for (WarehouseInventoryHistoryVo record : pagging.getRecords()) {
List<WarehouseInventoryHistoryVo> vos=baseMapper.getListBySpuSid(record.getGoodsSpuSid());
record.setList(vos);
}
PagerVo<WarehouseInventoryHistoryVo> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
@Scheduled(cron = "0 0 0 * * ? ")
public void saveHistory(){
List<WarehouseInventory> warehouseOrgs=warehouseInventoryService.list(new QueryWrapper<WarehouseInventory>().groupBy("useOrgSid"));
List<WarehouseInventoryHistory> warehouseInventoryHistories=new ArrayList<>();
for (WarehouseInventory warehouseOrg : warehouseOrgs) {
List<WarehouseInventoryHistory> warehouseInventoryHistories1=warehouseInventoryService.totalInventoryByOrgSid(warehouseOrg.getUseOrgSid());
warehouseInventoryHistories.addAll(warehouseInventoryHistories1);
}
if(warehouseInventoryHistories.size()!=0){
warehouseInventoryHistoryService.saveBatch(warehouseInventoryHistories);
}
}
}

40
src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryVo.java

@ -0,0 +1,40 @@
package com.yxt.warehouse.biz.warehouseinventoryhistory;
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.Date;
import java.util.List;
/**
* @author wangpengfei
* @date 2024/2/26 13:37
*/
@Data
public class WarehouseInventoryHistoryVo implements Vo {
@ApiModelProperty("批次号")
private String batchNumber;
@ApiModelProperty("商品基础信息sid")
private String goodsSpuSid;
@ApiModelProperty("商品名称")
private String goodsSpuName;
@ApiModelProperty("商品Skusid")
private String goodsSkuSid;
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle;
@ApiModelProperty("商品编码(图号)")
private String goodsSkuCode;
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec;
@ApiModelProperty("计量单位")
private String unit;
@ApiModelProperty("数量")
private BigDecimal count;
private Date orderDate;
private List<WarehouseInventoryHistoryVo> list=new ArrayList<>();
}

16
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecord.java

@ -100,12 +100,12 @@ public class WarehouseInventoryRecord extends BaseEntity {
private String warehouseRackCode; // 库位编号
@ApiModelProperty("入库单价")
private BigDecimal cost;
@ApiModelProperty("税率")
private BigDecimal tax;
@ApiModelProperty("入库金额")
private BigDecimal amount;
@ApiModelProperty("经办人sid")
private String handlerSid; // 库位sid
@ApiModelProperty("经办人")
private String handlerName; // 库位编号
@ApiModelProperty("操作人sid")
private String operatorSid; // 库位sid
@ApiModelProperty("操作人")
private String operator; // 库位编号
private String useOrgSid;
private String createOrgSid;
}

74
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordDto.java

@ -31,6 +31,8 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: wms(yxt) <br/>
* File: WmsInventoryRecordDto.java <br/>
@ -50,67 +52,61 @@ public class WarehouseInventoryRecordDto implements Dto {
private String sid; // sid
@ApiModelProperty("库存sid")
@ApiModelProperty("库存sid")
private String inventorySid; // 库存sid
@ApiModelProperty("创建人sid")
private String createBySid; // 商品ID
@ApiModelProperty("商品ID")
@ApiModelProperty("商品ID")
private String goodsID; // 商品ID
@ApiModelProperty("来源单sid(业务单sid)")
@ApiModelProperty("来源单sid(业务单sid)")
private String sourceBillSid; // 来源单sid(业务单sid)
@ApiModelProperty("来源单据编号")
@ApiModelProperty("来源单据编号")
private String billNo; // 来源单据编号
@ApiModelProperty("单据类型(1入库、0出库)")
@ApiModelProperty("单据类型(1入库、0出库)")
private String billType; // 单据类型(1入库、0出库)
@ApiModelProperty("业务类型key(采购入库、维修出入库、销售出入库等)")
@ApiModelProperty("业务类型key(采购入库、维修出入库、销售出入库等)")
private String busTypeKey; // 业务类型key(采购入库、维修出入库、销售出入库等)
@ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)")
@ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)")
private String busTypeValue; // 业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)
@ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商")
@ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商")
private String billObjSid; // 客户/供应商sid,出库是为客户,入库时为供应商
@ApiModelProperty("客户/供应商名称")
@ApiModelProperty("客户/供应商名称")
private String billObjName; // 客户/供应商名称
@ApiModelProperty("批次号")
@ApiModelProperty("批次号")
private String batchNumber; // 批次号
@ApiModelProperty("商品基础信息Sid")
@ApiModelProperty("商品基础信息Sid")
private String goodSpuSid; // 商品基础信息Sid
@ApiModelProperty("商品名称")
@ApiModelProperty("商品名称")
private String goodsSpuName; // 商品名称
@ApiModelProperty("商品Skusid")
@ApiModelProperty("商品Skusid")
private String goodsSkuSid; // 商品Skusid
@ApiModelProperty("商品Sku名称")
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle; // 商品Sku名称
@ApiModelProperty("商品编码(图号)")
@ApiModelProperty("商品编码(图号)")
private String goodsSkuCode; // 商品编码(图号)
@ApiModelProperty("规格型号")
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; // 规格型号
@ApiModelProperty("出入库后的库存量")
private String currentCount; // 出入库后的库存量
@ApiModelProperty("计量单位")
@ApiModelProperty("出入库后的库存量")
private BigDecimal currentCount; // 出入库后的库存量
@ApiModelProperty("计量单位")
private String unit; // 计量单位
@ApiModelProperty("数量")
private String count; // 数量
@ApiModelProperty("仓库sid")
@ApiModelProperty("数量")
private BigDecimal count; // 数量
@ApiModelProperty("仓库sid")
private String warehouseSid; // 仓库sid
@ApiModelProperty("仓库名称")
@ApiModelProperty("仓库名称")
private String warehouseName; // 仓库名称
@ApiModelProperty("库位sid")
@ApiModelProperty("库位sid")
private String warehouseRackSid; // 库位sid
@ApiModelProperty("库位编号")
@ApiModelProperty("库位编号")
private String warehouseRackCode; // 库位编号
@ApiModelProperty("入库单价")
private String cost;
@ApiModelProperty("税率")
private String tax;
@ApiModelProperty("入库金额")
private String amount;
@ApiModelProperty("经办人sid")
private String handlerSid; // 库位sid
@ApiModelProperty("经办人")
private String handlerName; // 库位编号
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("使用组织sid")
private BigDecimal cost;
@ApiModelProperty("操作人sid")
private String operatorSid; // 库位sid
@ApiModelProperty("操作人")
private String operator; // 库位编号
private String useOrgSid;
private String createOrgSid;
}

23
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordListVo.java

@ -3,6 +3,8 @@ package com.yxt.warehouse.biz.warehouseinventoryrecord;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* @description: 库存出入库记录
* @author: dimengzhe
@ -15,16 +17,27 @@ public class WarehouseInventoryRecordListVo {
private String billNo;
@ApiModelProperty("单据类型")
private String billType;
private String billTypeValue;
@ApiModelProperty("发生时间")
private String createTime;
@ApiModelProperty("业务类型")
private String busTypeValue;
@ApiModelProperty("客户/供应商")
private String billObjName;
@ApiModelProperty("批次号")
private String batchNumber;
@ApiModelProperty("数量")
private String count;
@ApiModelProperty("出入库后的库存量")
private String currentCount;
private BigDecimal currentCount;
@ApiModelProperty("操作员")
private String operator;
@ApiModelProperty("单价")
private BigDecimal price;
@ApiModelProperty("spuname")
private String goodsSpuName;
@ApiModelProperty("skutitle")
private String goodsTitle;
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec;
@ApiModelProperty("发生成本")
private BigDecimal costIncurred=new BigDecimal(0);
@ApiModelProperty("库存成本")
private BigDecimal inventoryCost=new BigDecimal(0);
}

1
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordMapper.java

@ -75,6 +75,7 @@ public interface WarehouseInventoryRecordMapper extends BaseMapper<WarehouseInve
IPage<WarehouseInventoryDetailsRecordVo> inventoryDetailsRecord(IPage<WarehouseInventoryRecord> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventoryRecord> qw);
List<WarehouseInventoryRecordListVo> getWarehouseInventoryRecordList(String sid);
IPage<WarehouseInventoryRecordListVo> getWarehouseInventoryRecord(IPage<WarehouseInventoryRecord> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventoryRecord> qw);
IPage<WarehouseInventoryRecordsVo> listPage(IPage<WarehouseInventoryRecord> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventoryRecord> qw);

15
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordMapper.xml

@ -171,4 +171,19 @@
WHERE
r.sourceBillSid = #{sid} and r.goodsSkuCode = #{goodsSkuCode}
</select>
<select id="getWarehouseInventoryRecord" resultType="com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordListVo">
select
a.*,
case a.billType
when 0 then '出库'
when 1 then '入库'
end as billTypeValue,
a.price * a.count as costIncurred,
a.price * a.currentCount as inventoryCost
from warehouse_inventory_record a
LEFT JOIN ss_user.sys_organization as s ON a.useOrgSid = s.sid
<where>
${ew.sqlSegment}
</where>
</select>
</mapper>

30
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordQuery1.java

@ -0,0 +1,30 @@
package com.yxt.warehouse.biz.warehouseinventoryrecord;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author wangpengfei
* @date 2024/8/28 16:45
*/
@Data
public class WarehouseInventoryRecordQuery1 implements Query {
private String billSid;
private String goodsSpuName;
private String goodsSkuTitle;
private String spec;
private String warehouseName;
private String billType;
private String startTime;
private String endTime;
private String orgLevelKey;//权限等级
@ApiModelProperty("菜单路由")
private String menuUrl;
@ApiModelProperty("组织全路径sid")
private String orgPath;
@ApiModelProperty("用户sid")
private String userSid;
private int index;
}

65
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordService.java

@ -28,6 +28,7 @@ package com.yxt.warehouse.biz.warehouseinventoryrecord;
import cn.hutool.core.bean.BeanUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sun.xml.bind.v2.TODO;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
@ -35,6 +36,7 @@ import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventory;
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryService;
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryVo;
import com.yxt.warehouse.biz.warehouseinventoryrecord.report.*;
import com.yxt.warehouse.biz.warehouseoldinventory.WarehouseOldInventoryDetailsListVo;
import org.apache.commons.lang3.StringUtils;
@ -216,7 +218,58 @@ public class WarehouseInventoryRecordService extends MybatisBaseService<Warehous
list.removeAll(Collections.singleton(null));
return rb.success().setData(list);
}
public ResultBean<PagerVo<WarehouseInventoryRecordListVo>> getWarehouseInventoryRecord(PagerQuery<WarehouseInventoryRecordQuery1> pq) {
ResultBean<PagerVo<WarehouseInventoryRecordListVo>> rb = ResultBean.fireFail();
WarehouseInventoryRecordQuery1 query = pq.getParams();
QueryWrapper<WarehouseInventoryRecord> qw = new QueryWrapper<>();
if (com.yxt.common.base.utils.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<WarehouseInventoryRecordListVo> p = new PagerVo<>();
return rb.success().setData(p);
}
} else {
PagerVo<WarehouseInventoryRecordListVo> p = new PagerVo<>();
return rb.success().setData(p);
}
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getGoodsSkuTitle())) {
qw.like("r.busTypeValue", query.getGoodsSkuTitle());
}
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getGoodsSpuName())) {
qw.like("r.goodsSpuName", query.getGoodsSpuName());
}
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getWarehouseName())) {
qw.like("r.warehouseName", query.getWarehouseName());
}
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getSpec())) {
qw.like("r.goodsSkuCode", query.getSpec());
}
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getBillType())) {
qw.like("r.goodsSkuCode", query.getBillType());
}
qw.apply(com.yxt.common.base.utils.StringUtils.isNotBlank(query.getStartTime()), "date_format (wab.createTime,'%Y-%m-%d') >= date_format('" + query.getStartTime() + "','%Y-%m-%d')").
apply(com.yxt.common.base.utils.StringUtils.isNotBlank(query.getEndTime()), "date_format (wab.createTime,'%Y-%m-%d') <= date_format('" + query.getEndTime() + "','%Y-%m-%d')"
);
qw.eq("sourceBillSid",query.getBillSid());
IPage<WarehouseInventoryRecord> page = PagerUtil.queryToPage(pq);
IPage<WarehouseInventoryRecordListVo> pagging = baseMapper.getWarehouseInventoryRecord(page, qw);
PagerVo<WarehouseInventoryRecordListVo> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
public PagerVo<WarehouseInventoryRecordsVo> listPage(PagerQuery<WarehouseInventoryRecordsQuery> pagerQuery) {
WarehouseInventoryRecordsQuery query = pagerQuery.getParams();
QueryWrapper<WarehouseInventoryRecord> qw = new QueryWrapper<>();
@ -326,18 +379,8 @@ public class WarehouseInventoryRecordService extends MybatisBaseService<Warehous
}
public void saveRecord(WarehouseInventoryRecordDto dto) {
WarehouseInventory WarehouseInventory = new WarehouseInventory();
BeanUtil.copyProperties(dto,WarehouseInventory,"id","sid");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
WarehouseInventory.setFirstInDate(sdf.parse(sdf.format(new Date())));
} catch (ParseException e) {
e.printStackTrace();
}
warehouseInventoryService.insert(WarehouseInventory);
WarehouseInventoryRecord inventoryRecord = new WarehouseInventoryRecord();
BeanUtil.copyProperties(dto,inventoryRecord,"id","sid");
inventoryRecord.setInventorySid(WarehouseInventory.getSid());
baseMapper.insert(inventoryRecord);
}

69
src/main/java/com/yxt/warehouse/biz/warehouseoutbill/WarehouseOutBillService.java

@ -320,13 +320,24 @@ public class WarehouseOutBillService extends MybatisBaseService<WarehouseOutBill
for (String s : dto.getSid().split(",")) {
List<WarehouseOutLocation> warehouseOutLocations=warehouseOutLocationService.list(new QueryWrapper<WarehouseOutLocation>().eq("sourceBillSid",dto.getSid()));
for (WarehouseOutLocation warehouseOutLocation : warehouseOutLocations) {
WarehouseInventory WarehouseInventory = warehouseInventoryService.fetchBySid(warehouseOutLocation.getInventorySid());
WarehouseInventory warehouseInventory = warehouseInventoryService.fetchBySid(warehouseOutLocation.getInventorySid());
//减去出库的数量
WarehouseInventory.setCount(WarehouseInventory.getCount().subtract(warehouseOutLocation.getCount()));
WarehouseInventory.setAllocateCount(WarehouseInventory.getAllocateCount().subtract(warehouseOutLocation.getCount()));
warehouseInventoryService.updateById(WarehouseInventory);
warehouseInventory.setCount(warehouseInventory.getCount().subtract(warehouseOutLocation.getCount()));
warehouseInventory.setAllocateCount(warehouseInventory.getAllocateCount().subtract(warehouseOutLocation.getCount()));
warehouseInventoryService.updateById(warehouseInventory);
WarehouseInventoryRecordDto recordDto=new WarehouseInventoryRecordDto();
recordDto.setCost(warehouseInventory.getCost());
recordDto.setCount(warehouseOutLocation.getCount());
recordDto.setBillObjSid("");
recordDto.setBillObjName("");
recordDto.setOperator(dto.getUserName());
recordDto.setOperatorSid(dto.getUserSid());
recordDto.setUseOrgSid(dto.getUseOrgSid());
recordDto.setCreateOrgSid(dto.getCreateOrgSid());
recordDto.setBusTypeValue("销售出库");
recordDto.setBusTypeKey("销售出库");
saveWarehouseInventory(dto.getSid(),recordDto);
}
saveWarehouseInventory(dto.getSid());
OperationRecordDto dto1 = new OperationRecordDto();
dto1.setBillSid(dto.getSid());
dto1.setUserSid(dto.getUserSid());
@ -343,29 +354,39 @@ public class WarehouseOutBillService extends MybatisBaseService<WarehouseOutBill
return rb.success();
}
public void saveWarehouseInventory(String sid) {
public void saveWarehouseInventory(String sid,WarehouseInventoryRecordDto dto) {
WarehouseOutBill WarehouseOutBill = fetchBySid(sid);
List<WarehouseOutLocation> warehouseOutLocations=warehouseOutLocationService.list(new QueryWrapper<WarehouseOutLocation>().eq("sourceBillSid",sid));
for (WarehouseOutLocation warehouseOutLocation : warehouseOutLocations) {
WarehouseInventory warehouseInventory=warehouseInventoryService.getOne(new QueryWrapper<WarehouseInventory>().eq("sid",warehouseOutLocation.getInventorySid()));
WarehouseInventoryRecordDto WarehouseInventoryRecordDto = new WarehouseInventoryRecordDto();
WarehouseInventoryRecordDto.setInventorySid(warehouseOutLocation.getInventorySid());
WarehouseInventoryRecordDto.setGoodsID(warehouseInventory.getGoodsID());
WarehouseInventoryRecordDto.setSourceBillSid(WarehouseOutBill.getSid());
WarehouseInventoryRecordDto.setBillNo(WarehouseOutBill.getBillNo());
WarehouseInventoryRecordDto.setBillType("0");
WarehouseInventoryRecordDto.setBatchNumber(warehouseInventory.getBatchNumber());
WarehouseInventoryRecordDto.setGoodSpuSid(warehouseInventory.getGoodSpuSid());
WarehouseInventoryRecordDto.setGoodsSpuName(warehouseOutLocation.getGoodsSpuName());
WarehouseInventoryRecordDto.setGoodsSkuSid(warehouseOutLocation.getGoodsSkuSid());
WarehouseInventoryRecordDto.setGoodsSkuCode(warehouseOutLocation.getGoodsSkuCode());
WarehouseInventoryRecordDto.setUnit(warehouseInventory.getUnit());
WarehouseInventoryRecordDto.setCurrentCount(StringUtils.isNotBlank(warehouseInventory.getCount().toString()) ? new BigDecimal(warehouseInventory.getCount().toString()).toString() : BigDecimal.ZERO.toString());
WarehouseInventoryRecordDto.setWarehouseSid(warehouseOutLocation.getWarehouseSid());
WarehouseInventoryRecordDto.setWarehouseName(warehouseInventory.getWarehouseName());
WarehouseInventoryRecordDto.setWarehouseRackSid(warehouseOutLocation.getRackSid());
WarehouseInventoryRecordDto.setWarehouseRackCode(warehouseOutLocation.getRackCode());
warehouseInventoryRecordService.saveOrUpdateDto(WarehouseInventoryRecordDto);
WarehouseInventoryRecordDto warehouseInventoryRecordDto = new WarehouseInventoryRecordDto();
warehouseInventoryRecordDto.setInventorySid(warehouseOutLocation.getInventorySid());
warehouseInventoryRecordDto.setGoodsID(warehouseInventory.getGoodsID());
warehouseInventoryRecordDto.setSourceBillSid(WarehouseOutBill.getSid());
warehouseInventoryRecordDto.setBillNo(WarehouseOutBill.getBillNo());
warehouseInventoryRecordDto.setBillType("0");
warehouseInventoryRecordDto.setBusTypeKey(dto.getBusTypeKey());
warehouseInventoryRecordDto.setBusTypeValue(dto.getBusTypeValue());
warehouseInventoryRecordDto.setBillObjName(dto.getBillObjName());
warehouseInventoryRecordDto.setBillObjSid(dto.getBillObjSid());
warehouseInventoryRecordDto.setBatchNumber(warehouseInventory.getBatchNumber());
warehouseInventoryRecordDto.setGoodSpuSid(warehouseInventory.getGoodSpuSid());
warehouseInventoryRecordDto.setGoodsSpuName(warehouseOutLocation.getGoodsSpuName());
warehouseInventoryRecordDto.setGoodsSkuSid(warehouseOutLocation.getGoodsSkuSid());
warehouseInventoryRecordDto.setGoodsSkuCode(warehouseOutLocation.getGoodsSkuCode());
warehouseInventoryRecordDto.setUnit(warehouseInventory.getUnit());
warehouseInventoryRecordDto.setCurrentCount(StringUtils.isNotBlank(warehouseInventory.getCount().toString()) ? new BigDecimal(warehouseInventory.getCount().toString()) : BigDecimal.ZERO);
warehouseInventoryRecordDto.setCount(dto.getCount());
warehouseInventoryRecordDto.setWarehouseSid(warehouseOutLocation.getWarehouseSid());
warehouseInventoryRecordDto.setWarehouseName(warehouseInventory.getWarehouseName());
warehouseInventoryRecordDto.setWarehouseRackSid(warehouseOutLocation.getRackSid());
warehouseInventoryRecordDto.setWarehouseRackCode(warehouseOutLocation.getRackCode());
warehouseInventoryRecordDto.setCost(dto.getCost());
warehouseInventoryRecordDto.setOperator(dto.getOperator());
warehouseInventoryRecordDto.setOperatorSid(dto.getOperatorSid());
warehouseInventoryRecordDto.setUseOrgSid(dto.getUseOrgSid());
warehouseInventoryRecordDto.setCreateOrgSid(dto.getCreateOrgSid());
warehouseInventoryRecordService.saveOrUpdateDto(warehouseInventoryRecordDto);
}
}
public ResultBean getRemarks(String sid) {

Loading…
Cancel
Save