Browse Source

Merge remote-tracking branch 'origin/master'

master
ligaode 2 months ago
parent
commit
0946a980cd
  1. 9
      doc/databases/统计报表更新.sql
  2. 29
      yxt-as-ui/src/api/storage/upShelf.js
  3. 2
      yxt-as-ui/src/views/storage/receivingGoods/index.vue
  4. 24
      yxt-as-ui/src/views/storage/upShelf/upShelfAdd.vue
  5. 23
      yxt-pms-biz/src/main/java/com/yxt/pms/biz/pms/pmspurchasebill/PmsPurchaseBillService.java
  6. 4
      yxt-pms-biz/src/main/java/com/yxt/pms/feign/wms/wmsansbill/WmsAnsBillDetailDto.java
  7. 1
      yxt-pms-biz/src/main/java/com/yxt/pms/feign/wms/wmsansbill/WmsAnsBillDto.java
  8. 5
      yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsReceiptBillRest.java
  9. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillDto.java
  10. 3
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillMapper.xml
  11. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsBillService.java
  12. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbill/WmsAnsDetailsVo.java
  13. 6
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetailDto.java
  14. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetailMapper.java
  15. 21
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetailMapper.xml
  16. 5
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsansbilldetail/WmsAnsBillDetailService.java
  17. 2
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillMapper.java
  18. 16
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillMapper.xml
  19. 128
      yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsreceiptbill/WmsReceiptBillService.java

9
doc/databases/统计报表更新.sql

