From d3de5262feb1ce382263f1b5ff9931430eba34c3 Mon Sep 17 00:00:00 2001 From: God <10745413@qq.com> Date: Wed, 28 Aug 2024 17:08:54 +0800 Subject: [PATCH] =?UTF-8?q?=E6=97=A7=E4=BB=B6=E7=9B=98=E7=82=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../inventroy/WmsOldCheckbillRest.java | 218 + .../wmsinventory/WmsInventoryMapper.java | 4 + .../wmsinventory/WmsInventoryMapper.xml | 24 + .../wmsinventory/WmsInventoryService.java | 8 + .../WmsInventoryCheckbillMapper.java | 5 - .../WmsInventoryCheckbillMapper.xml | 30 +- .../WmsInventoryCheckbillService.java | 12 +- .../WmsInventoryCheckbillDetailMapper.xml | 30 +- .../wmsoldcheckbill/WmsOldCheckbill.java | 78 + .../WmsOldCheckbillDetailsVo.java | 84 + .../wmsoldcheckbill/WmsOldCheckbillDto.java | 91 + .../WmsOldCheckbillMapper.java | 73 + .../wmsoldcheckbill/WmsOldCheckbillMapper.xml | 278 + .../wmsoldcheckbill/WmsOldCheckbillQuery.java | 69 + .../WmsOldCheckbillService.java | 898 +++ .../wmsoldcheckbill/WmsOldCheckbillVo.java | 92 + .../flowable/CompleteOldCheckDto.java | 35 + .../flowable/OldCheckDelegateQuery.java | 23 + .../flowable/OldCheckNodeQuery.java | 18 + .../flowable/OldCheckNodeVo.java | 24 + .../flowable/OldCheckTaskQuery.java | 43 + .../flowable/SubmitOldCheckDto.java | 19 + .../WmsOldCheckbillDetail.java | 109 + .../WmsOldCheckbillDetailDetailsVo.java | 108 + .../WmsOldCheckbillDetailDto.java | 108 + .../WmsOldCheckbillDetailFile.java | 35 + ...msOldCheckbillDetailGoodPageListQuery.java | 64 + .../WmsOldCheckbillDetailGoodPageListVo.java | 94 + .../WmsOldCheckbillDetailMapper.java | 66 + .../WmsOldCheckbillDetailMapper.xml | 172 + ...dCheckbillDetailRackGoodPageListQuery.java | 65 + ...sOldCheckbillDetailRackGoodPageListVo.java | 94 + ...msOldCheckbillDetailRackPageListQuery.java | 66 + .../WmsOldCheckbillDetailRackPageListVo.java | 86 + .../WmsOldCheckbillDetailService.java | 191 + .../wmsoldcheckbilldetail/app/HandleBean.java | 44 + .../app/WmsOldCheckbillGoodsDto.java | 35 + .../app/WmsOldCheckbillGoodsPyDto.java | 66 + .../app/WmsOldCheckbillPageQuery.java | 19 + .../app/WmsOldCheckbillPageVo.java | 30 + .../WmsOldCheckbillReport.java | 57 + .../WmsOldCheckbillReportDetailsVo.java | 105 + .../WmsOldCheckbillReportDto.java | 57 + .../WmsOldCheckbillReportMapper.java | 45 + .../WmsOldCheckbillReportMapper.xml | 6 + .../WmsOldCheckbillReportService.java | 63 + .../WmsOldCheckbillReportSumVo.java | 90 + yxt-wms-biz/src/main/resources/ftl/jjpdbg.ftl | 4959 +++++++++++++++++ 48 files changed, 8942 insertions(+), 48 deletions(-) create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsOldCheckbillRest.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbill.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillDetailsVo.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillDto.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillMapper.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillMapper.xml create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillQuery.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillService.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillVo.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/CompleteOldCheckDto.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckDelegateQuery.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckNodeQuery.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckNodeVo.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckTaskQuery.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/SubmitOldCheckDto.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetail.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailDetailsVo.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailDto.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailFile.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailGoodPageListQuery.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailGoodPageListVo.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailMapper.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailMapper.xml create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackGoodPageListQuery.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackGoodPageListVo.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackPageListQuery.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackPageListVo.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailService.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/HandleBean.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillGoodsDto.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillGoodsPyDto.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillPageQuery.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillPageVo.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReport.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportDetailsVo.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportDto.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportMapper.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportMapper.xml create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportService.java create mode 100644 yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportSumVo.java create mode 100644 yxt-wms-biz/src/main/resources/ftl/jjpdbg.ftl diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsOldCheckbillRest.java b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsOldCheckbillRest.java new file mode 100644 index 0000000000..669b3d92fe --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/apiadmin/inventroy/WmsOldCheckbillRest.java @@ -0,0 +1,218 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.apiadmin.inventroy; + +import cn.hutool.core.bean.BeanUtil; +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.wmsoldcheckbill.WmsOldCheckbillDto; +import com.yxt.wms.biz.inventory.wmsoldcheckbill.WmsOldCheckbillQuery; +import com.yxt.wms.biz.inventory.wmsoldcheckbill.WmsOldCheckbillService; +import com.yxt.wms.biz.inventory.wmsoldcheckbill.WmsOldCheckbillVo; +import com.yxt.wms.biz.inventory.wmsoldcheckbill.flowable.*; +import com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.*; +import com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app.*; +import com.yxt.wms.biz.inventory.wmsoldcheckbillreport.WmsOldCheckbillReportDetailsVo; +import com.yxt.wms.feign.flowable.flow.BusinessVariables; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.cloud.openfeign.SpringQueryMap; +import org.springframework.web.bind.annotation.*; + +import javax.validation.Valid; +import java.util.List; + +@Api(tags = "旧件盘点") +@RestController +@RequestMapping("v1/oldpPartStocktaking") +public class WmsOldCheckbillRest { + + @Autowired + private WmsOldCheckbillService wmsOldCheckbillService; + + @ApiOperation("根据条件分页查询数据的列表") + @PostMapping("/listPage") + public ResultBean> listPage(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = wmsOldCheckbillService.listPageVo(pq); + return rb.success().setData(pv); + } + + @ApiOperation("新建盘点单") + @PostMapping("/save") + public ResultBean save(@RequestBody WmsOldCheckbillDto dto) { + return wmsOldCheckbillService.saveOrUpdateDto(dto); + } + + @ApiOperation("生成盘点报告") + @PostMapping("/createReport") + public ResultBean createReport(@RequestParam("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + wmsOldCheckbillService.createReport(sid); + return rb.success(); + } + + @ApiOperation("查看盘点报告") + @PostMapping("/viewReport") + public ResultBean viewReport(@RequestParam("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + WmsOldCheckbillReportDetailsVo wmsOldCheckbillReportDetailsVo = wmsOldCheckbillService.viewReport(sid); + return rb.success().success().setData(wmsOldCheckbillReportDetailsVo); + } + + @ApiOperation("保存办理盘点报告") + @PostMapping("/saveReport") + public ResultBean saveReport(@RequestParam("sid") String sid,@RequestParam("remarks") String remarks) { + ResultBean rb = ResultBean.fireFail(); + wmsOldCheckbillService.saveReport(sid,remarks); + return rb.success().success(); + } + + @ApiOperation("生成盘点报告PDF") + @PostMapping("/createPdf") + public ResultBean createPdf(@RequestParam("sid") String sid) { + ResultBean rb = ResultBean.fireFail(); + String url = wmsOldCheckbillService.createPdf(sid); + return rb.success().success().setData(url); + } + + @ApiOperation("根据sid批量删除") + @DeleteMapping("/delBySids") + public ResultBean delBySids(@RequestBody String[] sids) { + return wmsOldCheckbillService.delAll(sids); + } + + @ApiOperation("盘点-查看库位盘点列表") + @PostMapping("/detailRackPageList") + public ResultBean> detailRackPageList(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = wmsOldCheckbillService.detailRackPageList(pq); + return rb.success().setData(pv); + } + + @ApiOperation("盘点-查看商品盘点列表") + @PostMapping("/detailGoodPageList") + public ResultBean> detailGoodPageList(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = wmsOldCheckbillService.detailGoodPageList(pq); + return rb.success().setData(pv); + } + + @ApiOperation("查看库位商品盘点列表") + @PostMapping("/detailRackGoodPageList") + public ResultBean> detailRackGoodPageList(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = wmsOldCheckbillService.detailRackGoodPageList(pq); + return rb.success().setData(pv); + } + + /*********************************************************移动端************************************************************/ + + @ApiOperation("app-盘点-查看库位盘点列表") + @PostMapping("/appDetailRackPageList") + public ResultBean> appDetailRackPageList(@RequestBody PagerQuery pq) { + ResultBean rb = ResultBean.fireFail(); + PagerVo pv = wmsOldCheckbillService.appDetailRackPageList(pq); + return rb.success().setData(pv); + } + + @ApiOperation("办理/扫码保存") + @PostMapping("/saveInventoryInfo") + @ResponseBody + ResultBean saveInventoryInfo(@RequestBody WmsOldCheckbillGoodsDto dto) { + return wmsOldCheckbillService.saveInventoryInfo(dto); + } + + @ApiOperation("盘盈保存") + @PostMapping("/saveInventoryInfo2") + @ResponseBody + ResultBean saveInventoryInfo2(@RequestBody WmsOldCheckbillGoodsPyDto dto){ + return wmsOldCheckbillService.saveInventoryInfo2(dto); + } + + @ApiOperation("扫描商品码") + @GetMapping("/scan") + @ResponseBody + public ResultBean scan(@RequestParam("sid") String sid, @RequestParam("content") String content, @RequestParam("houseSid") String houseSid) { + return wmsOldCheckbillService.scan(sid, content, houseSid); + } + + /*********************************************************流程************************************************************/ + + @ApiOperation("提交") + @PostMapping("/submitApply") + public ResultBean submitApply(@Valid @RequestBody SubmitOldCheckDto dto) { + return wmsOldCheckbillService.submitApply(dto); + } + + @ApiOperation(value = "办理(同意)") + @PostMapping("/complete") + public ResultBean complete(@Valid @RequestBody CompleteOldCheckDto query) { + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + bv.setModelId(""); + return wmsOldCheckbillService.complete(bv); + } + + @ApiOperation(value = "获取上一个环节") + @GetMapping(value = "/getPreviousNodesForReject") + ResultBean> getPreviousNodesForReject(@Valid @SpringQueryMap OldCheckNodeQuery query) { + return wmsOldCheckbillService.getPreviousNodesForReject(query); + } + + @ApiOperation(value = "获取下一个环节") + @GetMapping(value = "/getNextNodesForSubmit") + ResultBean> getNextNodesForSubmit(@Valid @SpringQueryMap OldCheckNodeQuery query) { + return wmsOldCheckbillService.getNextNodesForSubmit(query); + } + + @ApiOperation(value = "驳回任务") + @PostMapping(value = "/reject") + public ResultBean taskReject(@Valid @RequestBody OldCheckTaskQuery query) { + return wmsOldCheckbillService.taskReject(query); + } + + @ApiOperation(value = "撤回流程") + @PostMapping(value = "/revokeProcess") + public ResultBean revokeProcess(@Valid @RequestBody OldCheckTaskQuery query) { + return wmsOldCheckbillService.revokeProcess(query); + } + + @ApiOperation(value = "终止任务") + @PostMapping(value = "/breakProcess") + public ResultBean breakProcess(@Valid @RequestBody OldCheckTaskQuery query) { + return wmsOldCheckbillService.breakProcess(query); + } + + @ApiOperation(value = "加签") + @PostMapping(value = "/delegate") + @ResponseBody + public ResultBean delegate(@RequestBody OldCheckDelegateQuery query) { + return wmsOldCheckbillService.delegate(query); + } +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java index 10df4ff24d..2167408718 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.java @@ -80,4 +80,8 @@ public interface WmsInventoryMapper extends BaseMapper { List appStorage(@Param(Constants.WRAPPER) QueryWrapper qw); List appOldStorage(@Param(Constants.WRAPPER) QueryWrapper qw); + + List selJJByDeptSidAndRackSid(@Param("deptSid") String deptSid,@Param("rackSids") List rackSids); + + List selJJByDeptSid(String deptSid); } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml index 7718c52240..8e62769c0a 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryMapper.xml @@ -582,4 +582,28 @@ AND wi.goodsSkuCode = #{goodsSkuCode} AND wi.useOrgSid = #{deptSid} + + + + diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java index c14aa65234..673f452705 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventory/WmsInventoryService.java @@ -959,4 +959,12 @@ public class WmsInventoryService extends MybatisBaseService wmsInventoryReturnFactSelectListList = baseMapper.selBillNoAndCode(sourceBillNo,goodsSkuCode,deptSid); return rb.success().setData(wmsInventoryReturnFactSelectListList); } + + public List selJJByDeptSidAndRackSid(String deptSid, List rackSids) { + return baseMapper.selJJByDeptSidAndRackSid(deptSid,rackSids); + } + + public List selJJByDeptSid(String deptSid) { + return baseMapper.selJJByDeptSid(deptSid); + } } diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorycheckbill/WmsInventoryCheckbillMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorycheckbill/WmsInventoryCheckbillMapper.java index f432fd83cb..86e30eb2a1 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorycheckbill/WmsInventoryCheckbillMapper.java +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorycheckbill/WmsInventoryCheckbillMapper.java @@ -66,11 +66,6 @@ public interface WmsInventoryCheckbillMapper extends BaseMapper detailGoodPageList(IPage page, @Param(Constants.WRAPPER) Wrapper qw); IPage detailRackGoodPageList(IPage page, @Param(Constants.WRAPPER) QueryWrapper qw); - - List selectListAllVo(@Param(Constants.WRAPPER) Wrapper qw); - - @Select("select * from wms_inventory_checkbill") - List selectListVo(); String selectNum(String billNo); diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorycheckbill/WmsInventoryCheckbillMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorycheckbill/WmsInventoryCheckbillMapper.xml index 8a0ade4c86..9b5a86275c 100644 --- a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorycheckbill/WmsInventoryCheckbillMapper.xml +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsinventorycheckbill/WmsInventoryCheckbillMapper.xml @@ -22,19 +22,19 @@ wic.`procDefId`, wic.`procInstId`, SUM(wicd.bookCount) AS bookCount, - SUM(wicd.bookCount) * cost AS bookAmount, + SUM(wicd.bookCount * cost) AS bookAmount, SUM(wicd.realCount) AS realCount, - SUM(wicd.realCount) * cost AS realAmount, + SUM(wicd.realCount * cost) AS realAmount, SUM(wicd.bookCount) - SUM(wicd.realCount) AS notCount, ( - SUM(wicd.bookCount) - SUM(wicd.realCount) - ) * cost AS notAmount, + SUM(wicd.bookCount * cost) - SUM(wicd.realCount * cost) + ) AS notAmount, SUM(wicd.profitCount) AS profitCount, - SUM(wicd.profitCount) * cost AS profitAmount, + SUM(wicd.profitCount * cost) AS profitAmount, SUM(wicd.loseCount) AS loseCount, - SUM(wicd.loseCount) * cost AS loseAmount, + SUM(wicd.loseCount * cost) AS loseAmount, SUM(wicd.lossCount) AS lossCount, - SUM(wicd.lossCount) * cost AS lossAmount + SUM(wicd.lossCount * cost) AS lossAmount FROM wms_inventory_checkbill wic LEFT JOIN wms_inventory_checkbill_detail wicd @@ -53,17 +53,17 @@ warehouseRackSid, warehouseRackName, SUM(bookCount) AS bookCount, - SUM(bookCount) * cost AS bookAmount, + SUM(bookCount * cost) AS bookAmount, SUM(realCount) AS realCount, - SUM(realCount) * cost AS realAmount, + SUM(realCount * cost) AS realAmount, SUM(bookCount) - SUM(realCount) AS notCount, - (SUM(bookCount) - SUM(realCount)) * cost AS notAmount, + (SUM(bookCount * cost) - SUM(realCount * cost)) AS notAmount, SUM(profitCount) AS profitCount, - SUM(profitCount) * cost AS profitAmount, + SUM(profitCount * cost) AS profitAmount, SUM(loseCount) AS loseCount, - SUM(loseCount) * cost AS loseAmount, + SUM(loseCount * cost) AS loseAmount, SUM(lossCount) AS lossCount, - SUM(lossCount) * cost AS lossAmount + SUM(lossCount * cost) AS lossAmount FROM wms_inventory_checkbill_detail ${ew.sqlSegment} @@ -170,10 +170,6 @@ ${ew.sqlSegment} - - + SELECT + wic.sid, + wic.state, + wic.`remarks`, + wic.`nodeState`, + wic.`deptName`, + wic.`billNo`, + wic.`createTime`, + wic.`createByName`, + wic.`superviseName`, + IF( + wic.`checkState` = '1', + '盘点中', + '盘点完成' + ) AS checkState, + wic.`procDefId`, + wic.`procInstId`, + SUM(wicd.bookCount) AS bookCount, + SUM(wicd.bookCount * cost) AS bookAmount, + SUM(wicd.realCount) AS realCount, + SUM(wicd.realCount * cost) AS realAmount, + SUM(wicd.bookCount) - SUM(wicd.realCount) AS notCount, + ( + SUM(wicd.bookCount * cost) - SUM(wicd.realCount * cost) + ) AS notAmount, + SUM(wicd.profitCount) AS profitCount, + SUM(wicd.profitCount * cost) AS profitAmount, + SUM(wicd.loseCount) AS loseCount, + SUM(wicd.loseCount * cost) AS loseAmount, + SUM(wicd.lossCount) AS lossCount, + SUM(wicd.lossCount * cost) AS lossAmount + FROM + wms_old_checkbill wic + LEFT JOIN wms_old_checkbill_detail wicd + ON wic.sid = wicd.`billSid` + LEFT JOIN anrui_portal.sys_organization AS s + ON wic.deptSid = s.sid + ${ew.sqlSegment} + + + + + + + + + + + + + + + + UPDATE wms_old_checkbill + SET nodeState=#{nodeState}, nodeId=#{taskDefKey} + + , finishTime = NOW() + + + , procDefId=#{procDefId} + + + , procInstId=#{procInsId} + + + , taskId=#{taskId} + + WHERE sid=#{sid} + + + + + + + + \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillQuery.java new file mode 100644 index 0000000000..de5a78a6b1 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillQuery.java @@ -0,0 +1,69 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbill; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-wms(仓储)
+ * File: WmsInventoryCheckbillQuery.java
+ * Class: com.yxt.wms.api.wmsinventorycheckbill.WmsInventoryCheckbillQuery
+ * Description: 库存盘点 查询条件.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-22 09:25:01
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class WmsOldCheckbillQuery implements Query { + + @ApiModelProperty("申请部门名称") + private String deptName; + @ApiModelProperty("单据编号") + private String billNo; + @ApiModelProperty("生成开始日期") + private String createStartTime; + @ApiModelProperty("生成结束日期") + private String createEndTime; + @ApiModelProperty("盘点状态(盘点中1,盘点完成2)") + private String checkState; + @ApiModelProperty("盘点人姓名") + private String createByName; + @ApiModelProperty("监盘人姓名") + private String superviseName; + + private String userSid; + private String orgPath; + private String menuUrl; + private String menuSid; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillService.java new file mode 100644 index 0000000000..bcd90950d4 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillService.java @@ -0,0 +1,898 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbill; + +import cn.hutool.core.bean.BeanUtil; +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.config.component.DocPdfComponent; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.common.base.utils.PagerUtil; +import com.yxt.common.base.utils.WordConvertUtils; +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.base.wmswarehousearea.WmsWarehouseArea; +import com.yxt.wms.biz.base.wmswarehousearea.WmsWarehouseAreaService; +import com.yxt.wms.biz.base.wmswarehouserack.WmsWarehouseRack; +import com.yxt.wms.biz.base.wmswarehouserack.WmsWarehouseRackService; +import com.yxt.wms.biz.inventory.wmsappendix.WmsAppendix; +import com.yxt.wms.biz.inventory.wmsappendix.WmsAppendixService; +import com.yxt.wms.biz.inventory.wmsinventory.WmsInventory; +import com.yxt.wms.biz.inventory.wmsinventory.WmsInventoryService; +import com.yxt.wms.biz.inventory.wmsinventoryprofitin.InventoryBillVo; +import com.yxt.wms.biz.inventory.wmsinventoryrecord.WmsInventoryRecordService; +import com.yxt.wms.biz.inventory.wmsoldcheckbill.flowable.*; +import com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.*; +import com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app.WmsOldCheckbillGoodsDto; +import com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app.WmsOldCheckbillGoodsPyDto; +import com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app.WmsOldCheckbillPageQuery; +import com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app.WmsOldCheckbillPageVo; +import com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app.HandleBean; +import com.yxt.wms.biz.inventory.wmsoldcheckbillreport.*; +import com.yxt.wms.feign.flowable.flow.BusinessVariables; +import com.yxt.wms.feign.flowable.flow.FlowableFeign; +import com.yxt.wms.feign.flowable.flow.ProcDefEnum; +import com.yxt.wms.feign.flowable.flow.UpdateFlowFieldVo; +import com.yxt.wms.feign.flowable.flow2.FlowDelegateQuery; +import com.yxt.wms.feign.flowable.flow2.FlowFeign; +import com.yxt.wms.feign.flowable.flowtask.FlowTaskFeign; +import com.yxt.wms.feign.flowable.flowtask.FlowTaskVo; +import com.yxt.wms.feign.flowable.flowtask.LatestTaskVo; +import com.yxt.wms.feign.message.MessageFeign; +import com.yxt.wms.feign.message.MessageFlowVo; +import com.yxt.wms.feign.message.MessageFlowableQuery; +import com.yxt.wms.feign.portal.privilege.PrivilegeQuery; +import com.yxt.wms.feign.portal.sysorganization.SysOrganizationFeign; +import com.yxt.wms.feign.portal.sysorganization.SysOrganizationVo; +import com.yxt.wms.feign.portal.sysstafforg.SysStaffOrgFeign; +import com.yxt.wms.feign.portal.sysuser.SysUserFeign; +import com.yxt.wms.utils.Rule; +import org.apache.commons.lang3.StringUtils; +import org.apache.tomcat.util.threads.ThreadPoolExecutor; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.io.File; +import java.io.InputStream; +import java.util.*; +import java.util.concurrent.*; +import java.util.stream.Collectors; + +@Service +public class WmsOldCheckbillService extends MybatisBaseService { + + @Autowired + private WmsOldCheckbillDetailService wmsOldCheckbillDetailService; + @Autowired + private WmsOldCheckbillReportService wmsOldCheckbillReportService; + @Autowired + private WmsAppendixService wmsAppendixService; + @Autowired + private WmsInventoryService wmsInventoryService; + @Autowired + private WmsInventoryRecordService wmsInventoryRecordService; + @Autowired + private WmsWarehouseRackService wmsWarehouseRackService; + @Autowired + private WmsWarehouseAreaService wmsWarehouseAreaService; + @Autowired + private SysOrganizationFeign sysOrganizationFeign; + @Autowired + private SysUserFeign sysUserFeign; + @Autowired + private SysStaffOrgFeign sysStaffOrgFeign; + @Autowired + private DocPdfComponent docPdfComponent; + @Autowired + private FlowableFeign flowableFeign; + @Autowired + private FlowTaskFeign flowTaskFeign; + @Autowired + private FlowFeign flowFeign; + @Autowired + private MessageFeign messageFeign; + @Autowired + private FileUploadComponent fileUploadComponent; + + public PagerVo listPageVo(PagerQuery pq) { + WmsOldCheckbillQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuUrl()) || StringUtils.isNotBlank(query.getMenuSid())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuUrl(query.getMenuUrl()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("s.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("s.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("s.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("s.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("wic.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getDeptName())) { + qw.like("wic.deptName", query.getDeptName()); + } + if (StringUtils.isNotBlank(query.getBillNo())) { + qw.like("wic.billNo", query.getBillNo()); + } + if (StringUtils.isNotBlank(query.getCheckState())) { + qw.eq("wic.checkState", query.getCheckState()); + } + if (StringUtils.isNotBlank(query.getCreateByName())) { + qw.like("wic.createByName", query.getCreateByName()); + } + if (StringUtils.isNotBlank(query.getSuperviseName())) { + qw.like("wic.superviseName", query.getSuperviseName()); + } + String createStartTime = query.getCreateStartTime(); + String createEndTime = query.getCreateEndTime(); + qw.apply(StringUtils.isNotEmpty(createStartTime), "date_format (wic.createTime,'%Y-%m-%d') >= date_format('" + createStartTime + "','%Y-%m-%d')"). + apply(StringUtils.isNotEmpty(createEndTime), "date_format (wic.createTime,'%Y-%m-%d') <= date_format('" + createEndTime + "','%Y-%m-%d')" + ); + qw.groupBy("wic.sid"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.selectPageVo(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public PagerVo detailRackPageList(PagerQuery pq) { + WmsOldCheckbillDetailRackPageListQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("billSid", query.getBillSid()); + if (StringUtils.isNotBlank(query.getWarehouseSid())) { + qw.eq("warehouseSid", query.getWarehouseSid()); + } + if (StringUtils.isNotBlank(query.getWarehouseAreaSid())) { + qw.eq("warehouseAreaSid", query.getWarehouseAreaSid()); + } + if (StringUtils.isNotBlank(query.getWarehouseRackSid())) { + qw.eq("warehouseRackSid", query.getWarehouseRackSid()); + } + qw.groupBy("warehouseRackSid"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.detailRackPageList(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public PagerVo detailGoodPageList(PagerQuery pq) { + WmsOldCheckbillDetailGoodPageListQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("billSid", query.getBillSid()); + if (StringUtils.isNotBlank(query.getWarehouseSid())) { + qw.eq("warehouseSid", query.getWarehouseSid()); + } + if (StringUtils.isNotBlank(query.getWarehouseAreaSid())) { + qw.eq("warehouseAreaSid", query.getWarehouseAreaSid()); + } + if (StringUtils.isNotBlank(query.getWarehouseRackSid())) { + qw.eq("warehouseRackSid", query.getWarehouseRackSid()); + } + if (StringUtils.isNotBlank(query.getGoodsID())) { + qw.like("goodsID", query.getGoodsID()); + } + if (StringUtils.isNotBlank(query.getGoodsSkuTitle())) { + qw.like("goodsSkuTitle", query.getGoodsSkuTitle()); + } + if (StringUtils.isNotBlank(query.getGoodsSkuCode())) { + qw.like("goodsSkuCode", query.getGoodsSkuCode()); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.detailGoodPageList(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public PagerVo detailRackGoodPageList(PagerQuery pq) { + WmsOldCheckbillDetailRackGoodPageListQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + qw.eq("billSid", query.getBillSid()); + qw.eq("warehouseRackSid", query.getWarehouseRackSid()); + if (StringUtils.isNotBlank(query.getGoodsID())) { + qw.like("goodsID", query.getGoodsID()); + } + if (StringUtils.isNotBlank(query.getGoodsSkuTitle())) { + qw.like("goodsSkuTitle", query.getGoodsSkuTitle()); + } + if (StringUtils.isNotBlank(query.getGoodsSkuCode())) { + qw.like("goodsSkuCode", query.getGoodsSkuCode()); + } + //移动端查询条件 + if (StringUtils.isNotBlank(query.getName())) { + qw.and(wrapper -> wrapper.like("goodsID", query.getName()).or().like("goodsSkuTitle", query.getName()).or().like("goodsSkuCode", query.getName())); + } + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.detailRackGoodPageList(page, qw); + for (WmsOldCheckbillDetailRackGoodPageListVo record : pagging.getRecords()) { + List wmsAppendices = wmsAppendixService.fetchByLinkSid(record.getSid()); + List wmsOldCheckbillDetailFiles = new ArrayList<>(); + for (WmsAppendix wmsAppendix : wmsAppendices) { + WmsOldCheckbillDetailFile wmsOldCheckbillDetailFile = new WmsOldCheckbillDetailFile(); + String url = fileUploadComponent.getUrlPrefix() + wmsAppendix.getFilePath(); + wmsOldCheckbillDetailFile.setUrl(url); + wmsOldCheckbillDetailFiles.add(wmsOldCheckbillDetailFile); + } + record.setFileList(wmsOldCheckbillDetailFiles); + } + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean saveOrUpdateDto(WmsOldCheckbillDto dto) { + ResultBean rb = ResultBean.fireFail(); + String checkState = baseMapper.checkState(dto.getDeptSid()); + if (!"2".equals(checkState) && StringUtils.isNotBlank(checkState)) { + return rb.setMsg("存在盘点中数据,无法生成新的盘点单"); + } + SysOrganizationVo deptVo = sysOrganizationFeign.fetchBySid(dto.getDeptSid()).getData(); + String createOrgSid = sysStaffOrgFeign.getOrgSidByPath(deptVo.getOrgSidPath()).getData(); + SysOrganizationVo organizationVo = sysOrganizationFeign.fetchBySid(createOrgSid).getData(); + dto.setCreateOrgSid(createOrgSid); + dto.setCreateOrgName(organizationVo.getName()); + //生成单据编号 + String billNo = ""; + String date = DateUtil.format(DateUtil.date(), "yyyyMM"); + SysOrganizationVo sysOrganizationVo = sysOrganizationFeign.fetchBySid(createOrgSid).getData(); + billNo = "JJPD" + sysOrganizationVo.getOrgCode() + date; + String i = baseMapper.selectNum(billNo); + if (StringUtils.isNotBlank(i)) { + billNo = Rule.getBillNo(billNo, Integer.valueOf(i).intValue()); + } else { + billNo = Rule.getBillNo(billNo, 0); + } + dto.setBillNo(billNo); + List wmsInventories = null; + if ("1".equals(dto.getCheckTypeKey())) { + //查询本部门指定库位下,库存数量大0并且旧件的库存 + wmsInventories = wmsInventoryService.selJJByDeptSidAndRackSid(dto.getDeptSid(), dto.getRackSids()); + } else if ("2".equals(dto.getCheckTypeKey())) { + //查询本部门下,库存数量大0并且是旧件的库存 + wmsInventories = wmsInventoryService.selJJByDeptSid(dto.getDeptSid()); + } + if (wmsInventories.size() == 0) { + return rb.setMsg("该库位下没有商品库存信息"); + } + String sid = this.insertByDto(dto); + for (WmsInventory wmsInventory : wmsInventories) { + WmsOldCheckbillDetailDto wmsOldCheckbillDetailDto = new WmsOldCheckbillDetailDto(); + wmsOldCheckbillDetailDto.setBillSid(sid); + wmsOldCheckbillDetailDto.setGoodsID(wmsInventory.getGoodsID()); + wmsOldCheckbillDetailDto.setGoodsSpuSid(wmsInventory.getGoodsSpuSid()); + wmsOldCheckbillDetailDto.setGoodsSpuName(wmsInventory.getGoodsSpuName()); + wmsOldCheckbillDetailDto.setGoodsSkuSid(wmsInventory.getGoodsSkuSid()); + wmsOldCheckbillDetailDto.setGoodsSkuTitle(wmsInventory.getGoodsSkuTitle()); + wmsOldCheckbillDetailDto.setGoodsSkuCode(wmsInventory.getGoodsSkuCode()); + wmsOldCheckbillDetailDto.setGoodsSkuOwnSpec(wmsInventory.getGoodsSkuOwnSpec()); + wmsOldCheckbillDetailDto.setManufacturerSid(wmsInventory.getManufacturerSid()); + wmsOldCheckbillDetailDto.setManufacturerName(wmsInventory.getManufacturerName()); + wmsOldCheckbillDetailDto.setCost(wmsInventory.getCost()); + wmsOldCheckbillDetailDto.setUnit(wmsInventory.getUnit()); + wmsOldCheckbillDetailDto.setWarehouseSid(wmsInventory.getWarehouseSid()); + wmsOldCheckbillDetailDto.setWarehouseName(wmsInventory.getWarehouseName()); + WmsWarehouseRack wmsWarehouseRack = wmsWarehouseRackService.fetchBySid(wmsInventory.getWarehouseRackSid()); + WmsWarehouseArea wmsWarehouseArea = wmsWarehouseAreaService.fetchBySid(wmsWarehouseRack.getLocationSid()); + wmsOldCheckbillDetailDto.setWarehouseAreaSid(wmsWarehouseArea.getSid()); + wmsOldCheckbillDetailDto.setWarehouseArea(wmsWarehouseArea.getAreaName()); + wmsOldCheckbillDetailDto.setWarehouseRackSid(wmsInventory.getWarehouseRackSid()); + wmsOldCheckbillDetailDto.setWarehouseRackName(wmsWarehouseRack.getRackName()); + wmsOldCheckbillDetailDto.setBookCount(wmsInventory.getCount()); + wmsOldCheckbillDetailService.insertByDto(wmsOldCheckbillDetailDto); + } + return rb.success().setData(sid); + } + + public String insertByDto(WmsOldCheckbillDto dto) { + WmsOldCheckbill entity = new WmsOldCheckbill(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + entity.setNodeState("待提交"); + baseMapper.insert(entity); + return entity.getSid(); + } + + public WmsOldCheckbillDetailsVo fetchDetailsVoBySid(String sid) { + WmsOldCheckbill entity = fetchBySid(sid); + WmsOldCheckbillDetailsVo vo = new WmsOldCheckbillDetailsVo(); + BeanUtil.copyProperties(entity, vo); + List wmsOldCheckbillDetailDetailsVos = wmsOldCheckbillDetailService.selByMainSid(sid); + vo.setWmsOldCheckbillDetailList(wmsOldCheckbillDetailDetailsVos); + return vo; + } + + public ResultBean delAll(String[] sids) { + ResultBean rb = ResultBean.fireFail(); + //查询该sid中是否有流程不是待提交的 + int count = baseMapper.selectBySid(StringUtils.join(sids, ",")); + if (count > 0) { + return rb.setMsg("删除的数据中包含已提交或已办结审批的数据,删除失败"); + } + delBySids(sids); + for (String sid : sids) { + wmsOldCheckbillDetailService.delByMainSid(sid); + wmsOldCheckbillReportService.delByMainSid(sid); + wmsAppendixService.delByLinkSid(sid); + } + return rb.success(); + } + + public void createReport(String sid) { + baseMapper.createReport(sid); + WmsOldCheckbillReportDto wmsOldCheckbillReportDto = new WmsOldCheckbillReportDto(); + wmsOldCheckbillReportDto.setBillSid(sid); + wmsOldCheckbillReportService.insertByDto(wmsOldCheckbillReportDto); + } + + public WmsOldCheckbillReportDetailsVo viewReport(String sid) { + WmsOldCheckbillReportDetailsVo wmsOldCheckbillReportDetailsVo = new WmsOldCheckbillReportDetailsVo(); + //表头 + WmsOldCheckbill wmsOldCheckbill = fetchBySid(sid); + wmsOldCheckbillReportDetailsVo.setSid(sid); + wmsOldCheckbillReportDetailsVo.setCreateByName(wmsOldCheckbill.getCreateByName()); + wmsOldCheckbillReportDetailsVo.setCreateName(wmsOldCheckbill.getCreateByName()); + wmsOldCheckbillReportDetailsVo.setDeptName(wmsOldCheckbill.getDeptName()); + wmsOldCheckbillReportDetailsVo.setCreateTime(wmsOldCheckbill.getCreateTime()); + wmsOldCheckbillReportDetailsVo.setFinances(wmsOldCheckbill.getSuperviseName()); + //盘点报告备注 + WmsOldCheckbillReport wmsOldCheckbillReport = wmsOldCheckbillReportService.selByBillSid(sid); + wmsOldCheckbillReportDetailsVo.setRemarks(wmsOldCheckbillReport.getRemarks()); + //盘点报告PDF路径 + wmsOldCheckbillReportDetailsVo.setPdfUrl(wmsOldCheckbillReport.getPdfUrl()); + //总体盘点情况 + List total = wmsOldCheckbillDetailService.reportSum(sid, "total"); + for (WmsOldCheckbillReportSumVo totalSum : total) { + wmsOldCheckbillReportDetailsVo.setYpNum(totalSum.getYpNum()); + wmsOldCheckbillReportDetailsVo.setYpMoney(totalSum.getYpMoney()); + wmsOldCheckbillReportDetailsVo.setPyNum(totalSum.getPyNum()); + wmsOldCheckbillReportDetailsVo.setPyMoney(totalSum.getPyMoney()); + wmsOldCheckbillReportDetailsVo.setSpNum(totalSum.getSpNum()); + wmsOldCheckbillReportDetailsVo.setSpMoney(totalSum.getSpMoney()); + wmsOldCheckbillReportDetailsVo.setPyNum(totalSum.getPyNum()); + wmsOldCheckbillReportDetailsVo.setPyMoney(totalSum.getPyMoney()); + wmsOldCheckbillReportDetailsVo.setPkNum(totalSum.getPkNum()); + wmsOldCheckbillReportDetailsVo.setPkMoney(totalSum.getPkMoney()); + wmsOldCheckbillReportDetailsVo.setPsNum(totalSum.getPsNum()); + wmsOldCheckbillReportDetailsVo.setPsMoney(totalSum.getPsMoney()); + wmsOldCheckbillReportDetailsVo.setVirtualNum(totalSum.getVirtualNum()); + wmsOldCheckbillReportDetailsVo.setUnInStorageNum(totalSum.getUnInStorageNum()); + } + //仓库盘点情况 + List ware = wmsOldCheckbillDetailService.reportSum(sid, "ware"); + wmsOldCheckbillReportDetailsVo.setWarehouseStocktakList(ware); + //库区盘点情况 + List area = wmsOldCheckbillDetailService.reportSum(sid, "area"); + wmsOldCheckbillReportDetailsVo.setArehouseAreaeStocktakList(area); + return wmsOldCheckbillReportDetailsVo; + } + + public String createPdf(String sid) { + WmsOldCheckbillReportDetailsVo wmsOldCheckbillReportDetailsVo = viewReport(sid); + Map map = new HashMap<>(); + //发起人 + map.put("createName", wmsOldCheckbillReportDetailsVo.getCreateByName()); + //发起部门 + map.put("deptName", wmsOldCheckbillReportDetailsVo.getDeptName()); + //发起日期 + map.put("createTime", DateUtil.formatDate(wmsOldCheckbillReportDetailsVo.getCreateTime())); + //盘点人 + map.put("pdrName", wmsOldCheckbillReportDetailsVo.getCreateByName()); + //监盘人 + map.put("jprName", wmsOldCheckbillReportDetailsVo.getFinances()); + //备注 + map.put("remarks", wmsOldCheckbillReportDetailsVo.getRemarks()); + //总体应盘数量 + map.put("ypsl", wmsOldCheckbillReportDetailsVo.getYpNum()); + //总体应盘金额 + map.put("ypje", wmsOldCheckbillReportDetailsVo.getYpMoney()); + //总体实盘数量 + map.put("spsl", wmsOldCheckbillReportDetailsVo.getSpNum()); + //总体实盘金额 + map.put("spje", wmsOldCheckbillReportDetailsVo.getSpMoney()); + //总体盘盈数量 + map.put("pysl", wmsOldCheckbillReportDetailsVo.getPyNum()); + //总体盘盈金额 + map.put("pyje", wmsOldCheckbillReportDetailsVo.getPyMoney()); + //总体盘亏数量 + map.put("pksl", wmsOldCheckbillReportDetailsVo.getPkNum()); + //总体盘亏金额 + map.put("pkje", wmsOldCheckbillReportDetailsVo.getPkMoney()); + //总体盘损数量 + map.put("pssl", wmsOldCheckbillReportDetailsVo.getPsNum()); + //总体盘损金额 + map.put("psje", wmsOldCheckbillReportDetailsVo.getPsMoney()); + //总体虚拟件数量 + map.put("xnsl", wmsOldCheckbillReportDetailsVo.getVirtualNum()); + //总体未入库数量 + map.put("wrksl", wmsOldCheckbillReportDetailsVo.getUnInStorageNum()); + List ware = wmsOldCheckbillReportDetailsVo.getWarehouseStocktakList(); + for (int i = 0; i < ware.size(); i++) { + WmsOldCheckbillReportSumVo wmsOldCheckbillReportSumVo = ware.get(i); + wmsOldCheckbillReportSumVo.setId(i + 1); + } + map.put("ware", ware); + List area = wmsOldCheckbillReportDetailsVo.getArehouseAreaeStocktakList(); + for (int i = 0; i < area.size(); i++) { + WmsOldCheckbillReportSumVo wmsOldCheckbillReportSumVo = area.get(i); + wmsOldCheckbillReportSumVo.setId(i + 1); + } + map.put("area", area); + InputStream inputStream = this.getClass().getClassLoader().getResourceAsStream("ftl/" + "jjpdbg" + ".ftl"); + //生成word文件名 + String targetPath = docPdfComponent.getUploadTemplateUrl(); + String dateStr = DateUtil.format(new Date(), "yyyyMMdd"); + long seconds = System.currentTimeMillis(); + String typeName = dateStr + seconds + ".doc"; + File file = new File(targetPath + "pdbg" + seconds + ".ftl"); + File dir = new File(targetPath); + WordConvertUtils.inputStreamToFile(inputStream, file); + WordConvertUtils.creatWord1(map, file, targetPath, typeName, dir); + //新生成的word路径 + String wordPath = targetPath + typeName; + //生成出门证文件名 + String pdfName = "旧件盘点报告_" + dateStr + seconds + ".pdf"; + WordConvertUtils.doc2pdf(wordPath, targetPath, pdfName); + wmsOldCheckbillReportService.updatePdf(sid,pdfName); + return "/template/" + pdfName; + } + + public ResultBean submitApply(SubmitOldCheckDto dto) { + ResultBean rb = ResultBean.fireFail(); + WmsOldCheckbill wmsOldCheckbill = fetchBySid(dto.getSid()); + int r = submitBusinessData(dto, wmsOldCheckbill); + if (r == 3) { + return rb.setMsg("该申请不存在"); + } + if (r == 0) { + return rb.setMsg("操作失败!提交的数据不一致"); + } + String businessSid = saveOrUpdateDto(dto).getData(); + wmsOldCheckbill = fetchBySid(businessSid); + //创建BusinessVariables实体对象 + BusinessVariables bv = new BusinessVariables(); + //流程中的参数赋值、若有网关,则赋值网关中判断的字段。 + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + //用户的部门全路径sid + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsOldCheckbill.getDeptSid()).getData(); + if (sysOrganization != null) { + bv.setOrgSidPath(sysOrganization.getOrgSidPath()); + } + bv.setBusinessSid(businessSid); + bv.setUserSid(dto.getCreateBySid()); + bv.setFormVariables(variables); + if (r == 1) { + //ToDo:流程定义id + bv.setModelId(ProcDefEnum.WMSINVENCHECKREPORT.getProDefId()); + ResultBean voResultBean = flowFeign.startProcess(bv); + if (!voResultBean.getSuccess()) { + return rb.setMsg(voResultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = voResultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(ufVo)); + wmsOldCheckbill = fetchBySid(businessSid); + //==================================添加线程 + try { + ThreadFactory namedThreadFactory = new ThreadFactoryBuilder() + .setNameFormat("demo-pool-%d").build(); + ExecutorService pool = new ThreadPoolExecutor(2, 100, + 0L, TimeUnit.MILLISECONDS, + new LinkedBlockingQueue(1024), namedThreadFactory, new ThreadPoolExecutor.AbortPolicy()); + WmsOldCheckbill finalWmsOldCheckbill = wmsOldCheckbill; + Future future1 = pool.submit(() -> { + //极光推送 + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("盘点报告审批"); + messageFlowableQuery.setMsgContent(finalWmsOldCheckbill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("盘点报告审批"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + }); + } catch (Exception e) { + e.printStackTrace(); + } + //==================================添加线程 + return voResultBean; + } + if (r == 2) { + // ToDo:驳回到发起人后再次提交 + if (StringUtils.isBlank(dto.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + bv.setTaskId(wmsOldCheckbill.getTaskId()); + bv.setTaskDefKey(wmsOldCheckbill.getNodeId()); + bv.setComment("重新提交"); + bv.setInstanceId(dto.getInstanceId()); + return complete(bv); + } + return rb; + } + + private int updateFlowFiled(Map beanToMap) { + return baseMapper.updateFlowFiled(beanToMap); + } + + + private int submitBusinessData(SubmitOldCheckDto dto, WmsOldCheckbill wmsOldCheckbill) { + int r = 0; + if (StringUtils.isBlank(dto.getSid())) { + r = 1; + } else { + if (wmsOldCheckbill != null) { + String businessTaskId = wmsOldCheckbill.getTaskId(); + if (StringUtils.isBlank(businessTaskId) && StringUtils.isBlank(dto.getTaskId())) { + //新提交 + r = 1; + } else if (StringUtils.isNotBlank(businessTaskId) && businessTaskId.equals(dto.getTaskId())) { + //二次提交//只有数据一致的时候才能进行下一步 + r = 2; + } + } else { + r = 3; + } + } + return r; + } + + public ResultBean complete(BusinessVariables bv) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = bv.getBusinessSid(); + WmsOldCheckbill wmsOldCheckbill = fetchBySid(businessSid); + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + bv.setFormVariables(variables); + SysOrganizationVo sysOrganization = sysOrganizationFeign.fetchBySid(wmsOldCheckbill.getDeptSid()).getData(); + if (sysOrganization != null) { + bv.setOrgSidPath(sysOrganization.getOrgSidPath()); + } + bv.setModelId(wmsOldCheckbill.getProcDefId()); + if (bv.getTaskId().equals(wmsOldCheckbill.getTaskId())) { + ResultBean resultBean = flowFeign.handleProsess(bv); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + if ("Event_end".equals(resultBean.getData().getTaskDefKey())) { + + } else { + //极光推送 + wmsOldCheckbill = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + messageFlowVo.setProcDefId(wmsOldCheckbill.getProcDefId()); + messageFlowVo.setProcInsId(wmsOldCheckbill.getProcInstId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("盘点报告审批"); + messageFlowableQuery.setMsgContent(wmsOldCheckbill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + messageFlowableQuery.setMsgTitle("盘点报告审批"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + } + return rb.success().setData(resultBean.getData()); + } else { + return rb.setMsg("操作失败!提交的数据不一致"); + } + } + + public ResultBean> getPreviousNodesForReject(OldCheckNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + WmsOldCheckbill wmsOldCheckbill = fetchBySid(query.getBusinessSid()); + bv.setModelId(wmsOldCheckbill.getProcDefId()); + ResultBean>> resultBean = flowTaskFeign.getPreviousNodesForReject(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), OldCheckNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean> getNextNodesForSubmit(OldCheckNodeQuery query) { + ResultBean> rb = ResultBean.fireFail(); + BusinessVariables bv = new BusinessVariables(); + BeanUtil.copyProperties(query, bv); + WmsOldCheckbill wmsOldCheckbill = fetchBySid(query.getBusinessSid()); + bv.setModelId(wmsOldCheckbill.getProcDefId()); + ResultBean>> resultBean = flowTaskFeign.getNextNodesForSubmit(bv); + //判断数组是否为空,若为空则赋值,若不为空,则遍历循环将map中的数据赋值给TemplateApplyNodeVo + List voList = Optional.ofNullable(resultBean.getData()).orElse(new ArrayList<>()).stream().map(m -> JSON.parseObject(JSON.toJSONString(m), OldCheckNodeVo.class)).collect(Collectors.toList()); + return rb.success().setData(voList); + } + + public ResultBean taskReject(OldCheckTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + String businessSid = query.getBusinessSid(); + WmsOldCheckbill wmsOldCheckbill = fetchBySid(businessSid); + if (wmsOldCheckbill == null) { + return rb.setMsg("该申请不存在"); + } + String businessTaskId = wmsOldCheckbill.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + Map variables = new HashMap<>(); + Map appMap = new HashMap<>(); + appMap.put("sid", businessSid); + variables.put("app", appMap); + ResultBean resultBean = flowableFeign.taskReject(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + UpdateFlowFieldVo ufVo = resultBean.getData(); + Map map = BeanUtil.beanToMap(ufVo); + //更新业务中的流程相关的参数 + updateFlowFiled(map); + //极光推送 + wmsOldCheckbill = fetchBySid(businessSid); + MessageFlowableQuery messageFlowableQuery = new MessageFlowableQuery(); + MessageFlowVo messageFlowVo = new MessageFlowVo(); + BeanUtil.copyProperties(ufVo, messageFlowVo); + String procId = wmsOldCheckbill.getProcInstId(); + messageFlowVo.setProcInsId(procId); + messageFlowVo.setProcDefId(wmsOldCheckbill.getProcDefId()); + messageFlowableQuery.setUfVo(messageFlowVo); + messageFlowableQuery.setAppMap(appMap); + messageFlowableQuery.setBusinessSid(businessSid); + messageFlowableQuery.setModuleName("盘点报告审批"); + ResultBean> listResultBean = flowTaskFeign.getLatestTasks(procId); + String nextName = listResultBean.getData().get(0).getName_(); + String nextNodeUserSids = listResultBean.getData().get(0).getASSIGNEE_(); + if ("发起申请".equals(nextName)) { + messageFlowableQuery.setMsgContent("您提交的" + messageFlowableQuery.getModuleName() + "已被驳回,请重新提交"); + } else { + messageFlowableQuery.setMsgContent(wmsOldCheckbill.getCreateByName() + "提交的" + messageFlowableQuery.getModuleName() + ",请审批"); + } + + messageFlowableQuery.setMsgTitle("盘点报告审批"); + ResultBean stringResultBean = messageFeign.pushMessage(messageFlowableQuery); + return rb.success(); + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean revokeProcess(OldCheckTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + WmsOldCheckbill wmsOldCheckbill = fetchBySid(query.getBusinessSid()); + String businessTaskId = wmsOldCheckbill.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.revokeProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + updateFlowFiled(BeanUtil.beanToMap(resultBean.getData())); + return rb.success().setData(resultBean.getData()); + } + } + return rb.setMsg("操作失败,提交的数据不一致!"); + } + + public ResultBean breakProcess(OldCheckTaskQuery query) { + ResultBean rb = ResultBean.fireFail(); + if (StringUtils.isBlank(query.getInstanceId())) { + return rb.setMsg("参数错误:instanceId"); + } + if (StringUtils.isBlank(query.getUserSid())) { + return rb.setMsg("参数错误:userSid"); + } + if (StringUtils.isBlank(query.getComment())) { + return rb.setMsg("请填写意见"); + } + WmsOldCheckbill wmsOldCheckbill = fetchBySid(query.getBusinessSid()); + String businessTaskId = wmsOldCheckbill.getTaskId(); + if (StringUtils.isNotBlank(businessTaskId)) { + if (query.getUserSid().equals(wmsOldCheckbill.getCreateBySid())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } else { + if (businessTaskId.equals(query.getTaskId())) { + FlowTaskVo flowTaskVo = new FlowTaskVo(); + BeanUtil.copyProperties(query, flowTaskVo); + ResultBean resultBean = flowableFeign.breakProcess(flowTaskVo); + if (!resultBean.getSuccess()) { + return rb.setMsg(resultBean.getMsg()); + } + Map map = BeanUtil.beanToMap(resultBean.getData()); + updateFlowFiled(map); + return rb.success().setData(resultBean.getData()); + } + } + } + return rb.setMsg("操作失败!提交的数据不一致!"); + } + + public ResultBean delegate(OldCheckDelegateQuery query) { + ResultBean rb = ResultBean.fireFail(); + FlowDelegateQuery delegateQuery = new FlowDelegateQuery(); + BeanUtil.copyProperties(query, delegateQuery); + flowFeign.delegate(delegateQuery); + return rb.success(); + } + + public PagerVo appDetailRackPageList(PagerQuery pq) { + WmsOldCheckbillPageQuery query = pq.getParams(); + QueryWrapper qw = new QueryWrapper<>(); + //========================================数据授权开始 + if (StringUtils.isNotBlank(query.getMenuSid())) { + PrivilegeQuery privilegeQuery = new PrivilegeQuery(); + privilegeQuery.setOrgPath(query.getOrgPath()); + privilegeQuery.setMenuSid(query.getMenuSid()); + privilegeQuery.setUserSid(query.getUserSid()); + ResultBean defaultIdReltBean = sysUserFeign.selectPrivilegeLevel(privilegeQuery); + if (StringUtils.isNotBlank(defaultIdReltBean.getData())) { + //数据权限ID(1集团、2事业部、3分公司、4部门、5个人) + String orgSidPath = query.getOrgPath(); + orgSidPath = orgSidPath + "/"; + int i1 = orgSidPath.indexOf("/"); + int i2 = orgSidPath.indexOf("/", i1 + 1); + int i3 = orgSidPath.indexOf("/", i2 + 1); + int i4 = orgSidPath.indexOf("/", i3 + 1); + String orgLevelKey = defaultIdReltBean.getData(); + if ("1".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i1); + qw.like("s.orgSidPath", orgSidPath); + } else if ("2".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i2); + qw.like("s.orgSidPath", orgSidPath); + } else if ("3".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i3); + qw.like("s.orgSidPath", orgSidPath); + } else if ("4".equals(orgLevelKey)) { + orgSidPath = orgSidPath.substring(0, i4); + qw.like("s.orgSidPath", orgSidPath); + } else if ("5".equals(orgLevelKey)) { + qw.eq("c.createBySid", query.getUserSid()); + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } else { + PagerVo p = new PagerVo<>(); + return p; + } + } + if (StringUtils.isNotBlank(query.getName())) { + qw.and(wrapper -> wrapper.like("d.warehouseName", query.getName()).or().like("d.warehouseArea", query.getName()).or().like("d.warehouseRackName", query.getName())); + } + qw.eq("c.checkState", '1'); + qw.groupBy("d.warehouseRackSid"); + IPage page = PagerUtil.queryToPage(pq); + IPage pagging = baseMapper.appDetailRackPageList(page, qw); + PagerVo p = PagerUtil.pageToVo(pagging, null); + return p; + } + + public ResultBean saveInventoryInfo(WmsOldCheckbillGoodsDto dto) { + ResultBean rb = ResultBean.fireFail(); + wmsOldCheckbillDetailService.saveInventoryInfo(dto); + return rb.success(); + } + + public ResultBean scan(String sid, String content, String houseSid) { + ResultBean rb = ResultBean.fireFail(); + if (content.contains("#")) { + return rb.setMsg("请扫描商品码"); + } + HandleBean handleBean = wmsOldCheckbillDetailService.scan(sid, content, houseSid); + if (handleBean == null) { + List wmsInventories = wmsInventoryService.getListByGoodsID(content).getData(); + if (!wmsInventories.isEmpty()) { + for (WmsInventory wmsInventory : wmsInventories) { + WmsWarehouseRack wmsWarehouseRack = wmsWarehouseRackService.fetchBySid(wmsInventory.getWarehouseRackSid()); + WmsWarehouseArea wmsWarehouseArea = wmsWarehouseAreaService.fetchBySid(wmsWarehouseRack.getLocationSid()); + return rb.setMsg("本商品不属于本库位,属于" + wmsWarehouseArea.getAreaName() + "库区" + wmsWarehouseRack.getRackName() + "库位。"); + } + } else { + String billNo = wmsInventoryRecordService.selByGoodsID(content); + if (StringUtils.isBlank(billNo)) { + return rb.setMsg("商品码不正确"); + } else { + return rb.setMsg("本商品已在" + billNo + "单据编号中出库。"); + } + } + } + return rb.success().setData(handleBean); + } + + public ResultBean saveInventoryInfo2(WmsOldCheckbillGoodsPyDto dto) { + ResultBean rb = ResultBean.fireFail(); + wmsOldCheckbillDetailService.saveInventoryInfo2(dto); + return rb.success(); + } + + public void saveReport(String billSid, String remarks) { + wmsOldCheckbillReportService.saveReport(billSid, remarks); + } + + public List selPyByDeptSid(String deptSid) { + return baseMapper.selPyByDeptSid(deptSid); + } + + public List selPkByDeptSid(String deptSid) { + return baseMapper.selPkByDeptSid(deptSid); + } +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillVo.java new file mode 100644 index 0000000000..82e65faded --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/WmsOldCheckbillVo.java @@ -0,0 +1,92 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbill; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +public class WmsOldCheckbillVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("是否生成盘库报告") + private String state; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("流程状态") + private String nodeState; + @ApiModelProperty("申请部门名称") + private String deptName; + @ApiModelProperty("单据编号") + private String billNo; + @ApiModelProperty("生成日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + @ApiModelProperty("盘点人") + private String createByName; + @ApiModelProperty("监盘人姓名") + private String superviseName; + @ApiModelProperty("盘点状态(盘点中1,盘点完成2)") + private String checkState; + + @ApiModelProperty("应盘数量") + private BigDecimal bookCount; + @ApiModelProperty("应盘金额") + private BigDecimal bookAmount; + @ApiModelProperty("实盘数量") + private BigDecimal realCount; + @ApiModelProperty("实盘金额") + private BigDecimal realAmount; + @ApiModelProperty("未盘数量") + private BigDecimal notCount; + @ApiModelProperty("未盘金额") + private BigDecimal notAmount; + @ApiModelProperty("盘盈数量") + private BigDecimal profitCount; + @ApiModelProperty("盘盈金额") + private BigDecimal profitAmount; + @ApiModelProperty("盘亏数量") + private BigDecimal loseCount; + @ApiModelProperty("盘亏金额") + private BigDecimal loseAmount; + @ApiModelProperty("盘损数量") + private BigDecimal lossCount; + @ApiModelProperty("盘损金额") + private BigDecimal lossAmount; + + @ApiModelProperty("流程定义的id") + private String procDefId; // 流程定义的id + @ApiModelProperty("流程实例的sid") + private String procInstId; // 流程实例的sid +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/CompleteOldCheckDto.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/CompleteOldCheckDto.java new file mode 100644 index 0000000000..57a04f87e9 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/CompleteOldCheckDto.java @@ -0,0 +1,35 @@ +package com.yxt.wms.biz.inventory.wmsoldcheckbill.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class CompleteOldCheckDto { + + @ApiModelProperty(value = "用户sid") + @NotBlank(message = "参数错误:userSid") + private String userSid; + @ApiModelProperty(value = "用户全路径sid") + private String orgSidPath; + @ApiModelProperty(value = "节点id") + @NotBlank(message = "参数错误:taskDefKey") + private String taskDefKey; + @ApiModelProperty(value = "任务id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + @ApiModelProperty(value = "流程id") + @NotBlank(message = "参数错误:instanceId") + private String instanceId; + @ApiModelProperty(value = "意见") + private String comment; + @ApiModelProperty(value = "业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckDelegateQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckDelegateQuery.java new file mode 100644 index 0000000000..852bae52bb --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckDelegateQuery.java @@ -0,0 +1,23 @@ +package com.yxt.wms.biz.inventory.wmsoldcheckbill.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class OldCheckDelegateQuery { + + private String userSid; + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务Id") + private String taskId; + @ApiModelProperty("审批人sid") + private String assignee; + @ApiModelProperty("填写意见") + private String views; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckNodeQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckNodeQuery.java new file mode 100644 index 0000000000..363210440f --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckNodeQuery.java @@ -0,0 +1,18 @@ +package com.yxt.wms.biz.inventory.wmsoldcheckbill.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class OldCheckNodeQuery { + + @ApiModelProperty(value = "环节定义id") + private String taskDefKey; + @ApiModelProperty(value = "业务sid") + private String businessSid; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckNodeVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckNodeVo.java new file mode 100644 index 0000000000..1dc307ee6b --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckNodeVo.java @@ -0,0 +1,24 @@ +package com.yxt.wms.biz.inventory.wmsoldcheckbill.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.List; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class OldCheckNodeVo { + + @ApiModelProperty(value = "节点名称") + private String name; + @ApiModelProperty(value = "节点id") + private String id; + @ApiModelProperty(value = "审批组") + private List candidateGroups; + @ApiModelProperty(value = "是否是最后环节") + private String endTask; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckTaskQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckTaskQuery.java new file mode 100644 index 0000000000..4426892c9f --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/OldCheckTaskQuery.java @@ -0,0 +1,43 @@ +package com.yxt.wms.biz.inventory.wmsoldcheckbill.flowable; + +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotBlank; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class OldCheckTaskQuery { + + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("任务Id") + @NotBlank(message = "参数错误:taskId") + private String taskId; + /** + * 终止、驳回、撤回 + */ + @ApiModelProperty("业务sid") + @NotBlank(message = "参数错误:businessSid") + private String businessSid; + /** + * 终止、驳回 + */ + @ApiModelProperty("任务意见") + private String comment; + /** + * 终止、撤回、驳回 + */ + @ApiModelProperty("用户Sid") + private String userSid; + /** + * 终止 + */ + @ApiModelProperty("流程实例Id") + private String instanceId; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/SubmitOldCheckDto.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/SubmitOldCheckDto.java new file mode 100644 index 0000000000..9960aba581 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbill/flowable/SubmitOldCheckDto.java @@ -0,0 +1,19 @@ +package com.yxt.wms.biz.inventory.wmsoldcheckbill.flowable; + +import com.yxt.wms.biz.inventory.wmsoldcheckbill.WmsOldCheckbillDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * @description: + * @author: dimengzhe + * @date: 2024/5/11 + **/ +@Data +public class SubmitOldCheckDto extends WmsOldCheckbillDto { + + @ApiModelProperty("流程实例id") + private String instanceId; + @ApiModelProperty("任务id") + private String taskId; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetail.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetail.java new file mode 100644 index 0000000000..f1348c21ad --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetail.java @@ -0,0 +1,109 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Project: yxt-wms(仓储)
+ * File: WmsInventoryCheckbillDetail.java
+ * Class: com.yxt.wms.api.wmsinventorycheckbilldetail.WmsInventoryCheckbillDetail
+ * Description: 库存盘点-明细.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-22 09:25:02
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@TableName("wms_old_checkbill_detail") +public class WmsOldCheckbillDetail extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("盘点单sid") + private String billSid; // 盘点单sid + @ApiModelProperty("商品ID") + private String goodsID; + @ApiModelProperty("商品spuSid") + private String goodsSpuSid; + @ApiModelProperty("商品spu名称") + private String goodsSpuName; + @ApiModelProperty("商品Skusid") + private String goodsSkuSid; + @ApiModelProperty("商品sku名称") + private String goodsSkuTitle; + @ApiModelProperty("图号") + private String goodsSkuCode; + @ApiModelProperty("规格") + private String goodsSkuOwnSpec; + @ApiModelProperty("厂家sid") + private String manufacturerSid; + @ApiModelProperty("厂家名称") + private String manufacturerName; + @ApiModelProperty("成本单价") + private BigDecimal cost; // 成本单价 + @ApiModelProperty("单位") + private String unit; // 单位 + @ApiModelProperty("仓库sid") + private String warehouseSid; // 仓库sid + @ApiModelProperty("仓库名称") + private String warehouseName; // 仓库名称 + @ApiModelProperty("库区sid") + private String warehouseAreaSid; // 库区sid + @ApiModelProperty("库区名称") + private String warehouseArea; // 库区名称 + @ApiModelProperty("库位sid") + private String warehouseRackSid; // 库位sid + @ApiModelProperty("库位名称") + private String warehouseRackName; // 库位名称 + @ApiModelProperty("库存数量") + private BigDecimal bookCount; // 库存数量 + @ApiModelProperty("实盘数量") + private BigDecimal realCount; // 实盘数量 + @ApiModelProperty("盘盈数量") + private BigDecimal profitCount; + @ApiModelProperty("盘亏数量") + private BigDecimal loseCount; + @ApiModelProperty("盘损数量") + private BigDecimal lossCount; // 盘损数量 + @ApiModelProperty("虚拟件数量") + private BigDecimal vrCount; + @ApiModelProperty("未入库数量") + private BigDecimal notInCount; + @ApiModelProperty("供应商sid") + private String supplierSid; + @ApiModelProperty("供应商名称") + private String supplierName; + +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailDetailsVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailDetailsVo.java new file mode 100644 index 0000000000..17db4b188e --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailDetailsVo.java @@ -0,0 +1,108 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Project: yxt-wms(仓储)
+ * File: WmsInventoryCheckbillDetailVo.java
+ * Class: com.yxt.wms.api.wmsinventorycheckbilldetail.WmsInventoryCheckbillDetailVo
+ * Description: 库存盘点-明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-22 09:25:02
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class WmsOldCheckbillDetailDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("盘点单sid") + private String billSid; // 盘点单sid + @ApiModelProperty("商品ID") + private String goodsID; + @ApiModelProperty("商品spuSid") + private String goodsSpuSid; + @ApiModelProperty("商品spu名称") + private String goodsSpuName; + @ApiModelProperty("商品Skusid") + private String goodsSkuSid; + @ApiModelProperty("商品sku名称") + private String goodsSkuTitle; + @ApiModelProperty("图号") + private String goodsSkuCode; + @ApiModelProperty("规格") + private String goodsSkuOwnSpec; + @ApiModelProperty("厂家sid") + private String manufacturerSid; + @ApiModelProperty("厂家名称") + private String manufacturerName; + @ApiModelProperty("成本单价") + private BigDecimal cost; // 成本单价 + @ApiModelProperty("单位") + private String unit; // 单位 + @ApiModelProperty("仓库sid") + private String warehouseSid; // 仓库sid + @ApiModelProperty("仓库名称") + private String warehouseName; // 仓库名称 + @ApiModelProperty("库区sid") + private String warehouseAreaSid; // 库区sid + @ApiModelProperty("库区名称") + private String warehouseArea; // 库区名称 + @ApiModelProperty("库位sid") + private String warehouseRackSid; // 库位sid + @ApiModelProperty("库位名称") + private String warehouseRackName; // 库位名称 + @ApiModelProperty("库存数量") + private BigDecimal bookCount; // 库存数量 + @ApiModelProperty("实盘数量") + private BigDecimal realCount; // 实盘数量 + @ApiModelProperty("盘盈数量") + private BigDecimal profitCount; + @ApiModelProperty("盘亏数量") + private BigDecimal loseCount; + @ApiModelProperty("盘损数量") + private BigDecimal lossCount; // 盘损数量 + @ApiModelProperty("虚拟件数量") + private BigDecimal vrCount; + @ApiModelProperty("未入库数量") + private BigDecimal notInCount; + @ApiModelProperty("供应商sid") + private String supplierSid; + @ApiModelProperty("供应商名称") + private String supplierName; +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailDto.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailDto.java new file mode 100644 index 0000000000..ba5adf2678 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailDto.java @@ -0,0 +1,108 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Project: yxt-wms(仓储)
+ * File: WmsInventoryCheckbillDetailDto.java
+ * Class: com.yxt.wms.api.wmsinventorycheckbilldetail.WmsInventoryCheckbillDetailDto
+ * Description: 库存盘点-明细 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-22 09:25:02
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class WmsOldCheckbillDetailDto implements Dto { + + private String sid; + + @ApiModelProperty("盘点单sid") + private String billSid; // 盘点单sid + @ApiModelProperty("商品ID") + private String goodsID; + @ApiModelProperty("商品spuSid") + private String goodsSpuSid; + @ApiModelProperty("商品spu名称") + private String goodsSpuName; + @ApiModelProperty("商品Skusid") + private String goodsSkuSid; + @ApiModelProperty("商品sku名称") + private String goodsSkuTitle; + @ApiModelProperty("图号") + private String goodsSkuCode; + @ApiModelProperty("规格") + private String goodsSkuOwnSpec; + @ApiModelProperty("厂家sid") + private String manufacturerSid; + @ApiModelProperty("厂家名称") + private String manufacturerName; + @ApiModelProperty("成本单价") + private BigDecimal cost; // 成本单价 + @ApiModelProperty("单位") + private String unit; // 单位 + @ApiModelProperty("仓库sid") + private String warehouseSid; // 仓库sid + @ApiModelProperty("仓库名称") + private String warehouseName; // 仓库名称 + @ApiModelProperty("库区sid") + private String warehouseAreaSid; // 库区sid + @ApiModelProperty("库区名称") + private String warehouseArea; // 库区名称 + @ApiModelProperty("库位sid") + private String warehouseRackSid; // 库位sid + @ApiModelProperty("库位名称") + private String warehouseRackName; // 库位名称 + @ApiModelProperty("库存数量") + private BigDecimal bookCount; // 库存数量 + @ApiModelProperty("实盘数量") + private BigDecimal realCount; // 实盘数量 + @ApiModelProperty("盘盈数量") + private BigDecimal profitCount; + @ApiModelProperty("盘亏数量") + private BigDecimal loseCount; + @ApiModelProperty("盘损数量") + private BigDecimal lossCount; // 盘损数量 + @ApiModelProperty("虚拟件数量") + private BigDecimal vrCount; + @ApiModelProperty("未入库数量") + private BigDecimal notInCount; + @ApiModelProperty("供应商sid") + private String supplierSid; + @ApiModelProperty("供应商名称") + private String supplierName; +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailFile.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailFile.java new file mode 100644 index 0000000000..98a6d786f2 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailFile.java @@ -0,0 +1,35 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail; + +import com.yxt.common.core.vo.Vo; +import lombok.Data; + +@Data +public class WmsOldCheckbillDetailFile implements Vo { + + private String url; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailGoodPageListQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailGoodPageListQuery.java new file mode 100644 index 0000000000..b974c2d411 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailGoodPageListQuery.java @@ -0,0 +1,64 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-wms(仓储)
+ * File: WmsInventoryCheckbillDetailVo.java
+ * Class: com.yxt.wms.api.wmsinventorycheckbilldetail.WmsInventoryCheckbillDetailVo
+ * Description: 库存盘点-明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-22 09:25:02
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class WmsOldCheckbillDetailGoodPageListQuery implements Query { + + @ApiModelProperty("盘点sid") + private String billSid; + @ApiModelProperty("仓库sid") + private String warehouseSid; // 仓库sid + @ApiModelProperty("库区sid") + private String warehouseAreaSid; // 库区sid + @ApiModelProperty("库位sid") + private String warehouseRackSid; // 库位sid + @ApiModelProperty("商品ID") + private String goodsID; // 商品ID + @ApiModelProperty("商品名称") + private String goodsSkuTitle; // 商品名称 + @ApiModelProperty("图号") + private String goodsSkuCode; // 图号 +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailGoodPageListVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailGoodPageListVo.java new file mode 100644 index 0000000000..a1f63800df --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailGoodPageListVo.java @@ -0,0 +1,94 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +/** + * Project: yxt-wms(仓储)
+ * File: WmsInventoryCheckbillDetailVo.java
+ * Class: com.yxt.wms.api.wmsinventorycheckbilldetail.WmsInventoryCheckbillDetailVo
+ * Description: 库存盘点-明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-22 09:25:02
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class WmsOldCheckbillDetailGoodPageListVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("商品ID") + private String goodsID; // 商品ID + @ApiModelProperty("商品名称") + private String goodsSkuTitle; // 商品名称 + @ApiModelProperty("图号") + private String goodsSkuCode; // 图号 + @ApiModelProperty("仓库名称") + private String warehouseName; + @ApiModelProperty("库区名称") + private String warehouseArea; + @ApiModelProperty("库位名称") + private String warehouseRackName; + @ApiModelProperty("单位") + private String unit; + @ApiModelProperty("成本单价") + private BigDecimal cost; + @ApiModelProperty("应盘数量") + private BigDecimal bookCount; + @ApiModelProperty("应盘金额") + private BigDecimal bookAmount; + @ApiModelProperty("实盘数量") + private BigDecimal realCount; + @ApiModelProperty("实盘金额") + private BigDecimal realAmount; + @ApiModelProperty("状态") + private String state; + @ApiModelProperty("盈亏数量") + private BigDecimal profitAndLoseCount; + @ApiModelProperty("盈亏金额") + private BigDecimal profitAndLoseAmount; + @ApiModelProperty("盘损数量") + private BigDecimal lossCount; + @ApiModelProperty("盘损金额") + private BigDecimal lossAmount; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("附件") + private List fileList = new ArrayList<>(); +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailMapper.java new file mode 100644 index 0000000000..2cb6e8ef5d --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailMapper.java @@ -0,0 +1,66 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.yxt.wms.biz.inventory.wmsinventoryprofitindetail.WmsInventoryProfitinDetailDto; +import com.yxt.wms.biz.inventory.wmsinventoryprofitoutdetail.WmsInventoryProfitoutDetailDto; +import com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app.HandleBean; +import com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app.WmsOldCheckbillGoodsDto; +import com.yxt.wms.biz.inventory.wmsoldcheckbillreport.WmsOldCheckbillReportSumVo; +import org.apache.ibatis.annotations.Delete; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; + +import java.math.BigDecimal; +import java.util.List; + +@Mapper +public interface WmsOldCheckbillDetailMapper extends BaseMapper { + + @Delete("delete from wms_old_checkbill_detail where billSid = #{dtoSid}") + void delByMainSid(String dtoSid); + + List selByMainSid(String billSid); + + WmsOldCheckbillReportSumVo reportSumTotal(String billSid); + + List reportSumWare(String billSid); + + List reportSumArea(String billSid); + + void saveInventoryInfoZC(@Param("dto") WmsOldCheckbillGoodsDto dto, @Param("num") String num); + + void saveInventoryInfoPY(@Param("dto") WmsOldCheckbillGoodsDto dto, @Param("pyCount") BigDecimal pyCount); + + void saveInventoryInfoPK(@Param("dto") WmsOldCheckbillGoodsDto dto, @Param("pkCount") BigDecimal pkCount); + + HandleBean scan(@Param("sid") String sid, @Param("content") String content, @Param("houseSid") String houseSid); + + List sourceBillBySid(String sid); + + List sourceBillPkBySid(String sid); +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailMapper.xml new file mode 100644 index 0000000000..19389b8518 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailMapper.xml @@ -0,0 +1,172 @@ + + + + + + + + + + + + + + + update wms_old_checkbill_detail set lossCount = #{dto.badNum},realCount = #{dto.num},profitCount = 0,loseCount = 0,remarks = #{dto.remarks},state = 2 where sid = #{dto.sid} + + + + update wms_old_checkbill_detail set lossCount = #{dto.badNum},realCount = #{dto.num},profitCount = #{pyCount},loseCount = 0,remarks = #{dto.remarks},state = 3 where sid = #{dto.sid} + + + + update wms_old_checkbill_detail set lossCount = #{dto.badNum},realCount = #{dto.num},profitCount = 0,loseCount = #{pkCount},remarks = #{dto.remarks},state = 4 where sid = #{dto.sid} + + + + + + + + \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackGoodPageListQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackGoodPageListQuery.java new file mode 100644 index 0000000000..2cfb8fc514 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackGoodPageListQuery.java @@ -0,0 +1,65 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-wms(仓储)
+ * File: WmsInventoryCheckbillDetailVo.java
+ * Class: com.yxt.wms.api.wmsinventorycheckbilldetail.WmsInventoryCheckbillDetailVo
+ * Description: 库存盘点-明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-22 09:25:02
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class WmsOldCheckbillDetailRackGoodPageListQuery implements Query { + + @ApiModelProperty("盘点sid") + private String billSid; + @ApiModelProperty("库位sid") + private String warehouseRackSid; // 库位sid + @ApiModelProperty("商品ID") + private String goodsID; // 商品ID + @ApiModelProperty("商品名称") + private String goodsSkuTitle; // 商品名称 + @ApiModelProperty("图号") + private String goodsSkuCode; // 图号 + + /* + * 移动端查询条件 + * */ + private String name; +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackGoodPageListVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackGoodPageListVo.java new file mode 100644 index 0000000000..4f776be647 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackGoodPageListVo.java @@ -0,0 +1,94 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +/** + * Project: yxt-wms(仓储)
+ * File: WmsInventoryCheckbillDetailVo.java
+ * Class: com.yxt.wms.api.wmsinventorycheckbilldetail.WmsInventoryCheckbillDetailVo
+ * Description: 库存盘点-明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-22 09:25:02
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class WmsOldCheckbillDetailRackGoodPageListVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("商品ID") + private String goodsID; // 商品ID + @ApiModelProperty("商品名称") + private String goodsSkuTitle; // 商品名称 + @ApiModelProperty("图号") + private String goodsSkuCode; // 图号 + @ApiModelProperty("仓库名称") + private String warehouseName; + @ApiModelProperty("库区名称") + private String warehouseArea; + @ApiModelProperty("库位名称") + private String warehouseRackName; + @ApiModelProperty("单位") + private String unit; + @ApiModelProperty("成本单价") + private BigDecimal cost; + @ApiModelProperty("应盘数量") + private BigDecimal bookCount; + @ApiModelProperty("应盘金额") + private BigDecimal bookAmount; + @ApiModelProperty("实盘数量") + private BigDecimal realCount; + @ApiModelProperty("实盘金额") + private BigDecimal realAmount; + @ApiModelProperty("状态") + private String state; + @ApiModelProperty("盈亏数量") + private BigDecimal profitAndLoseCount; + @ApiModelProperty("盈亏金额") + private BigDecimal profitAndLoseAmount; + @ApiModelProperty("盘损数量") + private BigDecimal lossCount; + @ApiModelProperty("盘损金额") + private BigDecimal lossAmount; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("附件") + private List fileList = new ArrayList<>(); +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackPageListQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackPageListQuery.java new file mode 100644 index 0000000000..704f793a28 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackPageListQuery.java @@ -0,0 +1,66 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail; + + +import com.yxt.common.core.query.Query; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-wms(仓储)
+ * File: WmsInventoryCheckbillDetailVo.java
+ * Class: com.yxt.wms.api.wmsinventorycheckbilldetail.WmsInventoryCheckbillDetailVo
+ * Description: 库存盘点-明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-22 09:25:02
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class WmsOldCheckbillDetailRackPageListQuery implements Query { + + @ApiModelProperty("盘点sid") + private String billSid; + @ApiModelProperty("仓库sid") + private String warehouseSid; // 仓库sid + @ApiModelProperty("库区sid") + private String warehouseAreaSid; // 库区sid + @ApiModelProperty("库位sid") + private String warehouseRackSid; // 库位sid + + /* + * 移动端查询条件 + * */ + private String userSid; + private String orgPath; + private String menuSid; + private String names; +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackPageListVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackPageListVo.java new file mode 100644 index 0000000000..1fe39e02db --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailRackPageListVo.java @@ -0,0 +1,86 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Project: yxt-wms(仓储)
+ * File: WmsInventoryCheckbillDetailVo.java
+ * Class: com.yxt.wms.api.wmsinventorycheckbilldetail.WmsInventoryCheckbillDetailVo
+ * Description: 库存盘点-明细 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-22 09:25:02
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class WmsOldCheckbillDetailRackPageListVo implements Vo { + + private String billSid; + + @ApiModelProperty("仓库名称") + private String warehouseName; + @ApiModelProperty("库区名称") + private String warehouseArea; + @ApiModelProperty("库位sid") + private String warehouseRackSid; + @ApiModelProperty("库位名称") + private String warehouseRackName; + @ApiModelProperty("应盘数量") + private BigDecimal bookCount; + @ApiModelProperty("应盘金额") + private BigDecimal bookAmount; + @ApiModelProperty("实盘数量") + private BigDecimal realCount; + @ApiModelProperty("实盘金额") + private BigDecimal realAmount; + @ApiModelProperty("未盘数量") + private BigDecimal notCount; + @ApiModelProperty("未盘金额") + private BigDecimal notAmount; + @ApiModelProperty("盘盈数量") + private BigDecimal profitCount; + @ApiModelProperty("盘盈金额") + private BigDecimal profitAmount; + @ApiModelProperty("盘亏数量") + private BigDecimal loseCount; + @ApiModelProperty("盘亏金额") + private BigDecimal loseAmount; + @ApiModelProperty("盘损数量") + private BigDecimal lossCount; + @ApiModelProperty("盘损金额") + private BigDecimal lossAmount; +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailService.java new file mode 100644 index 0000000000..cf223d0706 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/WmsOldCheckbillDetailService.java @@ -0,0 +1,191 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.common.base.config.component.FileUploadComponent; +import com.yxt.common.base.service.MybatisBaseService; +import com.yxt.wms.biz.base.wmswarehousearea.WmsWarehouseArea; +import com.yxt.wms.biz.base.wmswarehousearea.WmsWarehouseAreaService; +import com.yxt.wms.biz.base.wmswarehouseinfo.WmsWarehouseInfo; +import com.yxt.wms.biz.base.wmswarehouseinfo.WmsWarehouseInfoService; +import com.yxt.wms.biz.base.wmswarehouserack.WmsWarehouseRack; +import com.yxt.wms.biz.base.wmswarehouserack.WmsWarehouseRackService; +import com.yxt.wms.biz.inventory.wmsappendix.WmsAppendix; +import com.yxt.wms.biz.inventory.wmsappendix.WmsAppendixService; +import com.yxt.wms.biz.inventory.wmsappendix.WmsFileEnum; +import com.yxt.wms.biz.inventory.wmsinventorycheckbillreport.WmsInventoryCheckbillReportSumVo; +import com.yxt.wms.biz.inventory.wmsinventoryprofitindetail.WmsInventoryProfitinDetailDto; +import com.yxt.wms.biz.inventory.wmsinventoryprofitoutdetail.WmsInventoryProfitoutDetailDto; +import com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app.HandleBean; +import com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app.WmsOldCheckbillGoodsDto; +import com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app.WmsOldCheckbillGoodsPyDto; +import com.yxt.wms.biz.inventory.wmsoldcheckbillreport.WmsOldCheckbillReportSumVo; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.List; + +/** + * Project: yxt-wms(仓储)
+ * File: WmsInventoryCheckbillDetailService.java
+ * Class: com.yxt.wms.biz.wmsinventorycheckbilldetail.WmsInventoryCheckbillDetailService
+ * Description: 库存盘点-明细 业务逻辑.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-03-22 09:25:02
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Service +public class WmsOldCheckbillDetailService extends MybatisBaseService { + + @Autowired + private WmsAppendixService wmsAppendixService; + @Autowired + private FileUploadComponent fileUploadComponent; + @Autowired + private WmsWarehouseRackService wmsWarehouseRackService; + @Autowired + private WmsWarehouseAreaService wmsWarehouseAreaService; + @Autowired + private WmsWarehouseInfoService wmsWarehouseInfoService; + + public void insertByDto(WmsOldCheckbillDetailDto dto) { + WmsOldCheckbillDetail entity = new WmsOldCheckbillDetail(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + } + + public WmsOldCheckbillDetailDetailsVo fetchDetailsVoBySid(String sid) { + WmsOldCheckbillDetail entity = fetchBySid(sid); + WmsOldCheckbillDetailDetailsVo vo = new WmsOldCheckbillDetailDetailsVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + public void delByMainSid(String dtoSid) { + baseMapper.delByMainSid(dtoSid); + } + + public List selByMainSid(String billSid) { + return baseMapper.selByMainSid(billSid); + } + + public List reportSum(String sid, String sumType) { + List wmsOldCheckbillReportSumVos = new ArrayList<>(); + if ("total".equals(sumType)) { + WmsOldCheckbillReportSumVo wmsOldCheckbillReportSumVo = baseMapper.reportSumTotal(sid); + wmsOldCheckbillReportSumVos.add(wmsOldCheckbillReportSumVo); + } else if ("ware".equals(sumType)) { + wmsOldCheckbillReportSumVos = baseMapper.reportSumWare(sid); + } else if ("area".equals(sumType)) { + wmsOldCheckbillReportSumVos = baseMapper.reportSumArea(sid); + } + return wmsOldCheckbillReportSumVos; + } + + public void saveInventoryInfo(WmsOldCheckbillGoodsDto dto) { + int i = new BigDecimal(dto.getLockNum()).compareTo(new BigDecimal(dto.getNum())); + if (i < 0) {//盘盈 + BigDecimal pyCount = new BigDecimal(dto.getNum()).subtract(new BigDecimal(dto.getLockNum())); + baseMapper.saveInventoryInfoPY(dto, pyCount); + } else if (i > 0) {//盘亏 + BigDecimal pkCount = new BigDecimal(dto.getLockNum()).subtract(new BigDecimal(dto.getNum())); + baseMapper.saveInventoryInfoPK(dto, pkCount); + } else { + baseMapper.saveInventoryInfoZC(dto, dto.getNum()); + } + List files = dto.getFiles(); + wmsAppendixService.delByLinkSid(dto.getSid()); + for (String file : files) { + String filePath = file.replace(fileUploadComponent.getUrlPrefix(), ""); + WmsAppendix wmsAppendix = new WmsAppendix(); + wmsAppendix.setLinkSid(dto.getSid()); + wmsAppendix.setAttachType(WmsFileEnum.WMSINVENTORYCHECKBILLDETAIL.getAttachType()); + wmsAppendix.setFilePath(filePath); + wmsAppendixService.save(wmsAppendix); + } + } + + public HandleBean scan(String sid, String content, String houseSid) { + return baseMapper.scan(sid, content, houseSid); + } + + public void saveInventoryInfo2(WmsOldCheckbillGoodsPyDto dto) { + WmsOldCheckbillDetail wmsOldCheckbillDetail = new WmsOldCheckbillDetail(); + wmsOldCheckbillDetail.setState(3); + wmsOldCheckbillDetail.setBillSid(dto.getPanDianSid()); + wmsOldCheckbillDetail.setGoodsSpuSid(dto.getGoodsSid()); + wmsOldCheckbillDetail.setGoodsSpuName(dto.getGoodsSpuName()); + wmsOldCheckbillDetail.setGoodsSkuSid(dto.getGoodsSkuSid()); + wmsOldCheckbillDetail.setGoodsSkuTitle(dto.getGoodsName()); + wmsOldCheckbillDetail.setGoodsSkuCode(dto.getGoodsSkuCode()); + wmsOldCheckbillDetail.setGoodsSkuOwnSpec(dto.getGoodsSkuOwnSpec()); + wmsOldCheckbillDetail.setManufacturerSid(dto.getManufacturerSid()); + wmsOldCheckbillDetail.setManufacturerName(dto.getManufacturerName()); + wmsOldCheckbillDetail.setUnit(dto.getUnit()); + WmsWarehouseRack wmsWarehouseRack = wmsWarehouseRackService.fetchBySid(dto.getHouseSid()); + WmsWarehouseArea wmsWarehouseArea = wmsWarehouseAreaService.fetchBySid(wmsWarehouseRack.getLocationSid()); + WmsWarehouseInfo wmsWarehouseInfo = wmsWarehouseInfoService.fetchBySid(wmsWarehouseArea.getWarehouseSid()); + wmsOldCheckbillDetail.setWarehouseSid(wmsWarehouseInfo.getSid()); + wmsOldCheckbillDetail.setWarehouseName(wmsWarehouseInfo.getWarehouseName()); + wmsOldCheckbillDetail.setWarehouseAreaSid(wmsWarehouseArea.getSid()); + wmsOldCheckbillDetail.setWarehouseArea(wmsWarehouseArea.getAreaName()); + wmsOldCheckbillDetail.setWarehouseRackSid(wmsWarehouseRack.getSid()); + wmsOldCheckbillDetail.setWarehouseRackName(wmsWarehouseRack.getRackName()); + wmsOldCheckbillDetail.setSupplierSid(dto.getProviderSid()); + wmsOldCheckbillDetail.setSupplierName(dto.getProvider()); + wmsOldCheckbillDetail.setBookCount(new BigDecimal("0")); + wmsOldCheckbillDetail.setRealCount(new BigDecimal(dto.getNum())); + wmsOldCheckbillDetail.setLossCount(new BigDecimal(dto.getBadNum())); + wmsOldCheckbillDetail.setProfitCount(new BigDecimal(dto.getNum())); + wmsOldCheckbillDetail.setLoseCount(new BigDecimal("0")); + wmsOldCheckbillDetail.setRemarks(dto.getRemarks()); + baseMapper.insert(wmsOldCheckbillDetail); + List files = dto.getFiles(); + for (String file : files) { + String filePath = file.replace(fileUploadComponent.getUrlPrefix(), ""); + WmsAppendix wmsAppendix = new WmsAppendix(); + wmsAppendix.setLinkSid(wmsOldCheckbillDetail.getSid()); + wmsAppendix.setAttachType(WmsFileEnum.WMSINVENTORYCHECKBILLDETAIL.getAttachType()); + wmsAppendix.setFilePath(filePath); + wmsAppendixService.save(wmsAppendix); + } + } + + public List sourceBillBySid(String sid) { + return baseMapper.sourceBillBySid(sid); + } + + public List sourceBillPkBySid(String sid) { + return baseMapper.sourceBillPkBySid(sid); + } +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/HandleBean.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/HandleBean.java new file mode 100644 index 0000000000..6f886487a3 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/HandleBean.java @@ -0,0 +1,44 @@ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app; + +import lombok.Data; + +import java.util.List; + +@Data +public class HandleBean { + + /** + * 损坏数量,默认 0 + */ + private String badNum; + private List files; + /** + * 商品ID + */ + private String goodsID; + /** + * 商品名称 + */ + private String goodsName; + /** + * 图号 + */ + private String goodsSkuCode; + /** + * 本库位库存 + */ + private String lockNum; + /** + * 确认数量/数量,赋值为库存数量 + */ + private String num; + private String remarks; + /** + * 商品记录sid + */ + private String sid; + /** + * 单位 + */ + private String unit; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillGoodsDto.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillGoodsDto.java new file mode 100644 index 0000000000..461a63cd08 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillGoodsDto.java @@ -0,0 +1,35 @@ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.List; + +@Data +public class WmsOldCheckbillGoodsDto implements Dto { + + /** + * 损坏数量 + */ + private String badNum; + /** + * 附件 + */ + private List files; + /** + * 确认数量/数量 + */ + private String num; + /** + * 库存数量 + */ + private String lockNum; + /** + * 备注 + */ + private String remarks; + /** + * 商品记录sid + */ + private String sid; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillGoodsPyDto.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillGoodsPyDto.java new file mode 100644 index 0000000000..2630a74bc0 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillGoodsPyDto.java @@ -0,0 +1,66 @@ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app; + +import com.yxt.common.core.dto.Dto; +import lombok.Data; + +import java.util.List; + +@Data +public class WmsOldCheckbillGoodsPyDto implements Dto { + + /** + * 损坏数量 + */ + private String badNum; + /** + * 附件 + */ + private List files; + /** + * 确认数量/数量 + */ + private String num; + /** + * 库存数量 + */ + private String lockNum; + /** + * 备注 + */ + private String remarks; + /** + * 商品名称 + */ + private String goodsName; + /** + * 商品sid + */ + private String goodsSid; + /** + * 图号 + */ + private String goodsSkuCode; + /** + * 库位sid + */ + private String houseSid; + /** + * 盘点单sid + */ + private String panDianSid; + /** + * 供应商 + */ + private String provider; + private String providerSid; + /** + * 单位 + */ + private String unit; + + private String goodsSkuSid; + private String goodsSpuName; + private String goodsSkuOwnSpec; + private String manufacturerSid; + private String manufacturerName; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillPageQuery.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillPageQuery.java new file mode 100644 index 0000000000..c2f13a1b09 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillPageQuery.java @@ -0,0 +1,19 @@ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app; + +import com.yxt.common.core.query.Query; +import lombok.Data; + +@Data +public class WmsOldCheckbillPageQuery implements Query { + + private String menuSid; + /** + * 仓库/库区/库位 + */ + private String name; + /** + * 组织机构sid + */ + private String orgPath; + private String userSid; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillPageVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillPageVo.java new file mode 100644 index 0000000000..98e6ce6b0c --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbilldetail/app/WmsOldCheckbillPageVo.java @@ -0,0 +1,30 @@ +package com.yxt.wms.biz.inventory.wmsoldcheckbilldetail.app; + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +public class WmsOldCheckbillPageVo implements Vo { + + @ApiModelProperty("盘点单sid") + private String sid; + @ApiModelProperty("库位sid") + private String houseSid; + @ApiModelProperty("仓库-库区-库位") + private String title; + @ApiModelProperty("应盘数量") + private String totalNumber; + @ApiModelProperty("未盘数量") + private String surplusNumber; + @ApiModelProperty("盘亏数量") + private String lossNumber; + @ApiModelProperty("盘损数量") + private String damageNumber; + @ApiModelProperty("盘盈数量") + private String profitNumber; + @ApiModelProperty("实盘数量") + private String actualNumber; + @ApiModelProperty("是否显示按钮") + private Boolean showBtn = true; +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReport.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReport.java new file mode 100644 index 0000000000..97967148a5 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReport.java @@ -0,0 +1,57 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbillreport; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.yxt.common.core.domain.BaseEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-wms(盘点报告)
+ * File: WmsInventoryCheckbillReport.java
+ * Class: com.yxt.wms.api.wmsinventorycheckbillreport.WmsInventoryCheckbillReport
+ * Description: 盘点报告.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-19 09:52:51
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +@TableName("wms_old_checkbill_report") +public class WmsOldCheckbillReport extends BaseEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty("盘点单sid") + private String billSid; // 盘点单sid + @ApiModelProperty("pdf路径") + private String pdfUrl; // pdf路径 + +} diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportDetailsVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportDetailsVo.java new file mode 100644 index 0000000000..dbca975979 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportDetailsVo.java @@ -0,0 +1,105 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbillreport; + + +import com.fasterxml.jackson.annotation.JsonFormat; +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.ArrayList; +import java.util.Date; +import java.util.List; + +/** + * Project: yxt-wms(盘点报告)
+ * File: WmsInventoryCheckbillReportVo.java
+ * Class: com.yxt.wms.api.wmsinventorycheckbillreport.WmsInventoryCheckbillReportVo
+ * Description: 盘点报告 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-19 09:52:51
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class WmsOldCheckbillReportDetailsVo implements Vo { + + private String sid; // sid + + @ApiModelProperty("制单人姓名") + private String createByName; + @ApiModelProperty("申请部门名称") + private String deptName; + @ApiModelProperty("生成日期") + @JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8") + private Date createTime; + @ApiModelProperty("盘点人") + private String createName; + @ApiModelProperty("监盘人姓名") + private String finances; + @ApiModelProperty("备注") + private String remarks; + @ApiModelProperty("pdf路径") + private String pdfUrl; + + //总体盘点情况 + @ApiModelProperty("应盘数量") + private BigDecimal ypNum; + @ApiModelProperty("应盘金额") + private BigDecimal ypMoney; + @ApiModelProperty("实盘数量") + private BigDecimal spNum; + @ApiModelProperty("实盘金额") + private BigDecimal spMoney; + @ApiModelProperty("盘盈数量") + private BigDecimal pyNum; + @ApiModelProperty("盘盈金额") + private BigDecimal pyMoney; + @ApiModelProperty("盘亏数量") + private BigDecimal pkNum; + @ApiModelProperty("盘亏金额") + private BigDecimal pkMoney; + @ApiModelProperty("盘损数量") + private BigDecimal psNum; + @ApiModelProperty("盘损金额") + private BigDecimal psMoney; + @ApiModelProperty("虚拟件数量") + private BigDecimal virtualNum; + @ApiModelProperty("未入库数量") + private BigDecimal unInStorageNum; + + //仓库盘点情况 + List warehouseStocktakList = new ArrayList<>(); + + //库区盘点情况 + List arehouseAreaeStocktakList = new ArrayList<>(); +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportDto.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportDto.java new file mode 100644 index 0000000000..ed0cfee957 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportDto.java @@ -0,0 +1,57 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbillreport; + + +import com.yxt.common.core.dto.Dto; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +/** + * Project: yxt-wms(盘点报告)
+ * File: WmsInventoryCheckbillReportDto.java
+ * Class: com.yxt.wms.api.wmsinventorycheckbillreport.WmsInventoryCheckbillReportDto
+ * Description: 盘点报告 数据传输对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-19 09:52:51
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class WmsOldCheckbillReportDto implements Dto { + + private String sid; // sid + + @ApiModelProperty("盘点单sid") + private String billSid; // 盘点单sid + @ApiModelProperty("pdf路径") + private String pdfUrl; // pdf路径 + +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportMapper.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportMapper.java new file mode 100644 index 0000000000..e3db3cdb69 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportMapper.java @@ -0,0 +1,45 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbillreport; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.apache.ibatis.annotations.*; + +@Mapper +public interface WmsOldCheckbillReportMapper extends BaseMapper { + + @Delete("delete from wms_old_checkbill_report where billSid = #{billSid}") + void delByMainSid(String billSid); + + @Select("select * from wms_old_checkbill_report where billSid = #{billSid}") + WmsOldCheckbillReport selByBillSid(String billSid); + + @Update("update wms_old_checkbill_report set remarks = #{remarks} where billSid = #{billSid}") + void saveReport(@Param("billSid") String billSid,@Param("remarks") String remarks); + + @Update("update wms_old_checkbill_report set pdfUrl = #{pdfUrl} where billSid = #{billSid}") + void updatePdf(@Param("billSid") String billSid,@Param("pdfUrl") String pdfUrl); +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportMapper.xml b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportMapper.xml new file mode 100644 index 0000000000..c7db68c024 --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportMapper.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportService.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportService.java new file mode 100644 index 0000000000..8aed3bfc0a --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportService.java @@ -0,0 +1,63 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbillreport; + +import cn.hutool.core.bean.BeanUtil; +import com.yxt.common.base.service.MybatisBaseService; +import org.springframework.stereotype.Service; + +@Service +public class WmsOldCheckbillReportService extends MybatisBaseService { + + public void insertByDto(WmsOldCheckbillReportDto dto){ + WmsOldCheckbillReport entity = new WmsOldCheckbillReport(); + BeanUtil.copyProperties(dto, entity, "id", "sid"); + baseMapper.insert(entity); + } + + public WmsOldCheckbillReportDetailsVo fetchDetailsVoBySid(String sid){ + WmsOldCheckbillReport entity = fetchBySid(sid); + WmsOldCheckbillReportDetailsVo vo = new WmsOldCheckbillReportDetailsVo(); + BeanUtil.copyProperties(entity, vo); + return vo; + } + + public void delByMainSid(String billSid) { + baseMapper.delByMainSid(billSid); + } + + public WmsOldCheckbillReport selByBillSid(String billSid) { + return baseMapper.selByBillSid(billSid); + } + + public void saveReport(String billSid, String remarks) { + baseMapper.saveReport(billSid,remarks); + } + + public void updatePdf(String billSid, String pdfUrl) { + baseMapper.updatePdf(billSid,pdfUrl); + } +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportSumVo.java b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportSumVo.java new file mode 100644 index 0000000000..f0afa53aef --- /dev/null +++ b/yxt-wms-biz/src/main/java/com/yxt/wms/biz/inventory/wmsoldcheckbillreport/WmsOldCheckbillReportSumVo.java @@ -0,0 +1,90 @@ +/********************************************************* + ********************************************************* + ******************** ******************* + ************* ************ + ******* _oo0oo_ ******* + *** o8888888o *** + * 88" . "88 * + * (| -_- |) * + * 0\ = /0 * + * ___/`---'\___ * + * .' \\| |// '. * + * / \\||| : |||// \ * + * / _||||| -:- |||||- \ * + * | | \\\ - /// | | * + * | \_| ''\---/'' |_/ | * + * \ .-\__ '-' ___/-. / * + * ___'. .' /--.--\ `. .'___ * + * ."" '< `.___\_<|>_/___.' >' "". * + * | | : `- \`.;`\ _ /`;.`/ - ` : | | * + * \ \ `_. \_ __\ /__ _/ .-` / / * + * =====`-.____`.___ \_____/___.-`___.-'===== * + * `=---=' * + * ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ * + *********__佛祖保佑__永无BUG__验收通过__钞票多多__********* + *********************************************************/ +package com.yxt.wms.biz.inventory.wmsoldcheckbillreport; + + +import com.yxt.common.core.vo.Vo; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.math.BigDecimal; + +/** + * Project: yxt-wms(盘点报告)
+ * File: WmsInventoryCheckbillReportVo.java
+ * Class: com.yxt.wms.api.wmsinventorycheckbillreport.WmsInventoryCheckbillReportVo
+ * Description: 盘点报告 视图数据对象.
+ * Copyright: Copyright (c) 2011
+ * Company: https://gitee.com/liuzp315
+ * Makedate: 2024-07-19 09:52:51
+ * + * @author liupopo + * @version 1.0 + * @since 1.0 + */ +@Data +public class WmsOldCheckbillReportSumVo implements Vo { + + /* + * 盘点报告序号 + * */ + @ApiModelProperty("序号") + private Integer id; + + @ApiModelProperty("仓库名称") + private String warehouseName; + @ApiModelProperty("仓库-库区") + private String warehouseAreaeName; + @ApiModelProperty("应盘数量") + private BigDecimal ypNum; + @ApiModelProperty("应盘金额") + private BigDecimal ypMoney; + @ApiModelProperty("实盘数量") + private BigDecimal spNum; + @ApiModelProperty("实盘金额") + private BigDecimal spMoney; + @ApiModelProperty("盘盈数量") + private BigDecimal pyNum; + @ApiModelProperty("盘盈金额") + private BigDecimal pyMoney; + @ApiModelProperty("盘亏数量") + private BigDecimal pkNum; + @ApiModelProperty("盘亏金额") + private BigDecimal pkMoney; + @ApiModelProperty("盘损数量") + private BigDecimal psNum; + @ApiModelProperty("盘损金额") + private BigDecimal psMoney; + @ApiModelProperty("虚拟件数量") + private BigDecimal virtualNum; + @ApiModelProperty("虚拟件金额") + private BigDecimal virtualMoney; + @ApiModelProperty("未入库数量") + private BigDecimal unInStorageNum; + @ApiModelProperty("未入库金额") + private BigDecimal unInStorageMoney; +} \ No newline at end of file diff --git a/yxt-wms-biz/src/main/resources/ftl/jjpdbg.ftl b/yxt-wms-biz/src/main/resources/ftl/jjpdbg.ftl new file mode 100644 index 0000000000..3f7bba9edb --- /dev/null +++ b/yxt-wms-biz/src/main/resources/ftl/jjpdbg.ftl @@ -0,0 +1,4959 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘点报告 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 发起人 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${createName} + + + + + + + + + + + + + + + + + + + + + + + + + + + + 发起部门 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${deptName} + + + + + + + + + + + + + + + + + + + + + + + + + + + + 发起日期 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${createTime} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘点人 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pdrName} + + + + + + + + + + + + + + + + + + + + + + + + + + + + 监盘人 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${jprName} + + + + + + + + + + + + + + + + + + + + + + + + + + + + 备注 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${remarks} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 总体盘点情况 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 应盘数量 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${ypsl} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 应盘金额: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${ypje} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 实盘数量: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${spsl} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 实盘金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${spje} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘盈数量: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pysl} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘盈金额: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pyje} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘亏数量: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pksl} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘亏金额: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pkje} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘损数 + + + + + + + + + + + + + + + + 量: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${pssl} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘损金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${psje} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 虚拟件数量: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${xnsl} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 未入库数量: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${wrksl} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 仓库盘点情况 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 序号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 仓库 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 应盘 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 应盘金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 实盘 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 实盘金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘盈 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘盈金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘亏 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘亏金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘损 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘损金额 + + + + + <#list ware as w> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${w.id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${w.warehouseName} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${w.ypNum} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${w.ypMoney} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${w.spNum} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${w.spMoney} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${w.pyNum} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${w.pyMoney} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${w.pkNum} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${w.pkMoney} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${w.psNum} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${w.psMoney} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 库区盘点情况 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 序号 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 仓库-库区 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 应盘 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 应盘金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 实盘 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 实盘金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘盈 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘盈金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘亏 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘亏金额 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘损 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 盘损金额 + + + + + <#list area as a> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${a.id} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${a.warehouseAreaeName} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${a.ypNum} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${a.ypMoney} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${a.spNum} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${a.spMoney} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${a.pyNum} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${a.pyMoney} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${a.pkNum} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${a.pkMoney} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${a.psNum} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + ${a.psMoney} + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 1 + 202 + 463 + 0 + 0 + 12 + false + false + 529 + WPS Office_12.1.0.17147_F1E327BC-269C-435d-A152-05C5408002CA + 0 + + + + + + + 2024-07-22T05:49:20Z + God + WPS_1599826008 + 2024-08-15T07:21:23Z + + + + + + + + 2052-12.1.0.17147 + + + 16EAC2E541624165BCCDB3E46602E2EA_13 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file