Browse Source

6/26

master
wangpengfei 12 months ago
parent
commit
1a1a8b2995
  1. 189
      src/main/java/com/yxt/warehouse/apiadmin/WarehouseInventoryRecordRest.java
  2. 150
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecord.java
  3. 102
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordDetailsVo.java
  4. 153
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordDto.java
  5. 2
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordListVo.java
  6. 82
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordMapper.java
  7. 164
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordMapper.xml
  8. 100
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordQuery.java
  9. 313
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordService.java
  10. 102
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordVo.java
  11. 9
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordsVo.java
  12. 14
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/report/WarehouseInAndOutboundVo.java
  13. 18
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/report/WarehouseInventoryCountDetailsVo.java
  14. 19
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/report/WarehouseInventoryCountReportQuery.java
  15. 29
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/report/WarehouseInventoryCountReportVo.java
  16. 24
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/report/WarehouseInventoryDetailsRecordQuery.java
  17. 41
      src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/report/WarehouseInventoryDetailsRecordVo.java
  18. 49
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventory.java
  19. 30
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryDetailsListVo.java
  20. 35
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryDetailsVo.java
  21. 47
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryDto.java
  22. 60
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryExcelVo.java
  23. 40
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryInitVo.java
  24. 32
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryMapper.java
  25. 154
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryMapper.xml
  26. 38
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryPageListQuery.java
  27. 45
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryPageListVo.java
  28. 40
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryPush.java
  29. 26
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryQuery.java
  30. 57
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryRecordList.java
  31. 76
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryRecordListExcelVo.java
  32. 49
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryRecordListQuery.java
  33. 15
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryService.java
  34. 60
      src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryVo.java
  35. 4
      src/main/java/com/yxt/warehouse/biz/warehouseshelfbill/WarehouseShelfBillService.java

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

@ -1,12 +1,36 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.warehouse.apiadmin; package com.yxt.warehouse.apiadmin;
import com.yxt.common.base.utils.ExportExcelUtils; import com.yxt.common.base.utils.ExportExcelUtils;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import com.yxt.warehouse.biz.warehouseinventoryrecord.*; import com.yxt.warehouse.biz.warehouseinventoryrecord.*;
import com.yxt.warehouse.biz.warehouseinventoryrecord.report.*;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -17,45 +41,132 @@ import java.io.UnsupportedEncodingException;
import java.net.URLEncoder; import java.net.URLEncoder;
import java.util.List; import java.util.List;
/**
* Project: Warehouse(yxt) <br/>
* File: WarehouseInventoryRecordFeignFallback.java <br/>
* Class: inventroy.biz.Warehouseinventoryrecord.WarehouseInventoryRecordRest <br/>
* Description: 库存出入库记录. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-04-08 17:27:39 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Api(tags = "库存出入库记录") @Api(tags = "库存出入库记录")
@RestController @RestController
@RequestMapping("/apiadmin/inventory/Storageinventoryrecord") @RequestMapping("/apiadmin/warehouseinventoryrecord")
public class WarehouseInventoryRecordRest { public class WarehouseInventoryRecordRest {
@Autowired @Autowired
private WarehouseInventoryRecordService warehouseInventoryRecordService; private WarehouseInventoryRecordService warehouseInventoryRecordService;
@Autowired @Autowired
HttpServletResponse response; HttpServletResponse response;
@ApiOperation("根据库存sid获取出入库记录") @ApiOperation("收发存明细报表")
@GetMapping("/getStorageInventoryRecordList") @PostMapping("/inventoryDetailsRecord")
ResultBean<List<WarehouseInventoryRecordListVo>> getStorageInventoryRecordList(@RequestParam("sid") String sid) { public ResultBean<PagerVo<WarehouseInventoryDetailsRecordVo>> inventoryDetailsRecord(@RequestBody PagerQuery<WarehouseInventoryDetailsRecordQuery> pq){
return warehouseInventoryRecordService.getStorageInventoryRecordList(sid); ResultBean rb = ResultBean.fireFail();
} PagerVo<WarehouseInventoryDetailsRecordVo> pv = warehouseInventoryRecordService.inventoryDetailsRecord(pq);
return rb.success().setData(pv);
@ApiOperation("出入库查询") }
@PostMapping("/pageList")
ResultBean<PagerVo<WarehouseInventoryRecordsVo>> pageList(@RequestBody PagerQuery<WarehouseInventoryRecordsQuery> pagerQuery) { @ApiOperation("库存统计报表")
ResultBean<PagerVo<WarehouseInventoryRecordsVo>> rb = ResultBean.fireFail(); @PostMapping("/inventoryStats")
PagerVo<WarehouseInventoryRecordsVo> pv = warehouseInventoryRecordService.listPage(pagerQuery); public ResultBean<WarehouseInventoryCountReportVo> inventoryStats(@RequestBody PagerQuery<WarehouseInventoryCountReportQuery> pq){
return rb.success().setData(pv); ResultBean rb = ResultBean.fireFail();
} WarehouseInventoryCountReportVo vo = warehouseInventoryRecordService.inventoryStats(pq);
return rb.success().setData(vo);
@PostMapping("/exportExcel") }
@ApiOperation(value = "导出")
public void exportExcel(@RequestBody WarehouseInventoryRecordsQuery query) { @ApiOperation("入库统计报表详情")
//得到所有要导出的数据 @PostMapping("/inventoryInboundStats")
List<WarehouseInventoryRecordsExcelVo> exportVoList = warehouseInventoryRecordService.listExcel(query); public ResultBean<PagerVo<WarehouseInventoryCountDetailsVo>> inventoryInboundStats(@RequestBody PagerQuery<WarehouseInventoryCountReportQuery> pq){
//定义导出的excel名字 ResultBean rb = ResultBean.fireFail();
String excelName = "出入库查询"; PagerVo<WarehouseInventoryCountDetailsVo> pv = warehouseInventoryRecordService.inventoryInboundStats(pq);
String fileNameURL = ""; return rb.success().setData(pv);
try { }
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) { @ApiOperation("出库统计报表详情")
e.printStackTrace(); @PostMapping("/inventoryOutboundStats")
} public ResultBean<PagerVo<WarehouseInventoryCountDetailsVo>> inventoryOutboundStats(@RequestBody PagerQuery<WarehouseInventoryCountReportQuery> pq){
ExportExcelUtils.export(fileNameURL, exportVoList, WarehouseInventoryRecordsExcelVo.class, response); ResultBean rb = ResultBean.fireFail();
PagerVo<WarehouseInventoryCountDetailsVo> pv = warehouseInventoryRecordService.inventoryOutboundStats(pq);
} return rb.success().setData(pv);
}
@ApiOperation("根据条件分页查询数据的列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<WarehouseInventoryRecordVo>> listPage(@RequestBody PagerQuery<WarehouseInventoryRecordQuery> pq){
ResultBean rb = ResultBean.fireFail();
PagerVo<WarehouseInventoryRecordVo> pv = warehouseInventoryRecordService.listPageVo(pq);
return rb.success().setData(pv);
}
@ApiOperation("新增或修改")
@PostMapping("/save")
public ResultBean save(@RequestBody WarehouseInventoryRecordDto dto){
ResultBean rb = ResultBean.fireFail();
warehouseInventoryRecordService.saveOrUpdateDto(dto);
return rb.success();
}
@ApiOperation("新增出入库记录")
@PostMapping("/saveRecord")
public ResultBean saveRecord(@RequestBody WarehouseInventoryRecordDto dto){
ResultBean rb = ResultBean.fireFail();
warehouseInventoryRecordService.saveRecord(dto);
return rb.success();
}
@ApiOperation("根据sid批量删除")
@PostMapping("/delBySids")
public ResultBean delBySids(@RequestBody String[] sids){
ResultBean rb = ResultBean.fireFail();
warehouseInventoryRecordService.delBySids(sids);
return rb.success();
}
@ApiOperation("根据SID获取一条记录")
@GetMapping("/fetchDetailsBySid/{sid}")
public ResultBean<WarehouseInventoryRecordDetailsVo> fetchDetailsBySid(@PathVariable("sid") String sid){
ResultBean rb = ResultBean.fireFail();
WarehouseInventoryRecordDetailsVo vo = warehouseInventoryRecordService.fetchDetailsVoBySid(sid);
return rb.success().setData(vo);
}
@ApiOperation("库存出入库记录")
@GetMapping("/getWarehouseInventoryRecordList")
ResultBean<List<WarehouseInventoryRecordListVo>> getWarehouseInventoryRecordList(@RequestParam("sid")String sid){
return warehouseInventoryRecordService.getWarehouseInventoryRecordList(sid);
}
@ApiOperation("出入库查询")
@PostMapping("/pageList")
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);
}
@PostMapping("/exportExcel")
@ApiOperation(value = "导出")
public void exportExcel(@RequestBody WarehouseInventoryRecordsQuery query) {
//得到所有要导出的数据
List<WarehouseInventoryRecordsExcelVo> exportVoList = warehouseInventoryRecordService.listExcel(query);
//定义导出的excel名字
String excelName = "出入库查询";
String fileNameURL = "";
try {
fileNameURL = URLEncoder.encode(excelName, "UTF-8");
} catch (UnsupportedEncodingException e) {
e.printStackTrace();
}
ExportExcelUtils.export(fileNameURL, exportVoList, WarehouseInventoryRecordsExcelVo.class, response);
}
} }

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

@ -1,65 +1,111 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.warehouse.biz.warehouseinventoryrecord; package com.yxt.warehouse.biz.warehouseinventoryrecord;
import com.baomidou.mybatisplus.annotation.TableName;
import com.yxt.common.core.domain.BaseEntity; import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; import java.math.BigDecimal;
/** /**
* @description: * Project: wms(yxt) <br/>
* @author: dimengzhe * File: WmsInventoryRecord.java <br/>
* @date: 2024/4/24 * Class: inventroy.api.wmsinventoryrecord.WmsInventoryRecord <br/>
**/ * Description: 库存出入库记录. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-04-08 17:27:39 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "库存出入库记录", description = "库存出入库记录")
@TableName("wms_inventory_record")
public class WarehouseInventoryRecord extends BaseEntity { public class WarehouseInventoryRecord extends BaseEntity {
private static final long serialVersionUID = 1L;
@ApiModelProperty("库存sid") @ApiModelProperty("库存sid")
private String inventorySid; private String inventorySid; // 库存sid
@ApiModelProperty("商品ID") @ApiModelProperty("商品ID")
private String goodsID; private String goodsID; // 商品ID
@ApiModelProperty("来源单sid(业务单sid)") @ApiModelProperty("来源单sid(业务单sid)")
private String sourceBillSid; private String sourceBillSid; // 来源单sid(业务单sid)
@ApiModelProperty("来源单据编号") @ApiModelProperty("来源单据编号")
private String billNo; private String billNo; // 来源单据编号
@ApiModelProperty("单据类型(1入库、0出库)") @ApiModelProperty("单据类型(1入库、0出库)")
private String billType; private String billType; // 单据类型(1入库、0出库)
@ApiModelProperty("业务类型key(采购入库、维修出入库、销售出入库等)") @ApiModelProperty("业务类型key(采购入库、维修出入库、销售出入库等)")
private String busTypeKey; private String busTypeKey; // 业务类型key(采购入库、维修出入库、销售出入库等)
@ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)") @ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)")
private String busTypeValue; private String busTypeValue; // 业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)
@ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商") @ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商")
private String billObjSid; private String billObjSid; // 客户/供应商sid,出库是为客户,入库时为供应商
@ApiModelProperty("客户/供应商名称") @ApiModelProperty("客户/供应商名称")
private String billObjName; private String billObjName; // 客户/供应商名称
@ApiModelProperty("批次号") @ApiModelProperty("批次号")
private String batchNumber; private String batchNumber; // 批次号
@ApiModelProperty("商品基础信息Sid") @ApiModelProperty("商品基础信息Sid")
private String goodSpuSid; private String goodSpuSid; // 商品基础信息Sid
@ApiModelProperty("商品名称") @ApiModelProperty("商品名称")
private String goodsSpuName; private String goodsSpuName; // 商品名称
@ApiModelProperty("商品Skusid") @ApiModelProperty("商品Skusid")
private String goodsSkuSid; private String goodsSkuSid; // 商品Skusid
@ApiModelProperty("商品Sku名称") @ApiModelProperty("商品Sku名称")
private String goodsSkuTitle; private String goodsSkuTitle; // 商品Sku名称
@ApiModelProperty("商品编码(图号)") @ApiModelProperty("商品编码(图号)")
private String goodsSkuCode; private String goodsSkuCode; // 商品编码(图号)
@ApiModelProperty("规格型号") @ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; private String goodsSkuOwnSpec; // 规格型号
@ApiModelProperty("出入库后的库存量") @ApiModelProperty("出入库后的库存量")
private BigDecimal currentCount; private BigDecimal currentCount; // 出入库后的库存量
@ApiModelProperty("计量单位") @ApiModelProperty("计量单位")
private String unit; private String unit; // 计量单位
@ApiModelProperty("数量") @ApiModelProperty("数量")
private BigDecimal count; private BigDecimal count; // 数量
@ApiModelProperty("仓库sid") @ApiModelProperty("仓库sid")
private String warehouseSid; private String warehouseSid; // 仓库sid
@ApiModelProperty("仓库名称") @ApiModelProperty("仓库名称")
private String warehouseName; private String warehouseName; // 仓库名称
@ApiModelProperty("库位sid") @ApiModelProperty("库位sid")
private String warehouseRackSid; private String warehouseRackSid; // 库位sid
@ApiModelProperty("库位编号") @ApiModelProperty("库位编号")
private String warehouseRackCode; private String warehouseRackCode; // 库位编号
private String handlerSid;//经办人sid @ApiModelProperty("入库单价")
private String handlerName;//经办人 private BigDecimal cost;
@ApiModelProperty("税率")
private BigDecimal tax;
@ApiModelProperty("入库金额")
private BigDecimal amount;
@ApiModelProperty("经办人sid")
private String handlerSid; // 库位sid
@ApiModelProperty("经办人")
private String handlerName; // 库位编号
} }

