diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/StatusEnum.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/StatusEnum.java index 9a9bf349..caa08b65 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/StatusEnum.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/enums/StatusEnum.java @@ -1,14 +1,10 @@ package org.nl.common.enums; -import com.baomidou.mybatisplus.extension.api.R; import lombok.AllArgsConstructor; import lombok.Getter; import org.apache.commons.lang3.StringUtils; import org.nl.common.domain.exception.BadRequestException; import org.nl.common.utils.ForkMap; -import org.nl.common.utils.MapOf; - -import java.util.Map; /* * @author ZZQ @@ -38,6 +34,17 @@ public enum StatusEnum { OTHER_TASK_TYPE(ForkMap.of("转运", "70","tranforTask")), profit_loss(ForkMap.of("盘亏", "0",null,"盘盈", "1",null,"实盘", "2",null)), + /** + * ERP回传单据类型 + */ + ERP_TYPE(ForkMap.of("PRD_MO", "10", "生产订单", "PUR_ReceiveBill", "11", "收料通知单", + "SAL_SaleOrder", "12", "销售订单", "PRD_INSTOCK", "13", "生产入库单", "STK_InStock", "14", "采购入库单", + "PRD_PPBOM", "20", "生产用料清单", "PRD_PickMtrl", "21", "生产领料单", + "ka7c19edf9d4b4b39b8cc4a06802163b0", "22", "简单生产领料单", + "STK_TransferDirect", "23", "调拨出库单", "SAL_RETURNSTOCK", "24", "销售退货单", + "PUR_MRB", "25", "采购退料单", "STK_MisDelivery", "26", "其他出库单")), + + /** * 任务类型 */ diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/SpelUtil.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/SpelUtil.java index 54658fc1..ecf1004b 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/SpelUtil.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/common/utils/SpelUtil.java @@ -4,6 +4,7 @@ import cn.hutool.core.date.DateUtil; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import lombok.Data; +import lombok.Value; import org.apache.commons.lang3.StringUtils; import org.nl.common.domain.exception.BadRequestException; import org.springframework.expression.Expression; @@ -99,27 +100,20 @@ public class SpelUtil { Map result = new LinkedHashMap<>(); for (String field : fieldSkip.keySet()) { String skip = fieldSkip.get(field); - if (skip.charAt(0) == '#'){ + String value = skip; + if (skip.contains("#M")){ try { Expression expression = SpelUtil.SPEL_PARSER.parseExpression(skip); - String value = expression.getValue(context, String.class); - if (field.equals("product_area")){ - String product_area = Product_Area_Mapping.get(value); - if (StringUtils.isEmpty(product_area)){ - product_area = "A1"; - } - value = product_area; - } - result.put(field,value); + value = expression.getValue(context, String.class); }catch (Exception ex){ ex.printStackTrace(); throw new BadRequestException("当前业务数据没有映射字段"+field+" 对应的数据"+skip); } - }else { - result.put(field,skip); + }else if(skip.contains("#V[")){ + //直接指定参数#V['value'] = value + value = skip.split("'")[1]; } - - + result.put(field,value); } return result; } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/external_system/erp/SyncErpService.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/external_system/erp/SyncErpService.java index 7af96c54..d493e390 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/external_system/erp/SyncErpService.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/external_system/erp/SyncErpService.java @@ -135,7 +135,8 @@ public class SyncErpService { * 单据审核 */ public JSONObject audit(JSONObject from) { - return erpServiceUtils.audit(from); + // return erpServiceUtils.audit(from); + return null; } diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/SyncReceiptProcessHandler.java b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/SyncReceiptProcessHandler.java index 95451e31..000c36ea 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/SyncReceiptProcessHandler.java +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/flow_manage/flow/service/classprocessimpl/SyncReceiptProcessHandler.java @@ -1,10 +1,8 @@ package org.nl.wms.flow_manage.flow.service.classprocessimpl; import cn.hutool.core.date.DateUtil; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; -import com.alibaba.fastjson.serializer.SerializerFeature; import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; import com.github.javaparser.utils.Log; import com.kingdee.bos.webapi.entity.IdentifyInfo; @@ -24,10 +22,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import javax.annotation.Resource; -import java.util.ArrayList; -import java.util.LinkedHashMap; -import java.util.List; -import java.util.Map; import java.util.stream.Collectors; /* @@ -42,9 +36,9 @@ public class SyncReceiptProcessHandler implements ClassProcess { IPmFormDataService iPmFormDataService; @Autowired ErpSec erpSec; + @Resource private ErpServiceUtils erpServiceUtils; - /** * 回执单回传 */ @@ -79,8 +73,14 @@ public class SyncReceiptProcessHandler implements ClassProcess { IdentifyInfo identifyInfo = new IdentifyInfo(); BeanUtils.copyProperties(erpSec, identifyInfo); K3CloudApi cloudApi = new K3CloudApi(identifyInfo); - String result = cloudApi.save(formid, formData.toJSONString()); - JSONObject res = JSONObject.parseObject(result); + JSONObject res; + if (Integer.parseInt(StatusEnum.ERP_TYPE.code(formid)) > 22) { + String result = erpServiceUtils.audit(formData).getString("result"); + res = JSONObject.parseObject(result); + } else { + String result = cloudApi.save(formid, formData.toJSONString()); + res = JSONObject.parseObject(result); + } JSONObject responseStatus = res.getJSONObject("Result").getJSONObject("ResponseStatus"); boolean isSuccess = responseStatus.getBooleanValue("IsSuccess"); JSONArray errors = responseStatus.getJSONArray("Errors"); diff --git a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/mapper/xml/PmFormDataMapper.xml b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/mapper/xml/PmFormDataMapper.xml index 3e536ea9..28c44c48 100644 --- a/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/mapper/xml/PmFormDataMapper.xml +++ b/wms_pro/hd/nladmin-system/src/main/java/org/nl/wms/pm_manage/form_data/service/dao/mapper/xml/PmFormDataMapper.xml @@ -203,7 +203,6 @@