Browse Source

入库预约

master
wangpengfei 10 months ago
parent
commit
6a4b0d04d6
  1. 55
      src/main/java/com/yxt/warehouse/apiadmin/PurchaseInventoryBillRest.java
  2. 60
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBill.java
  3. 69
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillDto2.java
  4. 67
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillInitVo.java
  5. 20
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.java
  6. 18
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml
  7. 61
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillPageVo.java
  8. 42
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillQuery.java
  9. 224
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillService.java
  10. 65
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillVo.java
  11. 62
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetail.java
  12. 60
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto.java
  13. 69
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto2.java
  14. 30
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailMapper.java
  15. 40
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailMapper.xml
  16. 13
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailQuery.java
  17. 159
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailService.java
  18. 63
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailVo.java

55
src/main/java/com/yxt/warehouse/apiadmin/PurchaseInventoryBillRest.java

@ -1,8 +1,63 @@
package com.yxt.warehouse.apiadmin; package com.yxt.warehouse.apiadmin;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.warehouse.biz.purchaseinventorybill.PurchaseInventoryBillQuery;
import com.yxt.warehouse.biz.purchaseinventorybill.PurchaseInventoryBillService;
import com.yxt.warehouse.biz.purchaseinventorybill.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/** /**
* @author wangpengfei * @author wangpengfei
* @date 2024/8/1 17:46 * @date 2024/8/1 17:46
*/ */
@Api(tags = "采购入库")
@RestController
@RequestMapping("/apiadmin/purchaseinventorybill")
public class PurchaseInventoryBillRest { public class PurchaseInventoryBillRest {
@Autowired
PurchaseInventoryBillService purchaseInventoryBillService;
@ApiOperation("分页列表")
@PostMapping("/listPage")
public ResultBean<PagerVo<PurchaseInventoryBillPageVo>> listPage(@RequestBody PagerQuery<PurchaseInventoryBillQuery> pq) {
ResultBean<PagerVo<PurchaseInventoryBillPageVo>> rb = ResultBean.fireFail();
PagerVo<PurchaseInventoryBillPageVo> pv = purchaseInventoryBillService.listPage(pq);
return rb.success().setData(pv);
}
@ApiOperation("新增修改保存")
@PostMapping("/saveOrUpdate")
ResultBean<String> saveOrUpdate(@RequestBody PurchaseInventoryBillDto2 dto) {
return purchaseInventoryBillService.saveOrUpdateBill2(dto);
}
@ApiOperation("通知单收货单初始化")
@GetMapping("/getInitDetails")
ResultBean<PurchaseInventoryBillVo> getInitDetails(@RequestParam("sourceSid") String sourceSid) {
return purchaseInventoryBillService.getInitDetails(sourceSid);
}
@ApiOperation("收货单据编辑初始化/详情")
@GetMapping("/selectByBillSid")
ResultBean<PurchaseInventoryBillInitVo> selectByBillSid(@RequestParam("sid") String sid) {
return purchaseInventoryBillService.selectByBillSid(sid);
}
@ApiOperation("确认")
@PostMapping("/confirm")
ResultBean<String> confirm(@RequestBody PurchaseInventoryBillDto2 dto) {
return purchaseInventoryBillService.confirm(dto);
}
@ApiOperation("删除/批量删除")
@DeleteMapping("/delBySids")
ResultBean delBySids(@RequestBody String[] sids) {
return purchaseInventoryBillService.delAllBySids(sids);
}
} }

60
src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBill.java

@ -0,0 +1,60 @@
package com.yxt.warehouse.biz.purchaseinventorybill;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/3
**/
@Data
public class PurchaseInventoryBill extends BaseEntity {
@ApiModelProperty("来源单sid(预约单)")
private String sourceBillSid;
@ApiModelProperty("来源单号(预约单)")
private String sourceBillNo;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("状态")
private String billState;
@ApiModelProperty("商品总额")
private double total;
@ApiModelProperty("商品总重量(kg)")
private double totalWeight;
@ApiModelProperty("总体积(m3)")
private double totalVolume;
@ApiModelProperty("总数")
private double totalQuantity;
@ApiModelProperty("供应商sid")
private String supplierSid;
@ApiModelProperty("供应商")
private String supplierName;
@ApiModelProperty("承运商")
private String carrier;
@ApiModelProperty("运单号")
private String waybillNumber;
@ApiModelProperty("货主")
private String shipper;
@ApiModelProperty("外部单号")
private String externalNo;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("入库时间")
private Date storageTime;
@ApiModelProperty("操作员sid")
private String operatorSid;
@ApiModelProperty("操作员名称")
private String operatorName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("操作时间")
private Date operatorTime;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
}

69
src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillDto2.java