102
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordDetailsVo.java

@ -0,0 +1,102 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.warehouse.biz.warehouseinventoryrecord;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: wms(yxt) <br/>
* File: WmsInventoryRecordVo.java <br/>
* Class: inventroy.api.wmsinventoryrecord.WmsInventoryRecordVo <br/>
* Description: 库存出入库记录 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-04-08 17:27:39 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "库存出入库记录 视图数据详情", description = "库存出入库记录 视图数据详情")
public class WarehouseInventoryRecordDetailsVo implements Vo {
private String sid; // sid
@ApiModelProperty("库存sid")
private String inventorySid; // 库存sid
@ApiModelProperty("商品ID")
private String goodsID; // 商品ID
@ApiModelProperty("来源单sid(业务单sid)")
private String sourceBillSid; // 来源单sid(业务单sid)
@ApiModelProperty("来源单据编号")
private String billNo; // 来源单据编号
@ApiModelProperty("单据类型(1入库、0出库)")
private String billType; // 单据类型(1入库、0出库)
@ApiModelProperty("业务类型key(采购入库、维修出入库、销售出入库等)")
private String busTypeKey; // 业务类型key(采购入库、维修出入库、销售出入库等)
@ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)")
private String busTypeValue; // 业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)
@ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商")
private String billObjSid; // 客户/供应商sid,出库是为客户,入库时为供应商
@ApiModelProperty("客户/供应商名称")
private String billObjName; // 客户/供应商名称
@ApiModelProperty("批次号")
private String batchNumber; // 批次号
@ApiModelProperty("商品基础信息Sid")
private String goodSpuSid; // 商品基础信息Sid
@ApiModelProperty("商品名称")
private String goodsSpuName; // 商品名称
@ApiModelProperty("商品Skusid")
private String goodsSkuSid; // 商品Skusid
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle; // 商品Sku名称
@ApiModelProperty("商品编码(图号)")
private String goodsSkuCode; // 商品编码(图号)
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; // 规格型号
@ApiModelProperty("出入库后的库存量")
private BigDecimal currentCount; // 出入库后的库存量
@ApiModelProperty("计量单位")
private String unit; // 计量单位
@ApiModelProperty("数量")
private BigDecimal count; // 数量
@ApiModelProperty("仓库sid")
private String warehouseSid; // 仓库sid
@ApiModelProperty("仓库名称")
private String warehouseName; // 仓库名称
@ApiModelProperty("库位sid")
private String warehouseRackSid; // 库位sid
@ApiModelProperty("库位编号")
private String warehouseRackCode; // 库位编号
}

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

