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