From 63250869b7059e1ffc108a16eaffc557f8a44689 Mon Sep 17 00:00:00 2001 From: skyouc Date: 星期一, 28 七月 2025 09:30:14 +0800 Subject: [PATCH] 调拔单功能优化 --- rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferItemServiceImpl.java | 61 ++++++++++++++++++++++++++++++ 1 files changed, 61 insertions(+), 0 deletions(-) diff --git a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferItemServiceImpl.java b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferItemServiceImpl.java index 094d00f..b0631b0 100644 --- a/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferItemServiceImpl.java +++ b/rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/TransferItemServiceImpl.java @@ -1,12 +1,73 @@ package com.vincent.rsf.server.manager.service.impl; +import com.alibaba.fastjson.JSONObject; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.vincent.rsf.framework.common.Cools; +import com.vincent.rsf.framework.exception.CoolException; +import com.vincent.rsf.server.common.utils.FieldsUtils; +import com.vincent.rsf.server.manager.entity.Companys; +import com.vincent.rsf.server.manager.entity.WkOrderItem; +import com.vincent.rsf.server.manager.enums.CompanysType; import com.vincent.rsf.server.manager.mapper.TransferItemMapper; import com.vincent.rsf.server.manager.entity.TransferItem; +import com.vincent.rsf.server.manager.service.CompanysService; import com.vincent.rsf.server.manager.service.TransferItemService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; +import org.apache.commons.lang3.StringUtils; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import java.util.Map; +import java.util.Objects; @Service("transferItemService") public class TransferItemServiceImpl extends ServiceImpl<TransferItemMapper, TransferItem> implements TransferItemService { + @Autowired + private CompanysService companysService; + + + /** + * @author Ryan + * @date 2025/7/28 + * @description: 璋冩嫈鍗曟墿灞曞瓧娈典繚瀛� + * @version 1.0 + */ + @Override + @Transactional(rollbackFor = Exception.class) + public boolean fieldsSave(Map<String, Object> params, Long loginUserId) { + TransferItem wkOrderItem = JSONObject.parseObject(JSONObject.toJSONString(params), TransferItem.class); + if (StringUtils.isNoneBlank(wkOrderItem.getSplrCode())) { + Companys companys = companysService.getOne(new LambdaQueryWrapper<Companys>() + .eq(Companys::getId, wkOrderItem.getSplrCode()) + .eq(Companys::getType, CompanysType.COMPANYS_TYPE_SUPPLIER.val)); + if (!Objects.isNull(companys)) { + wkOrderItem.setSplrId(companys.getId()); + } + } + if (Objects.isNull(wkOrderItem.getAnfme()) || Double.compare(wkOrderItem.getAnfme(), 0.0) <= 0) { + throw new CoolException("璁″垝鏁颁笉鑳戒负绌猴紒锛�"); + } + //淇濆瓨鎵╁睍瀛楁 + try { + StringBuffer sb = new StringBuffer(); + if (Objects.isNull(wkOrderItem.getFieldsIndex()) || StringUtils.isBlank(wkOrderItem.getFieldsIndex())) { + sb.append(wkOrderItem.getMatnrId() + wkOrderItem.getBatch() ); + //鑾峰彇16浣島uid + String uuid16 = Cools.md5Chinese(sb.toString()); + wkOrderItem.setFieldsIndex(uuid16); + params.put("index", uuid16); + } + //淇濆瓨鎴栨洿鏂板姩鎬佸瓧娈靛�� + FieldsUtils.updateFieldsValue(params); + } catch (Exception e) { + throw new RuntimeException(e); + } + wkOrderItem.setUpdateBy(loginUserId).setCreateBy(loginUserId); + if (!this.saveOrUpdate(wkOrderItem)) { + throw new CoolException("鏀惰揣閫氱煡鍗曟槑缁嗕繚瀛樺け璐ワ紒锛�"); + } + return true; + } } -- Gitblit v1.9.1