@ -1,3 +1,28 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.warehouse.biz.warehouseinventoryrecord; package com.yxt.warehouse.biz.warehouseinventoryrecord;
@ -6,60 +31,86 @@ import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal; /**
* Project: wms(yxt) <br/>
* File: WmsInventoryRecordDto.java <br/>
* Class: inventroy.api.wmsinventoryrecord.WmsInventoryRecordDto <br/>
* Description: 库存出入库记录 数据传输对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-04-08 17:27:39 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data @Data
@ApiModel(value = "库存出入库记录 数据传输对象", description = "库存出入库记录 数据传输对象") @ApiModel(value = "库存出入库记录 数据传输对象", description = "库存出入库记录 数据传输对象")
public class WarehouseInventoryRecordDto implements Dto { public class WarehouseInventoryRecordDto implements Dto {
private String sid; private String sid; // sid
@ApiModelProperty("库存sid")
private String inventorySid; @ApiModelProperty("库存sid")
@ApiModelProperty("商品ID") private String inventorySid; // 库存sid
private String goodsID; @ApiModelProperty("创建人sid")
@ApiModelProperty("来源单sid(业务单sid)") private String createBySid; // 商品ID
private String sourceBillSid; @ApiModelProperty("商品ID")
@ApiModelProperty("来源单据编号") private String goodsID; // 商品ID
private String billNo; @ApiModelProperty("来源单sid(业务单sid)")
@ApiModelProperty("单据类型(1入库、0出库)") private String sourceBillSid; // 来源单sid(业务单sid)
private String billType; @ApiModelProperty("来源单据编号")
@ApiModelProperty("业务类型key(采购入库、维修出入库、销售出入库等)") private String billNo; // 来源单据编号
private String busTypeKey; @ApiModelProperty("单据类型(1入库、0出库)")
@ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)") private String billType; // 单据类型(1入库、0出库)
private String busTypeValue; @ApiModelProperty("业务类型key(采购入库、维修出入库、销售出入库等)")
@ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商") private String busTypeKey; // 业务类型key(采购入库、维修出入库、销售出入库等)
private String billObjSid; @ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)")
@ApiModelProperty("客户/供应商名称") private String busTypeValue; // 业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)
private String billObjName; @ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商")
@ApiModelProperty("批次号") private String billObjSid; // 客户/供应商sid,出库是为客户,入库时为供应商
private String batchNumber; @ApiModelProperty("客户/供应商名称")
@ApiModelProperty("商品基础信息Sid") private String billObjName; // 客户/供应商名称
private String goodSpuSid; @ApiModelProperty("批次号")
@ApiModelProperty("商品名称") private String batchNumber; // 批次号
private String goodsSpuName; @ApiModelProperty("商品基础信息Sid")
@ApiModelProperty("商品Skusid") private String goodSpuSid; // 商品基础信息Sid
private String goodsSkuSid; @ApiModelProperty("商品名称")
@ApiModelProperty("商品Sku名称") private String goodsSpuName; // 商品名称
private String goodsSkuTitle; @ApiModelProperty("商品Skusid")
@ApiModelProperty("商品编码(图号)") private String goodsSkuSid; // 商品Skusid
private String goodsSkuCode; @ApiModelProperty("商品Sku名称")
@ApiModelProperty("规格型号") private String goodsSkuTitle; // 商品Sku名称
private String goodsSkuOwnSpec; @ApiModelProperty("商品编码(图号)")
@ApiModelProperty("出入库后的库存量") private String goodsSkuCode; // 商品编码(图号)
private BigDecimal currentCount; @ApiModelProperty("规格型号")
@ApiModelProperty("计量单位") private String goodsSkuOwnSpec; // 规格型号
private String unit; @ApiModelProperty("出入库后的库存量")
@ApiModelProperty("数量") private String currentCount; // 出入库后的库存量
private BigDecimal count; @ApiModelProperty("计量单位")
@ApiModelProperty("仓库sid") private String unit; // 计量单位
private String warehouseSid; @ApiModelProperty("数量")
@ApiModelProperty("仓库名称") private String count; // 数量
private String warehouseName; @ApiModelProperty("仓库sid")
@ApiModelProperty("库位sid") private String warehouseSid; // 仓库sid
private String warehouseRackSid; @ApiModelProperty("仓库名称")
@ApiModelProperty("库位编号") private String warehouseName; // 仓库名称
private String warehouseRackCode; @ApiModelProperty("库位sid")
private String handlerSid;//经办人sid private String warehouseRackSid; // 库位sid
private String handlerName;//经办人 @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 String useOrgSid;
} }

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

@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
/** /**
* @description: * @description: 库存出入库记录
* @author: dimengzhe * @author: dimengzhe
* @date: 2024/4/24 * @date: 2024/4/24
**/ **/

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

@ -1,16 +1,88 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.warehouse.biz.warehouseinventoryrecord; package com.yxt.warehouse.biz.warehouseinventoryrecord;
import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; 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.warehouseinventoryrecord.report.WarehouseInAndOutboundVo;
import com.yxt.warehouse.biz.warehouseinventoryrecord.report.WarehouseInventoryCountDetailsVo;
import com.yxt.warehouse.biz.warehouseinventoryrecord.report.WarehouseInventoryDetailsRecordVo;
import com.yxt.warehouse.biz.warehouseoldinventory.WarehouseOldInventoryDetailsListVo;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import java.util.List; import java.util.List;
/** /**
* @description: * Project: Warehouse(yxt) <br/>
* @author: dimengzhe * File: WarehouseInventoryRecordMapper.java <br/>
* @date: 2024/4/24 * Class: inventroy.biz.Warehouseinventoryrecord.WarehouseInventoryRecordMapper <br/>
**/ * Description: 库存出入库记录. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-04-08 17:27:39 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Mapper @Mapper
public interface WarehouseInventoryRecordMapper extends BaseMapper<WarehouseInventoryRecord> { public interface WarehouseInventoryRecordMapper extends BaseMapper<WarehouseInventoryRecord> {
List<WarehouseInventoryRecordListVo> getStorageInventoryRecordList(String sid);
//@Update("update Warehouse_inventory_record set name=#{msg} where id=#{id}")
//IPage<WarehouseInventoryRecordVo> voPage(IPage<WarehouseInventoryRecord> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventoryRecord> qw);
IPage<WarehouseInventoryRecordVo> selectPageVo(IPage<WarehouseInventoryRecord> page, @Param(Constants.WRAPPER) Wrapper<WarehouseInventoryRecord> qw);
List<WarehouseInventoryRecordVo> selectListAllVo(@Param(Constants.WRAPPER) Wrapper<WarehouseInventoryRecord> qw);
@Select("select * from Warehouse_inventory_record")
List<WarehouseInventoryRecordVo> selectListVo();
String selInItCountBySettleTime(@Param("settleTime") String settleTime);
List<WarehouseInAndOutboundVo> selInboundAndOutboundCount(@Param(Constants.WRAPPER) QueryWrapper<WarehouseInventoryRecord> qw);
IPage<WarehouseInventoryCountDetailsVo> inventoryInboundAndOutboundStats(IPage<WarehouseInventoryRecord> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventoryRecord> qw);
IPage<WarehouseInventoryDetailsRecordVo> inventoryDetailsRecord(IPage<WarehouseInventoryRecord> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventoryRecord> qw);
List<WarehouseInventoryRecordListVo> getWarehouseInventoryRecordList(String sid);
IPage<WarehouseInventoryRecordsVo> listPage(IPage<WarehouseInventoryRecord> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseInventoryRecord> qw);
List<WarehouseInventoryRecordsExcelVo> listExcel(@Param(Constants.WRAPPER) QueryWrapper<WarehouseInventoryRecord> qw);
List<WarehouseOldInventoryDetailsListVo> getDetailsList(String sid);
List<WarehouseInventoryRecord> selBySourceSid(String sid);
List<WarehouseInventoryRecord> selBySourceSidAndSkuCode(@Param("sid") String sid, @Param("goodsSkuCode") String goodsSkuCode);
} }

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

@ -1,7 +1,81 @@
<?xml version="1.0" encoding="UTF-8" ?> <?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"> <!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordMapper"> <mapper namespace="com.yxt.wms.biz.func.warehouseinventoryrecord.WarehouseInventoryRecordMapper">
<select id="getStorageInventoryRecordList" resultType="com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordListVo"> <!-- <where> ${ew.sqlSegment} </where>-->
<!-- ${ew.customSqlSegment} -->
<select id="selectPageVo" resultType="com.yxt.wms.biz.func.warehouseinventoryrecord.WarehouseInventoryRecordVo">
SELECT *
FROM wms_inventory_record
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectListAllVo" resultType="com.yxt.wms.biz.func.warehouseinventoryrecord.WarehouseInventoryRecordVo">
SELECT *
FROM wms_inventory_record
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selInItCountBySettleTime" resultType="java.lang.String">
SELECT IFNULL(SUM(d.currentBalance), 0) AS count
FROM wms_inventory_settlebill_detail AS d
LEFT JOIN wms_inventory_settlebill AS s
ON d.billSid = s.sid
WHERE s.settleState = 2
AND s.createTime &lt;= #{settleTime}
GROUP BY d.billSid
ORDER BY s.createTime DESC
LIMIT 1
</select>
<select id="selInboundAndOutboundCount"
resultType="com.yxt.wms.biz.func.warehouseinventoryrecord.report.WarehouseInAndOutboundVo">
SELECT IFNULL(SUM(r.count), 0) as `count`,
r.billType
FROM wms_inventory_record AS r
<where>
${ew.sqlSegment}
</where>
</select>
<select id="inventoryInboundAndOutboundStats"
resultType="com.yxt.wms.biz.func.warehouseinventoryrecord.report.WarehouseInventoryCountDetailsVo">
SELECT IFNULL(SUM(r.count), 0) AS `count`,
r.busTypeValue
FROM wms_inventory_record AS r
<where>
${ew.sqlSegment}
</where>
</select>
<select id="inventoryDetailsRecord"
resultType="com.yxt.wms.biz.func.warehouseinventoryrecord.report.WarehouseInventoryDetailsRecordVo">
SELECT CASE
r.billType
WHEN '1' THEN
IFNULL((r.currentCount - r.count), 0)
WHEN '0' THEN
IFNULL((r.currentCount + r.count), 0)
END initCount,
r.currentCount,
r.count,
r.busTypeValue,
r.goodsSpuName,
r.createTime,
r.goodsSpuName,
r.goodsSkuTitle,
r.goodsSkuCode,
r.goodsSkuOwnSpec,
r.unit,
r.warehouseName,
r.warehouseRackCode
FROM wms_inventory_record AS r
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getWmsInventoryRecordList"
resultType="com.yxt.wms.biz.func.warehouseinventoryrecord.WarehouseInventoryRecordListVo">
select wir.billNo, select wir.billNo,
case wir.billType when 1 then '入库' when 0 then '出库' end as billType, case wir.billType when 1 then '入库' when 0 then '出库' end as billType,
DATE_FORMAT(wir.createTime, '%Y-%m-%d') as createTime, DATE_FORMAT(wir.createTime, '%Y-%m-%d') as createTime,
@ -9,8 +83,92 @@
wir.billObjName, wir.billObjName,
wir.count, wir.count,
wir.currentCount wir.currentCount
from warehouse_inventory_record wir from wms_inventory_record wir
where wir.inventorySid = #{sid} where wir.inventorySid = #{sid}
order by wir.createTime desc order by wir.createTime desc
</select> </select>
<select id="listPage" resultType="com.yxt.wms.biz.func.warehouseinventoryrecord.WarehouseInventoryRecordsVo">
select wir.goodsID,
wir.goodsSpuName,
wir.goodsSkuCode,
wir.goodsSkuOwnSpec,
wir.warehouseName,
wwa.areaName as warehouseAreaName,
wir.warehouseRackCode,
wir.billNo,
wir.billType,
DATE_FORMAT(wir.createTime, '%Y-%m-%d') as createTime,
wir.busTypeValue,
wir.batchNumber,
wir.billObjName,
wir.currentCount,
wir.count,
wir.unit,
wir.handlerName,
wir.createBySid
from wms_inventory_record wir
left join wms_warehouse_rack wwr
on wir.warehouseRackSid = wwr.sid
left join wms_warehouse_area wwa
on wwr.locationSid = wwa.sid
<where>
${ew.sqlSegment}
</where>
order by wir.createTime desc
</select>
<select id="listExcel" resultType="com.yxt.wms.biz.func.warehouseinventoryrecord.WarehouseInventoryRecordsExcelVo">
select wir.goodsID,
wir.goodsSpuName,
wir.goodsSkuCode,
wir.goodsSkuOwnSpec,
wir.warehouseName,
wir.warehouseRackCode,
wir.billNo,
DATE_FORMAT(wir.createTime, '%Y-%m-%d') as createTime,
wir.busTypeValue,
wir.batchNumber,
wir.billObjName,
wir.currentCount,
wir.count,
wir.unit,
(@rank := @rank + 1) rankNo
from wms_inventory_record wir,
(SELECT @rank := 0) t
<where>
${ew.sqlSegment}
</where>
order by wir.createTime desc
</select>
<select id="getDetailsList" resultType="com.yxt.wms.biz.func.warehouseoldinventory.WarehouseOldInventoryDetailsListVo">
select w.billNo,
w.billType,
DATE_FORMAT(w.createTime, '%Y-%m-%d') as createTime,
w.busTypeValue,
w.count,
w.currentCount
from wms_inventory_record w
where w.inventorySid = #{sid}
</select>
<select id="selBySourceSid" resultType="com.yxt.wms.biz.func.warehouseinventoryrecord.WarehouseInventoryRecord">
SELECT
*
FROM
wms_inventory_record AS r
WHERE
r.sourceBillSid = #{sid}
GROUP BY
goodsSkuCode
</select>
<select id="selBySourceSidAndSkuCode"
resultType="com.yxt.wms.biz.func.warehouseinventoryrecord.WarehouseInventoryRecord">
SELECT
*
FROM
wms_inventory_record AS r
WHERE
r.sourceBillSid = #{sid} and r.goodsSkuCode = #{goodsSkuCode}
</select>
</mapper> </mapper>

