8 changed files with 193 additions and 18 deletions
-
17src/main/java/com/gaotao/modules/api/entity/issueAndReturnVo/InventoryPartVo.java
-
11src/main/java/com/gaotao/modules/api/service/IfsApiIssueAndReturnService.java
-
48src/main/java/com/gaotao/modules/api/service/impl/IfsApiIssueAndReturnServiceImpl.java
-
24src/main/java/com/gaotao/modules/production/controller/ProductionReturnController.java
-
5src/main/java/com/gaotao/modules/production/entity/dto/ProductionReturnDto.java
-
90src/main/java/com/gaotao/modules/production/entity/vo/IssueForShopOrderVo.java
-
3src/main/java/com/gaotao/modules/production/service/ProductionReturnService.java
-
13src/main/java/com/gaotao/modules/production/service/impl/ProductionReturnServiceImpl.java
@ -0,0 +1,17 @@ |
|||
package com.gaotao.modules.api.entity.issueAndReturnVo; |
|||
|
|||
import lombok.Data; |
|||
|
|||
@Data |
|||
public class InventoryPartVo { |
|||
private String contract; |
|||
private String description; |
|||
private String netVolume; |
|||
private String netWeight; |
|||
private String partNo; |
|||
private String partType; |
|||
private String typeDesignation; |
|||
private String unitMeasure; |
|||
/*耐久天数*/ |
|||
private int durabilityDays; |
|||
} |
|||
@ -0,0 +1,11 @@ |
|||
package com.gaotao.modules.api.service; |
|||
|
|||
import com.gaotao.modules.api.entity.issueAndReturnVo.InventoryPartVo; |
|||
|
|||
import java.util.List; |
|||
|
|||
public interface IfsApiIssueAndReturnService { |
|||
|
|||
List<InventoryPartVo> getInventoryPart(String partNo, String site); |
|||
|
|||
} |
|||
@ -0,0 +1,48 @@ |
|||
package com.gaotao.modules.api.service.impl; |
|||
|
|||
import com.fasterxml.jackson.core.type.TypeReference; |
|||
import com.fasterxml.jackson.databind.ObjectMapper; |
|||
import com.gaotao.common.exception.XJException; |
|||
import com.gaotao.common.utils.HttpUtils; |
|||
import com.gaotao.modules.api.entity.issueAndReturnVo.InventoryPartVo; |
|||
import com.gaotao.modules.api.service.IfsApiIssueAndReturnService; |
|||
import com.gaotao.modules.production.entity.vo.IssueForShopOrderVo; |
|||
import jakarta.transaction.Transactional; |
|||
import org.springframework.beans.factory.annotation.Value; |
|||
import org.springframework.stereotype.Service; |
|||
|
|||
import java.util.List; |
|||
import java.util.Map; |
|||
|
|||
@Service |
|||
public class IfsApiIssueAndReturnServiceImpl implements IfsApiIssueAndReturnService { |
|||
|
|||
@Value("${custom.ifs-url}") |
|||
private String ifsUrl; |
|||
@Value("${custom.ifs-ifsDBName}") |
|||
private String ifsDBName; |
|||
@Value("${custom.ifs-domainUserID}") |
|||
private String domainUserID; |
|||
|
|||
@Override |
|||
public List<InventoryPartVo> getInventoryPart(String partNo, String site){ |
|||
try{ |
|||
Map<String, Object> params = Map.of( |
|||
"ifsDBName", ifsDBName, |
|||
"domainUserID", domainUserID, |
|||
"ifsSiteID", site, |
|||
"ifsPartNo", partNo |
|||
); |
|||
ObjectMapper objectMapper = new ObjectMapper(); |
|||
String jsonBody = objectMapper.writeValueAsString(params); |
|||
String ifsResponse = HttpUtils.doGetWithBody(ifsUrl+"InventoryPart",jsonBody,null); |
|||
ObjectMapper mapper = new ObjectMapper(); |
|||
List<InventoryPartVo> inventoryPartVos = mapper.readValue(ifsResponse, new TypeReference<List<InventoryPartVo>>() { |
|||
}); |
|||
|
|||
return inventoryPartVos; |
|||
}catch (Exception e){ |
|||
throw new XJException("获取IFS物料列表失败: " + e.getMessage()); |
|||
} |
|||
} |
|||
} |
|||
@ -1,26 +1,80 @@ |
|||
package com.gaotao.modules.production.entity.vo; |
|||
|
|||
import com.fasterxml.jackson.annotation.JsonProperty; |
|||
import lombok.Data; |
|||
|
|||
import java.math.BigDecimal; |
|||
|
|||
@Data |
|||
public class IssueForShopOrderVo { |
|||
private String SOURCE_REF1; |
|||
private String SOURCE_REF2; |
|||
private String SOURCE_REF3; |
|||
private String SOURCE_REF4; |
|||
private long TRANSACTION_ID; |
|||
private long ACCOUNTING_ID; |
|||
private String CONTRACT; |
|||
private String PART_NO; |
|||
private String LOCATION_NO; |
|||
private String LOT_BATCH_NO; |
|||
private String SERIAL_NO; |
|||
private String WAIV_DEV_REJ_NO; |
|||
private int ACTIVITY_SEQ; |
|||
private String ENG_CHG_LEVEL; |
|||
private BigDecimal QUANTITY; |
|||
private BigDecimal QTY_REVERSED; |
|||
private long HANDLING_UNIT_ID; |
|||
} |
|||
|
|||
// 对应JSON中的 SOURCE_REF1(使用@JsonProperty指定JSON字段名,避免映射错误) |
|||
@JsonProperty("SOURCE_REF1") |
|||
private String sourceRef1; |
|||
|
|||
// 对应JSON中的 SOURCE_REF2 |
|||
@JsonProperty("SOURCE_REF2") |
|||
private String sourceRef2; |
|||
|
|||
// 对应JSON中的 SOURCE_REF3 |
|||
@JsonProperty("SOURCE_REF3") |
|||
private String sourceRef3; |
|||
|
|||
// 对应JSON中的 SOURCE_REF4(JSON中为字符串"1",故用String类型;若实际为数字可改为Integer) |
|||
@JsonProperty("SOURCE_REF4") |
|||
private String sourceRef4; |
|||
|
|||
// 对应JSON中的 TRANSACTION_ID(整数型,用Long避免超出Integer范围) |
|||
@JsonProperty("TRANSACTION_ID") |
|||
private Long transactionId; |
|||
|
|||
// 对应JSON中的 ACCOUNTING_ID(整数型,用Long避免超出Integer范围) |
|||
@JsonProperty("ACCOUNTING_ID") |
|||
private Long accountingId; |
|||
|
|||
// 对应JSON中的 CONTRACT(字符串类型,如"55") |
|||
@JsonProperty("CONTRACT") |
|||
private String contract; |
|||
|
|||
// 对应JSON中的 PART_NO(物料编号) |
|||
@JsonProperty("PART_NO") |
|||
private String partNo; |
|||
|
|||
// 对应JSON中的 LOCATION_NO(库位编号) |
|||
@JsonProperty("LOCATION_NO") |
|||
private String locationNo; |
|||
|
|||
// 对应JSON中的 LOT_BATCH_NO(批次号) |
|||
@JsonProperty("LOT_BATCH_NO") |
|||
private String lotBatchNo; |
|||
|
|||
// 对应JSON中的 SERIAL_NO(序列号) |
|||
@JsonProperty("SERIAL_NO") |
|||
private String serialNo; |
|||
|
|||
// 对应JSON中的 WAIV_DEV_REJ_NO(豁免/偏差/拒收编号,此处为"*") |
|||
@JsonProperty("WAIV_DEV_REJ_NO") |
|||
private String waivDevRejNo; |
|||
|
|||
// 对应JSON中的 ACTIVITY_SEQ(活动序列,整数型) |
|||
@JsonProperty("ACTIVITY_SEQ") |
|||
private Integer activitySeq; |
|||
|
|||
// 对应JSON中的 ENG_CHG_LEVEL(工程变更等级,字符串类型) |
|||
@JsonProperty("ENG_CHG_LEVEL") |
|||
private String engChgLevel; |
|||
|
|||
// 对应JSON中的 QUANTITY(数量,含小数,用BigDecimal保证精度,避免浮点误差) |
|||
@JsonProperty("QUANTITY") |
|||
private BigDecimal quantity; |
|||
|
|||
// 对应JSON中的 QTY_REVERSED(反向数量,含小数,用BigDecimal) |
|||
@JsonProperty("QTY_REVERSED") |
|||
private BigDecimal qtyReversed; |
|||
|
|||
// 对应JSON中的 HANDLING_UNIT_ID(处理单元ID,整数型) |
|||
@JsonProperty("HANDLING_UNIT_ID") |
|||
private Integer handlingUnitId; |
|||
|
|||
|
|||
} |
|||
Write
Preview
Loading…
Cancel
Save
Reference in new issue