@ -0,0 +1,69 @@
package com.yxt.warehouse.biz.purchaseinventorybill;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailDto2;
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchDto2;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/15
**/
@Data
public class PurchaseInventoryBillDto2 {
private String sid;
@ApiModelProperty("来源单sid(预约单)")
private String sourceBillSid;
@ApiModelProperty("来源单号(预约单)")
private String sourceBillNo;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("状态")
private String billState;
@ApiModelProperty("商品总额")
private double total;
@ApiModelProperty("商品总重量(kg)")
private double totalWeight;
@ApiModelProperty("总体积(m3)")
private double totalVolume;
@ApiModelProperty("总数")
private double totalQuantity;
@ApiModelProperty("供应商sid")
private String supplierSid;
@ApiModelProperty("供应商")
private String supplierName;
@ApiModelProperty("承运商")
private String carrier;
@ApiModelProperty("运单号")
private String waybillNumber;
@ApiModelProperty("货主")
private String shipper;
@ApiModelProperty("外部单号")
private String externalNo;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("入库时间")
private Date storageTime;
@ApiModelProperty("操作员sid")
private String operatorSid;
@ApiModelProperty("操作员名称")
private String operatorName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("操作时间")
private Date operatorTime;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
@ApiModelProperty("备注")
private String remarks;
@ApiModelProperty("商品列表")
private List<WarehouseReceiptBillDetailDto2> list = new ArrayList<>();
@ApiModelProperty("批次列表")
private List<WarehouseReceiptBillDetailBatchDto2> pcList = new ArrayList<>();
}

67
src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillInitVo.java

@ -0,0 +1,67 @@
package com.yxt.warehouse.biz.purchaseinventorybill;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.warehouse.biz.purchaseinventorybilldetail.PurchaseInventoryBillDetailVo;
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailDto2;
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchDto2;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/15
**/
@Data
public class PurchaseInventoryBillInitVo {
@ApiModelProperty("来源单sid(预约单)")
private String sourceBillSid;
@ApiModelProperty("来源单号(预约单)")
private String sourceBillNo;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("状态")
private String billState;
@ApiModelProperty("商品总额")
private double total;
@ApiModelProperty("商品总重量(kg)")
private double totalWeight;
@ApiModelProperty("总体积(m3)")
private double totalVolume;
@ApiModelProperty("总数")
private double totalQuantity;
@ApiModelProperty("供应商sid")
private String supplierSid;
@ApiModelProperty("供应商")
private String supplierName;
@ApiModelProperty("承运商")
private String carrier;
@ApiModelProperty("运单号")
private String waybillNumber;
@ApiModelProperty("货主")
private String shipper;
@ApiModelProperty("外部单号")
private String externalNo;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("入库时间")
private Date storageTime;
@ApiModelProperty("操作员sid")
private String operatorSid;
@ApiModelProperty("操作员名称")
private String operatorName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("操作时间")
private Date operatorTime;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
private String remarks;
@ApiModelProperty("单据详情")
private List<PurchaseInventoryBillDetailVo> list = new ArrayList<>();
}

20
src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.java

@ -0,0 +1,20 @@
package com.yxt.warehouse.biz.purchaseinventorybill;
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;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/3
**/
@Mapper
public interface PurchaseInventoryBillMapper extends BaseMapper<PurchaseInventoryBill> {
IPage<PurchaseInventoryBillPageVo> listPage(IPage<PurchaseInventoryBill> page, @Param(Constants.WRAPPER) QueryWrapper<PurchaseInventoryBill> qw);
PurchaseInventoryBillInitVo getDetailsInit(String sid);
}

18
src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml

@ -0,0 +1,18 @@
<?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.purchaseinventorybill.PurchaseInventoryBillMapper">
<select id="listPage" resultType="com.yxt.warehouse.biz.purchaseinventorybill.PurchaseInventoryBillPageVo">
select wrb.*
from purchase_inventory_bill wrb
<where>
${ew.sqlSegment}
</where>
order by wrb.id desc
</select>
<select id="getDetailsInit" resultType="com.yxt.warehouse.biz.purchaseinventorybill.PurchaseInventoryBillInitVo">
select wrb.*
from purchase_inventory_bill wrb
where wrb.sid = #{sid}
</select>
</mapper>

61
src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillPageVo.java