100
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordQuery.java

@ -0,0 +1,100 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.warehouse.biz.warehouseinventoryrecord;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: wms(yxt) <br/>
* File: WmsInventoryRecordQuery.java <br/>
* Class: inventroy.api.wmsinventoryrecord.WmsInventoryRecordQuery <br/>
* Description: 库存出入库记录 查询条件. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-04-08 17:27:39 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "库存出入库记录 查询条件", description = "库存出入库记录 查询条件")
public class WarehouseInventoryRecordQuery implements Query {
@ApiModelProperty("库存sid")
private String inventorySid; // 库存sid
@ApiModelProperty("商品ID")
private String goodsID; // 商品ID
@ApiModelProperty("来源单sid(业务单sid)")
private String sourceBillSid; // 来源单sid(业务单sid)
@ApiModelProperty("来源单据编号")
private String billNo; // 来源单据编号
@ApiModelProperty("单据类型(1入库、0出库)")
private String billType; // 单据类型(1入库、0出库)
@ApiModelProperty("业务类型key(采购入库、维修出入库、销售出入库等)")
private String busTypeKey; // 业务类型key(采购入库、维修出入库、销售出入库等)
@ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)")
private String busTypeValue; // 业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)
@ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商")
private String billObjSid; // 客户/供应商sid,出库是为客户,入库时为供应商
@ApiModelProperty("客户/供应商名称")
private String billObjName; // 客户/供应商名称
@ApiModelProperty("批次号")
private String batchNumber; // 批次号
@ApiModelProperty("商品基础信息Sid")
private String goodSpuSid; // 商品基础信息Sid
@ApiModelProperty("商品名称")
private String goodsSpuName; // 商品名称
@ApiModelProperty("商品Skusid")
private String goodsSkuSid; // 商品Skusid
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle; // 商品Sku名称
@ApiModelProperty("商品编码(图号)")
private String goodsSkuCode; // 商品编码(图号)
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; // 规格型号
@ApiModelProperty("出入库后的库存量")
private BigDecimal currentCount; // 出入库后的库存量
@ApiModelProperty("计量单位")
private String unit; // 计量单位
@ApiModelProperty("数量")
private BigDecimal count; // 数量
@ApiModelProperty("仓库sid")
private String warehouseSid; // 仓库sid
@ApiModelProperty("仓库名称")
private String warehouseName; // 仓库名称
@ApiModelProperty("库位sid")
private String warehouseRackSid; // 库位sid
@ApiModelProperty("库位编号")
private String warehouseRackCode; // 库位编号
}

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

