Browse Source

采购入库

master
wangpengfei 10 months ago
parent
commit
25b2b73fc8
  1. 2
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBill.java
  2. 9
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillDto2.java
  3. 2
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillInitVo.java
  4. 1
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.java
  5. 7
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillMapper.xml
  6. 2
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillPageVo.java
  7. 159
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillService.java
  8. 2
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybill/PurchaseInventoryBillVo.java
  9. 10
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetail.java
  10. 10
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto.java
  11. 16
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailDto2.java
  12. 57
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailService.java
  13. 10
      src/main/java/com/yxt/warehouse/biz/purchaseinventorybilldetail/PurchaseInventoryBillDetailVo.java
  14. 3
      src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAndBillDetailVo.java
  15. 24
      src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAnsBillService.java
  16. 1
      src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAnsBillVo.java
  17. 9
      src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetail.java
  18. 3
      src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailDto.java
  19. 1
      src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailService.java
  20. 15
      src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailVo.java
  21. 5
      src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsListDetailsVo.java

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

@ -57,4 +57,6 @@ public class PurchaseInventoryBill extends BaseEntity {
private String useOrgSid;
@ApiModelProperty("创建组织sid")
private String createOrgSid;
private String warehouseName;
private String warehouseSid;
}

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

@ -47,9 +47,9 @@ public class PurchaseInventoryBillDto2 {
private String shipper;
@ApiModelProperty("外部单号")
private String externalNo;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
// @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ApiModelProperty("入库时间")
private Date storageTime;
private String storageTime;
@ApiModelProperty("操作员sid")
private String operatorSid;
@ApiModelProperty("操作员名称")
@ -66,6 +66,7 @@ public class PurchaseInventoryBillDto2 {
@ApiModelProperty("商品列表")
private List<PurchaseInventoryBillDetailDto2> list = new ArrayList<>();
private String userSid;
// @ApiModelProperty("批次列表")
// private List<PurchaseInventoryBillDetailBatchDto2> pcList = new ArrayList<>();
private String userName;
private String warehouseName;
private String warehouseSid;
}

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

@ -64,4 +64,6 @@ public class PurchaseInventoryBillInitVo {
private String remarks;
@ApiModelProperty("单据详情")
private List<PurchaseInventoryBillDetailVo> list = new ArrayList<>();
private String warehouseName;
private String warehouseSid;
}

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

@ -17,4 +17,5 @@ public interface PurchaseInventoryBillMapper extends BaseMapper<PurchaseInventor
IPage<PurchaseInventoryBillPageVo> listPage(IPage<PurchaseInventoryBill> page, @Param(Constants.WRAPPER) QueryWrapper<PurchaseInventoryBill> qw);
PurchaseInventoryBillInitVo getDetailsInit(String sid);
String selectNum(String billNo);
}

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

