Browse Source

预期到货通知单修改

master
fanzongzhe0036 1 month ago
parent
commit
4a7f30bdd7
  1. 23
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java
  2. 4
      yxt-pms-biz/src/main/java/com/yxt/pms/feign/wms/wmsansbill/WmsAnsBillDetailDto.java
  3. 1
      yxt-pms-biz/src/main/java/com/yxt/pms/feign/wms/wmsansbill/WmsAnsBillDto.java
  4. 5
      yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsReceiptBillRest.java
  5. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillDto.java
  6. 3
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillMapper.xml
  7. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillService.java
  8. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsDetailsVo.java
  9. 6
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetailDto.java
  10. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetailMapper.java
  11. 21
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetailMapper.xml
  12. 5
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetailService.java
  13. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillMapper.java
  14. 16
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillMapper.xml
  15. 128
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java

23
yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java

@ -26,15 +26,16 @@
package com.yxt.pms.biz.pms.pmspurchasebill; package com.yxt.pms.biz.pms.pmspurchasebill;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil; import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.google.common.util.concurrent.ThreadFactoryBuilder;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.result.ResultBean;
import com.yxt.pms.biz.pms.pmspurchasebackbill.PmsPurchasebackBillService; import com.yxt.common.core.vo.PagerVo;
import com.yxt.pms.biz.pms.pmspurchasebackdetail.PmsPurchasebackDetailService;
import com.yxt.pms.biz.pms.pmspurchasebill.flowable.*; import com.yxt.pms.biz.pms.pmspurchasebill.flowable.*;
import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailDetailsVo; import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailDetailsVo;
import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailDto; import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailDto;
@ -48,7 +49,10 @@ import com.yxt.pms.biz.pms.pmspurchasepay.PmsPurchasePayService;
import com.yxt.pms.biz.pms.pmssupplierinfo.PmsSupplierInfoDetailsVo; import com.yxt.pms.biz.pms.pmssupplierinfo.PmsSupplierInfoDetailsVo;
import com.yxt.pms.biz.pms.pmssupplierinfo.PmsSupplierInfoService; import com.yxt.pms.biz.pms.pmssupplierinfo.PmsSupplierInfoService;
import com.yxt.pms.feign.base.Rule; import com.yxt.pms.feign.base.Rule;
import com.yxt.pms.feign.flowable.flow.*; import com.yxt.pms.feign.flowable.flow.BusinessVariables;
import com.yxt.pms.feign.flowable.flow.FlowableFeign;
import com.yxt.pms.feign.flowable.flow.ProcDefEnum;
import com.yxt.pms.feign.flowable.flow.UpdateFlowFieldVo;
import com.yxt.pms.feign.flowable.flow2.FlowDelegateQuery; import com.yxt.pms.feign.flowable.flow2.FlowDelegateQuery;
import com.yxt.pms.feign.flowable.flow2.FlowFeign; import com.yxt.pms.feign.flowable.flow2.FlowFeign;
import com.yxt.pms.feign.flowable.flowtask.FlowTaskFeign; import com.yxt.pms.feign.flowable.flowtask.FlowTaskFeign;
@ -67,16 +71,10 @@ import com.yxt.pms.feign.wms.wmsansbill.WmsAnsBillDetailDto;
import com.yxt.pms.feign.wms.wmsansbill.WmsAnsBillDto; import com.yxt.pms.feign.wms.wmsansbill.WmsAnsBillDto;
import com.yxt.pms.feign.wms.wmsansbill.WmsAnsBillFeign; import com.yxt.pms.feign.wms.wmsansbill.WmsAnsBillFeign;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import com.yxt.common.base.service.MybatisBaseService;
import com.yxt.common.base.utils.PagerUtil;
import com.yxt.common.core.query.PagerQuery;
import com.yxt.common.core.vo.PagerVo;
import org.apache.tomcat.util.threads.ThreadPoolExecutor; import org.apache.tomcat.util.threads.ThreadPoolExecutor;
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 java.math.BigDecimal;
import java.util.*; import java.util.*;
import java.util.concurrent.*; import java.util.concurrent.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -453,6 +451,9 @@ public class PmsPurchaseBillService extends MybatisBaseService<PmsPurchaseBillMa
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
WmsAnsBillDto wmsAnsBillDto = new WmsAnsBillDto(); WmsAnsBillDto wmsAnsBillDto = new WmsAnsBillDto();
if (StringUtils.isNotBlank(pmsPurchaseBill.getRemarks())) {
wmsAnsBillDto.setRemarks(pmsPurchaseBill.getRemarks());
}
wmsAnsBillDto.setDeptName(pmsPurchaseBill.getDeptName()); wmsAnsBillDto.setDeptName(pmsPurchaseBill.getDeptName());
wmsAnsBillDto.setDeptSid(pmsPurchaseBill.getDeptSid()); wmsAnsBillDto.setDeptSid(pmsPurchaseBill.getDeptSid());
wmsAnsBillDto.setCreateBySid(pmsPurchaseBill.getCreateBySid()); wmsAnsBillDto.setCreateBySid(pmsPurchaseBill.getCreateBySid());
@ -506,6 +507,8 @@ public class PmsPurchaseBillService extends MybatisBaseService<PmsPurchaseBillMa
wmsAnsBillDetailDto.setCost(pmsPurchaseBillDetailDetailsVo.getTaxPrice().toString()); wmsAnsBillDetailDto.setCost(pmsPurchaseBillDetailDetailsVo.getTaxPrice().toString());
} }
wmsAnsBillDetailDto.setOrderCount(pmsPurchaseBillDetailDetailsVo.getCount().toString()); wmsAnsBillDetailDto.setOrderCount(pmsPurchaseBillDetailDetailsVo.getCount().toString());
wmsAnsBillDetailDto.setWaitInCount(pmsPurchaseBillDetailDetailsVo.getCount().toString());
wmsAnsBillDetailDto.setActualInCount("0");
if (StringUtils.isNotBlank(taxRate)) { if (StringUtils.isNotBlank(taxRate)) {
wmsAnsBillDetailDto.setTaxAmount(taxRate); wmsAnsBillDetailDto.setTaxAmount(taxRate);
} }

