From 25b2b73fc84442147df09fd78122c85f6f7714a0 Mon Sep 17 00:00:00 2001 From: wangpengfei <1928057482@qq.com> Date: Fri, 9 Aug 2024 10:20:17 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E8=B4=AD=E5=85=A5=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../PurchaseInventoryBill.java | 2 + .../PurchaseInventoryBillDto2.java | 9 +- .../PurchaseInventoryBillInitVo.java | 2 + .../PurchaseInventoryBillMapper.java | 1 + .../PurchaseInventoryBillMapper.xml | 7 + .../PurchaseInventoryBillPageVo.java | 2 + .../PurchaseInventoryBillService.java | 159 ++++++++++-------- .../PurchaseInventoryBillVo.java | 2 + .../PurchaseInventoryBillDetail.java | 10 +- .../PurchaseInventoryBillDetailDto.java | 10 +- .../PurchaseInventoryBillDetailDto2.java | 16 +- .../PurchaseInventoryBillDetailService.java | 57 +++++-- .../PurchaseInventoryBillDetailVo.java | 10 +- .../WarehouseAndBillDetailVo.java | 3 +- .../WarehouseAnsBillService.java | 24 ++- .../warehouseansbill/WarehouseAnsBillVo.java | 1 + .../WarehouseAnsBillDetail.java | 9 +- .../WarehouseAnsBillDetailDto.java | 3 + .../WarehouseAnsBillDetailService.java | 1 + .../WarehouseAnsBillDetailVo.java | 15 ++ .../WarehouseAnsListDetailsVo.java | 5 + 21 files changed, 229 insertions(+), 119 deletions(-) diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBill.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBill.java index 976f2a8..4116bb3 100644 --- a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBill.java +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBill.java @@ -57,4 +57,6 @@ public class PurchaseInventoryBill extends BaseEntity { private String useOrgSid; @ApiModelProperty("创建组织sid") private String createOrgSid; + private String warehouseName; + private String warehouseSid; } diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillDto2.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillDto2.java index d16a893..72d4706 100644 --- a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillDto2.java +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillDto2.java @@ -47,9 +47,9 @@ public class PurchaseInventoryBillDto2 { private String shipper; @ApiModelProperty("外部单号") private String externalNo; - @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") +// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @ApiModelProperty("入库时间") - private Date storageTime; + private String storageTime; @ApiModelProperty("操作员sid") private String operatorSid; @ApiModelProperty("操作员名称") @@ -66,6 +66,7 @@ public class PurchaseInventoryBillDto2 { @ApiModelProperty("商品列表") private List list = new ArrayList<>(); private String userSid; -// @ApiModelProperty("批次列表") -// private List pcList = new ArrayList<>(); + private String userName; + private String warehouseName; + private String warehouseSid; } diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillInitVo.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillInitVo.java index 49c4059..f2d51bc 100644 --- a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillInitVo.java +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillInitVo.java @@ -64,4 +64,6 @@ public class PurchaseInventoryBillInitVo { private String remarks; @ApiModelProperty("单据详情") private List list = new ArrayList<>(); + private String warehouseName; + private String warehouseSid; } diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.java index c75c16d..8162c86 100644 --- a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.java +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.java @@ -17,4 +17,5 @@ public interface PurchaseInventoryBillMapper extends BaseMapper listPage(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); PurchaseInventoryBillInitVo getDetailsInit(String sid); + String selectNum(String billNo); } diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml index 056d3be..c7d406b 100644 --- a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml @@ -15,4 +15,11 @@ from purchase_inventory_bill wrb where wrb.sid = #{sid} + \ 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 index b2a0f4c..099c521 100644 --- a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillPageVo.java +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillPageVo.java @@ -58,4 +58,6 @@ public class PurchaseInventoryBillPageVo { @ApiModelProperty("创建组织sid") private String createOrgSid; private String remarks; + private String warehouseName; + private String warehouseSid; } diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillService.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillService.java index 069d203..ea84011 100644 --- a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillService.java +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillService.java @@ -18,6 +18,7 @@ import com.yxt.warehouse.biz.purchaseinventorybilldetail.PurchaseInventoryBillDe 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.WarehouseAnsBillDetail; import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetailService; import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsListDetailsVo; import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailDto2; @@ -27,8 +28,10 @@ import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDeta import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchDto2; import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchMapper; import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchService; +import com.yxt.warehouse.utils.Rule; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import java.util.*; import java.util.stream.Collectors; @@ -48,11 +51,16 @@ public class PurchaseInventoryBillService extends MybatisBaseService listPage(PagerQuery pq) { PurchaseInventoryBillQuery query = pq.getParams(); @@ -96,6 +104,53 @@ public class PurchaseInventoryBillService extends MybatisBaseService saveBill(List dto,String userSid,String userName) { + ResultBean rb = ResultBean.fireFail(); + for (PurchaseInventoryBillDto2 dto2 : dto) { + double c=0; + double total=0; + for (PurchaseInventoryBillDetailDto2 purchaseInventoryBillDetailDto2 : dto2.getList()) { + c=c+purchaseInventoryBillDetailDto2.getCount(); + total=total+purchaseInventoryBillDetailDto2.getTotalPrice(); + } + PurchaseInventoryBill wmsReceiptBill = new PurchaseInventoryBill(); + String sid = wmsReceiptBill.getSid(); + BeanUtil.copyProperties(dto2, wmsReceiptBill, "sid"); + wmsReceiptBill.setBillState("1"); + wmsReceiptBill.setTotal(total); + //生成单据编号 + String billNo = ""; + String date = DateUtil.format(DateUtil.date(), "yyyyMMdd"); + billNo = "RK" + date; + String i = baseMapper.selectNum(billNo); + if (org.apache.commons.lang3.StringUtils.isNotBlank(i)) { + billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); + } else { + billNo = Rule.getBillNo(billNo, 0); + } + wmsReceiptBill.setBillNo(billNo); + wmsReceiptBill.setTotalQuantity(c); + baseMapper.insert(wmsReceiptBill); + List list = dto2.getList(); + list.removeAll(Collections.singleton(null)); + if (!list.isEmpty()) { + rb = purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list); + if (!rb.getCode().equals("200")) { + return rb; + } + } + OperationRecordDto dto1 = new OperationRecordDto(); + dto1.setBillSid(sid); + dto1.setUserSid(userSid); + dto1.setUserName(userName); + dto1.setCreateTime(new Date()); + dto1.setContent("生成入库单"); + operationRecordService.save(dto1); + } + + return rb.success(); + } + public ResultBean saveOrUpdateBill2(PurchaseInventoryBillDto2 dto) { ResultBean rb = ResultBean.fireFail(); String sid = dto.getSid(); @@ -105,13 +160,13 @@ public class PurchaseInventoryBillService extends MybatisBaseService 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); - purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list); + rb = purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list); + if (!rb.getCode().equals("200")) { + return rb; + } } - OperationRecordDto dto1=new OperationRecordDto(); + OperationRecordDto dto1 = new OperationRecordDto(); dto1.setBillSid(sid); dto1.setUserSid(dto.getUserSid()); dto1.setCreateTime(new Date()); @@ -127,10 +182,7 @@ public class PurchaseInventoryBillService extends MybatisBaseService 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); purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list); } baseMapper.updateById(wmsReceiptBill); @@ -138,27 +190,7 @@ public class PurchaseInventoryBillService extends MybatisBaseService 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); @@ -166,58 +198,41 @@ public class PurchaseInventoryBillService extends MybatisBaseService 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); -// } +// @Transactional 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++) { - PurchaseInventoryBillDetailDto2 wmsReceiptBillDetailDto2 = list.get(i); -// wmsReceiptBillDetailDto2.setState(1); - } + Map> groupingMap=dto.getList().stream().collect(Collectors.groupingBy(PurchaseInventoryBillDetailDto2::getSourceBillSid)); + List dto2s=new ArrayList<>(); + for (String a:groupingMap.keySet()){ + PurchaseInventoryBillDto2 dto2=new PurchaseInventoryBillDto2(); + List s=groupingMap.get(a); + String sourceBillSid=groupingMap.get(a).get(0).getSourceBillSid(); + WarehouseAnsBill warehouseAnsBill=warehouseAnsBillService.getOne(new QueryWrapper().eq("sid",sourceBillSid)); + warehouseAnsBillDetailService.list(new QueryWrapper().eq("sourceBillSid",sourceBillSid)); + BeanUtil.copyProperties(warehouseAnsBill,dto2); + dto2.setSourceBillSid(warehouseAnsBill.getSid()); + dto2.setSourceBillNo(warehouseAnsBill.getBillNo()); + dto2.setExternalNo(warehouseAnsBill.getSourceBillNo()); + dto2.setOperatorSid(dto.getUserSid()); + dto2.setOperatorName(dto.getUserName()); + dto2.setOperatorTime(new Date()); + dto2.setList(groupingMap.get(a)); + dto2.setStorageTime(dto.getStorageTime()); + dto2.setWarehouseName(s.get(0).getWarehouseName()); + dto2.setWarehouseSid(s.get(0).getWarehouseSid()); + dto2s.add(dto2); } - dto.setList(list); - ResultBean resultBean = saveOrUpdateBill2(dto); - String sid = resultBean.getData(); - return rb.success().setData(sid); + rb=saveBill(dto2s,dto.getUserSid(),dto.getUserName()); + if (!rb.getCode().equals("200")) { + return rb; + } + return rb.success().setMsg("保存成功"); } public ResultBean delAllBySids(String[] sids) { diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillVo.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillVo.java index 805244e..9070ced 100644 --- a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillVo.java +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillVo.java @@ -60,6 +60,8 @@ public class PurchaseInventoryBillVo { @ApiModelProperty("创建组织sid") private String createOrgSid; private String remarks; + private String warehouseName; + private String warehouseSid; 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 index c55584f..aa5a77c 100644 --- a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetail.java +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetail.java @@ -22,9 +22,9 @@ public class PurchaseInventoryBillDetail extends BaseEntity { @ApiModelProperty("商品skusid") private String goodsSkuSid; @ApiModelProperty("商品名称") - private String goodsName; + private String goodsSkuTitle; @ApiModelProperty("商品编码") - private String goodsCode; + private String goodsSkuCode; @ApiModelProperty("商品条码") private String goodsBarCode; @ApiModelProperty("规格值") @@ -33,10 +33,8 @@ public class PurchaseInventoryBillDetail extends BaseEntity { private String boxBarCode; @ApiModelProperty("箱规格") private String boxSpec; - @ApiModelProperty("单位sid") - private String unitSid; - @ApiModelProperty("单位名称") - private String unitName; + @ApiModelProperty("单位") + private String unit; @ApiModelProperty("成本单价") private double price; @ApiModelProperty("总价") diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto.java index 10d08f8..033842a 100644 --- a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto.java +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto.java @@ -20,9 +20,9 @@ public class PurchaseInventoryBillDetailDto { @ApiModelProperty("商品skusid") private String goodsSkuSid; @ApiModelProperty("商品名称") - private String goodsName; + private String goodsSkuTitle; @ApiModelProperty("商品编码") - private String goodsCode; + private String goodsSkuCode; @ApiModelProperty("商品条码") private String goodsBarCode; @ApiModelProperty("规格值") @@ -31,10 +31,8 @@ public class PurchaseInventoryBillDetailDto { private String boxBarCode; @ApiModelProperty("箱规格") private String boxSpec; - @ApiModelProperty("单位sid") - private String unitSid; - @ApiModelProperty("单位名称") - private BigDecimal unitName; + @ApiModelProperty("单位") + private BigDecimal unit; @ApiModelProperty("成本单价") private BigDecimal price; @ApiModelProperty("总价") diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto2.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto2.java index e313985..7db743f 100644 --- a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto2.java +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto2.java @@ -22,9 +22,9 @@ public class PurchaseInventoryBillDetailDto2 { @ApiModelProperty("商品skusid") private String goodsSkuSid; @ApiModelProperty("商品名称") - private String goodsName; + private String goodsSkuTitle; @ApiModelProperty("商品编码") - private String goodsCode; + private String goodsSkuCode; @ApiModelProperty("商品条码") private String goodsBarCode; @ApiModelProperty("规格值") @@ -33,10 +33,9 @@ public class PurchaseInventoryBillDetailDto2 { private String boxBarCode; @ApiModelProperty("箱规格") private String boxSpec; - @ApiModelProperty("单位sid") - private String unitSid; - @ApiModelProperty("单位名称") - private String unitName; + + @ApiModelProperty("单位") + private String unit; @ApiModelProperty("成本单价") private double price; @ApiModelProperty("总价") @@ -48,7 +47,7 @@ public class PurchaseInventoryBillDetailDto2 { @ApiModelProperty("序列号") private String serialNumber; @ApiModelProperty("生产批次号") - private String batchNumber; + private String batch; @ApiModelProperty("入库库位sid") private String warehouseRackSid; @@ -59,4 +58,7 @@ public class PurchaseInventoryBillDetailDto2 { @ApiModelProperty("创建组织sid") private String createOrgSid; private String remarks; + private String warehouseName; + private String warehouseSid; + } diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailService.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailService.java index c57e6e6..48c58bd 100644 --- a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailService.java +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailService.java @@ -11,6 +11,12 @@ 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.operationrecord.OperationRecordDto; +import com.yxt.warehouse.biz.purchaseinventorybill.PurchaseInventoryBill; +import com.yxt.warehouse.biz.purchaseinventorybill.PurchaseInventoryBillService; +import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBill; +import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBillService; +import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetail; +import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetailService; import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchDto2; import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchService; import org.springframework.beans.factory.annotation.Autowired; @@ -31,27 +37,52 @@ import java.util.stream.Collectors; public class PurchaseInventoryBillDetailService extends MybatisBaseService { @Autowired - private WarehouseReceiptBillDetailBatchService wmsReceiptBillDetailBatchService; + private WarehouseAnsBillDetailService warehouseAnsBillDetailService; + @Autowired + private WarehouseAnsBillService warehouseAnsBillService; + @Autowired + private PurchaseInventoryBillService purchaseInventoryBillService; // public void saveOrUpdateDetailsList2(String sid, List list, List pcList) { - public void saveOrUpdateDetailsList2(String sid, List list) { + public ResultBean saveOrUpdateDetailsList2(String sid, List list) { + ResultBean rb = ResultBean.fireFail(); baseMapper.deleteByBillSid(sid); - list.forEach(v -> { + PurchaseInventoryBill p=purchaseInventoryBillService.getOne(new QueryWrapper().eq("sid",sid)); + for (PurchaseInventoryBillDetailDto2 v : list) { PurchaseInventoryBillDetail wmsReceiptBillDetail = new PurchaseInventoryBillDetail(); BeanUtil.copyProperties(v, wmsReceiptBillDetail, "sid"); wmsReceiptBillDetail.setSourceBillSid(sid); wmsReceiptBillDetail.setSid(UUID.randomUUID().toString()); + wmsReceiptBillDetail.setGoodsSkuTitle(v.getGoodsSkuTitle()); + wmsReceiptBillDetail.setGoodsSkuCode(v.getGoodsSkuCode()); +// wmsReceiptBillDetail.setSpecValue(v.getSpecValue()); + wmsReceiptBillDetail.setBatchNumber(v.getBatch()); + WarehouseAnsBillDetail warehouseAnsBillDetail=warehouseAnsBillDetailService + .getOne(new QueryWrapper() + .eq("sourceBillSid",p.getSourceBillSid()) + .eq("goodsSkuSid",wmsReceiptBillDetail.getGoodsSkuSid())); + if(warehouseAnsBillDetail.getActualInCount()+wmsReceiptBillDetail.getCount()>warehouseAnsBillDetail.getOrderCount()){ + return rb.setMsg("入库数量大于预约数量"); + } + + warehouseAnsBillDetail.setWaitInCount(warehouseAnsBillDetail.getWaitInCount()-wmsReceiptBillDetail.getCount()); + warehouseAnsBillDetail.setActualInCount(warehouseAnsBillDetail.getActualInCount()+wmsReceiptBillDetail.getCount()); + warehouseAnsBillDetailService.updateById(warehouseAnsBillDetail); 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); -// } -// } - }); + } + ListwarehouseAnsBillDetails=warehouseAnsBillDetailService.list(new QueryWrapper() + .eq("sourceBillSid",p.getSourceBillSid()).eq("waitInCount","0.00")); + ListwarehouseAnsBillDetails1=warehouseAnsBillDetailService.list(new QueryWrapper() + .eq("sourceBillSid",p.getSourceBillSid())); + WarehouseAnsBill warehouseAnsBill=warehouseAnsBillService.getOne(new QueryWrapper().eq("sid",p.getSourceBillSid())); + if(warehouseAnsBillDetails.size()==warehouseAnsBillDetails1.size()){ + warehouseAnsBill.setBillState(2); + warehouseAnsBillService.updateById(warehouseAnsBill); + }else{ + warehouseAnsBill.setBillState(1); + warehouseAnsBillService.updateById(warehouseAnsBill); + } + return rb.success(); } public List getDetailsInit(String sid) { diff --git a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailVo.java b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailVo.java index b2bc0cf..e6ef818 100644 --- a/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailVo.java +++ b/src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailVo.java @@ -22,9 +22,9 @@ public class PurchaseInventoryBillDetailVo { @ApiModelProperty("商品skusid") private String goodsSkuSid; @ApiModelProperty("商品名称") - private String goodsName; + private String goodsSkuTitle; @ApiModelProperty("商品编码") - private String goodsCode; + private String goodsSkuCode; @ApiModelProperty("商品条码") private String goodsBarCode; @ApiModelProperty("规格值") @@ -33,10 +33,8 @@ public class PurchaseInventoryBillDetailVo { private String boxBarCode; @ApiModelProperty("箱规格") private String boxSpec; - @ApiModelProperty("单位sid") - private String unitSid; @ApiModelProperty("单位名称") - private String unitName; + private String unit; @ApiModelProperty("成本单价") private BigDecimal price; @ApiModelProperty("总价") @@ -59,5 +57,7 @@ public class PurchaseInventoryBillDetailVo { @ApiModelProperty("创建组织sid") private String createOrgSid; private String remarks; + private String warehouseName; + private String warehouseSid; } diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAndBillDetailVo.java b/src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAndBillDetailVo.java index f06e381..411c382 100644 --- a/src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAndBillDetailVo.java +++ b/src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAndBillDetailVo.java @@ -38,6 +38,7 @@ public class WarehouseAndBillDetailVo { private String warehouseRackSid; @ApiModelProperty("库区名") private String warehouseRackName; + private String warehouseRackCode; @ApiModelProperty("申请人") private String applicant; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @@ -63,5 +64,5 @@ public class WarehouseAndBillDetailVo { @ApiModelProperty("运单号") private String waybillNumber; private boolean check=false; - List warehouseAnsBillDetails =new ArrayList<>(); + List warehouseAnsBillDetails =new ArrayList<>(); } diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAnsBillService.java b/src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAnsBillService.java index 688ce59..c8f3fb7 100644 --- a/src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAnsBillService.java +++ b/src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAnsBillService.java @@ -152,6 +152,10 @@ public class WarehouseAnsBillService extends MybatisBaseService page = PagerUtil.queryToPage(pagerQuery); IPage pagging = baseMapper.listPages(page, qw); + for (WarehouseAnsBillVo record : pagging.getRecords()) { + WarehouseRack warehouseRack=warehouseRackService.getOne(new QueryWrapper().eq("sid",record.getWarehouseRackSid())); + record.setWarehouseRackCode(warehouseRack.getRackCode()); + } PagerVo p = PagerUtil.pageToVo(pagging, null); return rb.success().setData(p); } @@ -207,12 +211,30 @@ public class WarehouseAnsBillService extends MybatisBaseService page = PagerUtil.queryToPage(pagerQuery); IPage pagging = baseMapper.listPages1(page, qw); for (WarehouseAndBillDetailVo record : pagging.getRecords()) { + WarehouseRack warehouseRack=warehouseRackService.getOne(new QueryWrapper().eq("sid",record.getWarehouseRackSid())); + record.setWarehouseRackCode(warehouseRack.getRackCode()); List warehouseAnsBillDetails=WarehouseAnsBillDetailService.list(new QueryWrapper().eq("sourceBillSid",record.getSid())); - record.setWarehouseAnsBillDetails(warehouseAnsBillDetails); + List warehouseAnsBillDetailVos=new ArrayList<>(); + for (WarehouseAnsBillDetail warehouseAnsBillDetail : warehouseAnsBillDetails) { + WarehouseAnsBillDetailVo warehouseAnsBillDetailVo=new WarehouseAnsBillDetailVo(); + BeanUtil.copyProperties(warehouseAnsBillDetail,warehouseAnsBillDetailVo); + warehouseAnsBillDetailVo.setWarehouseRackName(record.getWarehouseRackName()); + warehouseAnsBillDetailVo.setWarehouseRackSid(record.getWarehouseRackSid()); + warehouseAnsBillDetailVo.setWarehouseName(record.getWarehouseName()); + warehouseAnsBillDetailVo.setWarehouseSid(record.getWarehouseSid()); + warehouseAnsBillDetailVo.setCount(0); + warehouseAnsBillDetailVo.setYyCode(record.getBillNo()); + warehouseAnsBillDetailVo.setRemarks(record.getRemarks()); + warehouseAnsBillDetailVo.setWarehouseRackCode(record.getWarehouseRackCode()); + warehouseAnsBillDetailVos.add(warehouseAnsBillDetailVo); + } + record.setWarehouseAnsBillDetails(warehouseAnsBillDetailVos); + } PagerVo p = PagerUtil.pageToVo(pagging, null); diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAnsBillVo.java b/src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAnsBillVo.java index 0b7953b..17d9d05 100644 --- a/src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAnsBillVo.java +++ b/src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAnsBillVo.java @@ -43,6 +43,7 @@ public class WarehouseAnsBillVo { private String warehouseRackSid; @ApiModelProperty("库区名") private String warehouseRackName; + private String warehouseRackCode; @ApiModelProperty("申请人") private String applicant; @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetail.java b/src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetail.java index 6a73a79..83ef301 100644 --- a/src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetail.java +++ b/src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetail.java @@ -32,9 +32,10 @@ public class WarehouseAnsBillDetail extends BaseEntity { @ApiModelProperty("预约数量(采购订单数量)") private double orderCount; @ApiModelProperty("待入库数量-根据收货单计算") - private Integer waitInCount; + private double waitInCount; @ApiModelProperty("实际入库数量-根据收货单计算") - private Integer actualInCount; - @TableField(exist = false) - private boolean check=false; + private double actualInCount; + private double price;//单价 + private double totalPrice;//总价 + private String batch;//批次 } diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailDto.java b/src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailDto.java index b0da4d1..e107776 100644 --- a/src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailDto.java +++ b/src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailDto.java @@ -32,4 +32,7 @@ public class WarehouseAnsBillDetailDto { private Integer waitInCount; @ApiModelProperty("实际入库数量-根据收货单计算") private Integer actualInCount; + private double price;//单价 + private double totalPrice;//总价 + private String batch;//批次 } diff --git a/src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailService.java b/src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailService.java index 4ed58c8..6b31977 100644 --- a/src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailService.java +++ b/src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailService.java @@ -28,6 +28,7 @@ public class WarehouseAnsBillDetailService extends MybatisBaseService