@ -0,0 +1,61 @@
package com.yxt.warehouse.biz.purchaseinventorybill;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.Date;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/12
**/
@Data
public class PurchaseInventoryBillPageVo {
private String sid;
@ApiModelProperty("来源单sid(预约单)")
private String sourceBillSid;
@ApiModelProperty("来源单号(预约单)")
private String sourceBillNo;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("状态")
private String billState;
@ApiModelProperty("商品总额")
private double total;
@ApiModelProperty("商品总重量(kg)")
private double totalWeight;
@ApiModelProperty("总体积(m3)")
private double totalVolume;
@ApiModelProperty("总数")
private double totalQuantity;
@ApiModelProperty("供应商sid")
private String supplierSid;
@ApiModelProperty("供应商")
private String supplierName;
@ApiModelProperty("承运商")
private String carrier;
@ApiModelProperty("运单号")
private String waybillNumber;
@ApiModelProperty("货主")
private String shipper;
@ApiModelProperty("外部单号")
private String externalNo;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("入库时间")
private Date storageTime;
@ApiModelProperty("操作员sid")
private String operatorSid;
@ApiModelProperty("操作员名称")
private String operatorName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("操作时间")
private Date operatorTime;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
private String remarks;
}

42
src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillQuery.java

@ -0,0 +1,42 @@
package com.yxt.warehouse.biz.purchaseinventorybill;
import com.yxt.common.core.query.Query;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/3
**/
@Data
public class PurchaseInventoryBillQuery implements Query {
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("外部单号")
private String externalNo;
@ApiModelProperty("来源单号(入库预约)")
private String sourceBillNo;
@ApiModelProperty("库位sid")
private String warehouseRackSid;
@ApiModelProperty("入库开始时间")
private String storageTimeStart;
@ApiModelProperty("入库结束时间")
private String storageTimeEnd;
@ApiModelProperty("承运商")
private String carrier;
@ApiModelProperty("运单号")
private String waybillNumber;
@ApiModelProperty("商品sid")
private String goodsSkuSid;
@ApiModelProperty("货主")
private String shipper;
@ApiModelProperty("菜单路由")
private String menuUrl;
@ApiModelProperty("组织全路径sid")
private String orgPath;
@ApiModelProperty("用户sid")
private String userSid;
}

224
src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillService.java

