采购入库
This commit is contained in:
@@ -57,4 +57,6 @@ public class PurchaseInventoryBill extends BaseEntity {
|
||||
private String useOrgSid;
|
||||
@ApiModelProperty("创建组织sid")
|
||||
private String createOrgSid;
|
||||
private String warehouseName;
|
||||
private String warehouseSid;
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -64,4 +64,6 @@ public class PurchaseInventoryBillInitVo {
|
||||
private String remarks;
|
||||
@ApiModelProperty("单据详情")
|
||||
private List<PurchaseInventoryBillDetailVo> list = new ArrayList<>();
|
||||
private String warehouseName;
|
||||
private String warehouseSid;
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
@@ -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>
|
||||
@@ -58,4 +58,6 @@ public class PurchaseInventoryBillPageVo {
|
||||
@ApiModelProperty("创建组织sid")
|
||||
private String createOrgSid;
|
||||
private String remarks;
|
||||
private String warehouseName;
|
||||
private String warehouseSid;
|
||||
}
|
||||
|
||||
@@ -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,13 +160,13 @@ 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();
|
||||
}
|
||||
OperationRecordDto dto1 = new OperationRecordDto();
|
||||
dto1.setBillSid(sid);
|
||||
dto1.setUserSid(dto.getUserSid());
|
||||
dto1.setCreateTime(new Date());
|
||||
@@ -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);
|
||||
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;
|
||||
}
|
||||
dto.setList(list);
|
||||
ResultBean<String> resultBean = saveOrUpdateBill2(dto);
|
||||
String sid = resultBean.getData();
|
||||
return rb.success().setData(sid);
|
||||
return rb.success().setMsg("保存成功");
|
||||
}
|
||||
|
||||
public ResultBean delAllBySids(String[] sids) {
|
||||
|
||||
@@ -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<>();
|
||||
}
|
||||
|
||||
@@ -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("总价")
|
||||
|
||||
@@ -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("总价")
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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) {
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
|
||||
@@ -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<>();
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
|
||||
|
||||
@@ -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")
|
||||
|
||||
@@ -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;//批次
|
||||
}
|
||||
|
||||
@@ -32,4 +32,7 @@ public class WarehouseAnsBillDetailDto {
|
||||
private Integer waitInCount;
|
||||
@ApiModelProperty("实际入库数量-根据收货单计算")
|
||||
private Integer actualInCount;
|
||||
private double price;//单价
|
||||
private double totalPrice;//总价
|
||||
private String batch;//批次
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
});
|
||||
}
|
||||
|
||||
@@ -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;//数量
|
||||
}
|
||||
|
||||
@@ -30,6 +30,11 @@ public class WarehouseAnsListDetailsVo {
|
||||
private Integer waitInCount;
|
||||
@ApiModelProperty("实际入库数量-根据收货单计算")
|
||||
private Integer actualInCount;
|
||||
private double price;//单价
|
||||
private double totalPrice;//总价
|
||||
private String batch;//批次
|
||||
|
||||
|
||||
|
||||
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user