@ -1,28 +1,87 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.warehouse.biz.warehouseinventoryrecord; package com.yxt.warehouse.biz.warehouseinventoryrecord;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
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.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; 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.warehouseinventoryrecord.report.*;
import com.yxt.warehouse.biz.warehouseoldinventory.WarehouseOldInventoryDetailsListVo;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Collections; import java.util.Collections;
import java.util.Date;
import java.util.List; import java.util.List;
/** /**
* @description: * Project: Warehouse(yxt) <br/>
* @author: dimengzhe * File: WarehouseInventoryRecordService.java <br/>
* @date: 2024/4/24 * Class: inventroy.biz.Warehouseinventoryrecord.WarehouseInventoryRecordService <br/>
**/ * Description: 库存出入库记录 业务逻辑. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-04-08 17:27:39 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Service @Service
public class WarehouseInventoryRecordService extends MybatisBaseService<WarehouseInventoryRecordMapper, WarehouseInventoryRecord> { public class WarehouseInventoryRecordService extends MybatisBaseService<WarehouseInventoryRecordMapper, WarehouseInventoryRecord> {
public ResultBean<List<WarehouseInventoryRecordListVo>> getStorageInventoryRecordList(String sid) {
ResultBean<List<WarehouseInventoryRecordListVo>> rb = ResultBean.fireFail(); @Autowired
List<WarehouseInventoryRecordListVo> list = baseMapper.getStorageInventoryRecordList(sid); private WarehouseInventoryService warehouseInventoryService;
list.removeAll(Collections.singleton(null));
return rb.success().setData(list);
private QueryWrapper<WarehouseInventoryRecord> createQueryWrapper(WarehouseInventoryRecordQuery query) {
// todo: 这里根据具体业务调整查询条件
// 多字段Like示例:qw.and(wrapper -> wrapper.like("name", query.getName()).or().like("remark", query.getName()));
QueryWrapper<WarehouseInventoryRecord> qw = new QueryWrapper<>();
return qw;
}
public PagerVo<WarehouseInventoryRecordVo> listPageVo(PagerQuery<WarehouseInventoryRecordQuery> pq) {
WarehouseInventoryRecordQuery query = pq.getParams();
QueryWrapper<WarehouseInventoryRecord> qw = createQueryWrapper(query);
IPage<WarehouseInventoryRecord> page = PagerUtil.queryToPage(pq);
IPage<WarehouseInventoryRecordVo> pagging = baseMapper.selectPageVo(page, qw);
PagerVo<WarehouseInventoryRecordVo> p = PagerUtil.pageToVo(pagging, null);
return p;
} }
public void saveOrUpdateDto(WarehouseInventoryRecordDto dto) { public void saveOrUpdateDto(WarehouseInventoryRecordDto dto) {
@ -50,11 +109,243 @@ public class WarehouseInventoryRecordService extends MybatisBaseService<Warehous
baseMapper.updateById(entity); baseMapper.updateById(entity);
} }
public WarehouseInventoryRecordDetailsVo fetchDetailsVoBySid(String sid) {
WarehouseInventoryRecord entity = fetchBySid(sid);
WarehouseInventoryRecordDetailsVo vo = new WarehouseInventoryRecordDetailsVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
public WarehouseInventoryCountReportVo inventoryStats(PagerQuery<WarehouseInventoryCountReportQuery> pq) {
WarehouseInventoryCountReportVo vo = new WarehouseInventoryCountReportVo();
WarehouseInventoryCountReportQuery query = pq.getParams();
if (StringUtils.isBlank(query.getStartDate()) || StringUtils.isBlank(query.getEndDate()) || StringUtils.isBlank(query.getSettleTime())) {
return vo;
}
String inItCount = "";//期初数量
String inboundCount = "";//入库数量
String outboundCount = "";//出库数量
String changeCount = "";//变化数量
String settleCount = "";//结存数量
if (StringUtils.isNotBlank(query.getSettleTime())) {
inItCount = baseMapper.selInItCountBySettleTime(query.getSettleTime());
}
QueryWrapper<WarehouseInventoryRecord> qw = new QueryWrapper<>();
qw.apply(StringUtils.isNotBlank(query.getStartDate()), "r.createTime >= '" + query.getStartDate() + "'").
apply(StringUtils.isNotBlank(query.getEndDate()), "r.createTime <= '" + query.getEndDate() + "'"
);
qw.eq("1", 1);
qw.groupBy("r.billType");
List<WarehouseInAndOutboundVo> reportVo = baseMapper.selInboundAndOutboundCount(qw);
if (!reportVo.isEmpty()) {
for (WarehouseInAndOutboundVo WarehouseInAndOutboundVo : reportVo) {
if (StringUtils.isNotBlank(WarehouseInAndOutboundVo.getBillType())) {
if (WarehouseInAndOutboundVo.getBillType().equals("1")) {
inboundCount = WarehouseInAndOutboundVo.getCount();
} else if (WarehouseInAndOutboundVo.getBillType().equals("0")) {
outboundCount = WarehouseInAndOutboundVo.getCount();
}
}
}
}
changeCount = (new BigDecimal(inboundCount).subtract(new BigDecimal(outboundCount))).toString();
settleCount = (new BigDecimal(inItCount).add(new BigDecimal(changeCount))).toString();
vo.setInItAmount(inItCount);
vo.setInboundAmount(inboundCount);
vo.setOutboundAmount(outboundCount);
vo.setChangeCount(changeCount);
vo.setSettleAmount(settleCount);
return vo;
}
public PagerVo<WarehouseInventoryCountDetailsVo> inventoryInboundStats(PagerQuery<WarehouseInventoryCountReportQuery> pq) {
WarehouseInventoryCountReportQuery query = pq.getParams();
QueryWrapper<WarehouseInventoryRecord> qw = new QueryWrapper<>();
qw.apply(StringUtils.isNotBlank(query.getStartDate()), "r.createTime >= '" + query.getStartDate() + "'").
apply(StringUtils.isNotBlank(query.getEndDate()), "r.createTime <= '" + query.getEndDate() + "'"
);
qw.eq("r.billType", "1");
qw.groupBy("r.busTypeKey");
IPage<WarehouseInventoryRecord> page = PagerUtil.queryToPage(pq);
IPage<WarehouseInventoryCountDetailsVo> pagging = baseMapper.inventoryInboundAndOutboundStats(page, qw);
PagerVo<WarehouseInventoryCountDetailsVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public PagerVo<WarehouseInventoryCountDetailsVo> inventoryOutboundStats(PagerQuery<WarehouseInventoryCountReportQuery> pq) {
WarehouseInventoryCountReportQuery query = pq.getParams();
QueryWrapper<WarehouseInventoryRecord> qw = new QueryWrapper<>();
qw.apply(StringUtils.isNotBlank(query.getStartDate()), "r.createTime >= '" + query.getStartDate() + "'").
apply(StringUtils.isNotBlank(query.getEndDate()), "r.createTime <= '" + query.getEndDate() + "'"
);
qw.eq("r.billType", "0");
qw.groupBy("r.busTypeKey");
IPage<WarehouseInventoryRecord> page = PagerUtil.queryToPage(pq);
IPage<WarehouseInventoryCountDetailsVo> pagging = baseMapper.inventoryInboundAndOutboundStats(page, qw);
PagerVo<WarehouseInventoryCountDetailsVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public PagerVo<WarehouseInventoryDetailsRecordVo> inventoryDetailsRecord(PagerQuery<WarehouseInventoryDetailsRecordQuery> pq) {
WarehouseInventoryDetailsRecordQuery query = pq.getParams();
QueryWrapper<WarehouseInventoryRecord> qw = new QueryWrapper<>();
qw.apply(StringUtils.isNotBlank(query.getStartDate()), "r.createTime >= '" + query.getStartDate() + "'").
apply(StringUtils.isNotBlank(query.getEndDate()), "r.createTime <= '" + query.getEndDate() + "'"
);
if (com.yxt.common.base.utils.StringUtils.isNotBlank(query.getBusTypeValue())) {
qw.like("r.busTypeValue", query.getBusTypeValue());
}
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.getGoodsSkuCode())) {
qw.like("r.goodsSkuCode", query.getGoodsSkuCode());
}
IPage<WarehouseInventoryRecord> page = PagerUtil.queryToPage(pq);
IPage<WarehouseInventoryDetailsRecordVo> pagging = baseMapper.inventoryDetailsRecord(page, qw);
PagerVo<WarehouseInventoryDetailsRecordVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean<List<WarehouseInventoryRecordListVo>> getWarehouseInventoryRecordList(String sid) {
ResultBean<List<WarehouseInventoryRecordListVo>> rb = ResultBean.fireFail();
List<WarehouseInventoryRecordListVo> list = baseMapper.getWarehouseInventoryRecordList(sid);
list.removeAll(Collections.singleton(null));
return rb.success().setData(list);
}
public PagerVo<WarehouseInventoryRecordsVo> listPage(PagerQuery<WarehouseInventoryRecordsQuery> pagerQuery) { public PagerVo<WarehouseInventoryRecordsVo> listPage(PagerQuery<WarehouseInventoryRecordsQuery> pagerQuery) {
return null; WarehouseInventoryRecordsQuery query = pagerQuery.getParams();
QueryWrapper<WarehouseInventoryRecord> qw = new QueryWrapper<>();
//ToDo:添加查询条件
if (StringUtils.isNotBlank(query.getGoodsID())) {
qw.like("wir.goodsID", query.getGoodsID());
}
//商品名称
if (StringUtils.isNotBlank(query.getGoodsSpuName())) {
qw.like("wir.goodsSpuName", query.getGoodsSpuName());
}
//商品编码
if (StringUtils.isNotBlank(query.getGoodsSkuCode())) {
qw.like("wir.goodsSkuCode", query.getGoodsSkuCode());
}
//仓库名称
if (StringUtils.isNotBlank(query.getWarehouseName())) {
qw.like("wir.warehouseName", query.getWarehouseName());
}
//库位编号
if (StringUtils.isNotBlank(query.getWarehouseRackCode())) {
qw.like("wir.warehouseRackCode", query.getWarehouseRackCode());
}
//客户/供应商名称
if (StringUtils.isNotBlank(query.getBillObjName())) {
qw.like("wir.billObjName", query.getBillObjName());
}
//批次号
if (StringUtils.isNotBlank(query.getBatchNumber())) {
qw.like("wir.batchNumber", query.getBatchNumber());
}
//来源单据编号
if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("wir.billNo", query.getBillNo());
}
//单据类型
if (StringUtils.isNotBlank(query.getBillType())) {
qw.like("wir.billType", query.getBillType());
}
//业务类型
if (StringUtils.isNotBlank(query.getBusTypeValue())) {
qw.like("wir.busTypeValue", query.getBusTypeValue());
}
//单据日期开始时间-单据日期结束时间
qw.apply(StringUtils.isNotBlank(query.getCreateTimeStart()), "date_format (wir.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')").
apply(com.yxt.common.base.utils.StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (wir.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')"
);
IPage<WarehouseInventoryRecord> page = PagerUtil.queryToPage(pagerQuery);
IPage<WarehouseInventoryRecordsVo> pagging = baseMapper.listPage(page, qw);
PagerVo<WarehouseInventoryRecordsVo> p = PagerUtil.pageToVo(pagging, null);
return p;
} }
public List<WarehouseInventoryRecordsExcelVo> listExcel(WarehouseInventoryRecordsQuery query) { public List<WarehouseInventoryRecordsExcelVo> listExcel(WarehouseInventoryRecordsQuery query) {
return null; QueryWrapper<WarehouseInventoryRecord> qw = new QueryWrapper<>();
//ToDo:添加查询条件
if (StringUtils.isNotBlank(query.getGoodsID())) {
qw.like("wir.goodsID", query.getGoodsID());
}
//商品名称
if (StringUtils.isNotBlank(query.getGoodsSpuName())) {
qw.like("wir.goodsSpuName", query.getGoodsSpuName());
}
//商品编码
if (StringUtils.isNotBlank(query.getGoodsSkuCode())) {
qw.like("wir.goodsSkuCode", query.getGoodsSkuCode());
}
//仓库名称
if (StringUtils.isNotBlank(query.getWarehouseName())) {
qw.like("wir.warehouseName", query.getWarehouseName());
}
//库位编号
if (StringUtils.isNotBlank(query.getWarehouseRackCode())) {
qw.like("wir.warehouseRackCode", query.getWarehouseRackCode());
}
//客户/供应商名称
if (StringUtils.isNotBlank(query.getBillObjName())) {
qw.like("wir.billObjName", query.getBillObjName());
}
//批次号
if (StringUtils.isNotBlank(query.getBatchNumber())) {
qw.like("wir.batchNumber", query.getBatchNumber());
}
//来源单据编号
if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("wir.billNo", query.getBillNo());
}
//单据类型
if (StringUtils.isNotBlank(query.getBillType())) {
qw.like("wir.billType", query.getBillType());
}
//业务类型
if (StringUtils.isNotBlank(query.getBusTypeValue())) {
qw.like("wir.busTypeValue", query.getBusTypeValue());
}
//单据日期开始时间-单据日期结束时间
qw.apply(StringUtils.isNotBlank(query.getCreateTimeStart()), "date_format (wir.createTime,'%Y-%m-%d') >= date_format('" + query.getCreateTimeStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getCreateTimeEnd()), "date_format (wir.createTime,'%Y-%m-%d') <= date_format('" + query.getCreateTimeEnd() + "','%Y-%m-%d')"
);
List<WarehouseInventoryRecordsExcelVo> list = baseMapper.listExcel(qw);
list.removeAll(Collections.singleton(null));
return list;
}
public List<WarehouseOldInventoryDetailsListVo> getDetailsList(String sid) {
return baseMapper.getDetailsList(sid);
}
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);
}
public List<WarehouseInventoryRecord> selBySourceSid(String sid) {
return baseMapper.selBySourceSid(sid);
}
public List<WarehouseInventoryRecord> selBySourceSidAndSkuCode(String sid, String goodsSkuCode) {
return baseMapper.selBySourceSidAndSkuCode(sid,goodsSkuCode);
} }
} }