@ -313,6 +313,11 @@ BEGIN
WHERE DATE_FORMAT(createTime, '%Y-%m-%d') = CURDATE();
-- 销售订单-待交车累计(销售订单已办结且库存状态为库存和在途的)
/* --待交车累计总订单台数统计规则:
1.- 2.
3.
4.+退
=1+2+3-4*/
/* UPDATE daily_report r
INNER JOIN (select count(bv.id) as scount, bv.useOrgSid, bv.modelSid, bv.modelConfigSid, bo.contractNo
from anrui_base.base_vehicle bv
@ -352,7 +357,7 @@ BEGIN
and bo.useOrgSid = a.useOrgSid
and bm.modelSid = a.modelSid
and bm.modelConfigSid = a.modelConfigSid
and bo.contractNo = a.contractNo) as ssscount1,
and bo.contractNo = a.contractNo and (bov.linkSid != '' or bov.linkSid != null)) as ssscount1,
(SELECT count(bov.id) AS scount
FROM anrui_base.base_vehicle bv
LEFT JOIN anrui_buscenter.bus_sales_order_vehicle bov ON bov.linkSid = bv.sid
@ -444,7 +449,7 @@ BEGIN
d.modelSid,
d.modelConfigSid,
d.contractNo
) a) b) c
) a) b ) c
group by c.useOrgSid, c.modelSid, c.modelConfigSid
) AS s ON r.useOrgSid = s.useOrgSid
AND r.vehModelSid = s.modelSid

29
yxt-as-ui/src/api/storage/upShelf.js

@ -1,37 +1,39 @@
import request from '@/utils/request'
export default {
// 查询分页列表
listPage: function(params) {
return request({
url: '/wms/apiadmin/WmsShelfBill/listPage',
method: 'post',
data: params,
headers: { 'Content-Type': 'application/json' }
headers: { 'Content-Type': 'application/json' }
})
},
// 初始化
// 详情回显
init: function(data) {
return request({
url: '/wms/apiadmin/WmsShelfBill/details?sid='+data,
url: '/wms/apiadmin/WmsShelfBill/details?sid=' + data,
method: 'get'
});
})
},
// 初始化
getInit: function(data) {
return request({
url: '/wms/apiadmin/WmsShelfBill/getInit',
method: 'get',
params: data
})
},
// 新增、保存
save: function(data) {
return request({
url: '/wms/apiadmin/WmsShelfBill/saveOrUpdate',
method: 'post',
data: data,
headers: { 'Content-Type': 'application/json' }
});
headers: { 'Content-Type': 'application/json' }
})
},
deleteBySids: function(data) {
return request({
url: '/wms/apiadmin/WmsShelfBill/delBySids',
@ -39,6 +41,5 @@ export default {
data: data,
headers: { 'Content-Type': 'application/json' }
})
},
}
}

2
yxt-as-ui/src/views/storage/receivingGoods/index.vue

@ -382,7 +382,7 @@ export default {
return
}
this.viewState = 5
this.$refs['upShelfAdd'].showEdit(this.selectionList[0])
this.$refs['upShelfAdd'].showEdit({ sid: this.selectionList[0].sid })
},
toEdit(row) {
this.viewState = 3

24
yxt-as-ui/src/views/storage/upShelf/upShelfAdd.vue

@ -9,9 +9,6 @@
</div>
<div class="listconadd">
<el-form ref="form_obj" :model="formobj" :rules="rules" class="formaddcopy02">
<div class="title">
<div>基础信息</div>
</div>
<el-row class="first_row">
<el-col :span="8">
<div class="span-sty">制单人</div>
@ -21,12 +18,6 @@
<div class="span-sty">制单部门</div>
<el-form-item><span class="addinputw addinputInfo">{{ formobj.deptName }}</span></el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty">制单人</div>
<el-form-item>
<el-input v-model="formobj.createByName" placeholder="" class="addinputw addinputInfo" clearable/>
</el-form-item>
</el-col>
<el-col :span="8">
<div class="span-sty"><span class="must">*</span>单据日期</div>
<el-form-item prop="createTime">
@ -70,7 +61,7 @@
<el-button type="primary" size="mini" @click="doGoodsBatch(scope.$index)">删除</el-button>
</template>
</el-table-column>
<el-table-column label="商品名称" prop="goodsSkuTitle" align="center" width="200"/>
<el-table-column label="商品名称" prop="goodsSpuName" align="center" width="200"/>
<el-table-column label="图号" prop="goodsSkuCode" align="center" width="150"/>
<el-table-column label="规格" prop="goodsSkuOwnSpec" align="center" width="150"/>
<el-table-column label="单位" prop="unit" align="center" width="120"/>
@ -79,7 +70,7 @@
<el-input @keyup.native="scope.row.count = getNumber(scope.row.count, 0)" v-model="scope.row.count" clearable placeholder="" @input="inputCount(scope.row)"/>
</template>
</el-table-column>
<el-table-column label="备注" align="center" width="180">
<el-table-column label="备注" align="center">
<template slot-scope="scope">
<el-input v-model="scope.row.remarks" clearable placeholder=""/>
</template>
@ -199,20 +190,13 @@ export default {
this.submitdisabled = false
this.$emit('doback')
},
showAdd() {
this.title = '【新增】'
this.getAllOrgper()
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
},
showEdit(row) {
this.$nextTick(() => {
this.$refs['form_obj'].clearValidate()
})
this.getAllOrgper()
this.title = '【修改】'
req.init({ sid: row.sid }).then(resp => {
this.title = '【新增】'
req.getInit({ sid: row.sid, orgPath: window.sessionStorage.getItem('defaultOrgPath'), userSid: window.sessionStorage.getItem('userSid') }).then((resp) => {
if (resp.success) {
this.formobj = resp.data
this.formobj.deptName = window.sessionStorage.getItem('defaultOrgPathName').substring(window.sessionStorage.getItem('defaultOrgPathName').lastIndexOf('/') + 1)

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;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.date.DateTime;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.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.pms.biz.pms.pmspurchasebackbill.PmsPurchasebackBillService;
import com.yxt.pms.biz.pms.pmspurchasebackdetail.PmsPurchasebackDetailService;
import com.yxt.common.core.vo.PagerVo;
import com.yxt.pms.biz.pms.pmspurchasebill.flowable.*;
import com.yxt.pms.biz.pms.pmspurchasebilldetail.PmsPurchaseBillDetailDetailsVo;
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.PmsSupplierInfoService;
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.FlowFeign;
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.WmsAnsBillFeign;
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.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.math.BigDecimal;
import java.util.*;
import java.util.concurrent.*;
import java.util.stream.Collectors;
@ -453,6 +451,9 @@ public class PmsPurchaseBillService extends MybatisBaseService<PmsPurchaseBillMa
updateFlowFiled(BeanUtil.beanToMap(resultBean.getData()));
if ("Event_end".equals(resultBean.getData().getTaskDefKey())) {
WmsAnsBillDto wmsAnsBillDto = new WmsAnsBillDto();
if (StringUtils.isNotBlank(pmsPurchaseBill.getRemarks())) {
wmsAnsBillDto.setRemarks(pmsPurchaseBill.getRemarks());
}
wmsAnsBillDto.setDeptName(pmsPurchaseBill.getDeptName());
wmsAnsBillDto.setDeptSid(pmsPurchaseBill.getDeptSid());
wmsAnsBillDto.setCreateBySid(pmsPurchaseBill.getCreateBySid());
@ -506,6 +507,8 @@ public class PmsPurchaseBillService extends MybatisBaseService<PmsPurchaseBillMa
wmsAnsBillDetailDto.setCost(pmsPurchaseBillDetailDetailsVo.getTaxPrice().toString());
}
wmsAnsBillDetailDto.setOrderCount(pmsPurchaseBillDetailDetailsVo.getCount().toString());
wmsAnsBillDetailDto.setWaitInCount(pmsPurchaseBillDetailDetailsVo.getCount().toString());
wmsAnsBillDetailDto.setActualInCount("0");
if (StringUtils.isNotBlank(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;
@ApiModelProperty("金额")
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<>();
@ApiModelProperty("采购单税率")
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.result.ResultBean;
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.wmsreceiptbilldetail.ShelfListVo;
import com.yxt.wms.biz.inventory.wmsreceiptbilldetail.WmsReceiptBillDetail;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
@ -39,7 +36,7 @@ public class WmsReceiptBillRest {
@ApiOperation("新增修改保存")
@PostMapping("/saveOrUpdate")
ResultBean<String> saveOrUpdate(@RequestBody WmsReceiptBillDto2 dto) {
return wmsReceiptBillService.saveOrUpdateBill2(dto);
return wmsReceiptBillService.saveOrUpdateBill2(dto,0);
}
@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 lombok.Data;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
@ -67,4 +66,5 @@ public class WmsAnsBillDto {
private List<WmsAnsBillDetailDto> wmsAnsBillDetailList = new ArrayList<>();
@ApiModelProperty("采购单税率")
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 '已收货(部分终止)'
end as billState,
wab.reviewStatus,
wab.manufactorBillNo
wab.manufactorBillNo,
wab.remarks
from wms_ans_bill wab
where sid = #{sid}
</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();
WmsAnsDetailsVo wmsAnsDetailsVo = baseMapper.details(sid);
if (wmsAnsDetailsVo != null) {
List<WmsAnsListDetailsVo> list = wmsAnsBillDetailService.selectByBillSid(sid);
List<WmsAnsListDetailsVo> list = wmsAnsBillDetailService.selectDetailsByBillSid(sid);
list.removeAll(Collections.singleton(null));
if (!list.isEmpty()) {
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;
@ApiModelProperty("货主")
private String goodsOwner;*/
private String remarks;
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 lombok.Data;
import java.math.BigDecimal;
/**
* @description:
* @author: dimengzhe
@ -37,4 +35,8 @@ public class WmsAnsBillDetailDto {
private String taxPrice;
@ApiModelProperty("金额")
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);
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.goodsSpuSid
from wms_ans_bill_detail wd
where billSid = #{sid}
where billSid = #{sid} and wd.waitInCount > 0
</select>
<select id="selGoodsCountBySpuSidAndSouceSid" resultType="java.lang.String">
SELECT IFNULL(d.orderCount,0) FROM wms_ans_bill_detail as d
@ -34,4 +34,23 @@
SELECT * FROM wms_ans_bill_detail as d
WHERE d.goodsSpuSid = #{goodsSpuSid} and d.billSid = #{sourceBillSid}
</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>

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 com.yxt.common.base.service.MybatisBaseService;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Service;
import java.util.List;
@ -35,4 +34,8 @@ public class WmsAnsBillDetailService extends MybatisBaseService<WmsAnsBillDetail
public WmsAnsBillDetail fetchBySpuSidAndBillSid(String goodsSpuSid, String 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);
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
d.receiptDetailSid = #{detailsSid}
</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>

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

Loading…
Cancel
Save