rsf-open-api/src/main/java/com/vincent/rsf/openApi/controller/WmsErpController.java
@@ -6,6 +6,7 @@ import com.vincent.rsf.openApi.entity.dto.CommonResponse; import com.vincent.rsf.openApi.entity.params.ErpMatnrParms; import com.vincent.rsf.openApi.entity.params.ErpOpParams; import com.vincent.rsf.openApi.entity.params.ReportParams; import com.vincent.rsf.openApi.service.WmsErpService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -96,9 +97,9 @@ } @ApiOperation("物料信息上报") @ApiOperation("订单信息上报") @PostMapping("/report/order") public CommonResponse reportOrders(@RequestBody Map<String, Object> params) { public CommonResponse reportOrders(@RequestBody ReportParams params) { if (Objects.isNull(params)) { throw new CoolException("参数不能为空!!"); } rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/ReportDataParam.java
New file @@ -0,0 +1,62 @@ package com.vincent.rsf.openApi.entity.params; import com.fasterxml.jackson.annotation.JsonFormat; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.util.Date; @Data @Accessors(chain = true) @ApiModel(value = "ReportDataParam", description = "上报参数详情") public class ReportDataParam { @ApiModelProperty("WMS单号") private String WMSNO; @ApiModelProperty("采购单号") private String PONO; @ApiModelProperty("入库日期") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date OrderDate; @ApiModelProperty("采购退货单号/生产单号/") private String OrderNO; @ApiModelProperty("现品票号") private String GoodsNO; @ApiModelProperty("盘点数量") private Double PDQty; @ApiModelProperty("是否不良:1 是, 0否") private String IsBad; @ApiModelProperty("盘点原因") private String Reason; @ApiModelProperty("品种号码") private String ItemCode; @ApiModelProperty("入库数量") private Double InQty; @ApiModelProperty("出库数量") private Double OutQty; @ApiModelProperty("编辑用户") private String EditUser; @ApiModelProperty("编辑时间") @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss") @DateTimeFormat(pattern="yyyy-MM-dd HH:mm:ss") private Date EditDate; @ApiModelProperty("备注说明") private String MemoDtl; } rsf-open-api/src/main/java/com/vincent/rsf/openApi/entity/params/ReportParams.java
New file @@ -0,0 +1,25 @@ package com.vincent.rsf.openApi.entity.params; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import java.io.Serializable; import java.util.List; @Data @Accessors(chain = true) @ApiModel(value = "ReportParams", description = "希日ERP上报参数") public class ReportParams implements Serializable { @ApiModelProperty("订单类型") private String OrderType; @ApiModelProperty("动作类型") private String Action = "Update"; @ApiModelProperty("数据") private List<ReportDataParam> Data; } rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/WmsErpService.java
@@ -3,6 +3,7 @@ import com.vincent.rsf.openApi.entity.dto.CommonResponse; import com.vincent.rsf.openApi.entity.params.ErpMatnrParms; import com.vincent.rsf.openApi.entity.params.ErpOpParams; import com.vincent.rsf.openApi.entity.params.ReportParams; import java.util.Map; @@ -16,7 +17,7 @@ CommonResponse syncMatnrs(ErpMatnrParms parms); CommonResponse reportOrders(Map<String, Object> params); CommonResponse reportOrders(ReportParams params); CommonResponse reportCheck(Map<String, Object> params); } rsf-open-api/src/main/java/com/vincent/rsf/openApi/service/impl/WmsErpServiceImpl.java
@@ -13,6 +13,7 @@ import com.vincent.rsf.openApi.entity.dto.OrderDto; import com.vincent.rsf.openApi.entity.params.ErpMatnrParms; import com.vincent.rsf.openApi.entity.params.ErpOpParams; import com.vincent.rsf.openApi.entity.params.ReportParams; import com.vincent.rsf.openApi.service.WmsErpService; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; @@ -215,22 +216,22 @@ * @version 1.0 */ @Override public CommonResponse reportOrders(Map<String, Object> params) { public CommonResponse reportOrders(ReportParams params) { if (Objects.isNull(params)) { throw new CoolException("参数不能为空!!"); } /**WMS基础配置链接*/ String rcsUrl = erpApi.getHost() + ":" + erpApi.getPort() + WmsConstant.REPORT_ORDER_CALLBACK; log.info("物料修改:{}, 请求参数: {}", rcsUrl, JSONObject.toJSONString(params)); HttpHeaders headers = new HttpHeaders(); headers.add("Content-Type", "application/json"); headers.add("api-version", "v2.0"); HttpEntity httpEntity = new HttpEntity(params, headers); log.info("已完成订单上传:{}, 请求参数: {}", rcsUrl, httpEntity.getBody()); ResponseEntity<String> exchange = restTemplate.exchange(rcsUrl, HttpMethod.POST, httpEntity, String.class); log.info("修改结果: {}", exchange); log.info("已完成订单上传,请求结果: {}", exchange); if (Objects.isNull(exchange.getBody())) { throw new CoolException("修改失败!!"); throw new CoolException("上传失败!!"); } else { ObjectMapper objectMapper = new ObjectMapper(); objectMapper.coercionConfigDefaults().setCoercion(CoercionInputShape.EmptyString, CoercionAction.AsEmpty); @@ -239,7 +240,7 @@ if (result.getCode() == 200) { return result; } else { throw new CoolException("修改失败!!"); throw new CoolException("上传失败!!"); } } catch (JsonProcessingException e) { throw new CoolException(e.getMessage()); rsf-server/src/main/java/com/vincent/rsf/server/api/entity/constant/RcsConstant.java
@@ -9,5 +9,5 @@ public static String syncLocs = "/rsf-open-api/rcs/sync/locs"; //上报订单信息 public static String REPORT_ORDERS = "/rsf-open-api/report/complete/orders"; public static String REPORT_ORDERS = "/rsf-open-api/erp/report/order"; }