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 1/2] =?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 From f24df8f5bcfb4c3fd523c3db890520a09ee8b99d Mon Sep 17 00:00:00 2001 From: fanzongzhe <285169773@qq.com> Date: Wed, 28 Aug 2024 17:26:37 +0800 Subject: [PATCH 2/2] =?UTF-8?q?=E7=BB=93=E6=B8=85=E7=94=B3=E8=AF=B7?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- ...UncollectedReceivablesDetailedJRFeign.java | 10 + ...tedReceivablesDetailedJRFeignFallback.java | 10 + ...ncollectedReceivablesDetailedJRMapper.java | 2 + ...UncollectedReceivablesDetailedJRMapper.xml | 4 + ...nUncollectedReceivablesDetailedJRRest.java | 10 + ...collectedReceivablesDetailedJRService.java | 16 + .../api/loansettleapply/LoanSettleApply.java | 7 +- .../loansettleapply/LoanSettleApplyDto.java | 6 +- .../loansettleapply/LoanSettleApplyVo.java | 1 + .../loansettleapply/PlanNoReturnMoney.java | 16 + .../loansettleapply/SettleApplyCommonVo.java | 1 + .../LoanSettleBankCost.java | 9 + .../LoanSettleBankCostVo.java | 2 +- .../LoanRepaymentPlanDetailsService.java | 7 + .../LoanSettleApplyMapper.java | 15 + .../loansettleapply/LoanSettleApplyMapper.xml | 156 +++- .../LoanSettleApplyService.java | 808 +++++++++++++++++- 17 files changed, 1031 insertions(+), 49 deletions(-) create mode 100644 anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/PlanNoReturnMoney.java diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeign.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeign.java index 1dac4fe96c..f856da9515 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeign.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeign.java @@ -80,4 +80,14 @@ public interface FinUncollectedReceivablesDetailedJRFeign { @PostMapping("/saveList") @ResponseBody void saveList(@RequestBody List jrList); + + @ApiOperation("应收修改") + @PostMapping("/updateList") + @ResponseBody + void updateList(@RequestBody List list); + + @ApiOperation("根据条件查询所有数据列表") + @GetMapping("/getUnJrByPayCostTitleKeyAndBusSid") + public ResultBean getUnJrByPayCostTitleKeyAndBusSid(@RequestParam("key") String key ,@RequestParam("busSid") String busSid); + } diff --git a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeignFallback.java b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeignFallback.java index 1d556206ff..60e6955511 100644 --- a/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeignFallback.java +++ b/anrui-fin/anrui-fin-api/src/main/java/com/yxt/anrui/fin/api/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRFeignFallback.java @@ -75,4 +75,14 @@ public class FinUncollectedReceivablesDetailedJRFeignFallback implements FinUnco public void saveList(List jrList) { } + + @Override + public void updateList(List jrList) { + + } + + @Override + public ResultBean getUnJrByPayCostTitleKeyAndBusSid(String key, String busSid) { + return null; + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRMapper.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRMapper.java index 154f655e7a..379b85aac9 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRMapper.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRMapper.java @@ -95,4 +95,6 @@ IPage getRskPaymentDetailsList(IPage< LoanRepaymentPlanDetails selectDetails(String sid); void saveList(@Param("list") List list); + + FinUncollectedReceivablesDetailedJR getUnJrByPayCostTitleKeyAndBusSid(@Param("key") String key, @Param("busSid")String busSid); } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRMapper.xml b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRMapper.xml index 75e3617714..9ae4ef5c5d 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRMapper.xml +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRMapper.xml @@ -466,4 +466,8 @@ resultType="com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails"> select * from anrui_riskcenter.loan_repayment_plan_details where sid = #{sid} + diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRRest.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRRest.java index 0741874237..6e333b1af9 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRRest.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRRest.java @@ -88,4 +88,14 @@ public class FinUncollectedReceivablesDetailedJRRest implements FinUncollectedRe public void saveList(List jrList) { finUncollectedReceivablesDetailedJRService.saveList(jrList); } + + @Override + public void updateList(List list) { + finUncollectedReceivablesDetailedJRService.updateList(list); + } + + @Override + public ResultBean getUnJrByPayCostTitleKeyAndBusSid(String key, String busSid) { + return finUncollectedReceivablesDetailedJRService.getUnJrByPayCostTitleKeyAndBusSid(key,busSid); + } } diff --git a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRService.java b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRService.java index c6db559344..d36f210b14 100644 --- a/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRService.java +++ b/anrui-fin/anrui-fin-biz/src/main/java/com/yxt/anrui/fin/biz/finuncollectedreceivablesdetailedjr/FinUncollectedReceivablesDetailedJRService.java @@ -182,4 +182,20 @@ public class FinUncollectedReceivablesDetailedJRService extends MybatisBaseServi public void saveList(List jrList) { baseMapper.saveList(jrList); } + + public void updateList(List list) { + list.removeAll(Collections.singleton(null)); + if(!list.isEmpty()){ + for (int i = 0; i < list.size(); i++) { + FinUncollectedReceivablesDetailedJR finUncollectedReceivablesDetailedJR = list.get(i); + baseMapper.updateById(finUncollectedReceivablesDetailedJR); + } + } + } + + public ResultBean getUnJrByPayCostTitleKeyAndBusSid(String key, String busSid) { + ResultBean rb = ResultBean.fireFail(); + FinUncollectedReceivablesDetailedJR jr = baseMapper.getUnJrByPayCostTitleKeyAndBusSid(key,busSid); + return rb.success().setData(jr); + } } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApply.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApply.java index eae6a8b4fb..98fe23bf51 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApply.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApply.java @@ -1,10 +1,12 @@ package com.yxt.anrui.riskcenter.api.loansettleapply; +import com.fasterxml.jackson.annotation.JsonFormat; import com.yxt.common.core.domain.BaseEntity; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import java.math.BigDecimal; +import java.util.Date; /** * @description: @@ -57,7 +59,8 @@ public class LoanSettleApply extends BaseEntity { @ApiModelProperty("机构全路径") private String orgSidPath; @ApiModelProperty("办结日期") - private String closeDate; + @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss",timezone="GMT+8") + private Date closeDate; @ApiModelProperty("实例id") private String procInstId; @ApiModelProperty("流程定义id") @@ -78,5 +81,7 @@ public class LoanSettleApply extends BaseEntity { private String settingDateBe; @ApiModelProperty("业务sid") private String busSid; + @ApiModelProperty("资方sid") + private String bankSid; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyDto.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyDto.java index 82c81fb0f5..4d13f513f1 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyDto.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyDto.java @@ -18,7 +18,8 @@ public class LoanSettleApplyDto { private String sid; private String userSid; private String orgPath; - + @ApiModelProperty("备注") + private String remarks; @ApiModelProperty("申请部门") private String createDept; @ApiModelProperty("申请部门sid") @@ -73,7 +74,8 @@ public class LoanSettleApplyDto { @ApiModelProperty("预计结清日期") private String settingDateBe; - + @ApiModelProperty("资方sid") + private String bankSid; private String busSid; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyVo.java index 39f26445a8..39e25761d1 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/LoanSettleApplyVo.java @@ -12,6 +12,7 @@ import lombok.Data; public class LoanSettleApplyVo { private String createBySid; + private String state; private boolean allowModify; @ApiModelProperty("流程状态") diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/PlanNoReturnMoney.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/PlanNoReturnMoney.java new file mode 100644 index 0000000000..6157949743 --- /dev/null +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/PlanNoReturnMoney.java @@ -0,0 +1,16 @@ +package com.yxt.anrui.riskcenter.api.loansettleapply; + +import lombok.Data; + +/** + * @author Fan + * @description + * @date 2024/8/28 10:29 + */ +@Data +public class PlanNoReturnMoney { + private String sid; + private String mSid; + private String money; + private String jrSid; +} diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/SettleApplyCommonVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/SettleApplyCommonVo.java index 629afc8b89..5ccf9b17b7 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/SettleApplyCommonVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettleapply/SettleApplyCommonVo.java @@ -50,4 +50,5 @@ public class SettleApplyCommonVo { @ApiModelProperty("销售订单sid") private String saleOrderSid; + private String bankSid; } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlebankcost/LoanSettleBankCost.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlebankcost/LoanSettleBankCost.java index d522431105..24c266a31e 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlebankcost/LoanSettleBankCost.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlebankcost/LoanSettleBankCost.java @@ -36,4 +36,13 @@ public class LoanSettleBankCost extends BaseEntity { private BigDecimal bankSettlePrice; @ApiModelProperty("附件") private String files; + @ApiModelProperty("贷款保证金") + private BigDecimal loanDeposit; + @ApiModelProperty("资方收款账户") + private String accountName; + @ApiModelProperty("资方收款账号") + private String bankAccount; + @ApiModelProperty("是否抵顶(1是,0否)") + private int topping; + } diff --git a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlebankcost/LoanSettleBankCostVo.java b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlebankcost/LoanSettleBankCostVo.java index 63989e77fe..28852d62d9 100644 --- a/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlebankcost/LoanSettleBankCostVo.java +++ b/anrui-riskcenter/anrui-riskcenter-api/src/main/java/com/yxt/anrui/riskcenter/api/loansettlebankcost/LoanSettleBankCostVo.java @@ -41,6 +41,6 @@ public class LoanSettleBankCostVo { @ApiModelProperty("资方收款账号") private String bankAccount; @ApiModelProperty("资方收款账户") - private String dueBankValue; + private String accountName; private List filesList = new ArrayList<>(); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java index 0060b5f382..5152de34c2 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loanrepaymentplandetails/LoanRepaymentPlanDetailsService.java @@ -357,4 +357,11 @@ public class LoanRepaymentPlanDetailsService extends MybatisBaseService selByMainSidAndVinNo(String scheduleSid, String vinNo) { return baseMapper.selByMainSidAndVinNo(scheduleSid, vinNo); } + + public void updateList(List list) { + list.removeAll(Collections.singleton(null)); + for (LoanRepaymentPlanDetails planDetails : list) { + baseMapper.updateById(planDetails); + } + } } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.java index adb06d23d1..9b25c59899 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.java @@ -9,10 +9,12 @@ import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedR import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApply; import com.yxt.anrui.riskcenter.api.loansettleapply.LoanSettleApplyVo; +import com.yxt.anrui.riskcenter.api.loansettleapply.PlanNoReturnMoney; import com.yxt.anrui.riskcenter.api.loansettleapply.SettleApplyListVo; import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Param; +import java.util.List; import java.util.Map; /** @@ -55,4 +57,17 @@ public interface LoanSettleApplyMapper extends BaseMapper { FinUncollectedReceivablesDetailedJR selectByType(@Param("busSid") String sid, @Param("type") String type); int updateBusAndSettleApplyDate(@Param("busVinSid")String busVinSid, @Param("state")String state, @Param("date")String date); + + LoanRepaymentPlanDetails selectMainPeriodByBusVinSid(@Param("busVinSid") String busVinSid); + + List selPlansNoReturnMoneyByBusVinSidDesc(@Param("busVinSid") String busVinSid); + + + List selNoReturnJrMoneyByBusVinSidAndKeyDesc(@Param("busVinSid") String busVinSid, @Param("key") String key); + + PlanNoReturnMoney selectNoReturnMoneyByType(@Param("planDetailsSid") String planDetailsSid, @Param("value") String value); + + String selJrMoneyByBusVinSidAndCloseDate(@Param("busVinSid") String busVinSid, @Param("formatDate") String formatDate); + + String selDueMoneyByBusVinSidAndCloseDate(@Param("busVinSid")String busVinSid, @Param("formatDate")String formatDate); } diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml index 1c01338ca7..2802b008a3 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyMapper.xml @@ -21,6 +21,7 @@ + + + + + + diff --git a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java index 89ac9d4f01..e9093c9a4c 100644 --- a/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java +++ b/anrui-riskcenter/anrui-riskcenter-biz/src/main/java/com/yxt/anrui/riskcenter/biz/loansettleapply/LoanSettleApplyService.java @@ -8,8 +8,11 @@ import com.baomidou.mybatisplus.core.metadata.IPage; import com.google.common.util.concurrent.ThreadFactoryBuilder; import com.yxt.anrui.buscenter.api.bussalesorder.BusSalesOrder; import com.yxt.anrui.buscenter.api.bussalesorder.flowable.BusSalesOrderDelegateQuery; +import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordDto; +import com.yxt.anrui.fin.api.finpaymentrecord.FinPaymentrecordFeign; import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailed; import com.yxt.anrui.fin.api.finselectedreceivablesdetailed.FinSelectedReceivablesDetailedFeign; +import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailed.FinUncollectedReceivablesDetailed; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJR; import com.yxt.anrui.fin.api.finuncollectedreceivablesdetailedjr.FinUncollectedReceivablesDetailedJRFeign; import com.yxt.anrui.flowable.api.flow.FlowableFeign; @@ -29,6 +32,7 @@ import com.yxt.anrui.portal.api.sysuser.PrivilegeQuery; import com.yxt.anrui.portal.api.sysuser.SysUserFeign; import com.yxt.anrui.portal.api.sysuser.SysUserVo; import com.yxt.anrui.riskcenter.api.loanoverduefin.UrlQuery; +import com.yxt.anrui.riskcenter.api.loanrepaymenthistory.LoanRepaymentHistory; import com.yxt.anrui.riskcenter.api.loanrepaymentplandetails.LoanRepaymentPlanDetails; import com.yxt.anrui.riskcenter.api.loanrepaymentschedule.LoanRepaymentSchedule; import com.yxt.anrui.riskcenter.api.loansettleapply.*; @@ -42,6 +46,8 @@ import com.yxt.anrui.riskcenter.api.loansettlecompanyreduction.LoanSettleCompany import com.yxt.anrui.riskcenter.api.loansettlevehicle.LoanSettleVehicleDto; import com.yxt.anrui.riskcenter.api.loansolutions.LoanSolutions; import com.yxt.anrui.riskcenter.api.loansolutionsdetail.LoanSolutionsDetail; +import com.yxt.anrui.riskcenter.biz.loanrepaymenthistory.LoanRepaymentHistoryService; +import com.yxt.anrui.riskcenter.biz.loanrepaymentplandetails.LoanRepaymentPlanDetailsService; import com.yxt.anrui.riskcenter.biz.loanrepaymentschedule.LoanRepaymentScheduleService; import com.yxt.anrui.riskcenter.biz.loansettlebankcost.LoanSettleBankCostMapper; import com.yxt.anrui.riskcenter.biz.loansettlebankcost.LoanSettleBankCostService; @@ -82,6 +88,8 @@ import java.util.stream.Collectors; @Service public class LoanSettleApplyService extends MybatisBaseService { + @Autowired + private FinPaymentrecordFeign finPaymentrecordFeign; @Autowired private FlowFeign flowFeign; @Autowired @@ -124,7 +132,10 @@ public class LoanSettleApplyService extends MybatisBaseService listPageVo(PagerQuery pq) { LoanSettleApplyQuery query = pq.getParams(); @@ -308,7 +319,8 @@ public class LoanSettleApplyService extends MybatisBaseService list = new ArrayList<>(); + List updateList = new ArrayList<>(); + //资方逾期利息应收、名义价应收、合同违约金应收、其他费用应收 + LoanSettleCompanyCost loanSettleCompanyCost = loanSettleCompanyCostService.selectByMainSid(loanSettleApply.getSid()); + LoanRepaymentPlanDetails planDetails = baseMapper.selectByBusVinSidAndDesc(loanSettleApply.getBusVinSid()); + String scheduleSid = planDetails.getScheduleSid(); + LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(scheduleSid); + if (schedule.getIsOtherPolicy().equals("1") && schedule.getSameBank().equals("0")) { + planDetails = baseMapper.selectMainPeriodByBusVinSid(loanSettleApply.getBusVinSid()); + } + String planDetailsSid = planDetails.getSid(); + FinUncollectedReceivablesDetailedJR jr1 = finUncollectedReceivablesDetailedJRFeign.getUnJrByPayCostTitleKeyAndBusSid("012", planDetailsSid).getData(); + if (null != jr1) { + if (null != loanSettleCompanyCost.getBankOverInterest()) { + jr1.setReveivableMoney(loanSettleCompanyCost.getBankOverInterest()); + updateList.add(jr1); + } + } else { + if (loanSettleCompanyCost.getBankOverInterest().compareTo(BigDecimal.ZERO) > 0) { + //资方逾期利息应收 + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setBusSid(planDetails.getSid()); + jr.setReveivableMoney(loanSettleCompanyCost.getBankOverInterest()); + jr.setPayCostTitleKey("012"); + jr.setPayCostTitleValue("结清时资方逾期利息"); + jr.setOrgSidPath(planDetails.getOrgSidPath()); + jr.setUseOrgName(planDetails.getUseOrgName()); + jr.setUseOrgSid(planDetails.getUseOrgSid()); + jr.setStaffDeptName(planDetails.getDept()); + jr.setStaffName(planDetails.getStaffName()); + jr.setStaffDeptSid(planDetails.getDeptSid()); + jr.setStaffUserSid(planDetails.getSalesUserSid()); + list.add(jr); + } + } + FinUncollectedReceivablesDetailedJR jr2 = finUncollectedReceivablesDetailedJRFeign.getUnJrByPayCostTitleKeyAndBusSid("009", planDetailsSid).getData(); + if (null != jr2) { + if (null != loanSettleCompanyCost.getCompanyNominalPrice()) { + jr2.setReveivableMoney(loanSettleCompanyCost.getCompanyNominalPrice()); + updateList.add(jr1); + } + } else { + if (loanSettleCompanyCost.getCompanyNominalPrice().compareTo(BigDecimal.ZERO) > 0) { + //名义价应收 + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setBusSid(planDetails.getSid()); + jr.setReveivableMoney(loanSettleCompanyCost.getCompanyNominalPrice()); + jr.setPayCostTitleKey("009"); + jr.setPayCostTitleValue("名义价"); + jr.setOrgSidPath(planDetails.getOrgSidPath()); + jr.setUseOrgName(planDetails.getUseOrgName()); + jr.setUseOrgSid(planDetails.getUseOrgSid()); + jr.setStaffDeptName(planDetails.getDept()); + jr.setStaffName(planDetails.getStaffName()); + jr.setStaffDeptSid(planDetails.getDeptSid()); + jr.setStaffUserSid(planDetails.getSalesUserSid()); + list.add(jr); + } + } + FinUncollectedReceivablesDetailedJR jr3 = finUncollectedReceivablesDetailedJRFeign.getUnJrByPayCostTitleKeyAndBusSid("010", planDetailsSid).getData(); + if (null != jr3) { + if (null != loanSettleCompanyCost.getContractLiquidated()) { + jr3.setReveivableMoney(loanSettleCompanyCost.getContractLiquidated()); + updateList.add(jr3); + } + } else { + if (loanSettleCompanyCost.getContractLiquidated().compareTo(BigDecimal.ZERO) > 0) { + //合同违约金应收 + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setBusSid(planDetails.getSid()); + jr.setReveivableMoney(loanSettleCompanyCost.getContractLiquidated()); + jr.setPayCostTitleKey("010"); + jr.setPayCostTitleValue("合同违约金"); + jr.setOrgSidPath(planDetails.getOrgSidPath()); + jr.setUseOrgName(planDetails.getUseOrgName()); + jr.setUseOrgSid(planDetails.getUseOrgSid()); + jr.setStaffDeptName(planDetails.getDept()); + jr.setStaffName(planDetails.getStaffName()); + jr.setStaffDeptSid(planDetails.getDeptSid()); + jr.setStaffUserSid(planDetails.getSalesUserSid()); + list.add(jr); + } + } + FinUncollectedReceivablesDetailedJR jr4 = finUncollectedReceivablesDetailedJRFeign.getUnJrByPayCostTitleKeyAndBusSid("011", planDetailsSid).getData(); + if (null != jr4) { + if (null != loanSettleCompanyCost.getContractLiquidated()) { + jr4.setReveivableMoney(loanSettleCompanyCost.getContractLiquidated()); + updateList.add(jr4); + } + } else { + if (loanSettleCompanyCost.getCompanyOtherPrice().compareTo(BigDecimal.ZERO) > 0) { + //公司其他费用应收 + FinUncollectedReceivablesDetailedJR jr = new FinUncollectedReceivablesDetailedJR(); + jr.setBusSid(planDetails.getSid()); + jr.setReveivableMoney(loanSettleCompanyCost.getCompanyOtherPrice()); + jr.setPayCostTitleKey("011"); + jr.setPayCostTitleValue("其他费用"); + jr.setOrgSidPath(planDetails.getOrgSidPath()); + jr.setUseOrgName(planDetails.getUseOrgName()); + jr.setUseOrgSid(planDetails.getUseOrgSid()); + jr.setStaffDeptName(planDetails.getDept()); + jr.setStaffName(planDetails.getStaffName()); + jr.setStaffDeptSid(planDetails.getDeptSid()); + jr.setStaffUserSid(planDetails.getSalesUserSid()); + list.add(jr); + } + } + list.removeAll(Collections.singleton(null)); + updateList.removeAll(Collections.singleton(null)); + if (!list.isEmpty() && list.size() > 0) { + finUncollectedReceivablesDetailedJRFeign.saveAll(list); + } + if (!updateList.isEmpty() && updateList.size() > 0) { + finUncollectedReceivablesDetailedJRFeign.updateList(updateList); + } + } + + //--------------------------------- 贷款保证金结转 ------------------------- + private void carryForward(LoanSettleApply loanSettleApply) { + String userSid = loanSettleApply.getCreateBySid(); + BigDecimal deposit = BigDecimal.ZERO; // 贷款保证金 - (扣罚金额-贷款保证金减免) + BigDecimal depositKF = BigDecimal.ZERO; // 贷款保证金 - (扣罚金额-贷款保证金减免) + BigDecimal depositJM = BigDecimal.ZERO; // 贷款保证金 - (扣罚金额-贷款保证金减免) + BigDecimal amountTo = BigDecimal.ZERO; // 资方结清合计 + String busVinSid = loanSettleApply.getBusVinSid(); + List histories = new ArrayList<>();//还款记录 + List selectList = new ArrayList<>(); + List payments = new ArrayList<>(); //消减垫款金额列表 + List yqlx = new ArrayList<>(); //消减逾期利息列表 + LoanRepaymentPlanDetails planDetails = baseMapper.selectByBusVinSidAndDesc(loanSettleApply.getBusVinSid()); + String scheduleSid = planDetails.getScheduleSid(); + LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(scheduleSid); + if (schedule.getIsOtherPolicy().equals("1") && schedule.getSameBank().equals("0")) { + planDetails = baseMapper.selectMainPeriodByBusVinSid(loanSettleApply.getBusVinSid()); + } + String planDetailsSid = planDetails.getSid(); + LoanSettleCompanyCost companyCost = loanSettleCompanyCostService.selectByMainSid(loanSettleApply.getSid()); + if (null != companyCost) { + if (null != companyCost.getLoanDeposit()) { + deposit = companyCost.getLoanDeposit(); + } + if (null != companyCost.getDeductionAmount()) { + depositKF = companyCost.getDeductionAmount(); + } + } + LoanSettleCompanyReduction reduction = loanSettleCompanyReductionService.selectByMainSid(loanSettleApply.getSid()); + if (null != reduction) { + if (null != reduction.getDepositPenalty()) { + depositJM = reduction.getDepositPenalty(); + } + if (null != reduction.getAmountTo()) { + amountTo = reduction.getAmountTo(); + } + } + if (amountTo.compareTo(BigDecimal.ZERO) > 0) { + deposit = deposit.subtract(depositKF).add(depositJM); + } else if (amountTo.compareTo(BigDecimal.ZERO) <= 0) { + deposit = deposit.subtract(depositKF).add(depositJM).add(amountTo); + } + //按照顺序结转 + //月还 + if (deposit.compareTo(BigDecimal.ZERO) > 0) { + List p = baseMapper.selPlansNoReturnMoneyByBusVinSidDesc(busVinSid); + p.removeAll(Collections.singleton(null)); + if (!p.isEmpty() && p.size() > 0) { + for (PlanNoReturnMoney m : p) { + if (deposit.compareTo(BigDecimal.ZERO) > 0) { + BigDecimal money = new BigDecimal(m.getMoney()); + BigDecimal mm = BigDecimal.ZERO; + String sid = m.getSid(); + String mSid = m.getMSid(); + LoanRepaymentHistory history = new LoanRepaymentHistory(); + history.setCreateBySid(userSid); + history.setDataTime(new Date()); + history.setUpdateState("1"); + history.setUpdateTime(new Date()); + history.setActualDate(new Date()); + history.setBuckleKey("003"); + history.setBuckle("审核通过"); + history.setReturnWayKey("04"); + history.setReturnWay("结转"); + history.setPayState(0); + history.setPlanDetailSid(sid); + history.setScheduleSid(mSid); + if (deposit.compareTo(money) >= 0) { + mm = money; + history.setActualMoney(money); + histories.add(history); + deposit = deposit.subtract(money); + } else { + mm = deposit; + history.setActualMoney(deposit); + histories.add(history); + deposit = BigDecimal.ZERO; + } + LoanRepaymentPlanDetails pd = loanRepaymentPlanDetailsService.fetchBySid(sid); + if (null != pd.getPaymentMoney()) { + BigDecimal paymentMoney = pd.getPaymentMoney(); + if (mm.compareTo(paymentMoney) >= 0) { + pd.setPaymentMoney(new BigDecimal("0")); + } else { + pd.setPaymentMoney(paymentMoney.subtract(mm)); + } + payments.add(pd); + } + } + } + } + } + //结转垫资方逾期利息 + if (deposit.compareTo(BigDecimal.ZERO) > 0) { + List p = baseMapper.selNoReturnJrMoneyByBusVinSidAndKeyDesc(busVinSid, "005"); + p.removeAll(Collections.singleton(null)); + if (!p.isEmpty() && p.size() > 0) { + for (PlanNoReturnMoney m : p) { + if (deposit.compareTo(BigDecimal.ZERO) > 0) { + BigDecimal money = new BigDecimal(m.getMoney()); + BigDecimal mm = BigDecimal.ZERO; + String sid = m.getSid(); + LoanRepaymentPlanDetails pd = loanRepaymentPlanDetailsService.fetchBySid(sid); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(userSid); + fin.setRemarks("结转"); + fin.setVIN(pd.getVinNo()); + fin.setUseOrgSid(pd.getUseOrgSid()); + fin.setReceivablesName("资方逾期利息"); + if (deposit.compareTo(money) >= 0) { + mm = money; + fin.setSubscriptionMoney(money); + deposit = deposit.subtract(money); + } else { + mm = deposit; + fin.setSubscriptionMoney(deposit); + deposit = BigDecimal.ZERO; + } + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(m.getJrSid()); + fin.setKxState("01"); + fin.setUseOrgName(pd.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + if (null != pd.getPaymentInterest()) { + BigDecimal paymentInterest = pd.getPaymentInterest(); + if (mm.compareTo(paymentInterest) >= 0) { + pd.setPaymentInterest(new BigDecimal("0")); + } else { + pd.setPaymentInterest(paymentInterest.subtract(mm)); + } + yqlx.add(pd); + } + } + } + } + } + //结转资方逾期利息 + if (deposit.compareTo(BigDecimal.ZERO) > 0) { + PlanNoReturnMoney p = baseMapper.selectNoReturnMoneyByType(planDetailsSid, "结清时资方逾期利息"); + BigDecimal money = new BigDecimal(p.getMoney()); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("结清时资方逾期利息"); + if (deposit.compareTo(money) >= 0) { + fin.setSubscriptionMoney(money); + deposit = deposit.subtract(money); + } else { + fin.setSubscriptionMoney(deposit); + deposit = BigDecimal.ZERO; + } + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(p.getJrSid()); + fin.setKxState("01"); + fin.setPurchaseSystemSid(""); + fin.setPurchaseSystemName(""); + fin.setStaffUserSid(""); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + } + //名义价 + if (deposit.compareTo(BigDecimal.ZERO) > 0) { + PlanNoReturnMoney p = baseMapper.selectNoReturnMoneyByType(planDetailsSid, "名义价"); + BigDecimal money = new BigDecimal(p.getMoney()); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("名义价"); + if (deposit.compareTo(money) >= 0) { + fin.setSubscriptionMoney(money); + deposit = deposit.subtract(money); + } else { + fin.setSubscriptionMoney(deposit); + deposit = BigDecimal.ZERO; + } + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(p.getJrSid()); + fin.setKxState("01"); + fin.setPurchaseSystemSid(""); + fin.setPurchaseSystemName(""); + fin.setStaffUserSid(""); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + } + //合同违约金 + if (deposit.compareTo(BigDecimal.ZERO) > 0) { + PlanNoReturnMoney p = baseMapper.selectNoReturnMoneyByType(planDetailsSid, "合同违约金"); + BigDecimal money = new BigDecimal(p.getMoney()); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("合同违约金"); + if (deposit.compareTo(money) >= 0) { + fin.setSubscriptionMoney(money); + deposit = deposit.subtract(money); + } else { + fin.setSubscriptionMoney(deposit); + deposit = BigDecimal.ZERO; + } + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(p.getJrSid()); + fin.setKxState("01"); + fin.setPurchaseSystemSid(""); + fin.setPurchaseSystemName(""); + fin.setStaffUserSid(""); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + } + //其他费用 + if (deposit.compareTo(BigDecimal.ZERO) > 0) { + PlanNoReturnMoney p = baseMapper.selectNoReturnMoneyByType(planDetailsSid, "其他费用"); + BigDecimal money = new BigDecimal(p.getMoney()); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("其他费用"); + if (deposit.compareTo(money) >= 0) { + fin.setSubscriptionMoney(money); + deposit = deposit.subtract(money); + } else { + fin.setSubscriptionMoney(deposit); + deposit = BigDecimal.ZERO; + } + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(p.getJrSid()); + fin.setKxState("01"); + fin.setPurchaseSystemSid(""); + fin.setPurchaseSystemName(""); + fin.setStaffUserSid(""); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + } + //资金占用费 + if (deposit.compareTo(BigDecimal.ZERO) > 0) { + List p = baseMapper.selNoReturnJrMoneyByBusVinSidAndKeyDesc(busVinSid, "006"); + p.removeAll(Collections.singleton(null)); + if (!p.isEmpty() && p.size() > 0) { + for (PlanNoReturnMoney m : p) { + if (deposit.compareTo(BigDecimal.ZERO) > 0) { + BigDecimal money = new BigDecimal(m.getMoney()); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(userSid); + fin.setRemarks("结转"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("资金占用费"); + if (deposit.compareTo(money) >= 0) { + fin.setSubscriptionMoney(money); + deposit = deposit.subtract(money); + } else { + fin.setSubscriptionMoney(deposit); + deposit = BigDecimal.ZERO; + } + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(m.getJrSid()); + fin.setKxState("01"); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + } + } + } + } + if (histories.size() > 0 && !histories.isEmpty()) { + loanRepaymentHistoryService.saveList(histories); + } + if (payments.size() > 0 && !payments.isEmpty()) { + loanRepaymentPlanDetailsService.updateList(payments); + } + if (yqlx.size() > 0 && !yqlx.isEmpty()) { + loanRepaymentPlanDetailsService.updateList(yqlx); + } + selectList.removeAll(Collections.singleton(null)); + if (selectList.size() > 0 && !selectList.isEmpty()) { + ResultBean resultBean = finSelectedReceivablesDetailedFeign.saveAll(selectList); + } + } + + //--------------------------------- 减免 ---------------------------- + private void reliefMoney(LoanSettleApply loanSettleApply) { + String userSid = loanSettleApply.getCreateBySid(); + String busVinSid = loanSettleApply.getBusVinSid(); + List histories = new ArrayList<>();//还款记录 + List selectList = new ArrayList<>(); + List payments = new ArrayList<>(); //消减垫款金额列表 + List yqlx = new ArrayList<>(); //消减逾期利息列表 + LoanRepaymentPlanDetails planDetails = baseMapper.selectByBusVinSidAndDesc(loanSettleApply.getBusVinSid()); + String scheduleSid = planDetails.getScheduleSid(); + LoanRepaymentSchedule schedule = loanRepaymentScheduleService.fetchBySid(scheduleSid); + if (schedule.getIsOtherPolicy().equals("1") && schedule.getSameBank().equals("0")) { + planDetails = baseMapper.selectMainPeriodByBusVinSid(loanSettleApply.getBusVinSid()); + } + String planDetailsSid = planDetails.getSid(); + //资金占用费 + List p = baseMapper.selNoReturnJrMoneyByBusVinSidAndKeyDesc(busVinSid, "006"); + p.removeAll(Collections.singleton(null)); + if (!p.isEmpty() && p.size() > 0) { + for (PlanNoReturnMoney m : p) { + BigDecimal money = new BigDecimal(m.getMoney()); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(userSid); + fin.setRemarks("减免"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("资金占用费"); + fin.setSubscriptionMoney(money); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(m.getJrSid()); + fin.setKxState("01"); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + } + } + //月还 + List p1 = baseMapper.selPlansNoReturnMoneyByBusVinSidDesc(busVinSid); + p1.removeAll(Collections.singleton(null)); + if (!p1.isEmpty() && p1.size() > 0) { + for (PlanNoReturnMoney m : p1) { + BigDecimal money = new BigDecimal(m.getMoney()); + String sid = m.getSid(); + String mSid = m.getMSid(); + LoanRepaymentHistory history = new LoanRepaymentHistory(); + history.setCreateBySid(userSid); + history.setDataTime(new Date()); + history.setUpdateState("1"); + history.setUpdateTime(new Date()); + history.setActualDate(new Date()); + history.setBuckleKey("003"); + history.setBuckle("审核通过"); + history.setReturnWayKey("05"); + history.setReturnWay("减免"); + history.setPayState(0); + history.setPlanDetailSid(sid); + history.setScheduleSid(mSid); + history.setActualMoney(money); + histories.add(history); + LoanRepaymentPlanDetails pd = loanRepaymentPlanDetailsService.fetchBySid(sid); + if (null != pd.getPaymentMoney()) { + BigDecimal paymentMoney = pd.getPaymentMoney(); + pd.setPaymentMoney(new BigDecimal("0")); + payments.add(pd); + } + } + } + //垫资方逾期利息 + List p2 = baseMapper.selNoReturnJrMoneyByBusVinSidAndKeyDesc(busVinSid, "005"); + p2.removeAll(Collections.singleton(null)); + if (!p2.isEmpty() && p2.size() > 0) { + for (PlanNoReturnMoney m : p2) { + BigDecimal money = new BigDecimal(m.getMoney()); + String sid = m.getSid(); + LoanRepaymentPlanDetails pd = loanRepaymentPlanDetailsService.fetchBySid(sid); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(userSid); + fin.setRemarks("减免"); + fin.setVIN(pd.getVinNo()); + fin.setUseOrgSid(pd.getUseOrgSid()); + fin.setReceivablesName("资方逾期利息"); + fin.setSubscriptionMoney(money); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(m.getJrSid()); + fin.setKxState("01"); + fin.setUseOrgName(pd.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + if (null != pd.getPaymentInterest()) { + BigDecimal paymentInterest = pd.getPaymentInterest(); + pd.setPaymentInterest(new BigDecimal("0")); + yqlx.add(pd); + } + } + } + //资方逾期利息 + PlanNoReturnMoney p3 = baseMapper.selectNoReturnMoneyByType(planDetailsSid, "结清时资方逾期利息"); + if (null != p3) { + BigDecimal money = new BigDecimal(p3.getMoney()); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("减免"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("结清时资方逾期利息"); + fin.setSubscriptionMoney(money); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(p3.getJrSid()); + fin.setKxState("01"); + fin.setPurchaseSystemSid(""); + fin.setPurchaseSystemName(""); + fin.setStaffUserSid(""); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + } + //名义价 + PlanNoReturnMoney p4 = baseMapper.selectNoReturnMoneyByType(planDetailsSid, "名义价"); + if (null != p4) { + BigDecimal money = new BigDecimal(p4.getMoney()); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("减免"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("名义价"); + fin.setSubscriptionMoney(money); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(p4.getJrSid()); + fin.setKxState("01"); + fin.setPurchaseSystemSid(""); + fin.setPurchaseSystemName(""); + fin.setStaffUserSid(""); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + } + //合同违约金 + PlanNoReturnMoney p5 = baseMapper.selectNoReturnMoneyByType(planDetailsSid, "合同违约金"); + if (null != p5) { + BigDecimal money = new BigDecimal(p5.getMoney()); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("减免"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("合同违约金"); + fin.setSubscriptionMoney(money); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(p5.getJrSid()); + fin.setKxState("01"); + fin.setPurchaseSystemSid(""); + fin.setPurchaseSystemName(""); + fin.setStaffUserSid(""); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + } + //其他费用 + PlanNoReturnMoney p6 = baseMapper.selectNoReturnMoneyByType(planDetailsSid, "其他费用"); + if (null != p6) { + BigDecimal money = new BigDecimal(p6.getMoney()); + FinSelectedReceivablesDetailed fin = new FinSelectedReceivablesDetailed(); + fin.setCreateBySid(planDetails.getSalesUserSid()); + fin.setRemarks("减免"); + fin.setVIN(planDetails.getVinNo()); + fin.setUseOrgSid(planDetails.getUseOrgSid()); + fin.setReceivablesName("其他费用"); + fin.setSubscriptionMoney(money); + fin.setSubscriptionDate(DateUtil.today()); + fin.setAuditState(3); + fin.setAuditDate(DateUtil.today()); + fin.setReceivablesSid(p6.getJrSid()); + fin.setKxState("01"); + fin.setPurchaseSystemSid(""); + fin.setPurchaseSystemName(""); + fin.setStaffUserSid(""); + fin.setUseOrgName(planDetails.getUseOrgName()); + fin.setOrgSidPath(loanSettleApply.getOrgSidPath()); + selectList.add(fin); + } + if (histories.size() > 0 && !histories.isEmpty()) { + loanRepaymentHistoryService.saveList(histories); + } + if (payments.size() > 0 && !payments.isEmpty()) { + loanRepaymentPlanDetailsService.updateList(payments); + } + if (yqlx.size() > 0 && !yqlx.isEmpty()) { + loanRepaymentPlanDetailsService.updateList(yqlx); + } + selectList.removeAll(Collections.singleton(null)); + if (selectList.size() > 0 && !selectList.isEmpty()) { + ResultBean resultBean = finSelectedReceivablesDetailedFeign.saveAll(selectList); + } + } + //--------------------资方结清款到出纳代付款列表------------------ + private void pushBankSettlePrice(LoanSettleApply loanSettleApply) { + if (StringUtils.isBlank(loanSettleApply.getBusSid())) { + LoanSettleBankCost bankCost = loanSettleBankCostService.selectByMainSid(loanSettleApply.getSid()); + if (null != bankCost) { + if (null != bankCost.getBankSettlePrice()) { + BigDecimal bankSettlePrice = bankCost.getBankSettlePrice(); + if (bankSettlePrice.compareTo(BigDecimal.ZERO) > 0) { + FinPaymentrecordDto finPaymentrecordDto = new FinPaymentrecordDto(); + finPaymentrecordDto.setApplySid(""); + finPaymentrecordDto.setPayCompanySid(""); + finPaymentrecordDto.setPayType(1); + finPaymentrecordDto.setCreateOrgSid(loanSettleApply.getUseOrgSid()); + finPaymentrecordDto.setUseOrgSid(loanSettleApply.getUseOrgSid()); + finPaymentrecordDto.setCostTypeKey(""); + finPaymentrecordDto.setCostTypeValue("资方结清款"); + finPaymentrecordDto.setCostTitleKey(""); + finPaymentrecordDto.setCostTitleValue("资方结清款"); + finPaymentrecordDto.setReceiveBank(""); + if (StringUtils.isNotBlank(bankCost.getBankAccount())) { + finPaymentrecordDto.setReceiveBankAccount(bankCost.getBankAccount()); + } + if (StringUtils.isNotBlank(bankCost.getAccountName())) { + finPaymentrecordDto.setReceiveCompany(bankCost.getAccountName()); + } + finPaymentrecordDto.setCost(bankSettlePrice.toString()); + finPaymentrecordDto.setAccountsReceive(bankSettlePrice.toString()); + finPaymentrecordDto.setBusSid(loanSettleApply.getSid()); + finPaymentrecordDto.setPayRemark(""); + finPaymentrecordDto.setPayCode(""); + finPaymentrecordDto.setCreateBySid(loanSettleApply.getCreateBySid()); + finPaymentrecordDto.setUpdateBySid(loanSettleApply.getCreateBySid()); + finPaymentrecordDto.setRemarks(loanSettleApply.getRemarks()); + finPaymentrecordDto.setPurchaseSystemSid(""); + finPaymentrecordDto.setPurchaseSystemName(""); + finPaymentrecordDto.setBusRemarks(""); + String sid = finPaymentrecordFeign.save(finPaymentrecordDto).getData(); + } + } + } + } + } + private void pushUnColl(String businessSid) { LoanSettleApply loanSettleApply = fetchBySid(businessSid); List list = new ArrayList<>(); @@ -1452,8 +2146,8 @@ public class LoanSettleApplyService extends MybatisBaseService page = PagerUtil.queryToPage(pagerQuery); @@ -1640,13 +2334,47 @@ public class LoanSettleApplyService extends MybatisBaseService 0) { return rb.setMsg("只能在结清申请发起当日确认客户结清,若需结清,请重新发起结清申请!"); - } else { - pushConfirm(sid); - loanSettleApply.setState(1); - baseMapper.updateById(loanSettleApply); } + loanSettleApply.setState(1); + baseMapper.updateById(loanSettleApply); + carryForward(loanSettleApply); + reliefMoney(loanSettleApply); + //更新车辆表结清状态 + baseMapper.updateBus(loanSettleApply.getBusVinSid(), "1"); + //推送资方结清款到出纳代付款列表 + pushBankSettlePrice(loanSettleApply); return rb.success(); } + + public boolean isSettle(LoanSettleApply loanSettleApply) { + boolean isSettle = true; + String busVinSid = loanSettleApply.getBusVinSid(); + BigDecimal sumMoney = BigDecimal.ZERO; + BigDecimal dueMoney = BigDecimal.ZERO; //月还 + BigDecimal jrMoney = BigDecimal.ZERO; //金融认款金额 + SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); + Date closeDate = loanSettleApply.getCloseDate(); + String formatDate = sdf.format(closeDate); + String jMoney = baseMapper.selJrMoneyByBusVinSidAndCloseDate(busVinSid,formatDate); + jrMoney = new BigDecimal(jMoney); + String dMoney = baseMapper.selDueMoneyByBusVinSidAndCloseDate(busVinSid,formatDate); + dueMoney = new BigDecimal(dMoney); + sumMoney = jrMoney.add(dueMoney); + LoanSettleCompanyReduction reduction = loanSettleCompanyReductionService.selectByMainSid(loanSettleApply.getSid()); + if (null != reduction) { + if (null != reduction.getAmountTo()) { + BigDecimal amountTo = reduction.getAmountTo(); + if (sumMoney.compareTo(amountTo) < 0) { + isSettle = false; + } + } + } + return isSettle; + } }