6/26
This commit is contained in:
@@ -1,12 +1,36 @@
|
||||
|
||||
/*********************************************************
|
||||
*********************************************************
|
||||
******************** *******************
|
||||
************* ************
|
||||
******* _oo0oo_ *******
|
||||
*** o8888888o ***
|
||||
* 88" . "88 *
|
||||
* (| -_- |) *
|
||||
* 0\ = /0 *
|
||||
* ___/`---'\___ *
|
||||
* .' \\| |// '. *
|
||||
* / \\||| : |||// \ *
|
||||
* / _||||| -:- |||||- \ *
|
||||
* | | \\\ - /// | | *
|
||||
* | \_| ''\---/'' |_/ | *
|
||||
* \ .-\__ '-' ___/-. / *
|
||||
* ___'. .' /--.--\ `. .'___ *
|
||||
* ."" '< `.___\_<|>_/___.' >' "". *
|
||||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
|
||||
* \ \ `_. \_ __\ /__ _/ .-` / / *
|
||||
* =====`-.____`.___ \_____/___.-`___.-'===== *
|
||||
* `=---=' *
|
||||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
|
||||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
|
||||
*********************************************************/
|
||||
package com.yxt.warehouse.apiadmin;
|
||||
|
||||
import com.yxt.common.base.utils.ExportExcelUtils;
|
||||
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.warehouseinventoryrecord.*;
|
||||
import com.yxt.warehouse.biz.warehouseinventoryrecord.report.*;
|
||||
import io.swagger.annotations.Api;
|
||||
import io.swagger.annotations.ApiOperation;
|
||||
import org.springframework.beans.factory.annotation.Autowired;
|
||||
@@ -17,45 +41,132 @@ import java.io.UnsupportedEncodingException;
|
||||
import java.net.URLEncoder;
|
||||
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 = "库存出入库记录")
|
||||
@RestController
|
||||
@RequestMapping("/apiadmin/inventory/Storageinventoryrecord")
|
||||
@RequestMapping("/apiadmin/warehouseinventoryrecord")
|
||||
public class WarehouseInventoryRecordRest {
|
||||
|
||||
@Autowired
|
||||
private WarehouseInventoryRecordService warehouseInventoryRecordService;
|
||||
@Autowired
|
||||
private WarehouseInventoryRecordService warehouseInventoryRecordService;
|
||||
|
||||
@Autowired
|
||||
HttpServletResponse response;
|
||||
@Autowired
|
||||
HttpServletResponse response;
|
||||
|
||||
@ApiOperation("根据库存sid获取出入库记录")
|
||||
@GetMapping("/getStorageInventoryRecordList")
|
||||
ResultBean<List<WarehouseInventoryRecordListVo>> getStorageInventoryRecordList(@RequestParam("sid") String sid) {
|
||||
return warehouseInventoryRecordService.getStorageInventoryRecordList(sid);
|
||||
}
|
||||
@ApiOperation("收发存明细报表")
|
||||
@PostMapping("/inventoryDetailsRecord")
|
||||
public ResultBean<PagerVo<WarehouseInventoryDetailsRecordVo>> inventoryDetailsRecord(@RequestBody PagerQuery<WarehouseInventoryDetailsRecordQuery> pq){
|
||||
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) {
|
||||
ResultBean<PagerVo<WarehouseInventoryRecordsVo>> rb = ResultBean.fireFail();
|
||||
PagerVo<WarehouseInventoryRecordsVo> pv = warehouseInventoryRecordService.listPage(pagerQuery);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
@ApiOperation("库存统计报表")
|
||||
@PostMapping("/inventoryStats")
|
||||
public ResultBean<WarehouseInventoryCountReportVo> inventoryStats(@RequestBody PagerQuery<WarehouseInventoryCountReportQuery> pq){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
WarehouseInventoryCountReportVo vo = warehouseInventoryRecordService.inventoryStats(pq);
|
||||
return rb.success().setData(vo);
|
||||
}
|
||||
|
||||
@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);
|
||||
@ApiOperation("入库统计报表详情")
|
||||
@PostMapping("/inventoryInboundStats")
|
||||
public ResultBean<PagerVo<WarehouseInventoryCountDetailsVo>> inventoryInboundStats(@RequestBody PagerQuery<WarehouseInventoryCountReportQuery> pq){
|
||||
ResultBean rb = ResultBean.fireFail();
|
||||
PagerVo<WarehouseInventoryCountDetailsVo> pv = warehouseInventoryRecordService.inventoryInboundStats(pq);
|
||||
return rb.success().setData(pv);
|
||||
}
|
||||
|
||||
}
|
||||
@ApiOperation("出库统计报表详情")
|
||||
@PostMapping("/inventoryOutboundStats")
|
||||
public ResultBean<PagerVo<WarehouseInventoryCountDetailsVo>> inventoryOutboundStats(@RequestBody PagerQuery<WarehouseInventoryCountReportQuery> pq){
|
||||
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);
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,65 +1,111 @@
|
||||
/*********************************************************
|
||||
*********************************************************
|
||||
******************** *******************
|
||||
************* ************
|
||||
******* _oo0oo_ *******
|
||||
*** o8888888o ***
|
||||
* 88" . "88 *
|
||||
* (| -_- |) *
|
||||
* 0\ = /0 *
|
||||
* ___/`---'\___ *
|
||||
* .' \\| |// '. *
|
||||
* / \\||| : |||// \ *
|
||||
* / _||||| -:- |||||- \ *
|
||||
* | | \\\ - /// | | *
|
||||
* | \_| ''\---/'' |_/ | *
|
||||
* \ .-\__ '-' ___/-. / *
|
||||
* ___'. .' /--.--\ `. .'___ *
|
||||
* ."" '< `.___\_<|>_/___.' >' "". *
|
||||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
|
||||
* \ \ `_. \_ __\ /__ _/ .-` / / *
|
||||
* =====`-.____`.___ \_____/___.-`___.-'===== *
|
||||
* `=---=' *
|
||||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
|
||||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
|
||||
*********************************************************/
|
||||
package com.yxt.warehouse.biz.warehouseinventoryrecord;
|
||||
|
||||
import com.baomidou.mybatisplus.annotation.TableName;
|
||||
import com.yxt.common.core.domain.BaseEntity;
|
||||
import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/4/24
|
||||
**/
|
||||
* Project: wms(yxt) <br/>
|
||||
* File: WmsInventoryRecord.java <br/>
|
||||
* 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
|
||||
@ApiModel(value = "库存出入库记录", description = "库存出入库记录")
|
||||
@TableName("wms_inventory_record")
|
||||
public class WarehouseInventoryRecord extends BaseEntity {
|
||||
private static final long serialVersionUID = 1L;
|
||||
|
||||
@ApiModelProperty("库存sid")
|
||||
private String inventorySid;
|
||||
@ApiModelProperty("商品ID")
|
||||
private String goodsID;
|
||||
@ApiModelProperty("来源单sid(业务单sid)")
|
||||
private String sourceBillSid;
|
||||
@ApiModelProperty("来源单据编号")
|
||||
private String billNo;
|
||||
@ApiModelProperty("单据类型(1入库、0出库)")
|
||||
private String billType;
|
||||
@ApiModelProperty("业务类型key(采购入库、维修出入库、销售出入库等)")
|
||||
private String busTypeKey;
|
||||
@ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)")
|
||||
private String busTypeValue;
|
||||
@ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商")
|
||||
private String billObjSid;
|
||||
@ApiModelProperty("客户/供应商名称")
|
||||
private String billObjName;
|
||||
@ApiModelProperty("批次号")
|
||||
private String batchNumber;
|
||||
@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 BigDecimal currentCount;
|
||||
@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;
|
||||
private String handlerSid;//经办人sid
|
||||
private String handlerName;//经办人
|
||||
@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; // 库位编号
|
||||
@ApiModelProperty("入库单价")
|
||||
private BigDecimal cost;
|
||||
@ApiModelProperty("税率")
|
||||
private BigDecimal tax;
|
||||
@ApiModelProperty("入库金额")
|
||||
private BigDecimal amount;
|
||||
@ApiModelProperty("经办人sid")
|
||||
private String handlerSid; // 库位sid
|
||||
@ApiModelProperty("经办人")
|
||||
private String handlerName; // 库位编号
|
||||
}
|
||||
|
||||
@@ -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; // 库位编号
|
||||
|
||||
}
|
||||
@@ -1,3 +1,28 @@
|
||||
/*********************************************************
|
||||
*********************************************************
|
||||
******************** *******************
|
||||
************* ************
|
||||
******* _oo0oo_ *******
|
||||
*** o8888888o ***
|
||||
* 88" . "88 *
|
||||
* (| -_- |) *
|
||||
* 0\ = /0 *
|
||||
* ___/`---'\___ *
|
||||
* .' \\| |// '. *
|
||||
* / \\||| : |||// \ *
|
||||
* / _||||| -:- |||||- \ *
|
||||
* | | \\\ - /// | | *
|
||||
* | \_| ''\---/'' |_/ | *
|
||||
* \ .-\__ '-' ___/-. / *
|
||||
* ___'. .' /--.--\ `. .'___ *
|
||||
* ."" '< `.___\_<|>_/___.' >' "". *
|
||||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
|
||||
* \ \ `_. \_ __\ /__ _/ .-` / / *
|
||||
* =====`-.____`.___ \_____/___.-`___.-'===== *
|
||||
* `=---=' *
|
||||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
|
||||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
|
||||
*********************************************************/
|
||||
package com.yxt.warehouse.biz.warehouseinventoryrecord;
|
||||
|
||||
|
||||
@@ -6,60 +31,86 @@ import io.swagger.annotations.ApiModel;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
|
||||
/**
|
||||
* Project: wms(yxt) <br/>
|
||||
* File: WmsInventoryRecordDto.java <br/>
|
||||
* 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
|
||||
@ApiModel(value = "库存出入库记录 数据传输对象", description = "库存出入库记录 数据传输对象")
|
||||
public class WarehouseInventoryRecordDto implements Dto {
|
||||
|
||||
private String sid;
|
||||
@ApiModelProperty("库存sid")
|
||||
private String inventorySid;
|
||||
@ApiModelProperty("商品ID")
|
||||
private String goodsID;
|
||||
@ApiModelProperty("来源单sid(业务单sid)")
|
||||
private String sourceBillSid;
|
||||
@ApiModelProperty("来源单据编号")
|
||||
private String billNo;
|
||||
@ApiModelProperty("单据类型(1入库、0出库)")
|
||||
private String billType;
|
||||
@ApiModelProperty("业务类型key(采购入库、维修出入库、销售出入库等)")
|
||||
private String busTypeKey;
|
||||
@ApiModelProperty("业务类型value(采购入库、调拨入库、退货入库、盘盈入库等销售出库、调拨出库、采购退货出库、报损出库、盘亏出库等)")
|
||||
private String busTypeValue;
|
||||
@ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商")
|
||||
private String billObjSid;
|
||||
@ApiModelProperty("客户/供应商名称")
|
||||
private String billObjName;
|
||||
@ApiModelProperty("批次号")
|
||||
private String batchNumber;
|
||||
@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 BigDecimal currentCount;
|
||||
@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;
|
||||
private String handlerSid;//经办人sid
|
||||
private String handlerName;//经办人
|
||||
private String sid; // sid
|
||||
|
||||
@ApiModelProperty("库存sid")
|
||||
private String inventorySid; // 库存sid
|
||||
@ApiModelProperty("创建人sid")
|
||||
private String createBySid; // 商品ID
|
||||
@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 String currentCount; // 出入库后的库存量
|
||||
@ApiModelProperty("计量单位")
|
||||
private String unit; // 计量单位
|
||||
@ApiModelProperty("数量")
|
||||
private String count; // 数量
|
||||
@ApiModelProperty("仓库sid")
|
||||
private String warehouseSid; // 仓库sid
|
||||
@ApiModelProperty("仓库名称")
|
||||
private String warehouseName; // 仓库名称
|
||||
@ApiModelProperty("库位sid")
|
||||
private String warehouseRackSid; // 库位sid
|
||||
@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;
|
||||
|
||||
}
|
||||
@@ -4,7 +4,7 @@ import io.swagger.annotations.ApiModelProperty;
|
||||
import lombok.Data;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @description: 库存出入库记录
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/4/24
|
||||
**/
|
||||
|
||||
@@ -1,16 +1,88 @@
|
||||
/*********************************************************
|
||||
*********************************************************
|
||||
******************** *******************
|
||||
************* ************
|
||||
******* _oo0oo_ *******
|
||||
*** o8888888o ***
|
||||
* 88" . "88 *
|
||||
* (| -_- |) *
|
||||
* 0\ = /0 *
|
||||
* ___/`---'\___ *
|
||||
* .' \\| |// '. *
|
||||
* / \\||| : |||// \ *
|
||||
* / _||||| -:- |||||- \ *
|
||||
* | | \\\ - /// | | *
|
||||
* | \_| ''\---/'' |_/ | *
|
||||
* \ .-\__ '-' ___/-. / *
|
||||
* ___'. .' /--.--\ `. .'___ *
|
||||
* ."" '< `.___\_<|>_/___.' >' "". *
|
||||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
|
||||
* \ \ `_. \_ __\ /__ _/ .-` / / *
|
||||
* =====`-.____`.___ \_____/___.-`___.-'===== *
|
||||
* `=---=' *
|
||||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
|
||||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
|
||||
*********************************************************/
|
||||
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.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.Param;
|
||||
import org.apache.ibatis.annotations.Select;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/4/24
|
||||
**/
|
||||
* Project: Warehouse(yxt) <br/>
|
||||
* File: WarehouseInventoryRecordMapper.java <br/>
|
||||
* 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
|
||||
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);
|
||||
}
|
||||
|
||||
@@ -1,7 +1,81 @@
|
||||
<?xml version="1.0" encoding="UTF-8" ?>
|
||||
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
|
||||
<mapper namespace="com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordMapper">
|
||||
<select id="getStorageInventoryRecordList" resultType="com.yxt.warehouse.biz.warehouseinventoryrecord.WarehouseInventoryRecordListVo">
|
||||
<mapper namespace="com.yxt.wms.biz.func.warehouseinventoryrecord.WarehouseInventoryRecordMapper">
|
||||
<!-- <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 <= #{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,
|
||||
case wir.billType when 1 then '入库' when 0 then '出库' end as billType,
|
||||
DATE_FORMAT(wir.createTime, '%Y-%m-%d') as createTime,
|
||||
@@ -9,8 +83,92 @@
|
||||
wir.billObjName,
|
||||
wir.count,
|
||||
wir.currentCount
|
||||
from warehouse_inventory_record wir
|
||||
from wms_inventory_record wir
|
||||
where wir.inventorySid = #{sid}
|
||||
order by wir.createTime desc
|
||||
</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>
|
||||
@@ -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; // 库位编号
|
||||
|
||||
}
|
||||
@@ -1,28 +1,87 @@
|
||||
/*********************************************************
|
||||
*********************************************************
|
||||
******************** *******************
|
||||
************* ************
|
||||
******* _oo0oo_ *******
|
||||
*** o8888888o ***
|
||||
* 88" . "88 *
|
||||
* (| -_- |) *
|
||||
* 0\ = /0 *
|
||||
* ___/`---'\___ *
|
||||
* .' \\| |// '. *
|
||||
* / \\||| : |||// \ *
|
||||
* / _||||| -:- |||||- \ *
|
||||
* | | \\\ - /// | | *
|
||||
* | \_| ''\---/'' |_/ | *
|
||||
* \ .-\__ '-' ___/-. / *
|
||||
* ___'. .' /--.--\ `. .'___ *
|
||||
* ."" '< `.___\_<|>_/___.' >' "". *
|
||||
* | | : `- \`.;`\ _ /`;.`/ - ` : | | *
|
||||
* \ \ `_. \_ __\ /__ _/ .-` / / *
|
||||
* =====`-.____`.___ \_____/___.-`___.-'===== *
|
||||
* `=---=' *
|
||||
* ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ *
|
||||
*********__佛祖保佑__永无BUG__验收通过__钞票多多__*********
|
||||
*********************************************************/
|
||||
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.yxt.common.base.service.MybatisBaseService;
|
||||
import com.yxt.common.base.utils.PagerUtil;
|
||||
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.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.springframework.beans.factory.annotation.Autowired;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.text.ParseException;
|
||||
import java.text.SimpleDateFormat;
|
||||
import java.util.Collections;
|
||||
import java.util.Date;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @description:
|
||||
* @author: dimengzhe
|
||||
* @date: 2024/4/24
|
||||
**/
|
||||
* Project: Warehouse(yxt) <br/>
|
||||
* File: WarehouseInventoryRecordService.java <br/>
|
||||
* 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
|
||||
public class WarehouseInventoryRecordService extends MybatisBaseService<WarehouseInventoryRecordMapper, WarehouseInventoryRecord> {
|
||||
public ResultBean<List<WarehouseInventoryRecordListVo>> getStorageInventoryRecordList(String sid) {
|
||||
ResultBean<List<WarehouseInventoryRecordListVo>> rb = ResultBean.fireFail();
|
||||
List<WarehouseInventoryRecordListVo> list = baseMapper.getStorageInventoryRecordList(sid);
|
||||
list.removeAll(Collections.singleton(null));
|
||||
return rb.success().setData(list);
|
||||
|
||||
@Autowired
|
||||
private WarehouseInventoryService warehouseInventoryService;
|
||||
|
||||
|
||||
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) {
|
||||
@@ -50,11 +109,243 @@ public class WarehouseInventoryRecordService extends MybatisBaseService<Warehous
|
||||
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) {
|
||||
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) {
|
||||
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);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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; // 库位编号
|
||||
|
||||
}
|
||||
@@ -21,6 +21,8 @@ public class WarehouseInventoryRecordsVo {
|
||||
private String goodsSkuOwnSpec;
|
||||
@ApiModelProperty("仓库名称")
|
||||
private String warehouseName;
|
||||
@ApiModelProperty("库区名称")
|
||||
private String warehouseAreaName;
|
||||
@ApiModelProperty("库位编号")
|
||||
private String warehouseRackCode;
|
||||
@ApiModelProperty("来源单据编号")
|
||||
@@ -40,6 +42,9 @@ public class WarehouseInventoryRecordsVo {
|
||||
private String count;
|
||||
@ApiModelProperty("计量单位")
|
||||
private String unit;
|
||||
|
||||
|
||||
@ApiModelProperty("操作人")
|
||||
private String createBySid;
|
||||
private String createByName;
|
||||
@ApiModelProperty("经办人")
|
||||
private String handlerName;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;//数量
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;//结存金额
|
||||
}
|
||||
@@ -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; // 仓库名称
|
||||
}
|
||||
@@ -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; // 库位编号
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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<>();
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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> {
|
||||
|
||||
|
||||
}
|
||||
@@ -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<>();
|
||||
}
|
||||
@@ -105,7 +105,7 @@ public class WarehouseShelfBillService extends MybatisBaseService<WarehouseShelf
|
||||
baseMapper.updateById(wmsShelfBill);
|
||||
|
||||
}
|
||||
saveWmsInventory(sid);
|
||||
// saveWmsInventory(sid);
|
||||
//新增出入库记录
|
||||
|
||||
return rb.success().setData(sid);
|
||||
@@ -154,7 +154,7 @@ public class WarehouseShelfBillService extends MybatisBaseService<WarehouseShelf
|
||||
wmsInventoryRecordDto.setGoodsSkuSid(dto.getGoodsSkuSid());
|
||||
wmsInventoryRecordDto.setGoodsSkuCode(dto.getGoodsSkuCode());
|
||||
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.setWarehouseName(dto.getWarehouseName());
|
||||
wmsInventoryRecordDto.setWarehouseRackSid(dto.getWarehouseRackSid());
|
||||
|
||||
Reference in New Issue
Block a user