102
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordVo.java

@ -0,0 +1,102 @@
/*********************************************************
*********************************************************
******************** *******************
************* ************
******* _oo0oo_ *******
*** o8888888o ***
* 88" . "88 *
* (| -_- |) *
* 0\ = /0 *
* ___/`---'\___ *
* .' \\| |// '. *
* / \\||| : |||// \ *
* / _||||| -:- |||||- \ *
* | | \\\ - /// | | *
* | \_| ''\---/'' |_/ | *
* \ .-\__ '-' ___/-. / *
* ___'. .' /--.--\ `. .'___ *
* ."" '< `.___\_<|>_/___.' >' "". *
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
* \ \ `_. \_ __\ /__ _/ .-` / / *
* =====`-.____`.___ \_____/___.-`___.-'===== *
* `=---=' *
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
*********************************************************/
package com.yxt.warehouse.biz.warehouseinventoryrecord;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
/**
* Project: wms(yxt) <br/>
* File: WmsInventoryRecordVo.java <br/>
* Class: inventroy.api.wmsinventoryrecord.WmsInventoryRecordVo <br/>
* Description: 库存出入库记录 视图数据对象. <br/>
* Copyright: Copyright (c) 2011 <br/>
* Company: https://gitee.com/liuzp315 <br/>
* Makedate: 2024-04-08 17:27:39 <br/>
*
* @author liupopo
* @version 1.0
* @since 1.0
*/
@Data
@ApiModel(value = "库存出入库记录 视图数据对象", description = "库存出入库记录 视图数据对象")
public class WarehouseInventoryRecordVo implements Vo {
private String sid; // sid
@ApiModelProperty("库存sid")
private String inventorySid; // 库存sid
@ApiModelProperty("商品ID")
private String goodsID; // 商品ID
@ApiModelProperty("来源单sid(业务单sid)")
private String sourceBillSid; // 来源单sid(业务单sid)
@ApiModelProperty("来源单据编号")
private String billNo; // 来源单据编号
@ApiModelProperty("单据类型(1入库、0出库)")
private String billType; // 单据类型(1入库、0出库)
@ApiModelProperty("业务类型key(采购入库、维修出入库、销售出入库等)")
private String busTypeKey; // 业务类型key(采购入库、维修出入库、销售出入库等)
@ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)")
private String busTypeValue; // 业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)
@ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商")
private String billObjSid; // 客户/供应商sid,出库是为客户,入库时为供应商
@ApiModelProperty("客户/供应商名称")
private String billObjName; // 客户/供应商名称
@ApiModelProperty("批次号")
private String batchNumber; // 批次号
@ApiModelProperty("商品基础信息Sid")
private String goodSpuSid; // 商品基础信息Sid
@ApiModelProperty("商品名称")
private String goodsSpuName; // 商品名称
@ApiModelProperty("商品Skusid")
private String goodsSkuSid; // 商品Skusid
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle; // 商品Sku名称
@ApiModelProperty("商品编码(图号)")
private String goodsSkuCode; // 商品编码(图号)
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; // 规格型号
@ApiModelProperty("出入库后的库存量")
private BigDecimal currentCount; // 出入库后的库存量
@ApiModelProperty("计量单位")
private String unit; // 计量单位
@ApiModelProperty("数量")
private BigDecimal count; // 数量
@ApiModelProperty("仓库sid")
private String warehouseSid; // 仓库sid
@ApiModelProperty("仓库名称")
private String warehouseName; // 仓库名称
@ApiModelProperty("库位sid")
private String warehouseRackSid; // 库位sid
@ApiModelProperty("库位编号")
private String warehouseRackCode; // 库位编号
}

9
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/WarehouseInventoryRecordsVo.java

@ -21,6 +21,8 @@ public class WarehouseInventoryRecordsVo {
private String goodsSkuOwnSpec; private String goodsSkuOwnSpec;
@ApiModelProperty("仓库名称") @ApiModelProperty("仓库名称")
private String warehouseName; private String warehouseName;
@ApiModelProperty("库区名称")
private String warehouseAreaName;
@ApiModelProperty("库位编号") @ApiModelProperty("库位编号")
private String warehouseRackCode; private String warehouseRackCode;
@ApiModelProperty("来源单据编号") @ApiModelProperty("来源单据编号")
@ -40,6 +42,9 @@ public class WarehouseInventoryRecordsVo {
private String count; private String count;
@ApiModelProperty("计量单位") @ApiModelProperty("计量单位")
private String unit; private String unit;
@ApiModelProperty("操作人")
private String createBySid;
private String createByName;
@ApiModelProperty("经办人")
private String handlerName;
} }

14
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/report/WarehouseInAndOutboundVo.java

@ -0,0 +1,14 @@
package com.yxt.warehouse.biz.warehouseinventoryrecord.report;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/9 15:44
*/
@Data
public class WarehouseInAndOutboundVo {
private String count;
private String billType;
}

18
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/report/WarehouseInventoryCountDetailsVo.java

@ -0,0 +1,18 @@
package com.yxt.warehouse.biz.warehouseinventoryrecord.report;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/8 17:49
*/
@Data
public class WarehouseInventoryCountDetailsVo implements Vo {
private String busTypeValue;//业务类型
private String amountTax;//金额(含税)
private String amount;//金额
private String count;//数量
}

19
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/report/WarehouseInventoryCountReportQuery.java

@ -0,0 +1,19 @@
package com.yxt.warehouse.biz.warehouseinventoryrecord.report;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/8 17:48
*/
@Data
public class WarehouseInventoryCountReportQuery implements Query {
private String settleTime;
private String startDate;
private String endDate;
private String useOrgSid;
}

29
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/report/WarehouseInventoryCountReportVo.java

@ -0,0 +1,29 @@
package com.yxt.warehouse.biz.warehouseinventoryrecord.report;
import com.yxt.common.core.vo.Vo;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/8 17:48
*/
@Data
public class WarehouseInventoryCountReportVo implements Vo {
private String inItCount;//期初数量
private String inItAmountTax;//期初金额(含税)
private String inItAmount;//期初金额
private String inboundCount;//入库数量
private String inboundAmountTax;//入库金额(含税)
private String inboundAmount;//入库金额
private String outboundCount;//出库数量
private String outboundAmountTax;//出库金额(含税)
private String outboundAmount;//出库金额
private String changeCount;//变化数量
private String changeAmountTax;//变化金额(含税)
private String changeAmount;//变化金额
private String settleCount;//结存数量
private String settleAmountTax;//结存金额(含税)
private String settleAmount;//结存金额
}

24
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/report/WarehouseInventoryDetailsRecordQuery.java

@ -0,0 +1,24 @@
package com.yxt.warehouse.biz.warehouseinventoryrecord.report;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/9 8:56
*/
@Data
public class WarehouseInventoryDetailsRecordQuery implements Query {
private String startDate;
private String endDate;
@ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)")
private String busTypeValue; // 业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)
@ApiModelProperty("商品名称")
private String goodsSpuName; // 商品名称
@ApiModelProperty("商品编码(图号)")
private String goodsSkuCode; // 商品编码(图号)
@ApiModelProperty("仓库名称")
private String warehouseName; // 仓库名称
}

41
src/main/java/com/yxt/warehouse/biz/warehouseinventoryrecord/report/WarehouseInventoryDetailsRecordVo.java

@ -0,0 +1,41 @@
package com.yxt.warehouse.biz.warehouseinventoryrecord.report;
import com.yxt.common.core.vo.Vo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/4/9 8:56
*/
@Data
public class WarehouseInventoryDetailsRecordVo implements Vo {
@ApiModelProperty("出入库时间")
private String createTime; // 出入库时间
@ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)")
private String busTypeValue; // 业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)
@ApiModelProperty("商品名称")
private String goodsSpuName; // 商品名称
@ApiModelProperty("出入库后的库存量")
private String currentCount;
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle; // 商品Sku名称
@ApiModelProperty("商品编码(图号)")
private String goodsSkuCode; // 商品编码(图号)
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec; // 规格型号
@ApiModelProperty("期初数量")
private String initCount; // 出入库后的库存量
@ApiModelProperty("计量单位")
private String unit; // 计量单位
@ApiModelProperty("数量")
private String count; // 数量
@ApiModelProperty("仓库名称")
private String warehouseName; // 仓库名称
@ApiModelProperty("库位编号")
private String warehouseRackCode; // 库位编号
}

49
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventory.java

