From 18eb8ad4c66fd8515706e2a910ad50ac8f06ba22 Mon Sep 17 00:00:00 2001 From: cuilei <ray_tsu1@163.com> Date: 星期四, 05 六月 2025 16:58:07 +0800 Subject: [PATCH] 工具管理-增加刃磨出库 --- lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/OutboundOrderController.java | 23 ++++ lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IOutboundOrderService.java | 5 + lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/vo/OutboundDetailVo.java | 3 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/enums/SharpenStatus.java | 35 +++++++ lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ToolLedgerDetailMapper.xml | 1 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/OutboundDetailMapper.xml | 2 lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java | 97 +++++++++++++++++-- lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/OutboundOrderMapper.xml | 39 +++++++ lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/vo/SelectOutboundToolVo.java | 45 +++++++++ lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/OutboundOrderMapper.java | 8 + lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/ToolSharpening.java | 4 11 files changed, 252 insertions(+), 10 deletions(-) diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/OutboundOrderController.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/OutboundOrderController.java index cc98da0..9d82e25 100644 --- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/OutboundOrderController.java +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/controller/OutboundOrderController.java @@ -17,6 +17,7 @@ import org.jeecg.modules.tms.entity.dto.OutBoundRequestDto; import org.jeecg.modules.tms.entity.dto.OutboundOrderAndDetailDto; import org.jeecg.modules.tms.entity.vo.OutboundDetailVo; +import org.jeecg.modules.tms.entity.vo.SelectOutboundToolVo; import org.jeecg.modules.tms.enums.OutBillStatus; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.*; @@ -96,6 +97,28 @@ return Result.OK(pageList); } + @ApiOperation(value="鍑哄簱鐢宠-鏌ヨ鍊熺敤鍑哄簱宸ュ叿鍒楄〃", notes="鍑哄簱鐢宠-鏌ヨ鍊熺敤鍑哄簱宸ュ叿鍒楄〃") + @GetMapping(value = "/selectBorrowOutboundToolPageList") + public Result<IPage<SelectOutboundToolVo>> queryBorrowOutboundToolPageList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + Map<String, String[]> parameterMap = req.getParameterMap(); + Page<SelectOutboundToolVo> page = new Page<>(pageNo, pageSize); + IPage<SelectOutboundToolVo> pageList = outboundOrderService.queryBorrowOutboundToolPageList(page, parameterMap); + return Result.OK(pageList); + } + + @ApiOperation(value="鍑哄簱鐢宠-鏌ヨ鍒冪(鍑哄簱宸ュ叿鍒楄〃", notes="鍑哄簱鐢宠-鏌ヨ鍒冪(鍑哄簱宸ュ叿鍒楄〃") + @GetMapping(value = "/selectSharpenOutboundToolPageList") + public Result<IPage<SelectOutboundToolVo>> querySharpenOutboundToolPageList(@RequestParam(name="pageNo", defaultValue="1") Integer pageNo, + @RequestParam(name="pageSize", defaultValue="10") Integer pageSize, + HttpServletRequest req) { + Map<String, String[]> parameterMap = req.getParameterMap(); + Page<SelectOutboundToolVo> page = new Page<>(pageNo, pageSize); + IPage<SelectOutboundToolVo> pageList = outboundOrderService.querySharpenOutboundToolPageList(page, parameterMap); + return Result.OK(pageList); + } + @ApiOperation(value="tms_outbound_order-閫氳繃id鏌ヨ", notes="tms_outbound_order-閫氳繃id鏌ヨ") @GetMapping(value = "/queryById") public Result<?> queryById(@RequestParam("id") String id) { diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/ToolSharpening.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/ToolSharpening.java index 35ef615..95378ab 100644 --- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/ToolSharpening.java +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/ToolSharpening.java @@ -52,6 +52,10 @@ @ApiModelProperty(value = "鍒冪(缁撴灉鍙婂缓璁�") private String sharpeningResult; + /** 鍒冪(鐘舵��;1:寰呭垉纾紱2:鍒冪(涓紱3:宸插畬鎴� */ + @ApiModelProperty(value = "鍒冪(鐘舵��;1:寰呭垉纾紱2:鍒冪(涓紱3:宸插畬鎴�") + private String sharpeningStatus; + /** 璐d换浜� */ @ApiModelProperty(value = "璐d换浜�") @Dict(dictTable = "sys_user", dicText = "realname", dicCode = "id") diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/vo/OutboundDetailVo.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/vo/OutboundDetailVo.java index 0d17e6a..182373b 100644 --- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/vo/OutboundDetailVo.java +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/vo/OutboundDetailVo.java @@ -93,4 +93,7 @@ /**鍙拌处鏄庣粏琛ㄤ富閿甶d*/ @ApiModelProperty(value = "鍙拌处鏄庣粏琛ㄤ富閿甶d,宸ュ叿閫夋嫨鏃跺幓閲嶇敤") private String toolLedgerDetailId; + /**宸ュ叿鍒冪(琛ㄤ富閿甶d*/ + @ApiModelProperty(value = "宸ュ叿鍒冪(琛ㄤ富閿甶d,閫夋嫨鍒冪(宸ュ叿鏃跺幓閲嶇敤") + private String toolSharpeningId; } diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/vo/SelectOutboundToolVo.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/vo/SelectOutboundToolVo.java new file mode 100644 index 0000000..af76daa --- /dev/null +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/entity/vo/SelectOutboundToolVo.java @@ -0,0 +1,45 @@ +package org.jeecg.modules.tms.entity.vo; + +import com.baomidou.mybatisplus.annotation.TableField; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import org.jeecgframework.poi.excel.annotation.Excel; + +import java.math.BigDecimal; + +/*** + * 宸ュ叿鍑哄簱鐢宠-閫夋嫨鍑哄簱宸ュ叿鍒楄〃灞曠ず瀵硅薄灏佽 + */ +@Data +public class SelectOutboundToolVo { + /**涓婚敭id*/ + @ApiModelProperty(value = "涓婚敭id") + private String id; + /**鍙拌处鏄庣粏id*/ + @ApiModelProperty(value = "鍙拌处鏄庣粏id") + private String toolLedgerDetailId; + /**宸ュ叿缂栫爜(鍏宠仈瀛楁)*/ + @ApiModelProperty(value = "宸ュ叿缂栫爜(鍏宠仈瀛楁,瀛榯ms_base_tools琛ㄤ富閿甶d)") + private String toolCode; + /**宸ュ叿缂栫爜*/ + @ApiModelProperty(value = "宸ュ叿缂栫爜(tms_base_tools琛╰ool_code瀛楁)") + private String toolNum; + /**宸ュ叿缂栧彿*/ + @ApiModelProperty(value = "宸ュ叿缂栧彿") + private String toolId; + /**宸ュ叿涓枃鍚嶇О*/ + @ApiModelProperty(value = "宸ュ叿涓枃鍚嶇О") + private String toolName; + /**鏁伴噺*/ + @ApiModelProperty(value = "鏁伴噺") + private BigDecimal quantity; + /**搴撳尯/搴撳彿*/ + @ApiModelProperty(value = "搴撳尯/搴撳彿") + private String warehouseId; + /**浠撳簱鍚嶇О*/ + @ApiModelProperty(value = "浠撳簱鍚嶇О") + private String warehouseName; + /**搴撲綅鍙�*/ + @ApiModelProperty(value = "搴撲綅鍙�") + private String positionCode; +} diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/enums/SharpenStatus.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/enums/SharpenStatus.java new file mode 100644 index 0000000..c387997 --- /dev/null +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/enums/SharpenStatus.java @@ -0,0 +1,35 @@ +package org.jeecg.modules.tms.enums; + +import lombok.Getter; + +/** + * 鍒冪(鐘舵�佹灇涓� + */ +@Getter +public enum SharpenStatus { + PENDING("1", "寰呭垉纾�"), + IN_PROGRESS("2", "鍒冪(涓�"), + COMPLETED("3", "宸插畬鎴�"); + + private final String value; + private final String description; + + SharpenStatus(String value, String description) { + this.value = value; + this.description = description; + } + + /** + * 鏍规嵁鐘舵�佸�艰幏鍙栨灇涓惧疄渚� + * @param status 鐘舵�佸�� + * @return 鏋氫妇瀹炰緥鎴杗ull + */ + public static SharpenStatus fromStatus(String status) { + for (SharpenStatus value : values()) { + if (value.getValue().equals(status)) { + return value; + } + } + return null; + } +} diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/OutboundOrderMapper.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/OutboundOrderMapper.java index caa1fd5..97408b0 100644 --- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/OutboundOrderMapper.java +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/OutboundOrderMapper.java @@ -1,12 +1,14 @@ package org.jeecg.modules.tms.mapper; import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Constants; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import org.apache.ibatis.annotations.Param; import org.jeecg.modules.tms.entity.OutboundOrder; import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import org.jeecg.modules.tms.entity.vo.SelectOutboundToolVo; /** * @Description: tms_outbound_order @@ -18,4 +20,10 @@ IPage<OutboundOrder> queryPageList(Page<OutboundOrder> page, @Param(Constants.WRAPPER) Wrapper<OutboundOrder> queryWrapper); + + IPage<SelectOutboundToolVo> querySharpenOutboundToolPageList(Page<SelectOutboundToolVo> page, + @Param(Constants.WRAPPER) Wrapper<SelectOutboundToolVo> queryWrapper); + + IPage<SelectOutboundToolVo> queryBorrowOutboundToolPageList(Page<SelectOutboundToolVo> page, + @Param(Constants.WRAPPER) Wrapper<SelectOutboundToolVo> queryWrapper); } diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/OutboundDetailMapper.xml b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/OutboundDetailMapper.xml index 3f57e85..5fbfba6 100644 --- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/OutboundDetailMapper.xml +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/OutboundDetailMapper.xml @@ -37,6 +37,7 @@ t3.supplier_id supplierId, t11.id toolLedgerDetailId, t11.quantity, + t13.id toolSharpeningId, ISNULL(t12.warehouse_id, '') + '/' + ISNULL(t12.warehouse_name, '') warehouseName, <choose> <when test="ew.paramNameValuePairs.paramaTableName == '1'"> @@ -72,6 +73,7 @@ LEFT JOIN tms_base_tools t2 on t1.tool_code = t2.id LEFT JOIN tms_tools_config_property t3 on t3.tool_code = t2.id LEFT JOIN tms_tool_ledger_detail t11 on t1.tool_code = t11.tool_code and t1.tool_id = t11.tool_id + LEFT JOIN tms_tool_sharpening t13 on t1.tool_code = t13.tool_code and t1.tool_id = t13.tool_id LEFT JOIN tms_warehouse t12 on t1.storage_location = t12.id <choose> <when test="ew.paramNameValuePairs.paramaTableName == '1'"> diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/OutboundOrderMapper.xml b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/OutboundOrderMapper.xml index b0ce510..27580e2 100644 --- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/OutboundOrderMapper.xml +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/OutboundOrderMapper.xml @@ -22,4 +22,43 @@ FROM tms_outbound_order t ${ew.customSqlSegment} </select> + <select id="querySharpenOutboundToolPageList" + resultType="org.jeecg.modules.tms.entity.vo.SelectOutboundToolVo"> + SELECT + t1.id, + t2.id toolLedgerDetailId, + t1.tool_code toolCode, + t3.tool_code toolNum, + t1.tool_id toolId, + t3.chinese_name toolName, + t3.tool_model toolModel, + t2.quantity, + t2.warehouse_id warehouseId, + ISNULL(t4.warehouse_id, '') + '/' + ISNULL(t4.warehouse_name, '') warehouseName, + t2.position_code positionCode + FROM tms_tool_sharpening t1 + INNER JOIN tms_tool_ledger_detail t2 on t1.tool_id = t2.tool_id + LEFT JOIN tms_base_tools t3 on t1.tool_code = t3.id + LEFT JOIN tms_warehouse t4 on t2.warehouse_id = t4.id + ${ew.customSqlSegment} + </select> + <select id="queryBorrowOutboundToolPageList" + resultType="org.jeecg.modules.tms.entity.vo.SelectOutboundToolVo"> + SELECT + t.id, + t.id toolLedgerDetailId, + t.tool_code toolCode, + p.tool_code toolNum, + t.tool_id toolId, + p.chinese_name toolName, + p.tool_model toolModel, + t.quantity, + t.warehouse_id warehouseId, + ISNULL(q.warehouse_id, '') + '/' + ISNULL(q.warehouse_name, '') warehouseName, + t.position_code positionCode + FROM tms_tool_ledger_detail t + LEFT JOIN tms_base_tools p on t.tool_code = p.id + LEFT JOIN tms_warehouse q on t.warehouse_id = q.id + ${ew.customSqlSegment} + </select> </mapper> \ No newline at end of file diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ToolLedgerDetailMapper.xml b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ToolLedgerDetailMapper.xml index cd683ee..9d8a3db 100644 --- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ToolLedgerDetailMapper.xml +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/mapper/xml/ToolLedgerDetailMapper.xml @@ -5,6 +5,7 @@ <select id="queryPageList" resultType="org.jeecg.modules.tms.entity.ToolLedgerDetail"> SELECT t.id, + t.id toolLedgerDetailId, t.tool_code toolCode, p.tool_code toolNum, t.tool_id toolId, diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IOutboundOrderService.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IOutboundOrderService.java index ba2b05b..fd6e430 100644 --- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IOutboundOrderService.java +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/IOutboundOrderService.java @@ -9,6 +9,7 @@ import org.jeecg.modules.tms.entity.dto.OutBoundOrderFlowDto; import org.jeecg.modules.tms.entity.dto.OutBoundRequestDto; import org.jeecg.modules.tms.entity.dto.OutboundOrderAndDetailDto; +import org.jeecg.modules.tms.entity.vo.SelectOutboundToolVo; import org.springframework.beans.factory.annotation.Autowired; import java.io.Serializable; import java.util.Collection; @@ -51,4 +52,8 @@ void outBoundByApply(List<OutBoundRequestDto> outBoundRequestList); void outBoundByAdd(List<OutBoundAddDto> boundAddList); + + IPage<SelectOutboundToolVo> querySharpenOutboundToolPageList(Page<SelectOutboundToolVo> page, Map<String, String[]> parameterMap); + + IPage<SelectOutboundToolVo> queryBorrowOutboundToolPageList(Page<SelectOutboundToolVo> page, Map<String, String[]> parameterMap); } diff --git a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java index 221f064..936e09c 100644 --- a/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java +++ b/lxzn-module-tms/src/main/java/org/jeecg/modules/tms/service/impl/OutboundOrderServiceImpl.java @@ -30,10 +30,8 @@ import org.jeecg.modules.tms.entity.dto.OutBoundOrderFlowDto; import org.jeecg.modules.tms.entity.dto.OutBoundRequestDto; import org.jeecg.modules.tms.entity.dto.OutboundOrderAndDetailDto; -import org.jeecg.modules.tms.enums.OutBillStatus; -import org.jeecg.modules.tms.enums.OutBoundStatusEnum; -import org.jeecg.modules.tms.enums.OutStorehouseType; -import org.jeecg.modules.tms.enums.ToolCirculationStatus; +import org.jeecg.modules.tms.entity.vo.SelectOutboundToolVo; +import org.jeecg.modules.tms.enums.*; import org.jeecg.modules.tms.mapper.OutboundDetailMapper; import org.jeecg.modules.tms.convert.OutboundOrderConvert; import org.jeecg.modules.tms.mapper.OutboundOrderMapper; @@ -67,6 +65,8 @@ private IOutStoreDetailService outStoreDetailService; @Autowired private IBaseToolsService baseToolsService; + @Autowired + private IToolsSharpeningService toolsSharpeningService; @Autowired private ISysBusinessCodeRuleService businessCodeRuleService; @Autowired @@ -206,13 +206,13 @@ String toolCode = detail.getToolCode(); List<ToolLedgerDetail> ledgerDetailList = toolLedgerDetailList.stream().filter(item -> Objects.equals(item.getToolCode(), toolCode) && Objects.equals(item.getToolId(), detail.getToolId())).collect(Collectors.toList()); + BaseTools tools = baseToolsService.getById(toolCode); if (CollectionUtil.isEmpty(ledgerDetailList)) { - BaseTools tools = baseToolsService.getById(toolCode); throw new JeecgBootException("缂栫爜涓恒��" + tools.getToolCode() + "銆戠殑宸ュ叿锛屽簱瀛樹笉瓒筹紒"); } else { ToolLedgerDetail toolLedgerDetail = ledgerDetailList.get(0); if (toolLedgerDetail.getQuantity().compareTo(detail.getOutboundQuantity()) < 0) { - throw new JeecgBootException("缂栫爜涓恒��" + toolLedgerDetail.getToolCode() + "銆戠殑宸ュ叿锛屽簱瀛樹笉瓒筹紒"); + throw new JeecgBootException("缂栫爜涓恒��" + tools.getToolCode() + "銆戠殑宸ュ叿锛屽簱瀛樹笉瓒筹紒"); } else { //鎵e噺鍙拌处鏄庣粏涓殑搴撳瓨锛屾墽琛岄攣搴� if (StrUtil.isBlank(detail.getToolId())) { @@ -386,22 +386,32 @@ Map<String, ToolLedger> toolLedgerMap = toolLedgerService.list(new LambdaQueryWrapper<ToolLedger>().in(ToolLedger::getToolId, toolIdList)).stream() .collect(Collectors.toMap(ToolLedger::getToolId, item -> item, (k1, k2) -> k1)); - LambdaQueryWrapper<ToolLedgerDetail> queryWrapper = new LambdaQueryWrapper<>(); + LambdaQueryWrapper<ToolLedgerDetail> ledgerDetailQueryWrapper = new LambdaQueryWrapper<>(); + LambdaQueryWrapper<ToolSharpening> toolSharpenQueryWrapper = new LambdaQueryWrapper<>(); for (int i = 0; i < outboundDetailList.size(); i++) { if (i > 0) { - queryWrapper.or(); + ledgerDetailQueryWrapper.or(); + toolSharpenQueryWrapper.or(); } OutboundDetail detail = outboundDetailList.get(i); - queryWrapper.or(wrapper -> + ledgerDetailQueryWrapper.or(wrapper -> wrapper.eq(ToolLedgerDetail::getToolCode, detail.getToolCode()) .eq(ToolLedgerDetail::getToolId, detail.getToolId()) //濡傛灉涓嶇鍒版妸锛岃瀛楁涓虹┖ ); + toolSharpenQueryWrapper.or(wrapper -> + wrapper.eq(ToolSharpening::getToolCode, detail.getToolCode()) + .eq(ToolSharpening::getToolId, detail.getToolId()) + .eq(ToolSharpening::getSharpeningStatus, SharpenStatus.PENDING.getValue()) + ); } - List<ToolLedgerDetail> toolLedgerDetailList = toolLedgerDetailService.list(queryWrapper); + List<ToolLedgerDetail> toolLedgerDetailList = toolLedgerDetailService.list(ledgerDetailQueryWrapper); + List<ToolSharpening> toolSharpeningList = toolsSharpeningService.list(toolSharpenQueryWrapper); + List<ToolLedger> toolLedgerUpdateList = CollectionUtil.newArrayList(); List<ToolLedgerDetail> toolLedgerDetailUpdateList = CollectionUtil.newArrayList(); List<OutStoreDetail> outStoreAddList = CollectionUtil.newArrayList(); List<OutboundDetail> outboundDetailUpdateList = CollectionUtil.newArrayList(); + List<ToolSharpening> toolSharpeningUpdateList = CollectionUtil.newArrayList(); for (OutboundDetail detail : outboundDetailList) { //鏇存柊搴撳瓨鍙拌处 @@ -448,6 +458,15 @@ toolLedgerDetailUpdateList.add(item); }); + if (outStorehouseType == OutStorehouseType.GRINDING_OUTBOUND) { + //鏇存柊鍒冪(鍗曠姸鎬� + toolSharpeningList.stream().filter(item -> item.getToolCode().equals(detail.getToolCode()) && item.getToolId().equals(detail.getToolId())) + .findFirst().ifPresent(item -> { + item.setSharpeningStatus(SharpenStatus.IN_PROGRESS.getValue()); + toolSharpeningUpdateList.add(item); + }); + } + //璁板綍鍑哄簱娴佹按 OutStoreDetail outStoreDetail = new OutStoreDetail() .setToolCode(detail.getToolCode()) @@ -473,6 +492,7 @@ toolLedgerDetailService.updateBatchById(toolLedgerDetailUpdateList); outStoreDetailService.saveBatch(outStoreAddList); outboundDetailService.updateBatchById(outboundDetailUpdateList); + toolsSharpeningService.updateBatchById(toolSharpeningUpdateList); //鏇存柊鐢宠鍗� boolean allMatch = outboundDetailService.list(new LambdaQueryWrapper<OutboundDetail>() @@ -534,7 +554,10 @@ .toMap(OutBoundAddDto::getToolLedgerDetailId, item -> item, (k1, k2) -> k1)); Map<String, ToolLedgerDetail> toolLedgerDetailMap = toolLedgerDetailService.listByIds(boundAddDtoMap.keySet()).stream() .collect(Collectors.toMap(ToolLedgerDetail::getId, item -> item, (k1, k2) -> k1)); + List<ToolSharpening> toolSharpeningList = toolsSharpeningService.list(new LambdaQueryWrapper<ToolSharpening>() + .in(ToolSharpening::getToolCode, toolBoundQuantityMap.keySet()).eq(ToolSharpening::getSharpeningStatus, SharpenStatus.PENDING.getValue())); List<ToolLedgerDetail> toolLedgerDetailUpdateList = CollectionUtil.newArrayList(); + List<ToolSharpening> toolSharpeningUpdateList = CollectionUtil.newArrayList(); for (String toolLedgerDetailId : boundAddDtoMap.keySet()) { OutBoundAddDto outBoundAddDto = boundAddDtoMap.get(toolLedgerDetailId); BigDecimal outboundQuantity = outBoundAddDto.getOutboundQuantity(); @@ -563,6 +586,12 @@ break; case GRINDING_OUTBOUND: toolLedgerDetail.setStatus(ToolCirculationStatus.GRINDING.getValue()); + //鍚屾椂鏇存柊鍒冪(鍗曠姸鎬� + toolSharpeningList.stream().filter(item -> item.getToolCode().equals(outBoundAddDto.getToolCode()) + && item.getToolId().equals(outBoundAddDto.getToolId())).findFirst().ifPresent(item -> { + item.setSharpeningStatus(SharpenStatus.IN_PROGRESS.getValue()); + toolSharpeningUpdateList.add(item); + }); break; default: throw new JeecgBootException("鏈煡鐨勫嚭搴撶被鍨嬶紒"); @@ -573,6 +602,7 @@ } toolLedgerService.updateBatchById(toolLedgerUpdateList); toolLedgerDetailService.updateBatchById(toolLedgerDetailUpdateList); + toolsSharpeningService.updateBatchById(toolSharpeningUpdateList); //璁板綍鍑哄簱娴佹按 List<OutStoreDetail> outStoreAddList = CollectionUtil.newArrayList(); for (OutBoundAddDto outBoundAddDto : boundAddList) { @@ -588,6 +618,53 @@ outStoreDetailService.saveBatch(outStoreAddList); } + @Override + public IPage<SelectOutboundToolVo> querySharpenOutboundToolPageList(Page<SelectOutboundToolVo> page, Map<String, String[]> parameterMap) { + QueryWrapper<SelectOutboundToolVo> queryWrapper = Wrappers.query(); + String[] toolCodes = parameterMap.get("toolCode"); + if (toolCodes != null && toolCodes.length > 0) { + queryWrapper.like("t3.tool_code", toolCodes[0]); + } + String[] classifyIds = parameterMap.get("classifyId"); + if (classifyIds != null && classifyIds.length > 0) { + queryWrapper.eq("t3.classify_id", classifyIds[0]); + } + String[] excludeIds = parameterMap.get("excludeIds"); + if (excludeIds != null && excludeIds.length > 0) { + String[] idArray = excludeIds[0].split(","); + queryWrapper.notIn("t1.id", idArray); + } + queryWrapper.eq("t1.sharpening_status", SharpenStatus.PENDING.getValue()); + return this.baseMapper.querySharpenOutboundToolPageList(page, queryWrapper); + } + + @Override + public IPage<SelectOutboundToolVo> queryBorrowOutboundToolPageList(Page<SelectOutboundToolVo> page, Map<String, String[]> parameterMap) { + QueryWrapper<SelectOutboundToolVo> queryWrapper = Wrappers.query(); + String[] toolCodes = parameterMap.get("toolCode"); + if (toolCodes != null && toolCodes.length > 0) { + queryWrapper.like("p.tool_code", toolCodes[0]); + } + String[] statuses = parameterMap.get("status"); + if (statuses != null && statuses.length > 0) { + queryWrapper.eq("t.status", statuses[0]); + } + String[] quantities = parameterMap.get("quantity"); + if (quantities != null && quantities.length > 0) { + queryWrapper.gt("t.quantity", quantities[0]); + } + String[] classifyIds = parameterMap.get("classifyId"); + if (classifyIds != null && classifyIds.length > 0) { + queryWrapper.eq("p.classify_id", classifyIds[0]); + } + String[] excludeIds = parameterMap.get("excludeIds"); + if (excludeIds != null && excludeIds.length > 0) { + String[] idArray = excludeIds[0].split(","); + queryWrapper.notIn("t.id", idArray); + } + return this.baseMapper.queryBorrowOutboundToolPageList(page, queryWrapper); + } + private boolean fromOneApply(List<OutBoundRequestDto> outBoundRequestList) { long count = outBoundRequestList.stream().map(OutBoundRequestDto::getOutBoundOrderId).distinct().count(); -- Gitblit v1.9.3