From f288e54b2f6ee88c9210168e90bce5cb68b38ef2 Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Tue, 28 May 2024 17:54:26 +0800 Subject: [PATCH] =?UTF-8?q?=E7=BB=B4=E4=BF=AE=E5=87=BA=E5=BA=93?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../AsBusrepairInventoryBillInit.java | 66 ++++++++ .../AsBusrepairInventorybill.java | 4 + .../AsBusrepairInventorybillDto.java | 54 ++++--- .../AsBusrepairInventorybillDetailSDto.java | 2 +- .../SitemsVo.java | 44 +++--- .../AsBusrepairBillService.java | 2 +- .../AsBusrepairInventorybillMapper.java | 2 + .../AsBusrepairInventorybillMapper.xml | 10 +- .../AsBusrepairInventorybillRest.java | 20 ++- .../AsBusrepairInventorybillService.java | 146 ++++++++++++++---- .../AsBusrepairInventorybillDetailMapper.java | 2 + .../AsBusrepairInventorybillDetailMapper.xml | 12 ++ ...AsBusrepairInventorybillDetailService.java | 20 +++ .../apiadmin/inventroy/WmsShelfBillRest.java | 13 ++ .../wmsoutbill/WmsOutBillInventoryQuery.java | 2 + .../wmsoutbill/WmsOutBillInventoryVo.java | 8 +- .../inventory/wmsoutbill/WmsOutBillMapper.xml | 28 ++-- .../wmsoutbill/WmsOutBillService.java | 15 +- .../wmsshelfbill/WmsShelfBillService.java | 12 ++ .../app/AppShelfBillListQuery.java | 21 +++ .../wmsshelfbill/app/AppShelfBillListVo.java | 20 +++ .../as/AsBusrepairInventorybillFeign.java | 28 ++++ 22 files changed, 435 insertions(+), 96 deletions(-) create mode 100644 yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventoryBillInit.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppShelfBillListQuery.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppShelfBillListVo.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/feign/as/AsBusrepairInventorybillFeign.java diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventoryBillInit.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventoryBillInit.java new file mode 100644 index 0000000000..7b86cabfa4 --- /dev/null +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventoryBillInit.java @@ -0,0 +1,66 @@ +package com.yxt.anrui.as.api.asbusrepairinventorybill; + +import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailSDto; +import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.SitemsVo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +/** + * @author Fan + * @description + * @date 2024/5/28 11:50 + */ +@Data +public class AsBusrepairInventoryBillInit { + + + private String sid; + @ApiModelProperty("操作人sid") + private String createBySid; + @ApiModelProperty("制单人姓名") + private String createByName; + @ApiModelProperty("来源单sid") + private String sourceBillSid; + @ApiModelProperty("库管操作人sid") + private String warehouseManagerSid; + @ApiModelProperty("库管操作人") + private String warehouseManager; + @ApiModelProperty("使用组织sid") + private String useOrgSid; + @ApiModelProperty("创建组织sid") + private String createOrgSid; + @ApiModelProperty("部门sid") + private String deptSid; + @ApiModelProperty("部门") + private String deptName; + @ApiModelProperty("操作日期") + private String createTime; + @ApiModelProperty("备注") + private String remarks; + + @ApiModelProperty("维修工单编号") + private String sourceBillNo; + @ApiModelProperty("服务顾问姓名") + private String waitorName; + @ApiModelProperty("单据日期") + private String billDate; + @ApiModelProperty("工单类型0正常工单、1保险理赔、2协议单位") + private String billType; + @ApiModelProperty("科目") + private String subject; + @ApiModelProperty("客户名称") + private String customerName; + @ApiModelProperty("车牌号") + private String vehMark; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("客户单位") + private String customerOrg; + private List sitemVoList = new ArrayList<>(); + + private List detailList = new ArrayList<>(); + +} diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventorybill.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventorybill.java index 58b8d7937e..483976cf76 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventorybill.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventorybill.java @@ -31,4 +31,8 @@ public class AsBusrepairInventorybill extends BaseEntity { private String useOrgSid; @ApiModelProperty("创建组织sid") private String createOrgSid; + @ApiModelProperty("部门sid") + private String deptSid; + @ApiModelProperty("部门") + private String deptName; } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventorybillDto.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventorybillDto.java index 38b74e0dfb..6d8667ce35 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventorybillDto.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybill/AsBusrepairInventorybillDto.java @@ -1,6 +1,8 @@ package com.yxt.anrui.as.api.asbusrepairinventorybill; import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailDto; +import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailSDto; +import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.SitemsVo; import io.swagger.annotations.ApiModelProperty; import lombok.Data; @@ -20,28 +22,44 @@ public class AsBusrepairInventorybillDto { private String createBySid; @ApiModelProperty("制单人姓名") private String createByName; - @ApiModelProperty("操作部门sid") - private String createDeptSid; - private String createDeptName; - @ApiModelProperty("操作日期") - private String createTime; - @ApiModelProperty("领料人sid") + @ApiModelProperty("来源单sid") + private String sourceBillSid; + @ApiModelProperty("库管操作人sid") private String warehouseManagerSid; - @ApiModelProperty("领料人名称") + @ApiModelProperty("库管操作人") private String warehouseManager; + @ApiModelProperty("使用组织sid") + private String useOrgSid; + @ApiModelProperty("创建组织sid") + private String createOrgSid; + @ApiModelProperty("部门sid") + private String deptSid; + @ApiModelProperty("部门") + private String deptName; + @ApiModelProperty("操作日期") + private String createTime; @ApiModelProperty("备注") private String remarks; - @ApiModelProperty("维修工单sid") - private String sourceBillSid; - @ApiModelProperty("单据编号") - private String billNo; - - @ApiModelProperty("业务类型key") - private String busTypeKey; - @ApiModelProperty("业务类型value") - private String busTypeValue; - private List detailList = new ArrayList<>(); + @ApiModelProperty("维修工单编号") + private String sourceBillNo; + @ApiModelProperty("服务顾问姓名") + private String waitorName; + @ApiModelProperty("单据日期") + private String billDate; + @ApiModelProperty("工单类型0正常工单、1保险理赔、2协议单位") + private String billType; + @ApiModelProperty("科目") + private String subject; + @ApiModelProperty("客户名称") + private String customerName; + @ApiModelProperty("车牌号") + private String vehMark; + @ApiModelProperty("车架号") + private String vinNo; + @ApiModelProperty("客户单位") + private String customerOrg; + private List sitemVoList = new ArrayList<>(); - private String orgPath; + private List detailList = new ArrayList<>(); } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailSDto.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailSDto.java index 57ef3ab019..e66b6e78f5 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailSDto.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailSDto.java @@ -35,7 +35,7 @@ public class AsBusrepairInventorybillDetailSDto { private String goodsSkuOwnSpec; @ApiModelProperty("已出数量") - private String currentCount; + private String outboundCount; @ApiModelProperty("计量单位") private String unit; @ApiModelProperty("仓库sid") diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybilldetail/SitemsVo.java b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybilldetail/SitemsVo.java index 9b63f170a1..0c0f7143b8 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybilldetail/SitemsVo.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/api/asbusrepairinventorybilldetail/SitemsVo.java @@ -1,5 +1,6 @@ package com.yxt.anrui.as.api.asbusrepairinventorybilldetail; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; /** @@ -10,41 +11,34 @@ import lombok.Data; @Data public class SitemsVo { - //服务项目 + @ApiModelProperty("项目sid") + private String serviceItemSid; + @ApiModelProperty("项目名称") private String serviceItem; - - //工种 + @ApiModelProperty("工种sid(分类)") + private String serviceTypeSid; + @ApiModelProperty("工种(分类)") private String serviceType; - - //科目 + @ApiModelProperty("科目sid") + private String subjectSid; + @ApiModelProperty("科目(自费、保内等)") private String subject; - - //维修人 - private String repairerName; - - //考核工时 + @ApiModelProperty("考核工时(考核价)") private String examineHourPrice; - - //工时单价 + @ApiModelProperty("工时单价") private String hourPrice; - - //工时数 + @ApiModelProperty("工时数") private String hours; - - //销售价 + @ApiModelProperty("销售价(工时费)=工时单价*工时数") private String price; - - //折扣 + @ApiModelProperty("折扣(0-10,0免费,10不打折)") private String discount; - - //优惠 + @ApiModelProperty("优惠金额(=销售价*(折扣*0.1))") private String discountAmount; - - //金额 + @ApiModelProperty("金额(销售价-优惠金额)") private String amount; - - //备注 + @ApiModelProperty("备注") private String remarks; - + private String repairerName; } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java index 6a0ae657f6..d6286649d7 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairbill/AsBusrepairBillService.java @@ -467,7 +467,7 @@ public class AsBusrepairBillService extends MybatisBaseService goodsDetails = asBusrepairInventorybillDetailService.getDetailsByBillSid(sid, "0"); + List goodsDetails = asBusrepairInventorybillDetailService.getGoodsDetailsByBillSid(sid); if (!goodsDetails.isEmpty()) { for (AsBusrepairInventorybillDetail goodsDetail : goodsDetails) { GoodsDetailsVo goodsDetailsVo = new GoodsDetailsVo(); diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillMapper.java index 5664018b16..be9bbc2977 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillMapper.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillMapper.java @@ -24,4 +24,6 @@ public interface AsBusrepairInventorybillMapper extends BaseMapper pageList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); + + String selOutBoundCount(@Param("sourceBillSid") String sourceBillSid, @Param("busTypeKey")String busTypeKey, @Param("goodsID")String goodsID); } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillMapper.xml index 2b0a4a7b4f..4a429e0520 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillMapper.xml +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillMapper.xml @@ -15,4 +15,12 @@ ${ew.sqlSegment} - \ No newline at end of file + + diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillRest.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillRest.java index b7553432f4..5f81302b0c 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillRest.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillRest.java @@ -1,9 +1,6 @@ package com.yxt.anrui.as.biz.asbusrepairinventorybill; -import com.yxt.anrui.as.api.asbusrepairinventorybill.AsBusrepairInventorybillQuery; -import com.yxt.anrui.as.api.asbusrepairinventorybill.AsBusrepairInventorybillDto; -import com.yxt.anrui.as.api.asbusrepairinventorybill.AsBusrepairInventorybillVo; -import com.yxt.anrui.as.api.asbusrepairinventorybill.InventoryBillDetailsVo; +import com.yxt.anrui.as.api.asbusrepairinventorybill.*; import com.yxt.common.core.query.PagerQuery; import com.yxt.common.core.result.ResultBean; import com.yxt.common.core.vo.PagerVo; @@ -62,4 +59,19 @@ public class AsBusrepairInventorybillRest { } + @GetMapping("/init") + @ApiOperation("出库/退库初始化") + ResultBean init(@RequestParam("sid") String sid) { + return asBusrepairInventorybillService.init(sid); + } + + @GetMapping("/selOutBoundCount") + @ApiOperation("查询出入库数量") + ResultBean selOutBoundCount(@RequestParam("sourceBillSid") String sourceBillSid, + @RequestParam("busTypeKey") String busTypeKey, + @RequestParam("goodsID") String goodsID) { + return asBusrepairInventorybillService.selOutBoundCount(sourceBillSid,busTypeKey,goodsID); + } + + } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java index 34f11e1d46..3b5b0ba9c1 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybill/AsBusrepairInventorybillService.java @@ -5,9 +5,13 @@ import com.alibaba.fastjson.JSON; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.yxt.anrui.as.api.asbusrepairbill.AsBusrepairBill; +import com.yxt.anrui.as.api.asbusrepairbill.AsBusrepairBillDetailsVo; +import com.yxt.anrui.as.api.asbusrepairbill.GoodsDetailsVo; +import com.yxt.anrui.as.api.asbusrepairbill.SitemVo; import com.yxt.anrui.as.api.asbusrepairinventorybill.*; import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetail; import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailDto; +import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailSDto; import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.SitemsVo; import com.yxt.anrui.as.biz.asbusrepairbill.AsBusrepairBillService; import com.yxt.anrui.as.biz.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailService; @@ -96,35 +100,35 @@ public class AsBusrepairInventorybillService extends MybatisBaseService saveOrUdateBill(AsBusrepairInventorybillDto dto) { ResultBean rb = ResultBean.fireFail(); String sid = dto.getSid(); - if (StringUtils.isBlank(sid)) { - AsBusrepairInventorybill asBusrepairInventorybill = new AsBusrepairInventorybill(); - BeanUtil.copyProperties(dto, asBusrepairInventorybill, "sid"); - sid = asBusrepairInventorybill.getSid(); - List detailList = dto.getDetailList(); - detailList.removeAll(Collections.singleton(null)); - if (!detailList.isEmpty()) { - asBusrepairInventorybillDetailService.saveOrUpdateDetail(detailList, sid); - } - String orgPath = dto.getOrgPath(); - if (StringUtils.isNotBlank(orgPath)) { - String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); - asBusrepairInventorybill.setCreateOrgSid(useOrgSid); - asBusrepairInventorybill.setUseOrgSid(useOrgSid); - } - baseMapper.insert(asBusrepairInventorybill); - } else { - AsBusrepairInventorybill asBusrepairInventorybill = fetchBySid(sid); - if (asBusrepairInventorybill == null) { - return rb.setMsg("该单据不存在"); - } - BeanUtil.copyProperties(dto, asBusrepairInventorybill, "sid"); - List detailList = dto.getDetailList(); - detailList.removeAll(Collections.singleton(null)); - if (!detailList.isEmpty()) { - asBusrepairInventorybillDetailService.saveOrUpdateDetail(detailList, sid); - } - baseMapper.updateById(asBusrepairInventorybill); - } +// if (StringUtils.isBlank(sid)) { +// AsBusrepairInventorybill asBusrepairInventorybill = new AsBusrepairInventorybill(); +// BeanUtil.copyProperties(dto, asBusrepairInventorybill, "sid"); +// sid = asBusrepairInventorybill.getSid(); +// List detailList = dto.getDetailList(); +// detailList.removeAll(Collections.singleton(null)); +// if (!detailList.isEmpty()) { +// asBusrepairInventorybillDetailService.saveOrUpdateDetail(detailList, sid); +// } +// String orgPath = dto.getOrgPath(); +// if (StringUtils.isNotBlank(orgPath)) { +// String useOrgSid = sysStaffOrgFeign.getOrgSidByPath(orgPath).getData(); +// asBusrepairInventorybill.setCreateOrgSid(useOrgSid); +// asBusrepairInventorybill.setUseOrgSid(useOrgSid); +// } +// baseMapper.insert(asBusrepairInventorybill); +// } else { +// AsBusrepairInventorybill asBusrepairInventorybill = fetchBySid(sid); +// if (asBusrepairInventorybill == null) { +// return rb.setMsg("该单据不存在"); +// } +// BeanUtil.copyProperties(dto, asBusrepairInventorybill, "sid"); +// List detailList = dto.getDetailList(); +// detailList.removeAll(Collections.singleton(null)); +// if (!detailList.isEmpty()) { +// asBusrepairInventorybillDetailService.saveOrUpdateDetail(detailList, sid); +// } +// baseMapper.updateById(asBusrepairInventorybill); +// } return rb.success().setData(sid); } @@ -174,4 +178,88 @@ public class AsBusrepairInventorybillService extends MybatisBaseService init(String sid) { + ResultBean rb = ResultBean.fireFail(); + AsBusrepairInventoryBillInit vo = new AsBusrepairInventoryBillInit(); + AsBusrepairBillDetailsVo data = asBusrepairBillService.fetchDetailsBySid(sid).getData(); + if (null != data) { + vo.setSourceBillSid(sid); + if (StringUtils.isNotBlank(data.getBillNo())) { + vo.setSourceBillNo(data.getBillNo()); + } + if (StringUtils.isNotBlank(data.getWaitorName())) { + vo.setWaitorName(data.getWaitorName()); + } + if (StringUtils.isNotBlank(data.getCreateDate())) { + vo.setBillDate(data.getCreateDate()); + } + if (StringUtils.isNotBlank(data.getBillType())) { + String billType = data.getBillType(); + if (billType.equals("0")) { + vo.setBillType("正常工单"); + } else if (billType.equals("1")) { + vo.setBillType("保险理赔"); + } else if (billType.equals("2")) { + vo.setBillType("协议单位"); + } + } + if (StringUtils.isNotBlank(data.getSubject())) { + vo.setSubject(data.getSubject()); + } + if (StringUtils.isNotBlank(data.getCustomerName())) { + vo.setCustomerName(data.getCustomerName()); + } + if (StringUtils.isNotBlank(data.getVehMark())) { + vo.setVehMark(data.getVehMark()); + } + if (StringUtils.isNotBlank(data.getVinNo())) { + vo.setVinNo(data.getVinNo()); + } + if (StringUtils.isNotBlank(data.getCustomerOrg())) { + vo.setCustomerOrg(data.getCustomerOrg()); + } + List sitemVos = data.getSitemVos(); + List sitemsVos = new ArrayList<>(); + if (!sitemVos.isEmpty()) { + for (SitemVo sitemVo : sitemVos) { + SitemsVo sitemsVo = new SitemsVo(); + BeanUtil.copyProperties(sitemVo, sitemsVo); + List staffNameList = sitemVo.getStaffNameList(); + StringBuffer sb = new StringBuffer(); + if (!staffNameList.isEmpty()) { + for (String name : staffNameList) { + sb.append(name).append(","); + } + sb.delete(sb.length() - 1, sb.length()); + sitemsVo.setRepairerName(sb.toString()); + } + sitemsVos.add(sitemsVo); + } + vo.setSitemVoList(sitemsVos); + } + List list = new ArrayList<>(); + List goodsDetails = asBusrepairInventorybillDetailService.getGoodsDetailsByBillSid(sid); + if (!goodsDetails.isEmpty()) { + for (AsBusrepairInventorybillDetail goodsDetail : goodsDetails) { + AsBusrepairInventorybillDetailSDto goodsDetailsVo = new AsBusrepairInventorybillDetailSDto(); + BeanUtil.copyProperties(goodsDetail, goodsDetailsVo); + if (null != goodsDetail.getCount()) { + goodsDetailsVo.setOutboundCount(goodsDetail.getCount().toString()); + } + goodsDetailsVo.setCount(""); + list.add(goodsDetailsVo); + } + vo.setDetailList(list); + } + } + return rb.success().setData(vo); + } + + + public ResultBean selOutBoundCount(String sourceBillSid, String busTypeKey, String goodsID) { + ResultBean rb = ResultBean.fireFail(); + String count = baseMapper.selOutBoundCount(sourceBillSid, busTypeKey, goodsID); + return rb.success().setData(count); + } } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailMapper.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailMapper.java index a567fe478d..9387234605 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailMapper.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailMapper.java @@ -19,4 +19,6 @@ public interface AsBusrepairInventorybillDetailMapper extends BaseMapper selectByMainSid(String sid); List getDetailsByBillSid(@Param("busRepairBillSid") String busRepairBillSid,@Param("busTypeKey")String busTypeKey); + + List getGoodsDetailsByBillSid(@Param("sid") String sid); } diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailMapper.xml b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailMapper.xml index 56041858e4..d5f5dda608 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailMapper.xml +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailMapper.xml @@ -24,4 +24,16 @@ b.sourceBillSid = #{busRepairBillSid} and b.busTypeKey = #{busTypeKey} + diff --git a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailService.java b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailService.java index c65d4ad091..2991f27430 100644 --- a/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailService.java +++ b/yxt-as/src/main/java/com/yxt/anrui/as/biz/asbusrepairinventorybilldetail/AsBusrepairInventorybillDetailService.java @@ -1,12 +1,16 @@ package com.yxt.anrui.as.biz.asbusrepairinventorybilldetail; import cn.hutool.core.bean.BeanUtil; +import com.yxt.anrui.as.api.asbusrepairinventorybill.AsBusrepairInventorybill; import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetail; import com.yxt.anrui.as.api.asbusrepairinventorybilldetail.AsBusrepairInventorybillDetailDto; +import com.yxt.anrui.as.biz.asbusrepairinventorybill.AsBusrepairInventorybillService; import com.yxt.common.base.service.MybatisBaseService; import com.yxt.common.core.result.ResultBean; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import java.math.BigDecimal; import java.util.List; /** @@ -16,6 +20,8 @@ import java.util.List; **/ @Service public class AsBusrepairInventorybillDetailService extends MybatisBaseService { + @Autowired + private AsBusrepairInventorybillService asBusrepairInventorybillService; public void saveOrUpdateDetail(List detailList, String sid) { baseMapper.deleteByMainSid(sid); detailList.forEach(v -> { @@ -34,4 +40,18 @@ public class AsBusrepairInventorybillDetailService extends MybatisBaseService getDetailsByBillSid(String busRepairBillSid,String busTypeKey) { return baseMapper.getDetailsByBillSid(busRepairBillSid,busTypeKey); } + + public List getGoodsDetailsByBillSid(String sid) { + List list = baseMapper.getGoodsDetailsByBillSid(sid); + if (!list.isEmpty()) { + for (AsBusrepairInventorybillDetail record : list) { + //维修出入库查询已出库数量 + String chuKuCount = asBusrepairInventorybillService.selOutBoundCount(sid, "0", record.getGoodsID()).getData(); + String ruKuCount = asBusrepairInventorybillService.selOutBoundCount(sid, "1", record.getGoodsID()).getData(); + BigDecimal count = new BigDecimal(chuKuCount).subtract(new BigDecimal(ruKuCount)); + record.setCount(count); + } + } + return list; + } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsShelfBillRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsShelfBillRest.java index bf63d41f26..0c4527da51 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsShelfBillRest.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsShelfBillRest.java @@ -7,6 +7,8 @@ import com.yxt.wms.biz.inventory.wmsreceiptbill.WmsReceiptBillDto2; import com.yxt.wms.biz.inventory.wmsreceiptbill.WmsReceiptBillPageVo; import com.yxt.wms.biz.inventory.wmsreceiptbill.WmsReceiptBillQuery; import com.yxt.wms.biz.inventory.wmsshelfbill.*; +import com.yxt.wms.biz.inventory.wmsshelfbill.app.AppShelfBillListQuery; +import com.yxt.wms.biz.inventory.wmsshelfbill.app.AppShelfBillListVo; import io.swagger.annotations.Api; import io.swagger.annotations.ApiModelProperty; import io.swagger.annotations.ApiOperation; @@ -70,4 +72,15 @@ public class WmsShelfBillRest { return wmsShelfBillService.confirm(dto); } + + //---------------------------app--------------------------------- + @ApiOperation("分页列表") + @PostMapping("/applistPage") + public ResultBean> applistPage(@RequestBody PagerQuery pq) { + ResultBean> rb = ResultBean.fireFail(); + PagerVo pv = wmsShelfBillService.applistPage(pq); + return rb.success().setData(pv); + } + + } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillInventoryQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillInventoryQuery.java index e05d2c2be4..0cba680eb8 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillInventoryQuery.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillInventoryQuery.java @@ -29,4 +29,6 @@ public class WmsOutBillInventoryQuery implements Query { private String supplierName; private String orgPath; + + private String busrepairBillSid;//维修工单sid } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillInventoryVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillInventoryVo.java index 0d49800d5e..c02fa81b75 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillInventoryVo.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillInventoryVo.java @@ -11,18 +11,19 @@ import lombok.Data; @Data public class WmsOutBillInventoryVo { private String sid; + private String inventorySid; @ApiModelProperty("商品ID") private String goodsID; @ApiModelProperty("商品基础信息Sid") private String goodSpuSid; @ApiModelProperty("商品名称") private String goodsSpuName; + @ApiModelProperty("图号") + private String goodsSkuCode; @ApiModelProperty("商品Skusid") private String goodsSkuSid; @ApiModelProperty("商品Sku名称") private String goodsSkuTitle; - @ApiModelProperty("商品sku编码") - private String goodsSkuCode; @ApiModelProperty("规格型号") private String goodsSkuOwnSpec; @ApiModelProperty("计量单位") @@ -36,7 +37,8 @@ public class WmsOutBillInventoryVo { @ApiModelProperty("库位编码") private String warehouseRackCode; - + private String price;//销售单价 + private String outboundCount;// 已出库数量 //入库单价 private String money; //库存数量 diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillMapper.xml index 4dfcdd71fb..068029d163 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillMapper.xml @@ -32,22 +32,24 @@ - \ No newline at end of file + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillService.java index a6fcec6f88..a57715e1ef 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoutbill/WmsOutBillService.java @@ -24,6 +24,7 @@ import com.yxt.wms.biz.inventory.wmsreceiptbill.WmsReceiptBillQuery; import com.yxt.wms.biz.inventory.wmsshelfbill.WmsShelfBill; import com.yxt.wms.biz.inventory.wmsshelfbilldetail.WmsShelfBillDetail; import com.yxt.wms.biz.inventory.wmsshelfbilldetail.WmsShelfBillDetailVos; +import com.yxt.wms.feign.as.AsBusrepairInventorybillFeign; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -45,7 +46,8 @@ public class WmsOutBillService extends MybatisBaseService listPage(PagerQuery pagerQuery) { WmsOutBillQuery query = pagerQuery.getParams(); QueryWrapper qw = new QueryWrapper<>(); @@ -144,6 +146,17 @@ public class WmsOutBillService extends MybatisBaseService page = PagerUtil.queryToPage(pagerQuery); IPage pagging = baseMapper.getInventoryList(page, qw); + if (StringUtils.isNotBlank(query.getBusrepairBillSid())) { + List records = pagging.getRecords(); + for (WmsOutBillInventoryVo record : records) { + //维修出入库查询已出库数量 + String billSid = query.getBusrepairBillSid(); + String chuKuCount = asBusrepairInventorybillFeign.selOutBoundCount(billSid, "0", record.getGoodsID()).getData(); + String ruKuCount = asBusrepairInventorybillFeign.selOutBoundCount(billSid, "1", record.getGoodsID()).getData(); + BigDecimal count = new BigDecimal(chuKuCount).subtract(new BigDecimal(ruKuCount)); + record.setOutboundCount(count.toString()); + } + } PagerVo p = PagerUtil.pageToVo(pagging, null); return p; } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java index 65dce4882c..bedb857548 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/WmsShelfBillService.java @@ -22,6 +22,8 @@ import com.yxt.wms.biz.inventory.wmsreceiptbilldetail.WmsReceiptBillDetailDto2; import com.yxt.wms.biz.inventory.wmsreceiptbilldetail.WmsReceiptBillDetailService; import com.yxt.wms.biz.inventory.wmsreceiptbilldetailbatch.WmsReceiptBillDetailBatch; import com.yxt.wms.biz.inventory.wmsreceiptbilldetailbatch.WmsReceiptBillDetailBatchService; +import com.yxt.wms.biz.inventory.wmsshelfbill.app.AppShelfBillListQuery; +import com.yxt.wms.biz.inventory.wmsshelfbill.app.AppShelfBillListVo; import com.yxt.wms.biz.inventory.wmsshelfbilldetail.*; import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuDetailsVo; import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuFeign; @@ -390,4 +392,14 @@ public class WmsShelfBillService extends MybatisBaseService applistPage(PagerQuery pq) { + PagerVo p = new PagerVo<>(); + List list = new ArrayList<>(); + AppShelfBillListVo v = new AppShelfBillListVo(); + v.setSid("222"); + list.add(v); + p.setRecords(list); + return p; + } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppShelfBillListQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppShelfBillListQuery.java new file mode 100644 index 0000000000..d483932474 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppShelfBillListQuery.java @@ -0,0 +1,21 @@ +package com.yxt.wms.biz.inventory.wmsshelfbill.app; + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/5/28 10:43 + */ +@Data +public class AppShelfBillListQuery implements Query { + + private String name; + private String userSid; + private String orgPath; + @ApiModelProperty("菜单sid") + private String menuSid; + +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppShelfBillListVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppShelfBillListVo.java new file mode 100644 index 0000000000..e706228438 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsshelfbill/app/AppShelfBillListVo.java @@ -0,0 +1,20 @@ +package com.yxt.wms.biz.inventory.wmsshelfbill.app; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/5/28 10:43 + */ +@Data +public class AppShelfBillListVo implements Vo { + private String billNo; //单据编号 + private String billState;//单据状态 + private String receiptBillNo;//收货单号 + private String receiptName;//收货人 + private String shelName;//上架人 + private String time;//日期 + private String sid; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/feign/as/AsBusrepairInventorybillFeign.java b/yxt-wms-biz/src/main/java/com/yxt/wms/feign/as/AsBusrepairInventorybillFeign.java new file mode 100644 index 0000000000..1000a855f1 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/feign/as/AsBusrepairInventorybillFeign.java @@ -0,0 +1,28 @@ +package com.yxt.wms.feign.as; + +import com.yxt.common.core.result.ResultBean; +import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuDetailsVo; +import com.yxt.wms.feign.base.basegoodssku.BaseGoodsSkuFeignFallback; +import io.swagger.annotations.ApiOperation; +import org.springframework.cloud.openfeign.FeignClient; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.RequestParam; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/3/20 + **/ +@FeignClient( + contextId = "yxt-as-AsBusrepairInventorybill", + name = "yxt-as", + path = "/v1/AsBusrepairInventorybill", + fallback = BaseGoodsSkuFeignFallback.class) +public interface AsBusrepairInventorybillFeign { + + @GetMapping("/selOutBoundCount") + @ApiOperation("查询出入库数量") + ResultBean selOutBoundCount(@RequestParam("sourceBillSid") String sourceBillSid, + @RequestParam("busTypeKey") String busTypeKey, + @RequestParam("goodsID") String goodsID); +}