@ -0,0 +1,49 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
import com.yxt.common.core.domain.BaseEntity;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class WarehouseOldInventory extends BaseEntity {
//商品ID
private String goodsID;
//商品名称
private String goodsSkuTitle;
//商品编码
private String goodsSkuCode;
//厂家
private String manufacturerName;
//规格
private String goodsSkuOwnSpec;
//单位
private String unit;
//数量
private String count;
//已入库数量
private String inCount;
//维修工单编号
private String billNo;
//客户名称
private String customerName;
//车牌号
private String vehMark;
//车架号
private String vinNo;
}

30
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryDetailsListVo.java

@ -0,0 +1,30 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class WarehouseOldInventoryDetailsListVo {
//来源单号
private String billNo;
//单据类型
private String billType;
//发生时间
private String createTime;
//业务类型
private String busTypeValue;
//数量
private String count;
//出入库后的库存
private String currentCount;
}

35
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryDetailsVo.java

@ -0,0 +1,35 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class WarehouseOldInventoryDetailsVo {
//车架号
private String vinNo;
//商品名称
private String goodsSpuName;
//商品编码
private String goodsSkuCode;
//厂家
private String manufacturerName;
//仓库
private String warehouseName;
//库位
private String warehouseRackCode;
private List<WarehouseOldInventoryDetailsListVo> list = new ArrayList<>();
}

47
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryDto.java

@ -0,0 +1,47 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class WarehouseOldInventoryDto {
private String sid;
//维修工单编号
private String sourceBillNo;
//厂家
private String manufacturerName;
//商品基础信息sid
private String goodSpuSid;
//商品名称
private String goodsSpuName;
//商品Skusid
private String goodsSkuSid;
//商品Sku名称
private String goodsSkuTitle;
//商品编码(图号)
private String goodsSkuCode;
//规格型号
private String goodsSkuOwnSpec;
//计量单位
private String unit;
//未入库数量
private String notInCount;
//仓库
private String warehouseSid;
private String warehouseName;
//库位
private String warehouseRackSid;
private String warehouseRackCode;
//入库数量(现有量)
private String count;
private String createBySid;
private String orgPath;
}

60
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryExcelVo.java

@ -0,0 +1,60 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
import com.yxt.common.core.utils.ExportEntityMap;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class WarehouseOldInventoryExcelVo {
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
//车架号
@ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo;
//车牌号
@ExportEntityMap(CnName = "车牌号", EnName = "vehMark")
private String vehMark;
//商品ID
@ExportEntityMap(CnName = "商品ID", EnName = "goodsID")
private String goodsID;
//商品名称
@ExportEntityMap(CnName = "商品名称", EnName = "goodsSpuName")
private String goodsSpuName;
//商品编码
@ExportEntityMap(CnName = "商品编码", EnName = "goodsSkuCode")
private String goodsSkuCode;
//厂家
@ExportEntityMap(CnName = "厂家", EnName = "manufacturerName")
private String manufacturerName;
//规格
@ExportEntityMap(CnName = "规格", EnName = "goodsSkuOwnSpec")
private String goodsSkuOwnSpec;
//单位
@ExportEntityMap(CnName = "单位", EnName = "unit")
private String unit;
//仓库
@ExportEntityMap(CnName = "仓库", EnName = "warehouseName")
private String warehouseName;
//库位
@ExportEntityMap(CnName = "库位", EnName = "warehouseRackCode")
private String warehouseRackCode;
//库存数量
@ExportEntityMap(CnName = "库存数量", EnName = "inventoryCount")
private String inventoryCount;
}

40
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryInitVo.java

@ -0,0 +1,40 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class WarehouseOldInventoryInitVo {
private String sid;
//维修工单编号
private String sourceBillNo;
//商品名称
private String goodsSkuTitle;
//商品编码
private String goodsSkuCode;
//车架号
private String vinNo;
//车牌号
private String vehMark;
//厂家
private String manufacturerName;
//规格
private String goodsSkuOwnSpec;
//仓库
private String warehouseSid;
private String warehouseName;
//库位
private String warehouseRackSid;
private String warehouseRackCode;
//单位
private String unit;
//未入库数量
private Integer notInCount;
//入库数量
private Integer count;
}

32
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryMapper.java

@ -0,0 +1,32 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
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 org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Mapper
public interface WarehouseOldInventoryMapper extends BaseMapper<WarehouseOldInventory> {
IPage<WarehouseOldInventoryVo> listPage(IPage<WarehouseOldInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseOldInventory> qw);
WarehouseOldInventoryInitVo selectInit(String sid);
IPage<WarehouseOldInventoryPageListVo> oldPageList(IPage<WarehouseOldInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseOldInventory> qw);
List<WarehouseOldInventoryExcelVo> listExcel(@Param(Constants.WRAPPER) QueryWrapper<WarehouseOldInventory> qw);
WarehouseOldInventoryDetailsVo getDetailsList(String sid);
IPage<WarehouseOldInventoryRecordList> recordList(IPage<WarehouseOldInventory> page, @Param(Constants.WRAPPER) QueryWrapper<WarehouseOldInventory> qw);
List<WarehouseOldInventoryRecordListExcelVo> excelRecordList(@Param(Constants.WRAPPER) QueryWrapper<WarehouseOldInventory> qw);
}

154
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryMapper.xml

@ -0,0 +1,154 @@
<?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.wms.biz.func.warehouseoldinventory.WarehouseOldInventoryMapper">
<select id="listPage" resultType="com.yxt.wms.biz.func.warehouseoldinventory.WarehouseOldInventoryVo">
select woi.sid,
woi.goodsID,
woi.goodsSkuTitle,
woi.goodsSkuCode,
woi.manufacturerName,
woi.goodsSkuOwnSpec,
woi.unit,
woi.count,
woi.inCount,
woi.billNo,
woi.customerName,
woi.vehMark,
woi.vinNo,
wor.shortss,
wor.photos
from wms_old_inventory woi
left join wms_old_register wor
on woi.billNo = wor.billNo
<where>
${ew.sqlSegment}
</where>
</select>
<select id="selectInit" resultType="com.yxt.wms.biz.func.warehouseoldinventory.WarehouseOldInventoryInitVo">
SELECT
woi.sid,
woi.billNo AS sourceBillNo,
woi.goodsSkuTitle,
woi.goodsSkuCode,
woi.vinNo,
woi.vehMark,
woi.manufacturerName,
woi.goodsSkuOwnSpec,
woi.unit,
(woi.count - woi.inCount) / 1 AS notInCount,
(woi.count - woi.inCount) / 1 AS count
FROM
warehouse_old_inventory woi
where woi.sid = #{sid}
</select>
<select id="oldPageList" resultType="com.yxt.wms.biz.func.warehouseoldinventory.WarehouseOldInventoryPageListVo">
SELECT wi.sid,
wi.goodsID,
wi.goodsSpuName,
wi.goodsSkuCode,
wi.goodsSkuOwnSpec,
wi.unit,
wi.warehouseName,
wi.warehouseRackCode,
wi.count inventoryCount,
abbv.vehMark,
abbv.vinNo,
wib.supplierName as manufacturerName
FROM warehouse_inventory wi
LEFT JOIN warehouse_inventory_batch wib
ON wi.sid = wib.`inventorySid`
LEFT JOIN yxt_4sas.as_busrepair_bill_vech abbv
ON wib.billSid = abbv.`billSid`
<where>
${ew.sqlSegment}
</where>
</select>
<select id="listExcel" resultType="com.yxt.wms.biz.func.warehouseoldinventory.WarehouseOldInventoryExcelVo">
select wi.sid,
wi.goodsID,
wi.goodsSpuName,
wi.goodsSkuCode,
wi.goodsSkuOwnSpec,
wi.unit,
wi.warehouseName,
wi.warehouseRackCode,
wi.count inventoryCount,
(@rank := @rank + 1) rankNo,
abbv.vehMark,
abbv.vinNo,
wib.supplierName as manufacturerName
from warehouse_inventory wi
LEFT JOIN warehouse_inventory_batch wib
ON wi.sid = wib.`inventorySid`
LEFT JOIN yxt_4sas.as_busrepair_bill_vech abbv
ON wib.billSid = abbv.`billSid`,
(SELECT @rank := 0) t
<where>
${ew.sqlSegment}
</where>
</select>
<select id="getDetailsList" resultType="com.yxt.wms.biz.func.warehouseoldinventory.WarehouseOldInventoryDetailsVo">
select wi.goodsSpuName, wi.goodsSkuCode, wi.warehouseName, wi.warehouseRackCode,abbv.vinNo,wib.supplierName as manufacturerName
from warehouse_inventory wi
LEFT JOIN warehouse_inventory_batch wib
ON wi.sid = wib.`inventorySid`
LEFT JOIN yxt_4sas.as_busrepair_bill_vech abbv
ON wib.billSid = abbv.`billSid`
where wi.sid = #{sid}
</select>
<select id="recordList" resultType="com.yxt.wms.biz.func.warehouseoldinventory.WarehouseOldInventoryRecordList">
select wir.goodsID,
wir.goodsSpuName,
wir.goodsSkuCode,
wir.goodsSkuOwnSpec,
wir.unit,
wir.warehouseName,
wir.warehouseRackCode,
wir.billNo,
wir.billType,
DATE_FORMAT(wir.createTime, '%Y-%m-%d') as createTime,
wir.busTypeValue,
wir.count,
wir.currentCount,
wir.billObjName as manufacturerName,
abbv.vinNo
from warehouse_inventory_record wir
LEFT JOIN warehouse_inventory_batch wib
ON wir.inventorySid = wib.`inventorySid`
LEFT JOIN yxt_4sas.as_busrepair_bill_vech abbv
ON wib.billSid = abbv.`billSid`
<where>
${ew.sqlSegment}
</where>
order by wir.createTime desc
</select>
<select id="excelRecordList"
resultType="com.yxt.wms.biz.func.warehouseoldinventory.WarehouseOldInventoryRecordListExcelVo">
select wir.goodsID,
wir.goodsSpuName,
wir.goodsSkuCode,
wir.goodsSkuOwnSpec,
wir.unit,
wir.warehouseName,
wir.warehouseRackCode,
wir.billNo,
wir.billType,
DATE_FORMAT(wir.createTime, '%Y-%m-%d') as createTime,
wir.busTypeValue,
wir.count,
wir.currentCount,
(@rank := @rank + 1) rankNo
from warehouse_inventory_record wir,
(SELECT @rank := 0) t
<where>
${ew.sqlSegment}
</where>
order by wir.createTime desc
</select>
</mapper>