@ -0,0 +1,224 @@
package com.yxt.warehouse.biz.purchaseinventorybill;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.warehouse.biz.purchaseinventorybilldetail.PurchaseInventoryBillDetailDto2;
import com.yxt.warehouse.biz.purchaseinventorybilldetail.PurchaseInventoryBillDetailService;
import com.yxt.warehouse.biz.purchaseinventorybilldetail.PurchaseInventoryBillDetailVo;
import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBill;
import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBillService;
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetailService;
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsListDetailsVo;
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailDto2;
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailMapper;
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailService;
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailVo;
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchDto2;
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchMapper;
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.*;
import java.util.stream.Collectors;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/3
**/
@Service
public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInventoryBillMapper, PurchaseInventoryBill> {
@Autowired
private PurchaseInventoryBillDetailService purchaseInventoryBillDetailService;
@Autowired
private WarehouseAnsBillService wmsAnsBillService;
@Autowired
private WarehouseAnsBillDetailService wmsAnsBillDetailService;
@Autowired
private WarehouseReceiptBillDetailBatchService wmsReceiptBillDetailBatchService;
@Autowired
private WarehouseReceiptBillDetailMapper wmsReceiptBillDetailMapper;
@Autowired
private WarehouseReceiptBillDetailBatchMapper wmsReceiptBillDetailBatchMapper;
public PagerVo<PurchaseInventoryBillPageVo> listPage(PagerQuery<PurchaseInventoryBillQuery> pq) {
PurchaseInventoryBillQuery query = pq.getParams();
QueryWrapper<PurchaseInventoryBill> qw = new QueryWrapper<>();
//ToDo:添加查询条件
//状态
if (StringUtils.isNotBlank(query.getBillNo())) {
qw.like("wrb.billNo", query.getBillNo());
}
//外部单号
if (StringUtils.isNotBlank(query.getExternalNo())) {
qw.like("wrb.externalNo", query.getExternalNo());
}
//来源单((预约单)
if (StringUtils.isNotBlank(query.getSourceBillNo())) {
qw.like("wrb.sourceBillNo", query.getSourceBillNo());
}
if (StringUtils.isNotBlank(query.getWarehouseRackSid())) {
qw.like("wrb.warehouseRackSid", query.getWarehouseRackSid());
}
//入库开始时间——日期结束时间
qw.apply(StringUtils.isNotBlank(query.getStorageTimeStart()), "date_format (wrb.createTime,'%Y-%m-%d') >= date_format('" + query.getStorageTimeStart() + "','%Y-%m-%d')").
apply(StringUtils.isNotBlank(query.getStorageTimeEnd()), "date_format (wrb.createTime,'%Y-%m-%d') <= date_format('" + query.getStorageTimeEnd() + "','%Y-%m-%d')"
);
if (StringUtils.isNotBlank(query.getCarrier())) {
qw.like("wrb.carrier", query.getCarrier());
}
if (StringUtils.isNotBlank(query.getWaybillNumber())) {
qw.like("wrb.waybillNumber", query.getWaybillNumber());
}
if (StringUtils.isNotBlank(query.getGoodsSkuSid())) {
qw.like("wrb.goodsSkuSid", query.getGoodsSkuSid());
}
if (StringUtils.isNotBlank(query.getShipper())) {
qw.like("wrb.shipper", query.getShipper());
}
IPage<PurchaseInventoryBill> page = PagerUtil.queryToPage(pq);
IPage<PurchaseInventoryBillPageVo> pagging = baseMapper.listPage(page, qw);
PagerVo<PurchaseInventoryBillPageVo> p = PagerUtil.pageToVo(pagging, null);
return p;
}
public ResultBean<String> saveOrUpdateBill2(PurchaseInventoryBillDto2 dto) {
ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid();
if (StringUtils.isBlank(sid)) {
PurchaseInventoryBill wmsReceiptBill = new PurchaseInventoryBill();
sid = wmsReceiptBill.getSid();
BeanUtil.copyProperties(dto, wmsReceiptBill, "sid");
List<WarehouseReceiptBillDetailDto2> list = dto.getList();
list.removeAll(Collections.singleton(null));
List<WarehouseReceiptBillDetailBatchDto2> pcList = dto.getPcList();
pcList.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
// purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list, pcList);
}
baseMapper.insert(wmsReceiptBill);
} else {
PurchaseInventoryBill wmsReceiptBill = fetchBySid(sid);
if (wmsReceiptBill == null) {
return rb.setMsg("该单据不存在");
}
BeanUtil.copyProperties(dto, wmsReceiptBill, "sid");
List<WarehouseReceiptBillDetailDto2> list = dto.getList();
list.removeAll(Collections.singleton(null));
List<WarehouseReceiptBillDetailBatchDto2> pcList = dto.getPcList();
pcList.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
// purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list, pcList);
}
baseMapper.updateById(wmsReceiptBill);
}
return rb.success().setData(sid);
}
public ResultBean<PurchaseInventoryBillVo> getInitDetails(String sourceSid) {
ResultBean<PurchaseInventoryBillVo> rb = ResultBean.fireFail();
PurchaseInventoryBillVo wmsReceiptBillVo = new PurchaseInventoryBillVo();
WarehouseAnsBill wmsAnsBill = wmsAnsBillService.fetchBySid(sourceSid);
BeanUtil.copyProperties(wmsAnsBill, wmsReceiptBillVo, "sid");
wmsReceiptBillVo.setSourceBillNo(wmsAnsBill.getBillNo());
wmsReceiptBillVo.setSourceBillSid(wmsAnsBill.getSid());
// wmsReceiptBillVo.setCreateTime(DateUtil.today());
List<WarehouseAnsListDetailsVo> list = wmsAnsBillDetailService.selectByBillSid(sourceSid);
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
List<WarehouseReceiptBillDetailVo> lists = Optional.ofNullable(list).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), WarehouseReceiptBillDetailVo.class)).collect(Collectors.toList());
for (WarehouseReceiptBillDetailVo warehouseReceiptBillDetailVo : lists) {
warehouseReceiptBillDetailVo.setIsQuality(0);
warehouseReceiptBillDetailVo.setQualityState(0);
}
wmsReceiptBillVo.setList(lists);
}
return rb.success().setData(wmsReceiptBillVo);
}
public ResultBean<PurchaseInventoryBillInitVo> selectByBillSid(String sid) {
ResultBean<PurchaseInventoryBillInitVo> rb = ResultBean.fireFail();
PurchaseInventoryBillInitVo wmsReceiptBillInitVo = baseMapper.getDetailsInit(sid);
if (wmsReceiptBillInitVo != null) {
List<PurchaseInventoryBillDetailVo> list = purchaseInventoryBillDetailService.getDetailsInit(sid);
list.removeAll(Collections.singleton(null));
wmsReceiptBillInitVo.setList(list);
// wmsReceiptBillInitVo.setPcList(pcList);
} else {
return rb.setMsg("该单据不存在");
}
return rb.success().setData(wmsReceiptBillInitVo);
}
// public ResultBean<PurchaseInventoryBillInitVo> getDetailsInit(String sid) {
// ResultBean<PurchaseInventoryBillInitVo> rb = ResultBean.fireFail();
// PurchaseInventoryBillInitVo wmsReceiptBillInitVo = baseMapper.getDetailsInit(sid);
// List<WarehouseReceiptBillDetailBatchDto2> pcList = new ArrayList<>();
// if (wmsReceiptBillInitVo != null) {
// List<PurchaseInventoryBillDetailVo> list = purchaseInventoryBillDetailService.getDetailsInit(sid);
// list.removeAll(Collections.singleton(null));
// if (!list.isEmpty()) {
// for (int i = 0; i < list.size(); i++) {
// PurchaseInventoryBillDetailVo purchaseInventoryBillDetailDto2 = list.get(i);
// int a = i + 1;
//// purchaseInventoryBillDetailDto2.setXh(String.valueOf(a));
// List<WarehouseReceiptBillDetailBatchDto2> pcList2 = wmsReceiptBillDetailBatchService.getDetailsInit(sid, purchaseInventoryBillDetailDto2.getDetailsSid());
// pcList2.removeAll(Collections.singleton(null));
// if (!pcList2.isEmpty()) {
// for (int j = 0; j < pcList2.size(); j++) {
// WarehouseReceiptBillDetailBatchDto2 wmsReceiptBillDetailBatchDto2 = pcList2.get(j);
// wmsReceiptBillDetailBatchDto2.setXh(String.valueOf(a));
// }
// pcList.addAll(pcList2);
// }
// }
// }
//// wmsReceiptBillInitVo.setList(list);
//// wmsReceiptBillInitVo.setPcList(pcList);
// } else {
// return rb.setMsg("该单据不存在");
// }
// return rb.success().setData(wmsReceiptBillInitVo);
// }
public ResultBean<String> confirm(PurchaseInventoryBillDto2 dto) {
ResultBean<String> rb = ResultBean.fireFail();
// dto.setBillState("1");
List<WarehouseReceiptBillDetailDto2> list = dto.getList();
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
for (int i = 0; i < list.size(); i++) {
WarehouseReceiptBillDetailDto2 wmsReceiptBillDetailDto2 = list.get(i);
wmsReceiptBillDetailDto2.setState(1);
}
}
dto.setList(list);
ResultBean<String> resultBean = saveOrUpdateBill2(dto);
String sid = resultBean.getData();
return rb.success().setData(sid);
}
public ResultBean delAllBySids(String[] sids) {
ResultBean rb = ResultBean.fireFail();
List<String> sidss = Arrays.asList(sids);
for (int i = 0; i < sidss.size(); i++) {
String s = sidss.get(i);
wmsReceiptBillDetailMapper.deleteByBillSid(s);
wmsReceiptBillDetailBatchMapper.deleteByDetails(s);
}
delBySids(sids);
return rb.success().setMsg("删除成功");
}
}

