|
|
@ -1,4 +1,4 @@ |
|
|
|
package com.yxt.storage.biz.storageshelfbill; |
|
|
|
package com.yxt.warehouse.biz.warehouseshelfbill; |
|
|
|
|
|
|
|
import cn.hutool.core.bean.BeanUtil; |
|
|
|
import cn.hutool.core.date.DateUtil; |
|
|
@ -10,20 +10,20 @@ 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.storage.biz.storageinventory.StorageInventorySaveDto; |
|
|
|
import com.yxt.storage.biz.storageinventory.StorageInventoryService; |
|
|
|
import com.yxt.storage.biz.storageinventoryrecord.StorageInventoryRecordDto; |
|
|
|
import com.yxt.storage.biz.storageinventoryrecord.StorageInventoryRecordService; |
|
|
|
import com.yxt.storage.biz.storagereceiptbill.StorageReceiptBill; |
|
|
|
import com.yxt.storage.biz.storagereceiptbill.StorageReceiptBillService; |
|
|
|
import com.yxt.storage.biz.storagereceiptbilldetail.StorageReceiptBillDetail; |
|
|
|
import com.yxt.storage.biz.storagereceiptbilldetail.StorageReceiptBillDetailService; |
|
|
|
import com.yxt.storage.biz.storagereceiptbilldetailbatch.StorageReceiptBillDetailBatch; |
|
|
|
import com.yxt.storage.biz.storagereceiptbilldetailbatch.StorageReceiptBillDetailBatchService; |
|
|
|
import com.yxt.storage.biz.storageshelfbilldetail.*; |
|
|
|
import com.yxt.storage.feign.goods.basegoodssku.BaseGoodsSkuDetailsVo; |
|
|
|
import com.yxt.storage.feign.goods.basegoodssku.BaseGoodsSkuFeign; |
|
|
|
import com.yxt.storage.utils.Rule; |
|
|
|
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventorySaveDto; |
|
|
|
import com.yxt.warehouse.biz.warehouseinventory.WarehouseInventoryService; |
|
|
|
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordDto; |
|
|
|
import com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordService; |
|
|
|
import com.yxt.warehouse.biz.warehousereceiptbill.WarehouseReceiptBill; |
|
|
|
import com.yxt.warehouse.biz.warehousereceiptbill.WarehouseReceiptBillService; |
|
|
|
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetail; |
|
|
|
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailService; |
|
|
|
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatch; |
|
|
|
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchService; |
|
|
|
import com.yxt.warehouse.biz.warehouseshelfbilldetail.*; |
|
|
|
import com.yxt.warehouse.feign.goods.basegoodssku.BaseGoodsSkuDetailsVo; |
|
|
|
import com.yxt.warehouse.feign.goods.basegoodssku.BaseGoodsSkuFeign; |
|
|
|
import com.yxt.warehouse.utils.Rule; |
|
|
|
import org.springframework.beans.factory.annotation.Autowired; |
|
|
|
import org.springframework.stereotype.Service; |
|
|
|
|
|
|
@ -40,29 +40,29 @@ import java.util.List; |
|
|
|
* @date: 2024/4/11 |
|
|
|
**/ |
|
|
|
@Service |
|
|
|
public class StorageShelfBillService extends MybatisBaseService<StorageShelfBillMapper, StorageShelfBill> { |
|
|
|
public class WarehouseShelfBillService extends MybatisBaseService<WarehouseShelfBillMapper, WarehouseShelfBill> { |
|
|
|
@Autowired |
|
|
|
private StorageShelfBillDetailService wmsShelfBillDetailService; |
|
|
|
private WarehouseShelfBillDetailService wmsShelfBillDetailService; |
|
|
|
@Autowired |
|
|
|
private StorageShelfBillDetailMapper wmsShelfBillDetailMapper; |
|
|
|
private WarehouseShelfBillDetailMapper wmsShelfBillDetailMapper; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private StorageInventoryService wmsInventoryService; |
|
|
|
private WarehouseInventoryService wmsInventoryService; |
|
|
|
@Resource |
|
|
|
private BaseGoodsSkuFeign baseGoodsSkuFeign; |
|
|
|
|
|
|
|
@Autowired |
|
|
|
private StorageInventoryRecordService wmsInventoryRecordService; |
|
|
|
private WarehouseInventoryRecordService wmsInventoryRecordService; |
|
|
|
@Autowired |
|
|
|
private StorageReceiptBillService wmsReceiptBillService; |
|
|
|
private WarehouseReceiptBillService wmsReceiptBillService; |
|
|
|
@Autowired |
|
|
|
private StorageReceiptBillDetailService wmsReceiptBillDetailService; |
|
|
|
private WarehouseReceiptBillDetailService wmsReceiptBillDetailService; |
|
|
|
@Autowired |
|
|
|
private StorageReceiptBillDetailBatchService wmsReceiptBillDetailBatchService; |
|
|
|
private WarehouseReceiptBillDetailBatchService wmsReceiptBillDetailBatchService; |
|
|
|
|
|
|
|
public PagerVo<StorageShelfBillVo> listPage(PagerQuery<StorageShelfBillQuery> pq) { |
|
|
|
StorageShelfBillQuery query = pq.getParams(); |
|
|
|
QueryWrapper<StorageShelfBill> qw = new QueryWrapper<>(); |
|
|
|
public PagerVo<WarehouseShelfBillVo> listPage(PagerQuery<WarehouseShelfBillQuery> pq) { |
|
|
|
WarehouseShelfBillQuery query = pq.getParams(); |
|
|
|
QueryWrapper<WarehouseShelfBill> qw = new QueryWrapper<>(); |
|
|
|
//ToDo:添加查询条件
|
|
|
|
if (StringUtils.isNotBlank(query.getBillNo())) { |
|
|
|
qw.like("wsb.billNo", query.getBillNo()); |
|
|
@ -75,19 +75,19 @@ public class StorageShelfBillService extends MybatisBaseService<StorageShelfBill |
|
|
|
if (StringUtils.isNotBlank(query.getBillState())) { |
|
|
|
qw.like("wsb.billState", query.getBillState()); |
|
|
|
} |
|
|
|
IPage<StorageShelfBill> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<StorageShelfBillVo> pagging = baseMapper.listPage(page, qw); |
|
|
|
PagerVo<StorageShelfBillVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
IPage<WarehouseShelfBill> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<WarehouseShelfBillVo> pagging = baseMapper.listPage(page, qw); |
|
|
|
PagerVo<WarehouseShelfBillVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
|
return p; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean saveOrUpdateShelf(StorageShelfBillDto dto) { |
|
|
|
public ResultBean saveOrUpdateShelf(WarehouseShelfBillDto dto) { |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
String sid = dto.getSid(); |
|
|
|
if (StringUtils.isBlank(sid)) { |
|
|
|
StorageShelfBill wmsShelfBill = new StorageShelfBill(); |
|
|
|
WarehouseShelfBill wmsShelfBill = new WarehouseShelfBill(); |
|
|
|
BeanUtil.copyProperties(dto, wmsShelfBill, "sid"); |
|
|
|
List<StorageShelfBillDetailDto> list = dto.getList(); |
|
|
|
List<WarehouseShelfBillDetailDto> list = dto.getList(); |
|
|
|
list.removeAll(Collections.singleton(null)); |
|
|
|
sid = wmsShelfBill.getSid(); |
|
|
|
if (!list.isEmpty()) { |
|
|
@ -95,12 +95,12 @@ public class StorageShelfBillService extends MybatisBaseService<StorageShelfBill |
|
|
|
} |
|
|
|
baseMapper.insert(wmsShelfBill); |
|
|
|
} else { |
|
|
|
StorageShelfBill wmsShelfBill = fetchBySid(sid); |
|
|
|
WarehouseShelfBill wmsShelfBill = fetchBySid(sid); |
|
|
|
if (wmsShelfBill == null) { |
|
|
|
return rb.setMsg("该单据不存在"); |
|
|
|
} |
|
|
|
BeanUtil.copyProperties(dto, wmsShelfBill, "sid"); |
|
|
|
List<StorageShelfBillDetailDto> list = dto.getList(); |
|
|
|
List<WarehouseShelfBillDetailDto> list = dto.getList(); |
|
|
|
list.removeAll(Collections.singleton(null)); |
|
|
|
sid = wmsShelfBill.getSid(); |
|
|
|
if (!list.isEmpty()) { |
|
|
@ -116,13 +116,13 @@ public class StorageShelfBillService extends MybatisBaseService<StorageShelfBill |
|
|
|
} |
|
|
|
|
|
|
|
public void saveWmsInventory(String sid) { |
|
|
|
StorageShelfBill wmsShelfBill = fetchBySid(sid); |
|
|
|
List<StorageShelfBillDetailVos> detailList = wmsShelfBillDetailService.selectByBillSid(sid); |
|
|
|
WarehouseShelfBill wmsShelfBill = fetchBySid(sid); |
|
|
|
List<WarehouseShelfBillDetailVos> detailList = wmsShelfBillDetailService.selectByBillSid(sid); |
|
|
|
detailList.removeAll(Collections.singleton(null)); |
|
|
|
if (!detailList.isEmpty()) { |
|
|
|
for (int i = 0; i < detailList.size(); i++) { |
|
|
|
StorageShelfBillDetailVos s = detailList.get(i); |
|
|
|
StorageInventorySaveDto dto = new StorageInventorySaveDto(); |
|
|
|
WarehouseShelfBillDetailVos s = detailList.get(i); |
|
|
|
WarehouseInventorySaveDto dto = new WarehouseInventorySaveDto(); |
|
|
|
dto.setCreateBySid(wmsShelfBill.getCreateBySid()); |
|
|
|
dto.setBatchNumber(s.getBatchNumber()); |
|
|
|
dto.setGoodsID(getGoodsId(s.getGoodsSkuSid())); |
|
|
@ -143,10 +143,10 @@ public class StorageShelfBillService extends MybatisBaseService<StorageShelfBill |
|
|
|
dto.setUseOrgSid(wmsShelfBill.getUseOrgSid()); |
|
|
|
dto.setSid(s.getInventorySid()); |
|
|
|
String inventorySid = wmsInventoryService.saveWmsInventory(dto).getData(); |
|
|
|
StorageShelfBillDetail wmsShelfBillDetail = wmsShelfBillDetailService.fetchBySid(s.getDetailsSid()); |
|
|
|
WarehouseShelfBillDetail wmsShelfBillDetail = wmsShelfBillDetailService.fetchBySid(s.getDetailsSid()); |
|
|
|
wmsShelfBillDetail.setInventorySid(inventorySid); |
|
|
|
wmsShelfBillDetailService.updateById(wmsShelfBillDetail); |
|
|
|
StorageInventoryRecordDto wmsInventoryRecordDto = new StorageInventoryRecordDto(); |
|
|
|
WarehouseInventoryRecordDto wmsInventoryRecordDto = new WarehouseInventoryRecordDto(); |
|
|
|
wmsInventoryRecordDto.setInventorySid(inventorySid); |
|
|
|
wmsInventoryRecordDto.setGoodsID(dto.getGoodsID()); |
|
|
|
wmsInventoryRecordDto.setSourceBillSid(wmsShelfBill.getSourceBillSid()); |
|
|
@ -203,55 +203,55 @@ public class StorageShelfBillService extends MybatisBaseService<StorageShelfBill |
|
|
|
return rb.success().setMsg("删除成功"); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<ShelfDetailsVo> details(String sid) { |
|
|
|
ResultBean<ShelfDetailsVo> rb = ResultBean.fireFail(); |
|
|
|
ShelfDetailsVo shelfDetailsVo = baseMapper.details(sid); |
|
|
|
if (shelfDetailsVo == null) { |
|
|
|
public ResultBean<WarehouseShelfDetailsVo> details(String sid) { |
|
|
|
ResultBean<WarehouseShelfDetailsVo> rb = ResultBean.fireFail(); |
|
|
|
WarehouseShelfDetailsVo warehouseShelfDetailsVo = baseMapper.details(sid); |
|
|
|
if (warehouseShelfDetailsVo == null) { |
|
|
|
return rb.setMsg("该单据不存在"); |
|
|
|
} |
|
|
|
List<ShelfDetailsListVo> list = wmsShelfBillDetailService.details(sid); |
|
|
|
List<WarehouseShelfDetailsListVo> list = wmsShelfBillDetailService.details(sid); |
|
|
|
list.removeAll(Collections.singleton(null)); |
|
|
|
if (!list.isEmpty()) { |
|
|
|
shelfDetailsVo.setList(list); |
|
|
|
warehouseShelfDetailsVo.setList(list); |
|
|
|
} |
|
|
|
return rb.success().setData(shelfDetailsVo); |
|
|
|
return rb.success().setData(warehouseShelfDetailsVo); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<ShelfInitVo> getInit(String sid, String orgPath, String userSid) { |
|
|
|
ResultBean<ShelfInitVo> rb = ResultBean.fireFail(); |
|
|
|
ShelfInitVo shelfInitVo = new ShelfInitVo(); |
|
|
|
public ResultBean<WarehouseShelfInitVo> getInit(String sid, String orgPath, String userSid) { |
|
|
|
ResultBean<WarehouseShelfInitVo> rb = ResultBean.fireFail(); |
|
|
|
WarehouseShelfInitVo warehouseShelfInitVo = new WarehouseShelfInitVo(); |
|
|
|
//查询所有已上架的商品
|
|
|
|
List<String> stringList = wmsShelfBillDetailService.selectReceiptSidList(); |
|
|
|
stringList.removeAll(Collections.singleton(null)); |
|
|
|
//获取收货单据
|
|
|
|
StorageReceiptBill wmsReceiptBill = wmsReceiptBillService.fetchBySid(sid); |
|
|
|
shelfInitVo.setCreateTime(DateUtil.today());//单据日期
|
|
|
|
shelfInitVo.setSourceBillNo(wmsReceiptBill.getBillNo());//来源单编号
|
|
|
|
shelfInitVo.setSourceBillSid(wmsReceiptBill.getSid());//来源单sid
|
|
|
|
shelfInitVo.setBillState(0); |
|
|
|
List<ShelfInitListVo> list = new ArrayList<>(); |
|
|
|
WarehouseReceiptBill wmsReceiptBill = wmsReceiptBillService.fetchBySid(sid); |
|
|
|
warehouseShelfInitVo.setCreateTime(DateUtil.today());//单据日期
|
|
|
|
warehouseShelfInitVo.setSourceBillNo(wmsReceiptBill.getBillNo());//来源单编号
|
|
|
|
warehouseShelfInitVo.setSourceBillSid(wmsReceiptBill.getSid());//来源单sid
|
|
|
|
warehouseShelfInitVo.setBillState(0); |
|
|
|
List<WarehouseShelfInitListVo> list = new ArrayList<>(); |
|
|
|
//获取收货单据的明细
|
|
|
|
List<StorageReceiptBillDetail> wmsReceiptBillDetailsList = wmsReceiptBillDetailService.selectByBillSid(sid, stringList); |
|
|
|
List<WarehouseReceiptBillDetail> wmsReceiptBillDetailsList = wmsReceiptBillDetailService.selectByBillSid(sid, stringList); |
|
|
|
wmsReceiptBillDetailsList.removeAll(Collections.singleton(null)); |
|
|
|
if (!wmsReceiptBillDetailsList.isEmpty()) { |
|
|
|
for (int i = 0; i < wmsReceiptBillDetailsList.size(); i++) { |
|
|
|
StorageReceiptBillDetail v = wmsReceiptBillDetailsList.get(i); |
|
|
|
StorageReceiptBillDetailBatch wmsReceiptBillDetailBatch = wmsReceiptBillDetailBatchService.selectByDetails(v.getSid()); |
|
|
|
ShelfInitListVo shelfInitListVo = new ShelfInitListVo(); |
|
|
|
BeanUtil.copyProperties(v, shelfInitListVo, "sid"); |
|
|
|
shelfInitListVo.setBatchNumber(wmsReceiptBillDetailBatch.getBatchNumber()); |
|
|
|
shelfInitListVo.setWarehouseSid(v.getWarehouseSid()); |
|
|
|
shelfInitListVo.setWarehouseRackSid(v.getWarehouseRackSid()); |
|
|
|
shelfInitListVo.setWarehouseRackCode(""); |
|
|
|
list.add(shelfInitListVo); |
|
|
|
WarehouseReceiptBillDetail v = wmsReceiptBillDetailsList.get(i); |
|
|
|
WarehouseReceiptBillDetailBatch wmsReceiptBillDetailBatch = wmsReceiptBillDetailBatchService.selectByDetails(v.getSid()); |
|
|
|
WarehouseShelfInitListVo warehouseShelfInitListVo = new WarehouseShelfInitListVo(); |
|
|
|
BeanUtil.copyProperties(v, warehouseShelfInitListVo, "sid"); |
|
|
|
warehouseShelfInitListVo.setBatchNumber(wmsReceiptBillDetailBatch.getBatchNumber()); |
|
|
|
warehouseShelfInitListVo.setWarehouseSid(v.getWarehouseSid()); |
|
|
|
warehouseShelfInitListVo.setWarehouseRackSid(v.getWarehouseRackSid()); |
|
|
|
warehouseShelfInitListVo.setWarehouseRackCode(""); |
|
|
|
list.add(warehouseShelfInitListVo); |
|
|
|
} |
|
|
|
} |
|
|
|
shelfInitVo.setList(list); |
|
|
|
warehouseShelfInitVo.setList(list); |
|
|
|
|
|
|
|
return rb.success().setData(shelfInitVo); |
|
|
|
return rb.success().setData(warehouseShelfInitVo); |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<String> confirm(StorageShelfBillDto dto) { |
|
|
|
public ResultBean<String> confirm(WarehouseShelfBillDto dto) { |
|
|
|
ResultBean<String> rb = ResultBean.fireFail(); |
|
|
|
dto.setBillState(1); |
|
|
|
ResultBean<String> resultBean = saveOrUpdateShelf(dto); |