4
yxt-pms-biz/src/main/java/com/yxt/pms/feign/wms/wmsansbill/WmsAnsBillDetailDto.java

@ -35,4 +35,8 @@ public class WmsAnsBillDetailDto {
private String taxPrice; private String taxPrice;
@ApiModelProperty("金额") @ApiModelProperty("金额")
private String amount; private String amount;
@ApiModelProperty("待入库数量-根据收货单计算")
private String waitInCount;
@ApiModelProperty("实际入库数量-根据收货单计算")
private String actualInCount;
} }

1
yxt-pms-biz/src/main/java/com/yxt/pms/feign/wms/wmsansbill/WmsAnsBillDto.java

@ -66,4 +66,5 @@ public class WmsAnsBillDto {
private List<WmsAnsBillDetailDto> wmsAnsBillDetailList = new ArrayList<>(); private List<WmsAnsBillDetailDto> wmsAnsBillDetailList = new ArrayList<>();
@ApiModelProperty("采购单税率") @ApiModelProperty("采购单税率")
private String taxRate; private String taxRate;
private String remarks;
} }

5
yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsReceiptBillRest.java

@ -3,11 +3,8 @@ package com.yxt.wms.apiadmin.inventroy;
import com.yxt.common.core.query.PagerQuery; 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.wms.biz.inventory.wmsinventorybill.WmsInventoryBillQuery;
import com.yxt.wms.biz.inventory.wmsinventorybill.WmsInventoryBillVo;
import com.yxt.wms.biz.inventory.wmsreceiptbill.*; import com.yxt.wms.biz.inventory.wmsreceiptbill.*;
import com.yxt.wms.biz.inventory.wmsreceiptbilldetail.ShelfListVo; import com.yxt.wms.biz.inventory.wmsreceiptbilldetail.ShelfListVo;
import com.yxt.wms.biz.inventory.wmsreceiptbilldetail.WmsReceiptBillDetail;
import io.swagger.annotations.Api; import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation; import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -39,7 +36,7 @@ public class WmsReceiptBillRest {
@ApiOperation("新增修改保存") @ApiOperation("新增修改保存")
@PostMapping("/saveOrUpdate") @PostMapping("/saveOrUpdate")
ResultBean<String> saveOrUpdate(@RequestBody WmsReceiptBillDto2 dto) { ResultBean<String> saveOrUpdate(@RequestBody WmsReceiptBillDto2 dto) {
return wmsReceiptBillService.saveOrUpdateBill2(dto); return wmsReceiptBillService.saveOrUpdateBill2(dto,0);
} }
@ApiOperation("收货单终止") @ApiOperation("收货单终止")

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillDto.java

@ -4,7 +4,6 @@ import com.yxt.wms.biz.inventory.wmsansbilldetail.WmsAnsBillDetailDto;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Date; import java.util.Date;
import java.util.List; import java.util.List;
@ -67,4 +66,5 @@ public class WmsAnsBillDto {
private List<WmsAnsBillDetailDto> wmsAnsBillDetailList = new ArrayList<>(); private List<WmsAnsBillDetailDto> wmsAnsBillDetailList = new ArrayList<>();
@ApiModelProperty("采购单税率") @ApiModelProperty("采购单税率")
private String taxRate; private String taxRate;
private String remarks;
} }