65
src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillVo.java

@ -0,0 +1,65 @@
package com.yxt.warehouse.biz.purchaseinventorybill;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailVo;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/3
**/
@Data
public class PurchaseInventoryBillVo {
private String sid;
@ApiModelProperty("来源单sid(预约单)")
private String sourceBillSid;
@ApiModelProperty("来源单号(预约单)")
private String sourceBillNo;
@ApiModelProperty("单据编号")
private String billNo;
@ApiModelProperty("状态")
private String billState;
@ApiModelProperty("商品总额")
private double total;
@ApiModelProperty("商品总重量(kg)")
private double totalWeight;
@ApiModelProperty("总体积(m3)")
private double totalVolume;
@ApiModelProperty("总数")
private double totalQuantity;
@ApiModelProperty("供应商sid")
private String supplierSid;
@ApiModelProperty("供应商")
private String supplierName;
@ApiModelProperty("承运商")
private String carrier;
@ApiModelProperty("运单号")
private String waybillNumber;
@ApiModelProperty("货主")
private String shipper;
@ApiModelProperty("外部单号")
private String externalNo;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("入库时间")
private Date storageTime;
@ApiModelProperty("操作员sid")
private String operatorSid;
@ApiModelProperty("操作员名称")
private String operatorName;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("操作时间")
private Date operatorTime;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
private String remarks;
private List<WarehouseReceiptBillDetailVo> list = new ArrayList<>();
}

62
src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetail.java

@ -0,0 +1,62 @@
package com.yxt.warehouse.biz.purchaseinventorybilldetail;
import com.yxt.common.core.domain.BaseEntity;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/3
**/
@Data
public class PurchaseInventoryBillDetail extends BaseEntity {
private String sid;
@ApiModelProperty("来源单sid")
private String sourceBillSid;
@ApiModelProperty("图示")
private String illustration;
@ApiModelProperty("商品skusid")
private String goodsSkuSid;
@ApiModelProperty("商品名称")
private String goodsName;
@ApiModelProperty("商品编码")
private String goodsCode;
@ApiModelProperty("商品条码")
private String goodsBarCode;
@ApiModelProperty("规格值")
private String specValue;
@ApiModelProperty("箱条码")
private String boxBarCode;
@ApiModelProperty("箱规格")
private String boxSpec;
@ApiModelProperty("单位sid")
private String unitSid;
@ApiModelProperty("单位名称")
private BigDecimal unitName;
@ApiModelProperty("成本单价")
private BigDecimal price;
@ApiModelProperty("总价")
private String totalPrice;
@ApiModelProperty("数量")
private Date count;
@ApiModelProperty("辅助单位")
private Integer auxiliaryUnits;
@ApiModelProperty("序列号")
private Integer serialNumber;
@ApiModelProperty("生产批次号")
private String batchNumber;
@ApiModelProperty("入库库位sid")
private String warehouseRackSid;
@ApiModelProperty("入库库位名")
private String warehouseRackName;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
private String remarks;
}

