From 6a4b0d04d66a09e52183b688a54241abbf805c8c Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Mon, 5 Aug 2024 08:53:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=85=A5=E5=BA=93=E9=A2=84=E7=BA=A6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../apiadmin/PurchaseInventoryBillRest.java | 55 +++++ .../PurchaseInventoryBill.java | 60 +++++ .../PurchaseInventoryBillDto2.java | 69 ++++++ .../PurchaseInventoryBillInitVo.java | 67 ++++++ .../PurchaseInventoryBillMapper.java | 20 ++ .../PurchaseInventoryBillMapper.xml | 18 ++ .../PurchaseInventoryBillPageVo.java | 61 +++++ .../PurchaseInventoryBillQuery.java | 42 ++++ .../PurchaseInventoryBillService.java | 224 ++++++++++++++++++ .../PurchaseInventoryBillVo.java | 65 +++++ .../PurchaseInventoryBillDetail.java | 62 +++++ .../PurchaseInventoryBillDetailDto.java | 60 +++++ .../PurchaseInventoryBillDetailDto2.java | 69 ++++++ .../PurchaseInventoryBillDetailMapper.java | 30 +++ .../PurchaseInventoryBillDetailMapper.xml | 40 ++++ .../PurchaseInventoryBillDetailQuery.java | 13 + .../PurchaseInventoryBillDetailService.java | 159 +++++++++++++ .../PurchaseInventoryBillDetailVo.java | 63 +++++ 18 files changed, 1177 insertions(+) create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBill.java create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillDto2.java create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillInitVo.java create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.java create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillPageVo.java create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillQuery.java create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillService.java create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillVo.java create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetail.java create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto.java create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto2.java create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailMapper.java create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailMapper.xml create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailQuery.java create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailService.java create mode 100644 src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailVo.java diff --git a/src/main/java/com/yxt/warehouse/apiadmin/PurchaseInventoryBillRest.java b/src/main/java/com/yxt/warehouse/apiadmin/PurchaseInventoryBillRest.java index 9793c4a..d631798 100644 --- a/src/main/java/com/yxt/warehouse/apiadmin/PurchaseInventoryBillRest.java +++ b/src/main/java/com/yxt/warehouse/apiadmin/PurchaseInventoryBillRest.java @@ -1,8 +1,63 @@ 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 * @date 2024/8/1 17:46 */ +@Api(tags = "采购入库") +@RestController +@RequestMapping("/apiadmin/purchaseinventorybill") public class PurchaseInventoryBillRest { + @Autowired + PurchaseInventoryBillService purchaseInventoryBillService; + @ApiOperation("分页列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = purchaseInventoryBillService.listPage(pq); + return rb.success().setData(pv); + } + + @ApiOperation("新增修改保存") + @PostMapping("/saveOrUpdate") + ResultBean saveOrUpdate(@RequestBody PurchaseInventoryBillDto2 dto) { + return purchaseInventoryBillService.saveOrUpdateBill2(dto); + } + + @ApiOperation("通知单收货单初始化") + @GetMapping("/getInitDetails") + ResultBean getInitDetails(@RequestParam("sourceSid") String sourceSid) { + return purchaseInventoryBillService.getInitDetails(sourceSid); + } + + @ApiOperation("收货单据编辑初始化/详情") + @GetMapping("/selectByBillSid") + ResultBean selectByBillSid(@RequestParam("sid") String sid) { + return purchaseInventoryBillService.selectByBillSid(sid); + } + + @ApiOperation("确认") + @PostMapping("/confirm") + ResultBean confirm(@RequestBody PurchaseInventoryBillDto2 dto) { + return purchaseInventoryBillService.confirm(dto); + } + + @ApiOperation("删除/批量删除") + @DeleteMapping("/delBySids") + ResultBean delBySids(@RequestBody String[] sids) { + return purchaseInventoryBillService.delAllBySids(sids); + } + + } diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBill.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBill.java new file mode 100644 index 0000000..976f2a8 --- /dev/null +++ b/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; +} diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillDto2.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillDto2.java new file mode 100644 index 0000000..71458f7 --- /dev/null +++ b/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 list = new ArrayList<>(); + @ApiModelProperty("批次列表") + private List pcList = new ArrayList<>(); +} diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillInitVo.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillInitVo.java new file mode 100644 index 0000000..49c4059 --- /dev/null +++ b/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 list = new ArrayList<>(); +} diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.java new file mode 100644 index 0000000..c75c16d --- /dev/null +++ b/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 { + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + PurchaseInventoryBillInitVo getDetailsInit(String sid); +} diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml new file mode 100644 index 0000000..056d3be --- /dev/null +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml @@ -0,0 +1,18 @@ + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillPageVo.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillPageVo.java new file mode 100644 index 0000000..b2a0f4c --- /dev/null +++ b/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; +} diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillQuery.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillQuery.java new file mode 100644 index 0000000..99c40b2 --- /dev/null +++ b/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; + +} diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillService.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillService.java new file mode 100644 index 0000000..65fc946 --- /dev/null +++ b/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 { + + @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 listPage(PagerQuery pq) { + PurchaseInventoryBillQuery query = pq.getParams(); + QueryWrapper 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 page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.listPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean saveOrUpdateBill2(PurchaseInventoryBillDto2 dto) { + ResultBean rb = ResultBean.fireFail(); + String sid = dto.getSid(); + if (StringUtils.isBlank(sid)) { + PurchaseInventoryBill wmsReceiptBill = new PurchaseInventoryBill(); + sid = wmsReceiptBill.getSid(); + BeanUtil.copyProperties(dto, wmsReceiptBill, "sid"); + List list = dto.getList(); + list.removeAll(Collections.singleton(null)); + List 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 list = dto.getList(); + list.removeAll(Collections.singleton(null)); + List 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 getInitDetails(String sourceSid) { + ResultBean 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 list = wmsAnsBillDetailService.selectByBillSid(sourceSid); + list.removeAll(Collections.singleton(null)); + if (!list.isEmpty()) { + List 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 selectByBillSid(String sid) { + ResultBean rb = ResultBean.fireFail(); + PurchaseInventoryBillInitVo wmsReceiptBillInitVo = baseMapper.getDetailsInit(sid); + if (wmsReceiptBillInitVo != null) { + List 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 getDetailsInit(String sid) { +// ResultBean rb = ResultBean.fireFail(); +// PurchaseInventoryBillInitVo wmsReceiptBillInitVo = baseMapper.getDetailsInit(sid); +// List pcList = new ArrayList<>(); +// if (wmsReceiptBillInitVo != null) { +// List 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 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 confirm(PurchaseInventoryBillDto2 dto) { + ResultBean rb = ResultBean.fireFail(); +// dto.setBillState("1"); + List 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 resultBean = saveOrUpdateBill2(dto); + String sid = resultBean.getData(); + return rb.success().setData(sid); + } + + public ResultBean delAllBySids(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + List 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("删除成功"); + } +} diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillVo.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillVo.java new file mode 100644 index 0000000..805244e --- /dev/null +++ b/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 list = new ArrayList<>(); +} diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetail.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetail.java new file mode 100644 index 0000000..737abed --- /dev/null +++ b/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; +} diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto.java new file mode 100644 index 0000000..10d08f8 --- /dev/null +++ b/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; +} diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto2.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto2.java new file mode 100644 index 0000000..8091c44 --- /dev/null +++ b/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; +} diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailMapper.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailMapper.java new file mode 100644 index 0000000..b4e6313 --- /dev/null +++ b/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 { + int deleteByBillSid(String sid); + + List getDetailsInit(String sid); + + List selectByBillSid(@Param("sid") String sid, @Param("sidList") List sidList); + IPage listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + PurchaseInventoryBillDetailVo initialization (@Param("sid") String sid); + + @Delete("delete from warehouse_reportlose where sid = #{sid}") + void delByMainSid(String billSid); +} diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailMapper.xml b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailMapper.xml new file mode 100644 index 0000000..76f783c --- /dev/null +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailMapper.xml @@ -0,0 +1,40 @@ + + + + + delete + from pruchase_inventory_bill_detail + where billSid = #{sid} + + + + + + + + \ No newline at end of file diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailQuery.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailQuery.java new file mode 100644 index 0000000..02639b1 --- /dev/null +++ b/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; +} diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailService.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailService.java new file mode 100644 index 0000000..db4ea4a --- /dev/null +++ b/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 { + + @Autowired + private WarehouseReceiptBillDetailBatchService wmsReceiptBillDetailBatchService; + + public void saveOrUpdateDetailsList2(String sid, List list, List 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 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 getDetailsInit(String sid) { + return baseMapper.getDetailsInit(sid); + } + + public List selectByBillSid(String sid, List sidList) { + return baseMapper.selectByBillSid(sid, sidList); + } + public ResultBean> listPage(PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PurchaseInventoryBillDetailQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + if (StringUtils.isNotBlank(query.getName())) { + qw.like("rackName", query.getName()); + } + + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.listPage(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + List records = pagging.getRecords(); + return rb.success().setData(p); + } + + + + + + public ResultBean 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 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; + } +} diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailVo.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailVo.java new file mode 100644 index 0000000..b2bc0cf --- /dev/null +++ b/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; + +}