3
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillMapper.xml

@ -51,7 +51,8 @@
when 2 then '已收货' when 3 then '已收货(部分终止)' when 2 then '已收货' when 3 then '已收货(部分终止)'
end as billState, end as billState,
wab.reviewStatus, wab.reviewStatus,
wab.manufactorBillNo wab.manufactorBillNo,
wab.remarks
from wms_ans_bill wab from wms_ans_bill wab
where sid = #{sid} where sid = #{sid}
</select> </select>

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillService.java

@ -202,7 +202,7 @@ public class WmsAnsBillService extends MybatisBaseService<WmsAnsBillMapper, WmsA
ResultBean<WmsAnsDetailsVo> rb = ResultBean.fireFail(); ResultBean<WmsAnsDetailsVo> rb = ResultBean.fireFail();
WmsAnsDetailsVo wmsAnsDetailsVo = baseMapper.details(sid); WmsAnsDetailsVo wmsAnsDetailsVo = baseMapper.details(sid);
if (wmsAnsDetailsVo != null) { if (wmsAnsDetailsVo != null) {
List<WmsAnsListDetailsVo> list = wmsAnsBillDetailService.selectByBillSid(sid); List<WmsAnsListDetailsVo> list = wmsAnsBillDetailService.selectDetailsByBillSid(sid);
list.removeAll(Collections.singleton(null)); list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) { if (!list.isEmpty()) {
wmsAnsDetailsVo.setList(list); wmsAnsDetailsVo.setList(list);

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsDetailsVo.java

@ -53,7 +53,7 @@ public class WmsAnsDetailsVo {
private String goodsOwnerSid; private String goodsOwnerSid;
@ApiModelProperty("货主") @ApiModelProperty("货主")
private String goodsOwner;*/ private String goodsOwner;*/
private String remarks;
private List<WmsAnsListDetailsVo> list = new ArrayList<>(); private List<WmsAnsListDetailsVo> list = new ArrayList<>();
} }

6
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetailDto.java

@ -3,8 +3,6 @@ package com.yxt.wms.biz.inventory.wmsansbilldetail;
import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiModelProperty;
import lombok.Data; import lombok.Data;
import java.math.BigDecimal;
/** /**
* @description: * @description:
* @author: dimengzhe * @author: dimengzhe
@ -37,4 +35,8 @@ public class WmsAnsBillDetailDto {
private String taxPrice; private String taxPrice;
@ApiModelProperty("金额") @ApiModelProperty("金额")
private String amount; private String amount;
@ApiModelProperty("待入库数量-根据收货单计算")
private String waitInCount;
@ApiModelProperty("实际入库数量-根据收货单计算")
private String actualInCount;
} }

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetailMapper.java

@ -20,4 +20,6 @@ public interface WmsAnsBillDetailMapper extends BaseMapper<WmsAnsBillDetail> {
String selGoodsCountBySpuSidAndSouceSid(@Param("goodsSpuSid") String goodsSpuSid, @Param("sourceBillSid") String sourceBillSid); String selGoodsCountBySpuSidAndSouceSid(@Param("goodsSpuSid") String goodsSpuSid, @Param("sourceBillSid") String sourceBillSid);
WmsAnsBillDetail fetchBySpuSidAndBillSid(@Param("goodsSpuSid") String goodsSpuSid, @Param("sourceBillSid") String sourceBillSid); WmsAnsBillDetail fetchBySpuSidAndBillSid(@Param("goodsSpuSid") String goodsSpuSid, @Param("sourceBillSid") String sourceBillSid);
List<WmsAnsListDetailsVo> selectDetailsByBillSid(String sid);
} }

21
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetailMapper.xml

@ -23,7 +23,7 @@
wd.goodsSkuSid, wd.goodsSkuSid,
wd.goodsSpuSid wd.goodsSpuSid
from wms_ans_bill_detail wd from wms_ans_bill_detail wd
where billSid = #{sid} where billSid = #{sid} and wd.waitInCount > 0
</select> </select>
<select id="selGoodsCountBySpuSidAndSouceSid" resultType="java.lang.String"> <select id="selGoodsCountBySpuSidAndSouceSid" resultType="java.lang.String">
SELECT IFNULL(d.orderCount,0) FROM wms_ans_bill_detail as d SELECT IFNULL(d.orderCount,0) FROM wms_ans_bill_detail as d
@ -34,4 +34,23 @@
SELECT * FROM wms_ans_bill_detail as d SELECT * FROM wms_ans_bill_detail as d
WHERE d.goodsSpuSid = #{goodsSpuSid} and d.billSid = #{sourceBillSid} WHERE d.goodsSpuSid = #{goodsSpuSid} and d.billSid = #{sourceBillSid}
</select> </select>
<select id="selectDetailsByBillSid"
resultType="com.yxt.wms.biz.inventory.wmsansbilldetail.WmsAnsListDetailsVo">
select wd.goodsSkuTitle,
wd.goodsSkuCode,
wd.goodsSkuOwnSpec,
wd.goodsSpuName,
wd.unit,
wd.orderCount,
wd.waitInCount,
wd.actualInCount,
wd.cost,
wd.taxAmount,
wd.taxPrice,
wd.amount,
wd.goodsSkuSid,
wd.goodsSpuSid
from wms_ans_bill_detail wd
where billSid = #{sid}
</select>
</mapper> </mapper>

5
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetailService.java

@ -2,7 +2,6 @@ package com.yxt.wms.biz.inventory.wmsansbilldetail;
import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.bean.BeanUtil;
import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.base.service.MybatisBaseService;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import java.util.List; import java.util.List;
@ -35,4 +34,8 @@ public class WmsAnsBillDetailService extends MybatisBaseService<WmsAnsBillDetail
public WmsAnsBillDetail fetchBySpuSidAndBillSid(String goodsSpuSid, String sourceBillSid) { public WmsAnsBillDetail fetchBySpuSidAndBillSid(String goodsSpuSid, String sourceBillSid) {
return baseMapper.fetchBySpuSidAndBillSid(goodsSpuSid,sourceBillSid); return baseMapper.fetchBySpuSidAndBillSid(goodsSpuSid,sourceBillSid);
} }
public List<WmsAnsListDetailsVo> selectDetailsByBillSid(String sid) {
return baseMapper.selectDetailsByBillSid(sid);
}
} }

2
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillMapper.java

@ -31,4 +31,6 @@ public interface WmsReceiptBillMapper extends BaseMapper<WmsReceiptBill> {
List<ShelfListVo> getUpShlefListBySid(@Param("sid") String sid); List<ShelfListVo> getUpShlefListBySid(@Param("sid") String sid);
String selallotmentNumByReceiptDetailSid(String detailsSid); String selallotmentNumByReceiptDetailSid(String detailsSid);
int selAnsBillState(@Param("sourceBillSid") String sourceBillSid);
} }

16
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillMapper.xml

@ -93,4 +93,20 @@
WHERE WHERE
d.receiptDetailSid = #{detailsSid} d.receiptDetailSid = #{detailsSid}
</select> </select>
<select id="selAnsBillState" resultType="java.lang.Integer">
SELECT
CASE
WHEN a.orderCount = a.waitInCount AND a.actualInCount = 0 THEN 0
WHEN a.orderCount > a.waitInCount AND a.actualInCount > 0 AND a.orderCount != a.actualInCount THEN 1
WHEN a.orderCount = a.actualInCount AND a.waitInCount = 0 THEN 2
END AS billState
FROM
(SELECT
IFNULL(SUM(orderCount),0) orderCount,
IFNULL(SUM(waitInCount),0) waitInCount,
IFNULL(SUM(actualInCount),0) actualInCount
FROM
wms_ans_bill_detail AS d
WHERE d.billSid = #{sourceBillSid}) a
</select>
</mapper> </mapper>

128
yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java

@ -181,7 +181,13 @@ public class WmsReceiptBillService extends MybatisBaseService<WmsReceiptBillMapp
return billNo; return billNo;
} }
public ResultBean<String> saveOrUpdateBill2(WmsReceiptBillDto2 dto) { /**
*
* @param dto
* @param type 0 保存1确认
* @return
*/
public ResultBean<String> saveOrUpdateBill2(WmsReceiptBillDto2 dto,int type) {
ResultBean<String> rb = ResultBean.fireFail(); ResultBean<String> rb = ResultBean.fireFail();
String sid = dto.getSid(); String sid = dto.getSid();
if (StringUtils.isBlank(sid)) { if (StringUtils.isBlank(sid)) {
@ -198,49 +204,32 @@ public class WmsReceiptBillService extends MybatisBaseService<WmsReceiptBillMapp
for (WmsReceiptBillDetailDto2 detail : list) { for (WmsReceiptBillDetailDto2 detail : list) {
String goodsSpuSid = detail.getGoodsSpuSid(); String goodsSpuSid = detail.getGoodsSpuSid();
String sourceBillSid = dto.getSourceBillSid(); String sourceBillSid = dto.getSourceBillSid();
String goodsCount = baseMapper.selGoodsCountBySpuSidAndSouceSid(goodsSpuSid, sourceBillSid); // String goodsCount = baseMapper.selGoodsCountBySpuSidAndSouceSid(goodsSpuSid, sourceBillSid);
WmsAnsBillDetail goods = wmsAnsBillDetailService.fetchBySpuSidAndBillSid(goodsSpuSid, sourceBillSid); WmsAnsBillDetail goods = wmsAnsBillDetailService.fetchBySpuSidAndBillSid(goodsSpuSid, sourceBillSid);
BigDecimal count = new BigDecimal(goodsCount); // BigDecimal count = new BigDecimal(goodsCount);
if (null != goods) { if (type == 1) {
BigDecimal orderCount = new BigDecimal(goods.getOrderCount()); //确认时,统计预期到货通知单实收数量
BigDecimal accCount = count.add(new BigDecimal(detail.getActualInCount())); if (null != goods) {
goods.setActualInCount(accCount); BigDecimal waitInCount = goods.getWaitInCount();
goods.setWaitInCount(orderCount.subtract(accCount)); BigDecimal actualInCount = goods.getActualInCount();
wmsAnsBillDetailService.updateById(goods); BigDecimal accCount = actualInCount.add(new BigDecimal(detail.getActualInCount()));
goods.setActualInCount(accCount);
goods.setWaitInCount(waitInCount.subtract(new BigDecimal(detail.getActualInCount())));
wmsAnsBillDetailService.updateById(goods);
}
} }
WmsReceiptBillDetail wmsReceiptBillDetail = new WmsReceiptBillDetail(); WmsReceiptBillDetail wmsReceiptBillDetail = new WmsReceiptBillDetail();
BeanUtil.copyProperties(detail, wmsReceiptBillDetail, "sid"); BeanUtil.copyProperties(detail, wmsReceiptBillDetail, "sid");
wmsReceiptBillDetail.setBillSid(sid); wmsReceiptBillDetail.setBillSid(sid);
wmsReceiptBillDetailService.insert(wmsReceiptBillDetail); wmsReceiptBillDetailService.insert(wmsReceiptBillDetail);
} }
if (StringUtils.isNotBlank(dto.getSourceBillSid())) { if (type == 1) {
WmsAnsBill wmsAnsBill = wmsAnsBillService.fetchBySid(dto.getSourceBillSid()); if (StringUtils.isNotBlank(dto.getSourceBillSid())) {
List<WmsAnsListDetailsVo> vos = wmsAnsBillDetailService.selectByBillSid(dto.getSourceBillSid()); WmsAnsBill wmsAnsBill = wmsAnsBillService.fetchBySid(dto.getSourceBillSid());
if (!vos.isEmpty()) { int billState = selAnsBillState(dto.getSourceBillSid());
HashSet<Integer> integers = new HashSet<>(); wmsAnsBill.setBillState(billState);
for (WmsAnsListDetailsVo vo : vos) { wmsAnsBillService.updateById(wmsAnsBill);
BigDecimal count = new BigDecimal("0");
if (StringUtils.isNotBlank(vo.getWaitInCount())) {
count = new BigDecimal(vo.getWaitInCount());
}
if (count.compareTo(BigDecimal.ZERO) <= 0) {
integers.add(2);
} else {
integers.add(1);
}
}
if (integers.size() > 1) {
wmsAnsBill.setBillState(1);
} else {
wmsAnsBill.setBillState(2);
for (Integer integer : integers) {
if (integer == 1) {
wmsAnsBill.setBillState(1);
}
}
}
} }
wmsAnsBillService.updateById(wmsAnsBill);
} }
} }
wmsReceiptBill.setBillState("0"); wmsReceiptBill.setBillState("0");
@ -271,49 +260,32 @@ public class WmsReceiptBillService extends MybatisBaseService<WmsReceiptBillMapp
for (WmsReceiptBillDetailDto2 detail : list) { for (WmsReceiptBillDetailDto2 detail : list) {
String goodsSpuSid = detail.getGoodsSpuSid(); String goodsSpuSid = detail.getGoodsSpuSid();
String sourceBillSid = dto.getSourceBillSid(); String sourceBillSid = dto.getSourceBillSid();
String goodsCount = baseMapper.selGoodsCountBySpuSidAndSouceSid(goodsSpuSid, sourceBillSid); // String goodsCount = baseMapper.selGoodsCountBySpuSidAndSouceSid(goodsSpuSid, sourceBillSid);
WmsAnsBillDetail goods = wmsAnsBillDetailService.fetchBySpuSidAndBillSid(goodsSpuSid, sourceBillSid); WmsAnsBillDetail goods = wmsAnsBillDetailService.fetchBySpuSidAndBillSid(goodsSpuSid, sourceBillSid);
BigDecimal count = new BigDecimal(goodsCount); // BigDecimal count = new BigDecimal(goodsCount);
if (null != goods) { if (type == 1) {
BigDecimal orderCount = new BigDecimal(goods.getOrderCount()); //确认时,统计预期到货通知单实收数量
BigDecimal accCount = count.add(new BigDecimal(detail.getActualInCount())); if (null != goods) {
goods.setActualInCount(accCount); BigDecimal waitInCount = goods.getWaitInCount();
goods.setWaitInCount(orderCount.subtract(accCount)); BigDecimal actualInCount = goods.getActualInCount();
wmsAnsBillDetailService.updateById(goods); BigDecimal accCount = actualInCount.add(new BigDecimal(detail.getActualInCount()));
goods.setActualInCount(accCount);
goods.setWaitInCount(waitInCount.subtract(new BigDecimal(detail.getActualInCount())));
wmsAnsBillDetailService.updateById(goods);
}
} }
WmsReceiptBillDetail wmsReceiptBillDetail = new WmsReceiptBillDetail(); WmsReceiptBillDetail wmsReceiptBillDetail = new WmsReceiptBillDetail();
BeanUtil.copyProperties(detail, wmsReceiptBillDetail, "sid"); BeanUtil.copyProperties(detail, wmsReceiptBillDetail, "sid");
wmsReceiptBillDetail.setBillSid(sid); wmsReceiptBillDetail.setBillSid(sid);
wmsReceiptBillDetailService.insert(wmsReceiptBillDetail); wmsReceiptBillDetailService.insert(wmsReceiptBillDetail);
} }
if (StringUtils.isNotBlank(dto.getSourceBillSid())) { if (type == 1) {
WmsAnsBill wmsAnsBill = wmsAnsBillService.fetchBySid(dto.getSourceBillSid()); if (StringUtils.isNotBlank(dto.getSourceBillSid())) {
List<WmsAnsListDetailsVo> vos = wmsAnsBillDetailService.selectByBillSid(dto.getSourceBillSid()); WmsAnsBill wmsAnsBill = wmsAnsBillService.fetchBySid(dto.getSourceBillSid());
if (!vos.isEmpty()) { int billState = selAnsBillState(dto.getSourceBillSid());
HashSet<Integer> integers = new HashSet<>(); wmsAnsBill.setBillState(billState);
for (WmsAnsListDetailsVo vo : vos) { wmsAnsBillService.updateById(wmsAnsBill);
BigDecimal count = new BigDecimal("0");
if (StringUtils.isNotBlank(vo.getWaitInCount())) {
count = new BigDecimal(vo.getWaitInCount());
}
if (count.compareTo(BigDecimal.ZERO) <= 0) {
integers.add(2);
} else {
integers.add(1);
}
}
if (integers.size() > 1) {
wmsAnsBill.setBillState(1);
} else {
wmsAnsBill.setBillState(2);
for (Integer integer : integers) {
if (integer == 1) {
wmsAnsBill.setBillState(1);
}
}
}
} }
wmsAnsBillService.updateById(wmsAnsBill);
} }
} }
@ -322,6 +294,11 @@ public class WmsReceiptBillService extends MybatisBaseService<WmsReceiptBillMapp
return rb.success().setData(sid); return rb.success().setData(sid);
} }
private int selAnsBillState(String sourceBillSid) {
return baseMapper.selAnsBillState(sourceBillSid);
}
public ResultBean<WmsReceiptBillVo> getInitDetails(String sourceSid) { public ResultBean<WmsReceiptBillVo> getInitDetails(String sourceSid) {
ResultBean<WmsReceiptBillVo> rb = ResultBean.fireFail(); ResultBean<WmsReceiptBillVo> rb = ResultBean.fireFail();
WmsReceiptBillVo wmsReceiptBillVo = new WmsReceiptBillVo(); WmsReceiptBillVo wmsReceiptBillVo = new WmsReceiptBillVo();
@ -396,10 +373,17 @@ public class WmsReceiptBillService extends MybatisBaseService<WmsReceiptBillMapp
for (int i = 0; i < list.size(); i++) { for (int i = 0; i < list.size(); i++) {
WmsReceiptBillDetailDto2 wmsReceiptBillDetailDto2 = list.get(i); WmsReceiptBillDetailDto2 wmsReceiptBillDetailDto2 = list.get(i);
wmsReceiptBillDetailDto2.setState(1); wmsReceiptBillDetailDto2.setState(1);
//判断确认时,实收数量不能大于待收货数量
WmsAnsBillDetail goods = wmsAnsBillDetailService.fetchBySpuSidAndBillSid(wmsReceiptBillDetailDto2.getGoodsSpuSid(), dto.getSourceBillSid());
BigDecimal waitInCount = goods.getWaitInCount();
String actualInCount = wmsReceiptBillDetailDto2.getActualInCount();
if (new BigDecimal(actualInCount).compareTo(waitInCount) > 0) {
return rb.setMsg("实收数量请勿大于待收货数量!");
}
} }
} }
dto.setList(list); dto.setList(list);
ResultBean<String> resultBean = saveOrUpdateBill2(dto); ResultBean<String> resultBean = saveOrUpdateBill2(dto,1);
String sid = resultBean.getData(); String sid = resultBean.getData();
WmsReceiptBill wmsReceiptBill = fetchBySid(sid); WmsReceiptBill wmsReceiptBill = fetchBySid(sid);
if (null != wmsReceiptBill) { if (null != wmsReceiptBill) {

Loading…
Cancel
Save