diff --git a/src/main/java/com/yxt/warehouse/apiadmin/WarehouseInfoRest.java b/src/main/java/com/yxt/warehouse/apiadmin/WarehouseInfoRest.java index a6d4e96..68de7dc 100644 --- a/src/main/java/com/yxt/warehouse/apiadmin/WarehouseInfoRest.java +++ b/src/main/java/com/yxt/warehouse/apiadmin/WarehouseInfoRest.java @@ -33,6 +33,10 @@ public class WarehouseInfoRest { public ResultBean> listPage(@RequestBody PagerQuery pq) { return wmsWarehouseService.listPage(pq); } + @PostMapping("/list") + public ResultBean> list(@RequestBody WarehouseInfoMapQuery query) { + return wmsWarehouseService.listQuery(query); + } @ApiOperation("查询所有的仓库") @PostMapping("/listAll") public ResultBean> listAll(@RequestBody OrgPathQuery query) { diff --git a/src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryHistoryRest.java b/src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryHistoryRest.java new file mode 100644 index 0000000..96df19d --- /dev/null +++ b/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> listPage(@RequestBody PagerQuery pq){ + return warehouseInventoryHistoryService.listPage(pq); + } +} diff --git a/src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryRecordRest.java b/src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryRecordRest.java index 582023d..320e930 100644 --- a/src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryRecordRest.java +++ b/src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryRecordRest.java @@ -144,10 +144,15 @@ public class WarehouseInventoryRecordRest { ResultBean> getWarehouseInventoryRecordList(@RequestParam("sid")String sid){ return warehouseInventoryRecordService.getWarehouseInventoryRecordList(sid); } + @ApiOperation("库存出入库记录") + @PostMapping("/getWarehouseInventoryRecord") + ResultBean> getWarehouseInventoryRecord(@RequestBody PagerQuery pq){ + return warehouseInventoryRecordService.getWarehouseInventoryRecord(pq); + } @ApiOperation("出入库查询") @PostMapping("/pageList") - ResultBean> pageList(@RequestBody PagerQuery pagerQuery){ + ResultBean> pageList(@RequestBody PagerQuery pagerQuery){ ResultBean> rb = ResultBean.fireFail(); PagerVo pv = warehouseInventoryRecordService.listPage(pagerQuery); return rb.success().setData(pv); diff --git a/src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryRest.java b/src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryRest.java index 15bca15..733a33b 100644 --- a/src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryRest.java +++ b/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 saveWarehouseInventory(@RequestBody WarehouseInventorySaveDto dto) { diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml index 7854a89..7a87aaa 100644 --- a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml @@ -2,9 +2,10 @@ - SELECT b.rackName, b.rackCode, @@ -374,7 +374,7 @@ a.goodsSpuSid = #{sid} and a.useOrgSid=#{orgSid} - SELECT b.rackName, b.rackCode, @@ -391,10 +391,39 @@ a.useOrgSid=#{orgSid} + diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryRackVo.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryRackVo.java new file mode 100644 index 0000000..ee631f4 --- /dev/null +++ b/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; + +} diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryService.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryService.java index 4617c1c..ead11db 100644 --- a/src/main/java/com/yxt/warehouse/biz/warehouseinventory/WarehouseInventoryService.java +++ b/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> listPage(PagerQuery pq) { ResultBean rb =new ResultBean().fail(); WarehouseInventoryQuery query = pq.getParams(); QueryWrapper 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 p = new PagerVo<>(); -// return rb.success().setData(p); -// } -// } else { -// PagerVo 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 p = new PagerVo<>(); + return rb.success().setData(p); + } + } else { + PagerVo 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 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 p = new PagerVo<>(); -// return rb.success().setData(p); -// } -// } else { -// PagerVo 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 p = new PagerVo<>(); + return rb.success().setData(p); + } + } else { + PagerVo 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 warehousing(WarehouseInventoryDto dto) { + public ResultBean saveInventory(WarehouseInventoryDto dto) { ResultBean rb = ResultBean.fireFail(); - WarehouseInventory WarehouseInventory = baseMapper.selectOne(new QueryWrapper().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 warehouseInventoryVos=new ArrayList<>(); + List 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 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 totalInventoryByOrgSid(String orgSid){ + List vo=baseMapper.totalInventoryByOrgSid(orgSid); + return vo; + } } diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventorybatch/WarehouseInventoryBatch.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventorybatch/WarehouseInventoryBatch.java index c26d9ec..1b68ddc 100644 --- a/src/main/java/com/yxt/warehouse/biz/warehouseinventorybatch/WarehouseInventoryBatch.java +++ b/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; diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistory.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistory.java new file mode 100644 index 0000000..4363234 --- /dev/null +++ b/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; + +} diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryDto.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryDto.java new file mode 100644 index 0000000..40364e5 --- /dev/null +++ b/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; +} diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryMapper.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryMapper.java new file mode 100644 index 0000000..eb583cc --- /dev/null +++ b/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 { + + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + List getListBySpuSid(@Param("spuSid")String spuSid); +} diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryMapper.xml b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryMapper.xml new file mode 100644 index 0000000..d143ca4 --- /dev/null +++ b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryMapper.xml @@ -0,0 +1,42 @@ + + + + + + + + + + + diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryQuery.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryQuery.java new file mode 100644 index 0000000..e7c5de5 --- /dev/null +++ b/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; + + + + //供应商 +} diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryScheduledVo.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryScheduledVo.java new file mode 100644 index 0000000..ed086f7 --- /dev/null +++ b/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(); + +} diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryService.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryService.java new file mode 100644 index 0000000..24375e0 --- /dev/null +++ b/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 { + + @Autowired + WarehouseInventoryService warehouseInventoryService; + @Autowired + WarehouseInventoryHistoryService warehouseInventoryHistoryService; + public ResultBean> listPage(PagerQuery pq) { + ResultBean rb =new ResultBean().fail(); + WarehouseInventoryHistoryQuery query = pq.getParams(); + QueryWrapper 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 p = new PagerVo<>(); +// return rb.success().setData(p); +// } +// } else { +// PagerVo 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 page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.listPage(page, qw); + for (WarehouseInventoryHistoryVo record : pagging.getRecords()) { + List vos=baseMapper.getListBySpuSid(record.getGoodsSpuSid()); + record.setList(vos); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } + + @Scheduled(cron = "0 0 0 * * ? ") + public void saveHistory(){ + List warehouseOrgs=warehouseInventoryService.list(new QueryWrapper().groupBy("useOrgSid")); + List warehouseInventoryHistories=new ArrayList<>(); + for (WarehouseInventory warehouseOrg : warehouseOrgs) { + List warehouseInventoryHistories1=warehouseInventoryService.totalInventoryByOrgSid(warehouseOrg.getUseOrgSid()); + warehouseInventoryHistories.addAll(warehouseInventoryHistories1); + } + if(warehouseInventoryHistories.size()!=0){ + warehouseInventoryHistoryService.saveBatch(warehouseInventoryHistories); + } + + } +} diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryVo.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryhistory/WarehouseInventoryHistoryVo.java new file mode 100644 index 0000000..d39a59b --- /dev/null +++ b/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 list=new ArrayList<>(); + +} diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecord.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecord.java index e302871..b330436 100644 --- a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecord.java +++ b/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; } diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordDto.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordDto.java index a2f96fe..ded89dd 100644 --- a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordDto.java +++ b/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)
* File: WmsInventoryRecordDto.java
@@ -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; } diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordListVo.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordListVo.java index 8a74d4a..43b7dbc 100644 --- a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordListVo.java +++ b/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); } diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordMapper.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordMapper.java index fbd9298..228bbab 100644 --- a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordMapper.java +++ b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordMapper.java @@ -75,6 +75,7 @@ public interface WarehouseInventoryRecordMapper extends BaseMapper inventoryDetailsRecord(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); List getWarehouseInventoryRecordList(String sid); + IPage getWarehouseInventoryRecord(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordMapper.xml b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordMapper.xml index 1cf46b5..5cbe294 100644 --- a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordMapper.xml +++ b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordMapper.xml @@ -171,4 +171,19 @@ WHERE r.sourceBillSid = #{sid} and r.goodsSkuCode = #{goodsSkuCode} + diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordQuery1.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordQuery1.java new file mode 100644 index 0000000..fc5be14 --- /dev/null +++ b/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; +} diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordService.java b/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordService.java index c210947..3755f57 100644 --- a/src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordService.java +++ b/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> getWarehouseInventoryRecord(PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + WarehouseInventoryRecordQuery1 query = pq.getParams(); + QueryWrapper 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 p = new PagerVo<>(); + return rb.success().setData(p); + } + } else { + PagerVo 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 page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.getWarehouseInventoryRecord(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return rb.success().setData(p); + } public PagerVo listPage(PagerQuery pagerQuery) { WarehouseInventoryRecordsQuery query = pagerQuery.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -326,18 +379,8 @@ public class WarehouseInventoryRecordService extends MybatisBaseService warehouseOutLocations=warehouseOutLocationService.list(new QueryWrapper().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 warehouseOutLocations=warehouseOutLocationService.list(new QueryWrapper().eq("sourceBillSid",sid)); for (WarehouseOutLocation warehouseOutLocation : warehouseOutLocations) { WarehouseInventory warehouseInventory=warehouseInventoryService.getOne(new QueryWrapper().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) {