38
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryPageListQuery.java

@ -0,0 +1,38 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class WarehouseOldInventoryPageListQuery implements Query {
//商品id
private String goodsID;
//商品名称
private String goodsSpuName;
//商品编码
private String goodsSkuCode;
//仓库
private String warehouseName;
//库位
private String warehouseRackCode;
//厂家
private String manufacturerName;
//车架号
private String vinNo;
private String createBySid;
private String orgPath;
}

45
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryPageListVo.java

@ -0,0 +1,45 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class WarehouseOldInventoryPageListVo {
private String sid;
//车架号
private String vinNo;
//车牌号
private String vehMark;
//商品ID
private String goodsID;
//商品名称
private String goodsSpuName;
//商品编码
private String goodsSkuCode;
//厂家
private String manufacturerName;
//规格
private String goodsSkuOwnSpec;
//单位
private String unit;
//仓库
private String warehouseName;
//库位
private String warehouseRackCode;
//库存数量
private String inventoryCount;
}

40
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryPush.java

@ -0,0 +1,40 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class WarehouseOldInventoryPush {
private String sid;
private String remarks;
private String createBySid;
//商品ID
private String goodsID;
//商品Sku名称
private String goodsSkuTitle;
//商品编码(图号)
private String goodsSkuCode;
//厂家
private String manufacturerName;
//规格型号
private String goodsSkuOwnSpec;
//计量单位
private String unit;
//数量
private String count;
//已入库数量
private String inCount;
//维修工单编号
private String billNo;
//客户名称
private String customerName;
// 车牌号
private String vehMark;
//车架号
private String vinNo;
}

26
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryQuery.java

@ -0,0 +1,26 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class WarehouseOldInventoryQuery implements Query {
//商品名称
private String goodsSpuName;
//商品编码
private String goodsSkuCode;
//维修工单编号
private String billNo;
//车牌号
private String vehMark;
//用户sid
private String createBySid;
//全组织路径sid
private String orgPath;
}

57
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryRecordList.java

@ -0,0 +1,57 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class WarehouseOldInventoryRecordList {
//车架号
private String vinNo;
//商品ID
private String goodsID;
//商品名称
private String goodsSpuName;
//商品编码
private String goodsSkuCode;
//厂家
private String manufacturerName;
//规格
private String goodsSkuOwnSpec;
//单位
private String unit;
//仓库
private String warehouseName;
//库位
private String warehouseRackCode;
//来源单号
private String billNo;
//单据类型
private String billType;
//发生时间
private String createTime;
//业务类型
private String busTypeValue;
//数量
private String count;
//出入库后的库存
private String currentCount;
}

76
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryRecordListExcelVo.java

@ -0,0 +1,76 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
import com.yxt.common.core.utils.ExportEntityMap;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class WarehouseOldInventoryRecordListExcelVo {
@ExportEntityMap(CnName = "序号", EnName = "rankNo")
private Integer rankNo;
//车架号
@ExportEntityMap(CnName = "车架号", EnName = "vinNo")
private String vinNo;
//商品ID
@ExportEntityMap(CnName = "商品ID", EnName = "goodsID")
private String goodsID;
//商品名称
@ExportEntityMap(CnName = "商品名称", EnName = "goodsSpuName")
private String goodsSpuName;
//商品编码
@ExportEntityMap(CnName = "商品编码", EnName = "goodsSkuCode")
private String goodsSkuCode;
//厂家
@ExportEntityMap(CnName = "厂家", EnName = "manufacturerName")
private String manufacturerName;
//规格
@ExportEntityMap(CnName = "规格", EnName = "goodsSkuOwnSpec")
private String goodsSkuOwnSpec;
//单位
@ExportEntityMap(CnName = "单位", EnName = "unit")
private String unit;
//仓库
@ExportEntityMap(CnName = "仓库", EnName = "warehouseName")
private String warehouseName;
//库位
@ExportEntityMap(CnName = "库位", EnName = "warehouseRackCode")
private String warehouseRackCode;
//来源单号
@ExportEntityMap(CnName = "来源单号", EnName = "billNo")
private String billNo;
//单据类型
@ExportEntityMap(CnName = "单据类型", EnName = "billType")
private String billType;
//发生时间
@ExportEntityMap(CnName = "发生时间", EnName = "createTime")
private String createTime;
//业务类型
@ExportEntityMap(CnName = "业务类型", EnName = "busTypeValue")
private String busTypeValue;
//数量
@ExportEntityMap(CnName = "数量", EnName = "count")
private String count;
//出入库后的库存
@ExportEntityMap(CnName = "出入库后的库存", EnName = "currentCount")
private String currentCount;
}

49
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryRecordListQuery.java

@ -0,0 +1,49 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class WarehouseOldInventoryRecordListQuery implements Query {
//商品ID
private String goodsID;
//商品名称
private String goodsSpuName;
//商品编码
private String goodsSkuCode;
//仓库
private String warehouseName;
//库位
private String warehouseRackCode;
//厂家
private String manufacturerName;
//车架号
private String vinNo;
//来源单号
private String billNo;
//单据类型
private String billType;
//业务类型
private String busTypeValue;
//发生时间开始时间
private String createTimeStart;
//发生时间结束时间
private String createTimeEnd;
}

15
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryService.java

@ -0,0 +1,15 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
import com.yxt.common.base.service.MybatisBaseService;
import org.springframework.stereotype.Service;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Service
public class WarehouseOldInventoryService extends MybatisBaseService<WarehouseOldInventoryMapper, WarehouseOldInventory> {
}

60
src/main/java/com/yxt/warehouse/biz/warehouseoldinventory/WarehouseOldInventoryVo.java

@ -0,0 +1,60 @@
package com.yxt.warehouse.biz.warehouseoldinventory;
import lombok.Data;
import java.util.ArrayList;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/28
**/
@Data
public class WarehouseOldInventoryVo {
private String sid;
//商品ID
private String goodsID;
//商品名称
private String goodsSkuTitle;
//商品编码
private String goodsSkuCode;
//厂家
private String manufacturerName;
//规格
private String goodsSkuOwnSpec;
//单位
private String unit;
//数量
private String count;
//已入库数量
private String inCount;
//维修工单编号
private String billNo;
//客户名称
private String customerName;
//车牌号
private String vehMark;
//车架号
private String vinNo;
//旧件回收说明
private String shortss;
private String photos;
//旧件照片
private List<String> photosList = new ArrayList<>();
}

4
src/main/java/com/yxt/warehouse/biz/warehouseshelfbill/WarehouseShelfBillService.java

@ -105,7 +105,7 @@ public class WarehouseShelfBillService extends MybatisBaseService<WarehouseShelf
baseMapper.updateById(wmsShelfBill); baseMapper.updateById(wmsShelfBill);
} }
saveWmsInventory(sid); // saveWmsInventory(sid);
//新增出入库记录 //新增出入库记录
return rb.success().setData(sid); return rb.success().setData(sid);
@ -154,7 +154,7 @@ public class WarehouseShelfBillService extends MybatisBaseService<WarehouseShelf
wmsInventoryRecordDto.setGoodsSkuSid(dto.getGoodsSkuSid()); wmsInventoryRecordDto.setGoodsSkuSid(dto.getGoodsSkuSid());
wmsInventoryRecordDto.setGoodsSkuCode(dto.getGoodsSkuCode()); wmsInventoryRecordDto.setGoodsSkuCode(dto.getGoodsSkuCode());
wmsInventoryRecordDto.setUnit(dto.getUnit()); wmsInventoryRecordDto.setUnit(dto.getUnit());
wmsInventoryRecordDto.setCurrentCount(StringUtils.isNotBlank(dto.getCount()) ? new BigDecimal(dto.getCount()) : BigDecimal.ZERO); // wmsInventoryRecordDto.setCurrentCount(StringUtils.isNotBlank(dto.getCount()) ? new BigDecimal(dto.getCount()) : BigDecimal.ZERO);
wmsInventoryRecordDto.setWarehouseSid(dto.getWarehouseSid()); wmsInventoryRecordDto.setWarehouseSid(dto.getWarehouseSid());
wmsInventoryRecordDto.setWarehouseName(dto.getWarehouseName()); wmsInventoryRecordDto.setWarehouseName(dto.getWarehouseName());
wmsInventoryRecordDto.setWarehouseRackSid(dto.getWarehouseRackSid()); wmsInventoryRecordDto.setWarehouseRackSid(dto.getWarehouseRackSid());

Loading…
Cancel
Save