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. 161
      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; private String useOrgSid;
@ApiModelProperty("创建组织sid") @ApiModelProperty("创建组织sid")
private String createOrgSid; 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; private String shipper;
@ApiModelProperty("外部单号") @ApiModelProperty("外部单号")
private String externalNo; 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("入库时间") @ApiModelProperty("入库时间")
private Date storageTime; private String storageTime;
@ApiModelProperty("操作员sid") @ApiModelProperty("操作员sid")
private String operatorSid; private String operatorSid;
@ApiModelProperty("操作员名称") @ApiModelProperty("操作员名称")
@ -66,6 +66,7 @@ public class PurchaseInventoryBillDto2 {
@ApiModelProperty("商品列表") @ApiModelProperty("商品列表")
private List<PurchaseInventoryBillDetailDto2> list = new ArrayList<>(); private List<PurchaseInventoryBillDetailDto2> list = new ArrayList<>();
private String userSid; private String userSid;
// @ApiModelProperty("批次列表") private String userName;
// private List<PurchaseInventoryBillDetailBatchDto2> pcList = new ArrayList<>(); 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; private String remarks;
@ApiModelProperty("单据详情") @ApiModelProperty("单据详情")
private List<PurchaseInventoryBillDetailVo> list = new ArrayList<>(); 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); IPage<PurchaseInventoryBillPageVo> listPage(IPage<PurchaseInventoryBill> page, @Param(Constants.WRAPPER) QueryWrapper<PurchaseInventoryBill> qw);
PurchaseInventoryBillInitVo getDetailsInit(String sid); 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 from purchase_inventory_bill wrb
where wrb.sid = #{sid} where wrb.sid = #{sid}
</select> </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> </mapper>

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

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

