|
|
@ -42,10 +42,11 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven |
|
|
|
WarehouseInventoryBatchService warehouseInventoryBatchService; |
|
|
|
@Autowired |
|
|
|
WarehouseAreaService warehouseAreaService; |
|
|
|
public ResultBean<PagerVo<WarehouseInventoryVo>> listPage(PagerQuery<WarehouseInventoryQuery> pq) { |
|
|
|
ResultBean rb =new ResultBean().fail(); |
|
|
|
|
|
|
|
public QueryWrapper<WarehouseInventory> createQueryWrapper(PagerQuery<WarehouseInventoryQuery> pq){ |
|
|
|
WarehouseInventoryQuery query = pq.getParams(); |
|
|
|
QueryWrapper<WarehouseInventory> qw = new QueryWrapper<>(); |
|
|
|
qw.clear(); |
|
|
|
if (StringUtils.isNotBlank(query.getOrgLevelKey())) { |
|
|
|
//数据权限ID(1全部、2本部门及子部门、3本部门、4个人)
|
|
|
|
String orgLevelKey=query.getOrgLevelKey(); |
|
|
@ -62,13 +63,7 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven |
|
|
|
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.eq("a.warehouseSid", query.getWarehouseSid()); |
|
|
@ -82,30 +77,43 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven |
|
|
|
if (StringUtils.isNotBlank(query.getSpec())) { |
|
|
|
qw.like("a.goodsSkuOwnSpec", query.getSpec()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getGoodsSpuSid())) { |
|
|
|
qw.eq("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"); |
|
|
|
return qw; |
|
|
|
} |
|
|
|
|
|
|
|
public ResultBean<PagerVo<WarehouseInventoryVo>> listPage(PagerQuery<WarehouseInventoryQuery> pq) { |
|
|
|
ResultBean rb =new ResultBean().fail(); |
|
|
|
WarehouseInventoryQuery query = pq.getParams(); |
|
|
|
QueryWrapper<WarehouseInventory> qw=new QueryWrapper<>(); |
|
|
|
if(StringUtils.isBlank(query.getOrgLevelKey())){ |
|
|
|
PagerVo<WarehouseInventoryVo> p = new PagerVo<>(); |
|
|
|
return rb.success().setData(p); |
|
|
|
}else{ |
|
|
|
qw = createQueryWrapper(pq); |
|
|
|
} |
|
|
|
IPage<WarehouseInventory> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<WarehouseInventoryVo> pagging = baseMapper.listPage(page, qw); |
|
|
|
for (WarehouseInventoryVo record : pagging.getRecords()) { |
|
|
|
List<WarehouseInventoryVo> vos=baseMapper.getListBySpuSid(record.getGoodsSpuSid()); |
|
|
|
WarehouseAnsListDetailsVo vo2=warehouseAnsBillDetailService.selCountBySpuSid(record.getGoodsSpuSid()); |
|
|
|
record.setProcurementInTransit(new BigDecimal(vo2.getWaitInCount())); |
|
|
|
record.setInTransitSummary(record.getInTransitSummary() |
|
|
|
.add(record.getProcurementInTransit()) |
|
|
|
.add(record.getSalesReturnInTransit()) |
|
|
|
.add(record.getTransferInTransit()) |
|
|
|
.add(record.getOtherOnTheWay()) |
|
|
|
.add(record.getWorkOrderInTransit())); |
|
|
|
List<WarehouseInventoryVo> vos=new ArrayList<>(); |
|
|
|
if (StringUtils.isBlank(query.getGoodsSpuSid())) { |
|
|
|
qw=createQueryWrapper(pq); |
|
|
|
qw.eq("a.goodsSpuSid", record.getGoodsSpuSid()); |
|
|
|
vos=baseMapper.getListBySpuSid(qw); |
|
|
|
}else{ |
|
|
|
vos=baseMapper.getListBySpuSid(qw); |
|
|
|
} |
|
|
|
for (WarehouseInventoryVo vo : vos) { |
|
|
|
vo.setMainSid(record.getGoodsSpuSid()); |
|
|
|
WarehouseAnsListDetailsVo vo1=warehouseAnsBillDetailService.selCountBySkuSid(vo.getGoodsSkuSid()); |
|
|
|
vo.setProcurementInTransit(new BigDecimal(vo1.getWaitInCount())); |
|
|
|
BigDecimal w=new BigDecimal(0); |
|
|
|
if(vo1!=null){ |
|
|
|
w=vo1.getWaitInCount(); |
|
|
|
} |
|
|
|
vo.setProcurementInTransit(w); |
|
|
|
record.setProcurementInTransit(record.getProcurementInTransit().add(vo.getProcurementInTransit())); |
|
|
|
vo.setInTransitSummary(vo.getInTransitSummary() |
|
|
|
.add(vo.getProcurementInTransit()) |
|
|
|
.add(vo.getSalesReturnInTransit()) |
|
|
@ -113,6 +121,12 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven |
|
|
|
.add(vo.getOtherOnTheWay()) |
|
|
|
.add(vo.getWorkOrderInTransit())); |
|
|
|
} |
|
|
|
record.setInTransitSummary(record.getInTransitSummary() |
|
|
|
.add(record.getProcurementInTransit()) |
|
|
|
.add(record.getSalesReturnInTransit()) |
|
|
|
.add(record.getTransferInTransit()) |
|
|
|
.add(record.getOtherOnTheWay()) |
|
|
|
.add(record.getWorkOrderInTransit())); |
|
|
|
record.setChildren(vos); |
|
|
|
} |
|
|
|
PagerVo<WarehouseInventoryVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
@ -122,59 +136,28 @@ 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 { |
|
|
|
if(StringUtils.isBlank(query.getOrgLevelKey())){ |
|
|
|
PagerVo<WarehouseInventoryVo> p = new PagerVo<>(); |
|
|
|
return rb.success().setData(p); |
|
|
|
}else{ |
|
|
|
qw = createQueryWrapper(pq); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getWarehouseSid())) { |
|
|
|
qw.eq("a.warehouseNameSid", query.getWarehouseSid()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getGoodsSpuSid())) { |
|
|
|
qw.eq("a.goodsSpuSid", query.getGoodsSpuSid()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getBrandSid())) { |
|
|
|
qw.eq("a.goodsBrandSid", query.getBrandSid()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getSpec())) { |
|
|
|
qw.like("a.goodsSkuOwnSpec", query.getSpec()); |
|
|
|
} |
|
|
|
if (StringUtils.isNotBlank(query.getGoodsSpuSid())) { |
|
|
|
qw.like("a.goodsSpuSid", query.getGoodsSpuSid()); |
|
|
|
} |
|
|
|
qw.apply(StringUtils.isNotBlank(query.getCountStart()), "a.count >= " + query.getCountStart()). |
|
|
|
apply(StringUtils.isNotBlank(query.getCountEnd()), "a.count <= " + query.getCountEnd() |
|
|
|
); |
|
|
|
qw.eq("1",1); |
|
|
|
qw.groupBy("a.goodsSpuSid"); |
|
|
|
IPage<WarehouseInventory> page = PagerUtil.queryToPage(pq); |
|
|
|
IPage<WarehouseInventoryVo> pagging = baseMapper.listPage1(page, qw); |
|
|
|
for (WarehouseInventoryVo record : pagging.getRecords()) { |
|
|
|
WarehouseAreaAllVo vo1=warehouseAreaService.selectAreaByRackSid(record.getWarehouseRackSid()); |
|
|
|
List<WarehouseInventoryVo> vos=baseMapper.getListBySpuSid(record.getGoodsSpuSid()); |
|
|
|
List<WarehouseInventoryVo> vos=new ArrayList<>(); |
|
|
|
if (StringUtils.isBlank(query.getGoodsSpuSid())) { |
|
|
|
qw=createQueryWrapper(pq); |
|
|
|
qw.eq("a.goodsSpuSid", record.getGoodsSpuSid()); |
|
|
|
vos=baseMapper.getListBySpuSid(qw); |
|
|
|
}else{ |
|
|
|
vos=baseMapper.getListBySpuSid(qw); |
|
|
|
} |
|
|
|
for (WarehouseInventoryVo vo : vos) { |
|
|
|
WarehouseAreaAllVo vo1=warehouseAreaService.selectAreaByRackSid(vo.getWarehouseRackSid()); |
|
|
|
vo.setMainSid(record.getGoodsSpuSid()); |
|
|
|
vo.setWarehouseAreaName(vo1.getAreaName()); |
|
|
|
} |
|
|
|
record.setWarehouseAreaName(vo1.getAreaName()); |
|
|
|
record.setChildren(vos); |
|
|
|
} |
|
|
|
PagerVo<WarehouseInventoryVo> p = PagerUtil.pageToVo(pagging, null); |
|
|
@ -186,8 +169,8 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven |
|
|
|
ResultBean rb = ResultBean.fireFail(); |
|
|
|
WarehouseInventory warehouseInventory=new WarehouseInventory(); |
|
|
|
BeanUtil.copyProperties(dto,warehouseInventory); |
|
|
|
warehouseInventory.setSid(UUID.randomUUID().toString()); |
|
|
|
baseMapper.insert(warehouseInventory); |
|
|
|
|
|
|
|
WarehouseInventoryRecordDto recordDto=new WarehouseInventoryRecordDto(); |
|
|
|
BeanUtil.copyProperties(dto,recordDto); |
|
|
|
recordDto.setInventorySid(warehouseInventory.getSid()); |
|
|
@ -196,7 +179,8 @@ public class WarehouseInventoryService extends MybatisBaseService<WarehouseInven |
|
|
|
recordDto.setBusTypeValue(dto.getBusTypeValue()); |
|
|
|
recordDto.setBillObjSid(dto.getSupplierSid()); |
|
|
|
recordDto.setBillObjName(dto.getSupplierSid()); |
|
|
|
recordDto.setCurrentCount(dto.getCount()); |
|
|
|
String v=selInventoryCountBySkuSid(dto.getGoodsSkuSid()); |
|
|
|
recordDto.setCurrentCount(new BigDecimal(v)); |
|
|
|
recordDto.setOperator(dto.getUserName()); |
|
|
|
recordDto.setOperatorSid(dto.getUserSid()); |
|
|
|
warehouseInventoryRecordService.saveRecord(recordDto); |
|
|
|