Browse Source

修改出入库记录

zhanglei
fanzongzhe 7 months ago
parent
commit
b07db84f39
  1. 8
      yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRecordRest.java
  2. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java
  3. 3
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml
  4. 4
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java
  5. 92
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/InventoryRecordDto.java
  6. 54
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java

8
yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsInventoryRecordRest.java

@ -172,4 +172,12 @@ public class WmsInventoryRecordRest {
ExportExcelUtils.export(fileNameURL, exportVoList, WmsInventoryRecordsExcelVo.class, response);
}
@ApiOperation("新增出入库记录")
@PostMapping("/saveInventoryRecord")
ResultBean saveInventoryRecord(@RequestBody InventoryRecordDto dto){
return wmsInventoryRecordService.saveInventoryRecord(dto);
}
}

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java

@ -84,4 +84,6 @@ public interface WmsInventoryMapper extends BaseMapper<WmsInventory> {
List<WmsInventory> selJJByDeptSidAndRackSid(@Param("deptSid") String deptSid,@Param("rackSids") List<String> rackSids);
List<WmsInventory> selJJByDeptSid(String deptSid);
WmsInventory selbyGoodsId(@Param("goodsID") String goodsID);
}

3
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml

@ -619,4 +619,7 @@
AND wwi.warehouseTypeKey = '02'
AND RIGHT(wi.`goodsID`,2) = '-O'
</select>
<select id="selbyGoodsId" resultType="com.yxt.wms.biz.inventory.wmsinventory.WmsInventory">
SELECT * FROM wms_inventory WHERE goodsID =#{goodsID}
</select>
</mapper>

4
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java

@ -978,4 +978,8 @@ public class WmsInventoryService extends MybatisBaseService<WmsInventoryMapper,
public List<WmsInventory> selJJByDeptSid(String deptSid) {
return baseMapper.selJJByDeptSid(deptSid);
}
public WmsInventory selbyGoodsId(String goodsID) {
return baseMapper.selbyGoodsId(goodsID);
}
}

92
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/InventoryRecordDto.java

@ -0,0 +1,92 @@
package com.yxt.wms.biz.inventory.wmsinventoryrecord;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @author Fan
* @description
* @date 2024/10/30 10:19
*/
@Data
public class InventoryRecordDto {
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("批次号")
private String batchNumber; // 批次号
@ApiModelProperty("商品基础信息Sid")
private String goodsSpuSid; // 商品基础信息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 taxRate;
@ApiModelProperty("入库金额")
private String amount;
@ApiModelProperty("经办人sid")
private String handlerSid; // 库位sid
@ApiModelProperty("经办人")
private String handlerName; // 库位编号
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("厂家订单号")
private String manufactorBillNo;
@ApiModelProperty("销售指导价")
private String guidPrice;
@ApiModelProperty("客户/供应商sid,出库是为客户,入库时为供应商")
private String supplierSid;
@ApiModelProperty("客户/供应商名称")
private String supplierName;
@ApiModelProperty("厂家名称")
private String manufacturerName;
@ApiModelProperty("厂家sid")
private String manufacturerSid;
@ApiModelProperty("前一单据明细sid(溯源使用)")
private String preBillSid;
@ApiModelProperty("前一单编号")
private String preBillNo;
}

54
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventoryrecord/WmsInventoryRecordService.java

@ -370,4 +370,58 @@ public class WmsInventoryRecordService extends MybatisBaseService<WmsInventoryRe
public String selByGoodsID(String content) {
return baseMapper.selByGoodsID(content);
}
public ResultBean saveInventoryRecord(InventoryRecordDto dto) {
ResultBean rb = ResultBean.fireFail();
String inventorySid = "";
String goodsID = dto.getGoodsID();
WmsInventory inventory = wmsInventoryService.selbyGoodsId(goodsID);
if (null != inventory) {
inventorySid = inventory.getSid();
BigDecimal beforeCount = BigDecimal.ZERO;
BigDecimal afterCount = BigDecimal.ZERO;
if (null != inventory.getCount()) {
beforeCount = inventory.getCount();
}
if (StringUtils.isNotBlank(dto.getCount())) {
BigDecimal count = new BigDecimal(dto.getCount());
if (dto.getBillType().equals("1")) {
//增加库存
inventory.setCount(beforeCount.add(count));
afterCount = beforeCount.add(count);
} else if (dto.getBillType().equals("0")) {
//减少库存
inventory.setCount(beforeCount.subtract(count));
afterCount = beforeCount.subtract(count);
}
wmsInventoryService.updateById(inventory);
}
WmsInventoryRecord inventoryRecord = new WmsInventoryRecord();
BeanUtil.copyProperties(dto,inventoryRecord,"id","sid");
inventoryRecord.setInventorySid(inventorySid);
inventoryRecord.setCurrentCount(afterCount);
if (StringUtils.isNotBlank(dto.getTaxRate())) {
inventoryRecord.setTax(new BigDecimal(dto.getTaxRate()));
}
baseMapper.insert(inventoryRecord);
} else {
WmsInventory wmsInventory = new WmsInventory();
BeanUtil.copyProperties(dto,wmsInventory,"id","sid");
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
try {
wmsInventory.setFirstInDate(sdf.parse(sdf.format(new Date())));
} catch (ParseException e) {
e.printStackTrace();
}
wmsInventoryService.insert(wmsInventory);
WmsInventoryRecord inventoryRecord = new WmsInventoryRecord();
BeanUtil.copyProperties(dto,inventoryRecord,"id","sid");
inventoryRecord.setInventorySid(wmsInventory.getSid());
if (StringUtils.isNotBlank(dto.getTaxRate())) {
inventoryRecord.setTax(new BigDecimal(dto.getTaxRate()));
}
baseMapper.insert(inventoryRecord);
}
return rb.success();
}
}

Loading…
Cancel
Save