60
src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto.java

@ -0,0 +1,60 @@
package com.yxt.warehouse.biz.purchaseinventorybilldetail;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @author wangpengfei
* @date 2024/6/6 16:39
*/
@Data
public class PurchaseInventoryBillDetailDto {
private String sid;
@ApiModelProperty("来源单sid")
private String sourceBillSid;
@ApiModelProperty("图示")
private String illustration;
@ApiModelProperty("商品skusid")
private String goodsSkuSid;
@ApiModelProperty("商品名称")
private String goodsName;
@ApiModelProperty("商品编码")
private String goodsCode;
@ApiModelProperty("商品条码")
private String goodsBarCode;
@ApiModelProperty("规格值")
private String specValue;
@ApiModelProperty("箱条码")
private String boxBarCode;
@ApiModelProperty("箱规格")
private String boxSpec;
@ApiModelProperty("单位sid")
private String unitSid;
@ApiModelProperty("单位名称")
private BigDecimal unitName;
@ApiModelProperty("成本单价")
private BigDecimal price;
@ApiModelProperty("总价")
private String totalPrice;
@ApiModelProperty("数量")
private Date count;
@ApiModelProperty("辅助单位")
private Integer auxiliaryUnits;
@ApiModelProperty("序列号")
private Integer serialNumber;
@ApiModelProperty("生产批次号")
private String batchNumber;
@ApiModelProperty("入库库位sid")
private String warehouseRackSid;
@ApiModelProperty("入库库位名")
private String warehouseRackName;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
private String remarks;
}

69
src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto2.java

@ -0,0 +1,69 @@
package com.yxt.warehouse.biz.purchaseinventorybilldetail;
import com.fasterxml.jackson.annotation.JsonIgnore;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/15
**/
@Data
public class PurchaseInventoryBillDetailDto2 {
@ApiModelProperty("商品Skusid")
private String goodsSkuSid;
@ApiModelProperty("商品Sku名称")
private String goodsSkuTitle;
@ApiModelProperty("商品sku编码")
private String goodsSkuCode;
@ApiModelProperty("规格型号")
private String goodsSkuOwnSpec;
@ApiModelProperty("计量单位")
private String unit;
@ApiModelProperty("仓库sid")
private String warehouseSid;
@ApiModelProperty("仓库名称")
private String warehouseName;
@ApiModelProperty("库位sid")
private String warehouseRackSid;
@ApiModelProperty("库位名称")
private String warehouseRackName;
@ApiModelProperty("实收数量")
private String actualInCount;
@ApiModelProperty("拒收数量")
private String rejectCount;
@ApiModelProperty("拒收原因")
private String rejectReason;
@ApiModelProperty("是否需要质检(不需要0,需要1)")
private Integer isQuality;
@ApiModelProperty("质检状态(合格0,不合格1)")
private Integer qualityState;
@ApiModelProperty("载具说明")
private String packageRemark;
@ApiModelProperty("单据明细状态:0新建,1已完成")
private Integer state;
@ApiModelProperty("序号")
private String xh;
@JsonIgnore
private String detailsSid;
@ApiModelProperty("预约数量(采购订单数量)")
private String orderCount;
//入库价
@ApiModelProperty("单位成本(采购价)")
private String cost;
@ApiModelProperty("税额")
private String taxAmount;
@ApiModelProperty("含税价")
private String taxPrice;
//采购金额
@ApiModelProperty("金额")
private String amount;
@ApiModelProperty("有效天数")
private String shelfLife;
}

30
src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailMapper.java

@ -0,0 +1,30 @@
package com.yxt.warehouse.biz.purchaseinventorybilldetail;
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.Delete;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/3
**/
@Mapper
public interface PurchaseInventoryBillDetailMapper extends BaseMapper<PurchaseInventoryBillDetail> {
int deleteByBillSid(String sid);
List<PurchaseInventoryBillDetailVo> getDetailsInit(String sid);
List<PurchaseInventoryBillDetail> selectByBillSid(@Param("sid") String sid, @Param("sidList") List<String> sidList);
IPage<PurchaseInventoryBillDetailVo> listPage(IPage<PurchaseInventoryBillDetail> page, @Param(Constants.WRAPPER) QueryWrapper<PurchaseInventoryBillDetail> qw);
PurchaseInventoryBillDetailVo initialization (@Param("sid") String sid);
@Delete("delete from warehouse_reportlose where sid = #{sid}")
void delByMainSid(String billSid);
}

