From 9cf4ac9c3f8301f5697f6d12ac4bf32855f0b044 Mon Sep 17 00:00:00 2001 From: yangyang Date: 星期一, 17 三月 2025 07:54:10 +0800 Subject: [PATCH] #新增 添加质检单管理 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java | 78 +++++++++++++++++++++++++++++++++++++++ 1 files changed, 78 insertions(+), 0 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java index 25066c9..73eeacb 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/QlyInspectServiceImpl.java @@ -1,12 +1,90 @@ package com.vincent.rsf.server.manager.service.impl; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.vincent.rsf.framework.common.R; +import com.vincent.rsf.framework.exception.CoolException; +import com.vincent.rsf.server.manager.controller.params.QlyInspectAndItem; +import com.vincent.rsf.server.manager.entity.AsnOrder; +import com.vincent.rsf.server.manager.entity.AsnOrderItem; +import com.vincent.rsf.server.manager.entity.QlyIsptItem; import com.vincent.rsf.server.manager.mapper.QlyInspectMapper; import com.vincent.rsf.server.manager.entity.QlyInspect; +import com.vincent.rsf.server.manager.service.AsnOrderItemService; +import com.vincent.rsf.server.manager.service.AsnOrderService; import com.vincent.rsf.server.manager.service.QlyInspectService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import com.vincent.rsf.server.manager.service.QlyIsptItemService; +import com.vincent.rsf.server.system.constant.SerialRuleCode; +import com.vincent.rsf.server.system.utils.SerialRuleUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; + +import java.util.ArrayList; +import java.util.List; +import java.util.Map; +import java.util.Objects; @Service("qlyInspectService") public class QlyInspectServiceImpl extends ServiceImpl<QlyInspectMapper, QlyInspect> implements QlyInspectService { + @Autowired + private AsnOrderItemService asnOrderItemService; + + @Autowired + private AsnOrderService asnOrderService; + + @Autowired + private QlyIsptItemService qlyIsptItemService; + + @Override + public List<AsnOrderItem> listByAsn(Map<String, Object> map) { + if (Objects.isNull(map.get("asnCode"))) { + throw new CoolException("鏀惰揣鍗曟嵁鏄庣粏缂栫爜涓嶈兘涓虹┖锛侊紒"); + } + AsnOrder asnOrder = asnOrderService.getOne(new LambdaQueryWrapper<AsnOrder>() + .eq(AsnOrder::getCode, map.get("asnCode")) + .ne(AsnOrder::getNtyStatus, 0)); + if (Objects.isNull(asnOrder)) { + throw new CoolException("鍗曟嵁涓嶅瓨鍦紒锛�"); + } + List<AsnOrderItem> asnOrderItems = asnOrderItemService.list(new LambdaQueryWrapper<AsnOrderItem>() + .eq(AsnOrderItem::getAsnCode, map.get("asnCode")) + .eq(AsnOrderItem::getNtyStatus, 1)); + if (asnOrderItems.isEmpty()) { + return new ArrayList<>(); + } + return asnOrderItems; + } + + @Override + public R allSave(QlyInspectAndItem params) { + if (Objects.isNull(params.getQlyInspect())) { + throw new CoolException("璐ㄦ鍗曟嵁涓嶈兘涓虹┖锛侊紒"); + } + QlyInspect inspect = params.getQlyInspect(); + if (Objects.isNull(inspect.getWkType())) { + throw new CoolException("涓氬姟绫诲瀷涓嶈兘涓虹┖锛侊紒"); + } + String code = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_INSPECT_WK_TYPE, inspect); + inspect.setCode(code); + if (!this.saveOrUpdate(inspect)) { + throw new CoolException("璐ㄦ鍗曚繚瀛樺け璐ワ紒锛�"); + } + List<QlyIsptItem> isptItems = params.getQlyIsptItems(); + if (isptItems.isEmpty()) { + return R.ok("淇濆瓨鎴愬姛锛侊紒"); + } + List<QlyIsptItem> items = new ArrayList<>(); + for (QlyIsptItem isptItem : isptItems) { + if (Objects.isNull(isptItem.getMatnrCode())) { + continue; + } + isptItem.setIspectId(inspect.getId()); + items.add(isptItem); + } + if (!qlyIsptItemService.saveOrUpdateBatch(items)) { + throw new CoolException("璐ㄦ鏄庣粏淇濆瓨澶辫触锛侊紒"); + } + return R.ok("淇濆瓨鎴愬姛锛侊紒"); + } } -- Gitblit v1.9.1