入库预约
This commit is contained in:
@@ -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<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);
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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<>();
|
||||
}
|
||||
@@ -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<>();
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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("删除成功");
|
||||
}
|
||||
}
|
||||
@@ -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<>();
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
@@ -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>
|
||||
@@ -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;
|
||||
}
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
Reference in New Issue
Block a user