@ -15,4 +15,11 @@
from purchase_inventory_bill wrb
where wrb.sid = #{sid}
</select>
<select id="selectNum" resultType="java.lang.String">
select RIGHT (billNo, 4)
from purchase_inventory_bill
where billNo LIKE concat(#{billNo}, '%')
order by billNo desc
limit 1
</select>
</mapper>

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

@ -58,4 +58,6 @@ public class PurchaseInventoryBillPageVo {
@ApiModelProperty("创建组织sid")
private String createOrgSid;
private String remarks;
private String warehouseName;
private String warehouseSid;
}

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

@ -18,6 +18,7 @@ import com.yxt.warehouse.biz.purchaseinventorybilldetail.PurchaseInventoryBillDe
import com.yxt.warehouse.biz.purchaseinventorybilldetail.PurchaseInventoryBillDetailVo;
import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBill;
import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBillService;
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetail;
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetailService;
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsListDetailsVo;
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailDto2;
@ -27,8 +28,10 @@ import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDeta
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchDto2;
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchMapper;
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchService;
import com.yxt.warehouse.utils.Rule;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*;
import java.util.stream.Collectors;
@ -48,11 +51,16 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
@Autowired
private WarehouseAnsBillDetailService wmsAnsBillDetailService;
@Autowired
OperationRecordService operationRecordService;;
OperationRecordService operationRecordService;
;
@Autowired
private WarehouseReceiptBillDetailMapper wmsReceiptBillDetailMapper;
@Autowired
private WarehouseReceiptBillDetailBatchMapper wmsReceiptBillDetailBatchMapper;
@Autowired
WarehouseAnsBillDetailService warehouseAnsBillDetailService;
@Autowired
WarehouseAnsBillService warehouseAnsBillService;
public PagerVo<PurchaseInventoryBillPageVo> listPage(PagerQuery<PurchaseInventoryBillQuery> pq) {
PurchaseInventoryBillQuery query = pq.getParams();
@ -96,6 +104,53 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
return p;
}
public ResultBean<String> saveBill(List<PurchaseInventoryBillDto2> dto,String userSid,String userName) {
ResultBean<String> rb = ResultBean.fireFail();
for (PurchaseInventoryBillDto2 dto2 : dto) {
double c=0;
double total=0;
for (PurchaseInventoryBillDetailDto2 purchaseInventoryBillDetailDto2 : dto2.getList()) {
c=c+purchaseInventoryBillDetailDto2.getCount();
total=total+purchaseInventoryBillDetailDto2.getTotalPrice();
}
PurchaseInventoryBill wmsReceiptBill = new PurchaseInventoryBill();
String sid = wmsReceiptBill.getSid();
BeanUtil.copyProperties(dto2, wmsReceiptBill, "sid");
wmsReceiptBill.setBillState("1");
wmsReceiptBill.setTotal(total);
//生成单据编号
String billNo = "";
String date = DateUtil.format(DateUtil.date(), "yyyyMMdd");
billNo = "RK" + date;
String i = baseMapper.selectNum(billNo);
if (org.apache.commons.lang3.StringUtils.isNotBlank(i)) {
billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue());
} else {
billNo = Rule.getBillNo(billNo, 0);
}
wmsReceiptBill.setBillNo(billNo);
wmsReceiptBill.setTotalQuantity(c);
baseMapper.insert(wmsReceiptBill);
List<PurchaseInventoryBillDetailDto2> list = dto2.getList();
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
rb = purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list);
if (!rb.getCode().equals("200")) {
return rb;
}
}
OperationRecordDto dto1 = new OperationRecordDto();
dto1.setBillSid(sid);
dto1.setUserSid(userSid);
dto1.setUserName(userName);
dto1.setCreateTime(new Date());
dto1.setContent("生成入库单");
operationRecordService.save(dto1);
}
return rb.success();
}
public ResultBean<String> saveOrUpdateBill2(PurchaseInventoryBillDto2 dto) {
ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid();
@ -105,11 +160,11 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
BeanUtil.copyProperties(dto, wmsReceiptBill, "sid");
List<PurchaseInventoryBillDetailDto2> 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);
purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list);
rb = purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list);
if (!rb.getCode().equals("200")) {
return rb;
}
}
OperationRecordDto dto1 = new OperationRecordDto();
dto1.setBillSid(sid);
@ -127,10 +182,7 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
BeanUtil.copyProperties(dto, wmsReceiptBill, "sid");
List<PurchaseInventoryBillDetailDto2> 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);
purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list);
}
baseMapper.updateById(wmsReceiptBill);
@ -138,27 +190,7 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
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);
@ -166,58 +198,41 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
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);
// }
// @Transactional
public ResultBean<String> confirm(PurchaseInventoryBillDto2 dto) {
ResultBean<String> rb = ResultBean.fireFail();
// dto.setBillState("1");
List<PurchaseInventoryBillDetailDto2> list = dto.getList();
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
for (int i = 0; i < list.size(); i++) {
PurchaseInventoryBillDetailDto2 wmsReceiptBillDetailDto2 = list.get(i);
// wmsReceiptBillDetailDto2.setState(1);
}
}
dto.setList(list);
ResultBean<String> resultBean = saveOrUpdateBill2(dto);
String sid = resultBean.getData();
return rb.success().setData(sid);
Map<String, List<PurchaseInventoryBillDetailDto2>> groupingMap=dto.getList().stream().collect(Collectors.groupingBy(PurchaseInventoryBillDetailDto2::getSourceBillSid));
List<PurchaseInventoryBillDto2> dto2s=new ArrayList<>();
for (String a:groupingMap.keySet()){
PurchaseInventoryBillDto2 dto2=new PurchaseInventoryBillDto2();
List<PurchaseInventoryBillDetailDto2> s=groupingMap.get(a);
String sourceBillSid=groupingMap.get(a).get(0).getSourceBillSid();
WarehouseAnsBill warehouseAnsBill=warehouseAnsBillService.getOne(new QueryWrapper<WarehouseAnsBill>().eq("sid",sourceBillSid));
warehouseAnsBillDetailService.list(new QueryWrapper<WarehouseAnsBillDetail>().eq("sourceBillSid",sourceBillSid));
BeanUtil.copyProperties(warehouseAnsBill,dto2);
dto2.setSourceBillSid(warehouseAnsBill.getSid());
dto2.setSourceBillNo(warehouseAnsBill.getBillNo());
dto2.setExternalNo(warehouseAnsBill.getSourceBillNo());
dto2.setOperatorSid(dto.getUserSid());
dto2.setOperatorName(dto.getUserName());
dto2.setOperatorTime(new Date());
dto2.setList(groupingMap.get(a));
dto2.setStorageTime(dto.getStorageTime());
dto2.setWarehouseName(s.get(0).getWarehouseName());
dto2.setWarehouseSid(s.get(0).getWarehouseSid());
dto2s.add(dto2);
}
rb=saveBill(dto2s,dto.getUserSid(),dto.getUserName());
if (!rb.getCode().equals("200")) {
return rb;
}
return rb.success().setMsg("保存成功");
}
public ResultBean delAllBySids(String[] sids) {

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

@ -60,6 +60,8 @@ public class PurchaseInventoryBillVo {
@ApiModelProperty("创建组织sid")
private String createOrgSid;
private String remarks;
private String warehouseName;
private String warehouseSid;
private List<WarehouseReceiptBillDetailVo> list = new ArrayList<>();
}

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

@ -22,9 +22,9 @@ public class PurchaseInventoryBillDetail extends BaseEntity {
@ApiModelProperty("商品skusid")
private String goodsSkuSid;
@ApiModelProperty("商品名称")
private String goodsName;
private String goodsSkuTitle;
@ApiModelProperty("商品编码")
private String goodsCode;
private String goodsSkuCode;
@ApiModelProperty("商品条码")
private String goodsBarCode;
@ApiModelProperty("规格值")
@ -33,10 +33,8 @@ public class PurchaseInventoryBillDetail extends BaseEntity {
private String boxBarCode;
@ApiModelProperty("箱规格")
private String boxSpec;
@ApiModelProperty("单位sid")
private String unitSid;
@ApiModelProperty("单位名称")
private String unitName;
@ApiModelProperty("单位")
private String unit;
@ApiModelProperty("成本单价")
private double price;
@ApiModelProperty("总价")

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

@ -20,9 +20,9 @@ public class PurchaseInventoryBillDetailDto {
@ApiModelProperty("商品skusid")
private String goodsSkuSid;
@ApiModelProperty("商品名称")
private String goodsName;
private String goodsSkuTitle;
@ApiModelProperty("商品编码")
private String goodsCode;
private String goodsSkuCode;
@ApiModelProperty("商品条码")
private String goodsBarCode;
@ApiModelProperty("规格值")
@ -31,10 +31,8 @@ public class PurchaseInventoryBillDetailDto {
private String boxBarCode;
@ApiModelProperty("箱规格")
private String boxSpec;
@ApiModelProperty("单位sid")
private String unitSid;
@ApiModelProperty("单位名称")
private BigDecimal unitName;
@ApiModelProperty("单位")
private BigDecimal unit;
@ApiModelProperty("成本单价")
private BigDecimal price;
@ApiModelProperty("总价")

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

@ -22,9 +22,9 @@ public class PurchaseInventoryBillDetailDto2 {
@ApiModelProperty("商品skusid")
private String goodsSkuSid;
@ApiModelProperty("商品名称")
private String goodsName;
private String goodsSkuTitle;
@ApiModelProperty("商品编码")
private String goodsCode;
private String goodsSkuCode;
@ApiModelProperty("商品条码")
private String goodsBarCode;
@ApiModelProperty("规格值")
@ -33,10 +33,9 @@ public class PurchaseInventoryBillDetailDto2 {
private String boxBarCode;
@ApiModelProperty("箱规格")
private String boxSpec;
@ApiModelProperty("单位sid")
private String unitSid;
@ApiModelProperty("单位名称")
private String unitName;
@ApiModelProperty("单位")
private String unit;
@ApiModelProperty("成本单价")
private double price;
@ApiModelProperty("总价")
@ -48,7 +47,7 @@ public class PurchaseInventoryBillDetailDto2 {
@ApiModelProperty("序列号")
private String serialNumber;
@ApiModelProperty("生产批次号")
private String batchNumber;
private String batch;
@ApiModelProperty("入库库位sid")
private String warehouseRackSid;
@ -59,4 +58,7 @@ public class PurchaseInventoryBillDetailDto2 {
@ApiModelProperty("创建组织sid")
private String createOrgSid;
private String remarks;
private String warehouseName;
private String warehouseSid;
}

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

@ -11,6 +11,12 @@ import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.warehouse.biz.operationrecord.OperationRecordDto;
import com.yxt.warehouse.biz.purchaseinventorybill.PurchaseInventoryBill;
import com.yxt.warehouse.biz.purchaseinventorybill.PurchaseInventoryBillService;
import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBill;
import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBillService;
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetail;
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsBillDetailService;
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchDto2;
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchService;
import org.springframework.beans.factory.annotation.Autowired;
@ -31,27 +37,52 @@ import java.util.stream.Collectors;
public class PurchaseInventoryBillDetailService extends MybatisBaseService<PurchaseInventoryBillDetailMapper, PurchaseInventoryBillDetail> {
@Autowired
private WarehouseReceiptBillDetailBatchService wmsReceiptBillDetailBatchService;
private WarehouseAnsBillDetailService warehouseAnsBillDetailService;
@Autowired
private WarehouseAnsBillService warehouseAnsBillService;
@Autowired
private PurchaseInventoryBillService purchaseInventoryBillService;
// public void saveOrUpdateDetailsList2(String sid, List<PurchaseInventoryBillDetailDto2> list, List<WarehouseReceiptBillDetailBatchDto2> pcList) {
public void saveOrUpdateDetailsList2(String sid, List<PurchaseInventoryBillDetailDto2> list) {
public ResultBean<String> saveOrUpdateDetailsList2(String sid, List<PurchaseInventoryBillDetailDto2> list) {
ResultBean<String> rb = ResultBean.fireFail();
baseMapper.deleteByBillSid(sid);
list.forEach(v -> {
PurchaseInventoryBill p=purchaseInventoryBillService.getOne(new QueryWrapper<PurchaseInventoryBill>().eq("sid",sid));
for (PurchaseInventoryBillDetailDto2 v : list) {
PurchaseInventoryBillDetail wmsReceiptBillDetail = new PurchaseInventoryBillDetail();
BeanUtil.copyProperties(v, wmsReceiptBillDetail, "sid");
wmsReceiptBillDetail.setSourceBillSid(sid);
wmsReceiptBillDetail.setSid(UUID.randomUUID().toString());
wmsReceiptBillDetail.setGoodsSkuTitle(v.getGoodsSkuTitle());
wmsReceiptBillDetail.setGoodsSkuCode(v.getGoodsSkuCode());
// wmsReceiptBillDetail.setSpecValue(v.getSpecValue());
wmsReceiptBillDetail.setBatchNumber(v.getBatch());
WarehouseAnsBillDetail warehouseAnsBillDetail=warehouseAnsBillDetailService
.getOne(new QueryWrapper<WarehouseAnsBillDetail>()
.eq("sourceBillSid",p.getSourceBillSid())
.eq("goodsSkuSid",wmsReceiptBillDetail.getGoodsSkuSid()));
if(warehouseAnsBillDetail.getActualInCount()+wmsReceiptBillDetail.getCount()>warehouseAnsBillDetail.getOrderCount()){
return rb.setMsg("入库数量大于预约数量");
}
warehouseAnsBillDetail.setWaitInCount(warehouseAnsBillDetail.getWaitInCount()-wmsReceiptBillDetail.getCount());
warehouseAnsBillDetail.setActualInCount(warehouseAnsBillDetail.getActualInCount()+wmsReceiptBillDetail.getCount());
warehouseAnsBillDetailService.updateById(warehouseAnsBillDetail);
baseMapper.insert(wmsReceiptBillDetail);
// wmsReceiptBillDetailBatchService.deleteByDetails(sid);
// pcList.removeAll(Collections.singleton(null));
// if (!pcList.isEmpty()) {
// List<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);
// }
// }
});
}
List<WarehouseAnsBillDetail>warehouseAnsBillDetails=warehouseAnsBillDetailService.list(new QueryWrapper<WarehouseAnsBillDetail>()
.eq("sourceBillSid",p.getSourceBillSid()).eq("waitInCount","0.00"));
List<WarehouseAnsBillDetail>warehouseAnsBillDetails1=warehouseAnsBillDetailService.list(new QueryWrapper<WarehouseAnsBillDetail>()
.eq("sourceBillSid",p.getSourceBillSid()));
WarehouseAnsBill warehouseAnsBill=warehouseAnsBillService.getOne(new QueryWrapper<WarehouseAnsBill>().eq("sid",p.getSourceBillSid()));
if(warehouseAnsBillDetails.size()==warehouseAnsBillDetails1.size()){
warehouseAnsBill.setBillState(2);
warehouseAnsBillService.updateById(warehouseAnsBill);
}else{
warehouseAnsBill.setBillState(1);
warehouseAnsBillService.updateById(warehouseAnsBill);
}
return rb.success();
}
public List<PurchaseInventoryBillDetailVo> getDetailsInit(String sid) {

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

@ -22,9 +22,9 @@ public class PurchaseInventoryBillDetailVo {
@ApiModelProperty("商品skusid")
private String goodsSkuSid;
@ApiModelProperty("商品名称")
private String goodsName;
private String goodsSkuTitle;
@ApiModelProperty("商品编码")
private String goodsCode;
private String goodsSkuCode;
@ApiModelProperty("商品条码")
private String goodsBarCode;
@ApiModelProperty("规格值")
@ -33,10 +33,8 @@ public class PurchaseInventoryBillDetailVo {
private String boxBarCode;
@ApiModelProperty("箱规格")
private String boxSpec;
@ApiModelProperty("单位sid")
private String unitSid;
@ApiModelProperty("单位名称")
private String unitName;
private String unit;
@ApiModelProperty("成本单价")
private BigDecimal price;
@ApiModelProperty("总价")
@ -59,5 +57,7 @@ public class PurchaseInventoryBillDetailVo {
@ApiModelProperty("创建组织sid")
private String createOrgSid;
private String remarks;
private String warehouseName;
private String warehouseSid;
}

3
src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAndBillDetailVo.java

@ -38,6 +38,7 @@ public class WarehouseAndBillDetailVo {
private String warehouseRackSid;
@ApiModelProperty("库区名")
private String warehouseRackName;
private String warehouseRackCode;
@ApiModelProperty("申请人")
private String applicant;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ -63,5 +64,5 @@ public class WarehouseAndBillDetailVo {
@ApiModelProperty("运单号")
private String waybillNumber;
private boolean check=false;
List<WarehouseAnsBillDetail> warehouseAnsBillDetails =new ArrayList<>();
List<WarehouseAnsBillDetailVo> warehouseAnsBillDetails =new ArrayList<>();
}

24
src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAnsBillService.java

@ -152,6 +152,10 @@ public class WarehouseAnsBillService extends MybatisBaseService<WarehouseAnsBill
IPage<WarehouseAnsBill> page = PagerUtil.queryToPage(pagerQuery);
IPage<WarehouseAnsBillVo> pagging = baseMapper.listPages(page, qw);
for (WarehouseAnsBillVo record : pagging.getRecords()) {
WarehouseRack warehouseRack=warehouseRackService.getOne(new QueryWrapper<WarehouseRack>().eq("sid",record.getWarehouseRackSid()));
record.setWarehouseRackCode(warehouseRack.getRackCode());
}
PagerVo<WarehouseAnsBillVo> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p);
}
@ -207,12 +211,30 @@ public class WarehouseAnsBillService extends MybatisBaseService<WarehouseAnsBill
if (StringUtils.isNotBlank(query.getGoodsSkuSid())) {
qw.eq("wabd.goodsSkuSid", query.getGoodsSkuSid());
}
qw.in("wab.billState","0","1");
}
IPage<WarehouseAnsBill> page = PagerUtil.queryToPage(pagerQuery);
IPage<WarehouseAndBillDetailVo> pagging = baseMapper.listPages1(page, qw);
for (WarehouseAndBillDetailVo record : pagging.getRecords()) {
WarehouseRack warehouseRack=warehouseRackService.getOne(new QueryWrapper<WarehouseRack>().eq("sid",record.getWarehouseRackSid()));
record.setWarehouseRackCode(warehouseRack.getRackCode());
List<WarehouseAnsBillDetail> warehouseAnsBillDetails=WarehouseAnsBillDetailService.list(new QueryWrapper<WarehouseAnsBillDetail>().eq("sourceBillSid",record.getSid()));
record.setWarehouseAnsBillDetails(warehouseAnsBillDetails);
List<WarehouseAnsBillDetailVo> warehouseAnsBillDetailVos=new ArrayList<>();
for (WarehouseAnsBillDetail warehouseAnsBillDetail : warehouseAnsBillDetails) {
WarehouseAnsBillDetailVo warehouseAnsBillDetailVo=new WarehouseAnsBillDetailVo();
BeanUtil.copyProperties(warehouseAnsBillDetail,warehouseAnsBillDetailVo);
warehouseAnsBillDetailVo.setWarehouseRackName(record.getWarehouseRackName());
warehouseAnsBillDetailVo.setWarehouseRackSid(record.getWarehouseRackSid());
warehouseAnsBillDetailVo.setWarehouseName(record.getWarehouseName());
warehouseAnsBillDetailVo.setWarehouseSid(record.getWarehouseSid());
warehouseAnsBillDetailVo.setCount(0);
warehouseAnsBillDetailVo.setYyCode(record.getBillNo());
warehouseAnsBillDetailVo.setRemarks(record.getRemarks());
warehouseAnsBillDetailVo.setWarehouseRackCode(record.getWarehouseRackCode());
warehouseAnsBillDetailVos.add(warehouseAnsBillDetailVo);
}
record.setWarehouseAnsBillDetails(warehouseAnsBillDetailVos);
}
PagerVo<WarehouseAnsBillVo> p = PagerUtil.pageToVo(pagging, null);

1
src/main/java/com/yxt/warehouse/biz/warehouseansbill/WarehouseAnsBillVo.java

@ -43,6 +43,7 @@ public class WarehouseAnsBillVo {
private String warehouseRackSid;
@ApiModelProperty("库区名")
private String warehouseRackName;
private String warehouseRackCode;
@ApiModelProperty("申请人")
private String applicant;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")

9
src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetail.java

@ -32,9 +32,10 @@ public class WarehouseAnsBillDetail extends BaseEntity {
@ApiModelProperty("预约数量(采购订单数量)")
private double orderCount;
@ApiModelProperty("待入库数量-根据收货单计算")
private Integer waitInCount;
private double waitInCount;
@ApiModelProperty("实际入库数量-根据收货单计算")
private Integer actualInCount;
@TableField(exist = false)
private boolean check=false;
private double actualInCount;
private double price;//单价
private double totalPrice;//总价
private String batch;//批次
}

3
src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailDto.java

@ -32,4 +32,7 @@ public class WarehouseAnsBillDetailDto {
private Integer waitInCount;
@ApiModelProperty("实际入库数量-根据收货单计算")
private Integer actualInCount;
private double price;//单价
private double totalPrice;//总价
private String batch;//批次
}

1
src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailService.java

@ -28,6 +28,7 @@ public class WarehouseAnsBillDetailService extends MybatisBaseService<WarehouseA
WarehouseAnsBillDetail WarehouseAnsBillDetail = new WarehouseAnsBillDetail();
BeanUtil.copyProperties(v, WarehouseAnsBillDetail,"sid");
WarehouseAnsBillDetail.setSourceBillSid(sid);
WarehouseAnsBillDetail.setWaitInCount(WarehouseAnsBillDetail.getOrderCount());
baseMapper.insert(WarehouseAnsBillDetail);
});
}

15
src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsBillDetailVo.java

@ -33,4 +33,19 @@ public class WarehouseAnsBillDetailVo {
private Integer actualInCount;
private String barCode;
private String specificationCode;
private double price;//单价
private double totalPrice;//总价
private String batch;//批次
@ApiModelProperty("仓库sid")
private String warehouseSid;
@ApiModelProperty("仓库名")
private String warehouseName;
@ApiModelProperty("库区sid")
private String warehouseRackSid;
@ApiModelProperty("库区名")
private String warehouseRackName;
private String warehouseRackCode;
private String yyCode;
private String remarks;
private double count;//数量
}

5
src/main/java/com/yxt/warehouse/biz/warehouseansbilldetail/WarehouseAnsListDetailsVo.java

@ -30,6 +30,11 @@ public class WarehouseAnsListDetailsVo {
private Integer waitInCount;
@ApiModelProperty("实际入库数量-根据收货单计算")
private Integer actualInCount;
private double price;//单价
private double totalPrice;//总价
private String batch;//批次
}

Loading…
Cancel
Save