40
src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailMapper.xml

@ -0,0 +1,40 @@
<?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.purchaseinventorybilldetail.PurchaseInventoryBillDetailMapper">
<delete id="deleteByBillSid">
delete
from pruchase_inventory_bill_detail
where billSid = #{sid}
</delete>
<select id="getDetailsInit" resultType="com.yxt.warehouse.biz.purchaseinventorybilldetail.PurchaseInventoryBillDetailVo">
select wrbd.*
from purchase_inventory_bill_detail wrbd
where sourceBillSid = #{sid}
</select>
<select id="selectByBillSid" resultType="com.yxt.warehouse.biz.purchaseinventorybilldetail.PurchaseInventoryBillDetail">
select *
from pruchase_inventory_bill_detail where billSid = #{sid}
<if test="sidList != null and sidList.size() != 0">
and sid not in
<foreach collection="sidList" item="item" open="(" close=")" separator=",">
#{item}
</foreach>
</if>
</select>
<select id="listPage" resultType="com.yxt.warehouse.biz.purchaseinventorybilldetail.PurchaseInventoryBillDetailVo">
select
a.*
from pruchase_inventory_bill_detail a
<where>
${ew.sqlSegment}
</where>
</select>
<select id="initialization" resultType="com.yxt.warehouse.biz.purchaseinventorybilldetail.PurchaseInventoryBillDetailVo">
select
a.*
from pruchase_inventory_bill_detail a
where a.sid =#{sid}
</select>
</mapper>

13
src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailQuery.java

@ -0,0 +1,13 @@
package com.yxt.warehouse.biz.purchaseinventorybilldetail;
import com.yxt.common.core.query.Query;
import lombok.Data;
/**
* @author wangpengfei
* @date 2024/6/6 16:42
*/
@Data
public class PurchaseInventoryBillDetailQuery implements Query {
private String name;
}

159
src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailService.java

