verou
2025-04-07 d0c039c4924ab4348d5a44738f8359ed8f622a74
rsf-server/src/main/java/com/vincent/rsf/server/manager/service/impl/AsnOrderItemServiceImpl.java
@@ -13,7 +13,9 @@
import com.vincent.rsf.server.api.service.ReportMsgService;
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.PageParam;
import com.vincent.rsf.server.common.utils.CommonUtil;
import com.vincent.rsf.server.common.utils.ExcelUtil;
import com.vincent.rsf.server.common.utils.FieldsUtils;
import com.vincent.rsf.server.manager.controller.params.BatchUpdateParam;
import com.vincent.rsf.server.manager.entity.AsnOrder;
import com.vincent.rsf.server.manager.entity.excel.AsnOrderTemplate;
@@ -103,21 +105,36 @@
        return R.ok("操作成功!!");
    }
    /**
     * @author Ryan
     * @description ASN明细单据保存,及扩展字段保存
     * @param
     * @return
     * @time 2025/4/7 09:59
     */
    @Override
    public boolean fieldsSave(Map<String, Object> params) {
    @Transactional(rollbackFor = Exception.class)
    public boolean fieldsSave(Map<String, Object> params){
        AsnOrderItem asnOrderItem = JSONObject.parseObject(JSONObject.toJSONString(params), AsnOrderItem.class);
        if (StringUtils.isBlank(asnOrderItem.getTrackCode())) {
            String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_LABEL_CODE, asnOrderItem);
            asnOrderItem.setTrackCode(ruleCode);
        }
        if (!this.saveOrUpdate(asnOrderItem)) {
            throw new CoolException("收货通知单明细保存失败!!");
        if (Objects.isNull(asnOrderItem.getAnfme()) || Double.compare(asnOrderItem.getAnfme(), 0.0) <= 0) {
            throw new CoolException("计划收货数不能为空!!");
        }
        //保存扩展字段
        try {
            ExtendFieldsUtils.saveFields(params);
            String uuid16 = CommonUtil.randomUUID16();
            Boolean fields = FieldsUtils.saveFields(params, uuid16);
            if (fields) {
                asnOrderItem.setFieldsIndex(uuid16);
            }
        } catch (Exception e) {
            throw new RuntimeException(e);
        }
        if (!this.saveOrUpdate(asnOrderItem)) {
            throw new CoolException("收货通知单明细保存失败!!");
        }
        return true;
    }
@@ -128,7 +145,7 @@
        if (hsahMap.getRecords().isEmpty()) {
            return hsahMap.setRecords(new ArrayList<>());
        }
        hsahMap.setRecords(ExtendFieldsUtils.getExtendFields(hsahMap.getRecords()));
        hsahMap.setRecords(FieldsUtils.getExtendFields(hsahMap.getRecords()));
        return hsahMap;
    }