161
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.purchaseinventorybilldetail.PurchaseInventoryBillDetailVo;
import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBill; import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBill;
import com.yxt.warehouse.biz.warehouseansbill.WarehouseAnsBillService; 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.WarehouseAnsBillDetailService;
import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsListDetailsVo; import com.yxt.warehouse.biz.warehouseansbilldetail.WarehouseAnsListDetailsVo;
import com.yxt.warehouse.biz.warehousereceiptbilldetail.WarehouseReceiptBillDetailDto2; 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.WarehouseReceiptBillDetailBatchDto2;
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchMapper; import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchMapper;
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchService; import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchService;
import com.yxt.warehouse.utils.Rule;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -48,11 +51,16 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
@Autowired @Autowired
private WarehouseAnsBillDetailService wmsAnsBillDetailService; private WarehouseAnsBillDetailService wmsAnsBillDetailService;
@Autowired @Autowired
OperationRecordService operationRecordService;; OperationRecordService operationRecordService;
;
@Autowired @Autowired
private WarehouseReceiptBillDetailMapper wmsReceiptBillDetailMapper; private WarehouseReceiptBillDetailMapper wmsReceiptBillDetailMapper;
@Autowired @Autowired
private WarehouseReceiptBillDetailBatchMapper wmsReceiptBillDetailBatchMapper; private WarehouseReceiptBillDetailBatchMapper wmsReceiptBillDetailBatchMapper;
@Autowired
WarehouseAnsBillDetailService warehouseAnsBillDetailService;
@Autowired
WarehouseAnsBillService warehouseAnsBillService;
public PagerVo<PurchaseInventoryBillPageVo> listPage(PagerQuery<PurchaseInventoryBillQuery> pq) { public PagerVo<PurchaseInventoryBillPageVo> listPage(PagerQuery<PurchaseInventoryBillQuery> pq) {
PurchaseInventoryBillQuery query = pq.getParams(); PurchaseInventoryBillQuery query = pq.getParams();
@ -96,6 +104,53 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
return p; 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) { public ResultBean<String> saveOrUpdateBill2(PurchaseInventoryBillDto2 dto) {
ResultBean<String> rb = ResultBean.fireFail(); ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid(); String sid = dto.getSid();
@ -105,13 +160,13 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
BeanUtil.copyProperties(dto, wmsReceiptBill, "sid"); BeanUtil.copyProperties(dto, wmsReceiptBill, "sid");
List<PurchaseInventoryBillDetailDto2> list = dto.getList(); List<PurchaseInventoryBillDetailDto2> list = dto.getList();
list.removeAll(Collections.singleton(null)); list.removeAll(Collections.singleton(null));
// List<WarehouseReceiptBillDetailBatchDto2> pcList = dto.getPcList();
// pcList.removeAll(Collections.singleton(null));
if (!list.isEmpty()) { if (!list.isEmpty()) {
// purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list, pcList); rb = purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list);
purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list); if (!rb.getCode().equals("200")) {
return rb;
} }
OperationRecordDto dto1=new OperationRecordDto(); }
OperationRecordDto dto1 = new OperationRecordDto();
dto1.setBillSid(sid); dto1.setBillSid(sid);
dto1.setUserSid(dto.getUserSid()); dto1.setUserSid(dto.getUserSid());
dto1.setCreateTime(new Date()); dto1.setCreateTime(new Date());
@ -127,10 +182,7 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
BeanUtil.copyProperties(dto, wmsReceiptBill, "sid"); BeanUtil.copyProperties(dto, wmsReceiptBill, "sid");
List<PurchaseInventoryBillDetailDto2> list = dto.getList(); List<PurchaseInventoryBillDetailDto2> list = dto.getList();
list.removeAll(Collections.singleton(null)); list.removeAll(Collections.singleton(null));
// List<WarehouseReceiptBillDetailBatchDto2> pcList = dto.getPcList();
// pcList.removeAll(Collections.singleton(null));
if (!list.isEmpty()) { if (!list.isEmpty()) {
// purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list, pcList);
purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list); purchaseInventoryBillDetailService.saveOrUpdateDetailsList2(sid, list);
} }
baseMapper.updateById(wmsReceiptBill); baseMapper.updateById(wmsReceiptBill);
@ -138,27 +190,7 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
return rb.success().setData(sid); 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) { public ResultBean<PurchaseInventoryBillInitVo> selectByBillSid(String sid) {
ResultBean<PurchaseInventoryBillInitVo> rb = ResultBean.fireFail(); ResultBean<PurchaseInventoryBillInitVo> rb = ResultBean.fireFail();
PurchaseInventoryBillInitVo wmsReceiptBillInitVo = baseMapper.getDetailsInit(sid); PurchaseInventoryBillInitVo wmsReceiptBillInitVo = baseMapper.getDetailsInit(sid);
@ -166,58 +198,41 @@ public class PurchaseInventoryBillService extends MybatisBaseService<PurchaseInv
List<PurchaseInventoryBillDetailVo> list = purchaseInventoryBillDetailService.getDetailsInit(sid); List<PurchaseInventoryBillDetailVo> list = purchaseInventoryBillDetailService.getDetailsInit(sid);
list.removeAll(Collections.singleton(null)); list.removeAll(Collections.singleton(null));
wmsReceiptBillInitVo.setList(list); wmsReceiptBillInitVo.setList(list);
// wmsReceiptBillInitVo.setPcList(pcList);
} else { } else {
return rb.setMsg("该单据不存在"); return rb.setMsg("该单据不存在");
} }
return rb.success().setData(wmsReceiptBillInitVo); 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) { public ResultBean<String> confirm(PurchaseInventoryBillDto2 dto) {
ResultBean<String> rb = ResultBean.fireFail(); ResultBean<String> rb = ResultBean.fireFail();
// dto.setBillState("1"); Map<String, List<PurchaseInventoryBillDetailDto2>> groupingMap=dto.getList().stream().collect(Collectors.groupingBy(PurchaseInventoryBillDetailDto2::getSourceBillSid));
List<PurchaseInventoryBillDetailDto2> list = dto.getList(); List<PurchaseInventoryBillDto2> dto2s=new ArrayList<>();
list.removeAll(Collections.singleton(null)); for (String a:groupingMap.keySet()){
if (!list.isEmpty()) { PurchaseInventoryBillDto2 dto2=new PurchaseInventoryBillDto2();
for (int i = 0; i < list.size(); i++) { List<PurchaseInventoryBillDetailDto2> s=groupingMap.get(a);
PurchaseInventoryBillDetailDto2 wmsReceiptBillDetailDto2 = list.get(i); String sourceBillSid=groupingMap.get(a).get(0).getSourceBillSid();
// wmsReceiptBillDetailDto2.setState(1); WarehouseAnsBill warehouseAnsBill=warehouseAnsBillService.getOne(new QueryWrapper<WarehouseAnsBill>().eq("sid",sourceBillSid));
} warehouseAnsBillDetailService.list(new QueryWrapper<WarehouseAnsBillDetail>().eq("sourceBillSid",sourceBillSid));
} BeanUtil.copyProperties(warehouseAnsBill,dto2);
dto.setList(list); dto2.setSourceBillSid(warehouseAnsBill.getSid());
ResultBean<String> resultBean = saveOrUpdateBill2(dto); dto2.setSourceBillNo(warehouseAnsBill.getBillNo());
String sid = resultBean.getData(); dto2.setExternalNo(warehouseAnsBill.getSourceBillNo());
return rb.success().setData(sid); 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) { 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") @ApiModelProperty("创建组织sid")
private String createOrgSid; private String createOrgSid;
private String remarks; private String remarks;
private String warehouseName;
private String warehouseSid;
private List<WarehouseReceiptBillDetailVo> list = new ArrayList<>(); 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") @ApiModelProperty("商品skusid")
private String goodsSkuSid; private String goodsSkuSid;
@ApiModelProperty("商品名称") @ApiModelProperty("商品名称")
private String goodsName; private String goodsSkuTitle;
@ApiModelProperty("商品编码") @ApiModelProperty("商品编码")
private String goodsCode; private String goodsSkuCode;
@ApiModelProperty("商品条码") @ApiModelProperty("商品条码")
private String goodsBarCode; private String goodsBarCode;
@ApiModelProperty("规格值") @ApiModelProperty("规格值")
@ -33,10 +33,8 @@ public class PurchaseInventoryBillDetail extends BaseEntity {
private String boxBarCode; private String boxBarCode;
@ApiModelProperty("箱规格") @ApiModelProperty("箱规格")
private String boxSpec; private String boxSpec;
@ApiModelProperty("单位sid") @ApiModelProperty("单位")
private String unitSid; private String unit;
@ApiModelProperty("单位名称")
private String unitName;
@ApiModelProperty("成本单价") @ApiModelProperty("成本单价")
private double price; private double price;
@ApiModelProperty("总价") @ApiModelProperty("总价")

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

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

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

@ -22,9 +22,9 @@ public class PurchaseInventoryBillDetailDto2 {
@ApiModelProperty("商品skusid") @ApiModelProperty("商品skusid")
private String goodsSkuSid; private String goodsSkuSid;
@ApiModelProperty("商品名称") @ApiModelProperty("商品名称")
private String goodsName; private String goodsSkuTitle;
@ApiModelProperty("商品编码") @ApiModelProperty("商品编码")
private String goodsCode; private String goodsSkuCode;
@ApiModelProperty("商品条码") @ApiModelProperty("商品条码")
private String goodsBarCode; private String goodsBarCode;
@ApiModelProperty("规格值") @ApiModelProperty("规格值")
@ -33,10 +33,9 @@ public class PurchaseInventoryBillDetailDto2 {
private String boxBarCode; private String boxBarCode;
@ApiModelProperty("箱规格") @ApiModelProperty("箱规格")
private String boxSpec; private String boxSpec;
@ApiModelProperty("单位sid")
private String unitSid; @ApiModelProperty("单位")
@ApiModelProperty("单位名称") private String unit;
private String unitName;
@ApiModelProperty("成本单价") @ApiModelProperty("成本单价")
private double price; private double price;
@ApiModelProperty("总价") @ApiModelProperty("总价")
@ -48,7 +47,7 @@ public class PurchaseInventoryBillDetailDto2 {
@ApiModelProperty("序列号") @ApiModelProperty("序列号")
private String serialNumber; private String serialNumber;
@ApiModelProperty("生产批次号") @ApiModelProperty("生产批次号")
private String batchNumber; private String batch;
@ApiModelProperty("入库库位sid") @ApiModelProperty("入库库位sid")
private String warehouseRackSid; private String warehouseRackSid;
@ -59,4 +58,7 @@ public class PurchaseInventoryBillDetailDto2 {
@ApiModelProperty("创建组织sid") @ApiModelProperty("创建组织sid")
private String createOrgSid; private String createOrgSid;
private String remarks; 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.result.ResultBean;
import com.yxt.common.core.vo.PagerVo; import com.yxt.common.core.vo.PagerVo;
import com.yxt.warehouse.biz.operationrecord.OperationRecordDto; 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.WarehouseReceiptBillDetailBatchDto2;
import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchService; import com.yxt.warehouse.biz.warehousereceiptbilldetailbatch.WarehouseReceiptBillDetailBatchService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -31,27 +37,52 @@ import java.util.stream.Collectors;
public class PurchaseInventoryBillDetailService extends MybatisBaseService<PurchaseInventoryBillDetailMapper, PurchaseInventoryBillDetail> { public class PurchaseInventoryBillDetailService extends MybatisBaseService<PurchaseInventoryBillDetailMapper, PurchaseInventoryBillDetail> {
@Autowired @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, 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); baseMapper.deleteByBillSid(sid);
list.forEach(v -> { PurchaseInventoryBill p=purchaseInventoryBillService.getOne(new QueryWrapper<PurchaseInventoryBill>().eq("sid",sid));
for (PurchaseInventoryBillDetailDto2 v : list) {
PurchaseInventoryBillDetail wmsReceiptBillDetail = new PurchaseInventoryBillDetail(); PurchaseInventoryBillDetail wmsReceiptBillDetail = new PurchaseInventoryBillDetail();
BeanUtil.copyProperties(v, wmsReceiptBillDetail, "sid"); BeanUtil.copyProperties(v, wmsReceiptBillDetail, "sid");
wmsReceiptBillDetail.setSourceBillSid(sid); wmsReceiptBillDetail.setSourceBillSid(sid);
wmsReceiptBillDetail.setSid(UUID.randomUUID().toString()); 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); baseMapper.insert(wmsReceiptBillDetail);
// wmsReceiptBillDetailBatchService.deleteByDetails(sid); }
// pcList.removeAll(Collections.singleton(null)); List<WarehouseAnsBillDetail>warehouseAnsBillDetails=warehouseAnsBillDetailService.list(new QueryWrapper<WarehouseAnsBillDetail>()
// if (!pcList.isEmpty()) { .eq("sourceBillSid",p.getSourceBillSid()).eq("waitInCount","0.00"));
// List<WarehouseReceiptBillDetailBatchDto2> pcList2 = pcList.stream().filter(c -> c.getXh().equals(v.getXh())).collect(Collectors.toList()); List<WarehouseAnsBillDetail>warehouseAnsBillDetails1=warehouseAnsBillDetailService.list(new QueryWrapper<WarehouseAnsBillDetail>()
// pcList2.removeAll(Collections.singleton(null)); .eq("sourceBillSid",p.getSourceBillSid()));
// if (!pcList2.isEmpty()) { WarehouseAnsBill warehouseAnsBill=warehouseAnsBillService.getOne(new QueryWrapper<WarehouseAnsBill>().eq("sid",p.getSourceBillSid()));
// wmsReceiptBillDetailBatchService.saveBatchs2(sid, wmsReceiptBillDetail.getSid(), pcList2); 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) { 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") @ApiModelProperty("商品skusid")
private String goodsSkuSid; private String goodsSkuSid;
@ApiModelProperty("商品名称") @ApiModelProperty("商品名称")
private String goodsName; private String goodsSkuTitle;
@ApiModelProperty("商品编码") @ApiModelProperty("商品编码")
private String goodsCode; private String goodsSkuCode;
@ApiModelProperty("商品条码") @ApiModelProperty("商品条码")
private String goodsBarCode; private String goodsBarCode;
@ApiModelProperty("规格值") @ApiModelProperty("规格值")
@ -33,10 +33,8 @@ public class PurchaseInventoryBillDetailVo {
private String boxBarCode; private String boxBarCode;
@ApiModelProperty("箱规格") @ApiModelProperty("箱规格")
private String boxSpec; private String boxSpec;
@ApiModelProperty("单位sid")
private String unitSid;
@ApiModelProperty("单位名称") @ApiModelProperty("单位名称")
private String unitName; private String unit;
@ApiModelProperty("成本单价") @ApiModelProperty("成本单价")
private BigDecimal price; private BigDecimal price;
@ApiModelProperty("总价") @ApiModelProperty("总价")
@ -59,5 +57,7 @@ public class PurchaseInventoryBillDetailVo {
@ApiModelProperty("创建组织sid") @ApiModelProperty("创建组织sid")
private String createOrgSid; private String createOrgSid;
private String remarks; 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; private String warehouseRackSid;
@ApiModelProperty("库区名") @ApiModelProperty("库区名")
private String warehouseRackName; private String warehouseRackName;
private String warehouseRackCode;
@ApiModelProperty("申请人") @ApiModelProperty("申请人")
private String applicant; private String applicant;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8")
@ -63,5 +64,5 @@ public class WarehouseAndBillDetailVo {
@ApiModelProperty("运单号") @ApiModelProperty("运单号")
private String waybillNumber; private String waybillNumber;
private boolean check=false; 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<WarehouseAnsBill> page = PagerUtil.queryToPage(pagerQuery);
IPage<WarehouseAnsBillVo> pagging = baseMapper.listPages(page, qw); 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); PagerVo<WarehouseAnsBillVo> p = PagerUtil.pageToVo(pagging, null);
return rb.success().setData(p); return rb.success().setData(p);
} }
@ -207,12 +211,30 @@ public class WarehouseAnsBillService extends MybatisBaseService<WarehouseAnsBill
if (StringUtils.isNotBlank(query.getGoodsSkuSid())) { if (StringUtils.isNotBlank(query.getGoodsSkuSid())) {
qw.eq("wabd.goodsSkuSid", query.getGoodsSkuSid()); qw.eq("wabd.goodsSkuSid", query.getGoodsSkuSid());
} }
qw.in("wab.billState","0","1");
} }
IPage<WarehouseAnsBill> page = PagerUtil.queryToPage(pagerQuery); IPage<WarehouseAnsBill> page = PagerUtil.queryToPage(pagerQuery);
IPage<WarehouseAndBillDetailVo> pagging = baseMapper.listPages1(page, qw); IPage<WarehouseAndBillDetailVo> pagging = baseMapper.listPages1(page, qw);
for (WarehouseAndBillDetailVo record : pagging.getRecords()) { 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())); 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); 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; private String warehouseRackSid;
@ApiModelProperty("库区名") @ApiModelProperty("库区名")
private String warehouseRackName; private String warehouseRackName;
private String warehouseRackCode;
@ApiModelProperty("申请人") @ApiModelProperty("申请人")
private String applicant; private String applicant;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone = "GMT+8") @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("预约数量(采购订单数量)") @ApiModelProperty("预约数量(采购订单数量)")
private double orderCount; private double orderCount;
@ApiModelProperty("待入库数量-根据收货单计算") @ApiModelProperty("待入库数量-根据收货单计算")
private Integer waitInCount; private double waitInCount;
@ApiModelProperty("实际入库数量-根据收货单计算") @ApiModelProperty("实际入库数量-根据收货单计算")
private Integer actualInCount; private double actualInCount;
@TableField(exist = false) private double price;//单价
private boolean check=false; 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; private Integer waitInCount;
@ApiModelProperty("实际入库数量-根据收货单计算") @ApiModelProperty("实际入库数量-根据收货单计算")
private Integer actualInCount; 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(); WarehouseAnsBillDetail WarehouseAnsBillDetail = new WarehouseAnsBillDetail();
BeanUtil.copyProperties(v, WarehouseAnsBillDetail,"sid"); BeanUtil.copyProperties(v, WarehouseAnsBillDetail,"sid");
WarehouseAnsBillDetail.setSourceBillSid(sid); WarehouseAnsBillDetail.setSourceBillSid(sid);
WarehouseAnsBillDetail.setWaitInCount(WarehouseAnsBillDetail.getOrderCount());
baseMapper.insert(WarehouseAnsBillDetail); 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 Integer actualInCount;
private String barCode; private String barCode;
private String specificationCode; 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; private Integer waitInCount;
@ApiModelProperty("实际入库数量-根据收货单计算") @ApiModelProperty("实际入库数量-根据收货单计算")
private Integer actualInCount; private Integer actualInCount;
private double price;//单价
private double totalPrice;//总价
private String batch;//批次
} }

Loading…
Cancel
Save