@ -0,0 +1,159 @@
package com.yxt.warehouse.biz.purchaseinventorybilldetail;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.base.utils.StringUtils;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchDto2;
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.Collections;
import java.util.List;
import java.util.stream.Collectors;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/3
**/
@Service
public class PurchaseInventoryBillDetailService extends MybatisBaseService<PurchaseInventoryBillDetailMapper, PurchaseInventoryBillDetail> {
@Autowired
private WarehouseReceiptBillDetailBatchService wmsReceiptBillDetailBatchService;
public void saveOrUpdateDetailsList2(String sid, List<PurchaseInventoryBillDetailDto2> list, List<WarehouseReceiptBillDetailBatchDto2> pcList) {
baseMapper.deleteByBillSid(sid);
list.forEach(v -> {
PurchaseInventoryBillDetail wmsReceiptBillDetail = new PurchaseInventoryBillDetail();
BeanUtil.copyProperties(v, wmsReceiptBillDetail, "sid");
// wmsReceiptBillDetail.setBillSid(sid);
baseMapper.insert(wmsReceiptBillDetail);
wmsReceiptBillDetailBatchService.deleteByDetails(sid);
pcList.removeAll(Collections.singleton(null));
if (!pcList.isEmpty()) {
List<WarehouseReceiptBillDetailBatchDto2> pcList2 = pcList.stream().filter(c -> c.getXh().equals(v.getXh())).collect(Collectors.toList());
pcList2.removeAll(Collections.singleton(null));
if (!pcList2.isEmpty()) {
wmsReceiptBillDetailBatchService.saveBatchs2(sid, wmsReceiptBillDetail.getSid(), pcList2);
}
}
});
}
public List<PurchaseInventoryBillDetailVo> getDetailsInit(String sid) {
return baseMapper.getDetailsInit(sid);
}
public List<PurchaseInventoryBillDetail> selectByBillSid(String sid, List<String> sidList) {
return baseMapper.selectByBillSid(sid, sidList);
}
public ResultBean<PagerVo<PurchaseInventoryBillDetailVo>> listPage(PagerQuery<PurchaseInventoryBillDetailQuery> pq) {
ResultBean rb = ResultBean.fireFail();
PurchaseInventoryBillDetailQuery query = pq.getParams();
QueryWrapper<PurchaseInventoryBillDetail> qw = new QueryWrapper<>();
if (StringUtils.isNotBlank(query.getName())) {
qw.like("rackName", query.getName());
}
IPage<PurchaseInventoryBillDetail> page = PagerUtil.queryToPage(pq);
IPage<PurchaseInventoryBillDetailVo> pagging = baseMapper.listPage(page, qw);
PagerVo<PurchaseInventoryBillDetailVo> p = PagerUtil.pageToVo(pagging, null);
List<PurchaseInventoryBillDetailVo> records = pagging.getRecords();
return rb.success().setData(p);
}
public ResultBean<String> saveOrUpdate(PurchaseInventoryBillDetailDto dto) {
ResultBean rb = ResultBean.fireFail();
String sid = "";
if (StringUtils.isNotBlank(dto.getSid())) {
sid = dto.getSid();
PurchaseInventoryBillDetail wmsWarehouseRack = fetchBySid(dto.getSid());
BeanUtil.copyProperties(dto, wmsWarehouseRack, "id", "sid");
baseMapper.updateById(wmsWarehouseRack);
} else {
PurchaseInventoryBillDetail wmsWarehouseRack = new PurchaseInventoryBillDetail();
sid = wmsWarehouseRack.getSid();
BeanUtil.copyProperties(dto, wmsWarehouseRack, "id", "sid");
wmsWarehouseRack.setCreateTime(new DateTime());
baseMapper.insert(wmsWarehouseRack);
}
return rb.success().setMsg("成功");
}
public ResultBean<PurchaseInventoryBillDetailVo> initialization(String sid) {
ResultBean rb = ResultBean.fireFail();
PurchaseInventoryBillDetailVo vo = baseMapper.initialization(sid);
return rb.success().setData(vo);
}
public void delAll(String[] sids) {
delBySids(sids);
}
public ResultBean delete(String sid) {
ResultBean rb = ResultBean.fireFail();
PurchaseInventoryBillDetail wmsWarehouseRack = fetchBySid(sid);
if (null != wmsWarehouseRack) {
baseMapper.deleteById(wmsWarehouseRack.getId());
}
return rb.success();
}
public ResultBean updateIsEnable(String sid, String isEnable) {
ResultBean rb = ResultBean.fireFail();
PurchaseInventoryBillDetail wmsWarehouseRack = fetchBySid(sid);
if (null != wmsWarehouseRack) {
wmsWarehouseRack.setIsEnable(Integer.parseInt(isEnable));
baseMapper.updateById(wmsWarehouseRack);
}
return rb.success().setMsg("成功");
}
public void delByMainSid(String billSid) {
baseMapper.delByMainSid(billSid);
}
public void saveOrUpdateDto(PurchaseInventoryBillDetailDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
this.insertByDto(dto);
return;
}
this.updateByDto(dto);
}
public void insertByDto(PurchaseInventoryBillDetailDto dto) {
PurchaseInventoryBillDetail entity = new PurchaseInventoryBillDetail();
BeanUtil.copyProperties(dto, entity, "id", "sid");
baseMapper.insert(entity);
}
public void updateByDto(PurchaseInventoryBillDetailDto dto) {
String dtoSid = dto.getSid();
if (StringUtils.isBlank(dtoSid)) {
return;
}
}
public PurchaseInventoryBillDetailVo fetchDetailsVoBySid(String sid) {
PurchaseInventoryBillDetail entity = fetchBySid(sid);
PurchaseInventoryBillDetailVo vo = new PurchaseInventoryBillDetailVo();
BeanUtil.copyProperties(entity, vo);
return vo;
}
}

63
src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailVo.java

@ -0,0 +1,63 @@
package com.yxt.warehouse.biz.purchaseinventorybilldetail;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.math.BigDecimal;
import java.util.Date;
/**
* @description:
* @author: dimengzhe
* @date: 2024/4/12
**/
@Data
public class PurchaseInventoryBillDetailVo {
private String sid;
@ApiModelProperty("来源单sid")
private String sourceBillSid;
@ApiModelProperty("图示")
private String illustration;
@ApiModelProperty("商品skusid")
private String goodsSkuSid;
@ApiModelProperty("商品名称")
private String goodsName;
@ApiModelProperty("商品编码")
private String goodsCode;
@ApiModelProperty("商品条码")
private String goodsBarCode;
@ApiModelProperty("规格值")
private String specValue;
@ApiModelProperty("箱条码")
private String boxBarCode;
@ApiModelProperty("箱规格")
private String boxSpec;
@ApiModelProperty("单位sid")
private String unitSid;
@ApiModelProperty("单位名称")
private String unitName;
@ApiModelProperty("成本单价")
private BigDecimal price;
@ApiModelProperty("总价")
private BigDecimal totalPrice;
@ApiModelProperty("数量")
private String count;
@ApiModelProperty("辅助单位")
private String auxiliaryUnits;
@ApiModelProperty("序列号")
private String serialNumber;
@ApiModelProperty("生产批次号")
private String batchNumber;
@ApiModelProperty("入库库位sid")
private String warehouseRackSid;
@ApiModelProperty("入库库位名")
private String warehouseRackName;
@ApiModelProperty("使用组织sid")
private String useOrgSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
private String remarks;
}
Loading…
Cancel
Save