新增-erp物料查询接口api

This commit is contained in:
liss
2025-11-03 14:39:56 +08:00
parent 928bb40dd5
commit 57022e04c0
12 changed files with 215 additions and 79 deletions

View File

@@ -1,6 +1,7 @@
package com.zt.plat.module.erp.api; package com.zt.plat.module.erp.api;
import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.module.erp.api.dto.ErpMaterialDTO;
import com.zt.plat.module.erp.api.dto.ErpProductiveVersionReqDTO; import com.zt.plat.module.erp.api.dto.ErpProductiveVersionReqDTO;
import com.zt.plat.module.erp.api.dto.ErpQueryReqDTO; import com.zt.plat.module.erp.api.dto.ErpQueryReqDTO;
import com.zt.plat.module.erp.api.dto.ErpSubmitReqDTO; import com.zt.plat.module.erp.api.dto.ErpSubmitReqDTO;
@@ -33,4 +34,8 @@ public interface ErpExternalApi {
@GetMapping(PREFIX + "/queryProductiveVersion") @GetMapping(PREFIX + "/queryProductiveVersion")
@Operation(summary = "生产版本数据查询") @Operation(summary = "生产版本数据查询")
CommonResult<String> getErpProductiveVersionByFM(@Valid @RequestBody ErpProductiveVersionReqDTO reqDTO); CommonResult<String> getErpProductiveVersionByFM(@Valid @RequestBody ErpProductiveVersionReqDTO reqDTO);
@GetMapping(PREFIX + "/queryMaterial")
@Operation(summary = "物料数据查询")
CommonResult<ErpMaterialDTO> getErpMaterial(@Valid @RequestBody ErpMaterialDTO reqDTO);
} }

View File

@@ -0,0 +1,75 @@
package com.zt.plat.module.erp.api.dto;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;
import java.time.LocalDateTime;
@Schema(description = "管理后台 - ERP物料数据 Response VO")
@Data
public class ErpMaterialDTO {
@Schema(description = "主键")
private Long id;
@Schema(description = "中铜物料编码;系统使用时使用该编码")
private String downCenterNumber;
@Schema(description = "物料编码")
private String materialNumber;
@Schema(description = "中铝物料编码")
private String centerNumber;
@Schema(description = "创建日期")
private LocalDateTime createDate;
@Schema(description = "物料类型", example = "2")
private String materialType;
@Schema(description = "物料大类组")
private String materialGroupDate;
@Schema(description = "外部物料小类组")
private String externalMaterialGroupDate;
@Schema(description = "计量单位编码")
private String unit;
@Schema(description = "计量单位描述")
private String unitDescription;
@Schema(description = "物料类型描述")
private String materialTypeDescription;
@Schema(description = "物料组描述")
private String materialGroupDescription;
@Schema(description = "外部物料小类组描述")
private String externalMaterialGroupDescription;
@Schema(description = "物料名称", example = "李四")
private String materialName;
@Schema(description = "物料长描述")
private String materialLengthDescription;
@Schema(description = "类型")
private String type;
@Schema(description = "金属元素缩写")
private String abbreviation;
@Schema(description = "金属元素名称", example = "赵六")
private String name;
@Schema(description = "金属元素编码")
private String coding;
@Schema(description = "品位单位")
private String gradeUnit;
@Schema(description = "小数位数")
private Long decimalValue;
}

View File

@@ -2,9 +2,12 @@ package com.zt.plat.module.erp.api;
import com.zt.plat.framework.common.pojo.CommonResult; import com.zt.plat.framework.common.pojo.CommonResult;
import com.zt.plat.framework.common.util.object.BeanUtils; import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.module.erp.api.dto.ErpMaterialDTO;
import com.zt.plat.module.erp.api.dto.ErpProductiveVersionReqDTO; import com.zt.plat.module.erp.api.dto.ErpProductiveVersionReqDTO;
import com.zt.plat.module.erp.api.dto.ErpQueryReqDTO; import com.zt.plat.module.erp.api.dto.ErpQueryReqDTO;
import com.zt.plat.module.erp.api.dto.ErpSubmitReqDTO; import com.zt.plat.module.erp.api.dto.ErpSubmitReqDTO;
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpMaterialRespVO;
import com.zt.plat.module.erp.service.erp.ErpMaterialService;
import com.zt.plat.module.erp.service.erp.ErpProductiveVersionService; import com.zt.plat.module.erp.service.erp.ErpProductiveVersionService;
import com.zt.plat.module.erp.utils.ErpConfig; import com.zt.plat.module.erp.utils.ErpConfig;
import jakarta.annotation.Resource; import jakarta.annotation.Resource;
@@ -34,6 +37,9 @@ public class ErpExternalApiImpl implements ErpExternalApi {
private ErpConfig erpConfig; private ErpConfig erpConfig;
@Resource @Resource
private ErpProductiveVersionService erpProductiveVersionService; private ErpProductiveVersionService erpProductiveVersionService;
@Resource
private ErpMaterialService erpMaterialService;
@Override @Override
public HashMap<String, String> submitDataToErp(ErpSubmitReqDTO reqDTO) { public HashMap<String, String> submitDataToErp(ErpSubmitReqDTO reqDTO) {
@@ -52,4 +58,10 @@ public class ErpExternalApiImpl implements ErpExternalApi {
String productiveVersionNumber = erpProductiveVersionService.getErpProductiveVersionByFM(reqDTO); String productiveVersionNumber = erpProductiveVersionService.getErpProductiveVersionByFM(reqDTO);
return success(productiveVersionNumber); return success(productiveVersionNumber);
} }
@Override
public CommonResult<ErpMaterialDTO> getErpMaterial(ErpMaterialDTO reqDTO) {
ErpMaterialDTO dto = erpMaterialService.getErpMaterial(reqDTO);
return success(dto);
}
} }

View File

@@ -2,6 +2,7 @@ package com.zt.plat.module.erp.controller.admin.erp.vo;
import com.zt.plat.framework.common.pojo.PageParam; import com.zt.plat.framework.common.pojo.PageParam;
import io.swagger.v3.oas.annotations.media.Schema; import io.swagger.v3.oas.annotations.media.Schema;
import jakarta.validation.constraints.NotEmpty;
import lombok.Data; import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat; import org.springframework.format.annotation.DateTimeFormat;
@@ -14,9 +15,11 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH
public class ErpProductiveOrderPageReqVO extends PageParam { public class ErpProductiveOrderPageReqVO extends PageParam {
@Schema(description = "公司编号") @Schema(description = "公司编号")
@NotEmpty(message = "公司编号不能为空")
private String companyNumber; private String companyNumber;
@Schema(description = "工厂编码") @Schema(description = "工厂编码")
@NotEmpty(message = "公司编号不能为空")
private String factoryNumber; private String factoryNumber;
@Schema(description = "工厂名称", example = "赵六") @Schema(description = "工厂名称", example = "赵六")
@@ -27,10 +30,12 @@ public class ErpProductiveOrderPageReqVO extends PageParam {
@Schema(description = "基本开始日期") @Schema(description = "基本开始日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@NotEmpty(message = "公司编号不能为空")
private LocalDateTime[] startDate; private LocalDateTime[] startDate;
@Schema(description = "基本完成日期") @Schema(description = "基本完成日期")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND) @DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
@NotEmpty(message = "公司编号不能为空")
private LocalDateTime[] endDate; private LocalDateTime[] endDate;
@Schema(description = "主产品物料编号") @Schema(description = "主产品物料编号")

View File

@@ -3,6 +3,7 @@ package com.zt.plat.module.erp.dal.mysql.erp;
import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX; import com.zt.plat.framework.mybatis.core.mapper.BaseMapperX;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.module.erp.api.dto.ErpMaterialDTO;
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpMaterialPageReqVO; import com.zt.plat.module.erp.controller.admin.erp.vo.ErpMaterialPageReqVO;
import com.zt.plat.module.erp.dal.dataobject.erp.ErpMaterialDO; import com.zt.plat.module.erp.dal.dataobject.erp.ErpMaterialDO;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
@@ -40,5 +41,11 @@ public interface ErpMaterialMapper extends BaseMapperX<ErpMaterialDO> {
String selectMaxCode(); String selectMaxCode();
Integer selectByErpMNumbers(List<String> erpMNumber); Integer countByErpMNumbers(List<String> erpMNumber);
default ErpMaterialDO selectOne(ErpMaterialDTO dto) {
return selectOne(new LambdaQueryWrapperX<ErpMaterialDO>()
.eq(ErpMaterialDO::getDownCenterNumber, dto.getDownCenterNumber())
.last("limit 1"));
}
} }

View File

@@ -30,6 +30,8 @@ public class ErpJob {
@Resource @Resource
private ErpProcessService erpProcessService; private ErpProcessService erpProcessService;
@Resource @Resource
private ErpProductiveOrderService erpProductiveOrderService;
@Resource
private ErpProductiveVersionService erpProductiveVersionService; private ErpProductiveVersionService erpProductiveVersionService;
@Resource @Resource
private ErpPurchaseOrganizationService erpPurchaseOrganizationService; private ErpPurchaseOrganizationService erpPurchaseOrganizationService;
@@ -50,6 +52,7 @@ public class ErpJob {
erpInternalOrderService.callErpRfcInterface(); erpInternalOrderService.callErpRfcInterface();
erpMaterialService.callErpRfcInterface(); erpMaterialService.callErpRfcInterface();
erpProcessService.callErpRfcInterface(); erpProcessService.callErpRfcInterface();
erpProductiveOrderService.callErpRfcInterface();
erpProductiveVersionService.callErpRfcInterface(); erpProductiveVersionService.callErpRfcInterface();
erpPurchaseOrganizationService.callErpRfcInterface(); erpPurchaseOrganizationService.callErpRfcInterface();
erpSalesOrganizationService.callErpRfcInterface(); erpSalesOrganizationService.callErpRfcInterface();

View File

@@ -1,6 +1,7 @@
package com.zt.plat.module.erp.service.erp; package com.zt.plat.module.erp.service.erp;
import com.zt.plat.framework.common.pojo.PageResult; import com.zt.plat.framework.common.pojo.PageResult;
import com.zt.plat.module.erp.api.dto.ErpMaterialDTO;
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpMaterialPageReqVO; import com.zt.plat.module.erp.controller.admin.erp.vo.ErpMaterialPageReqVO;
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpMaterialRespVO; import com.zt.plat.module.erp.controller.admin.erp.vo.ErpMaterialRespVO;
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpMaterialSaveReqVO; import com.zt.plat.module.erp.controller.admin.erp.vo.ErpMaterialSaveReqVO;
@@ -64,4 +65,12 @@ public interface ErpMaterialService {
void callErpRfcInterface(); void callErpRfcInterface();
PageResult<ErpMaterialRespVO> getErpMaterialPageAndOther(ErpMaterialPageReqVO pageReqVO); PageResult<ErpMaterialRespVO> getErpMaterialPageAndOther(ErpMaterialPageReqVO pageReqVO);
/**
* 获得ERP物料数据
*
* @param DTO
* @return ERP物料数据
*/
ErpMaterialDTO getErpMaterial(ErpMaterialDTO DTO);
} }

View File

@@ -9,6 +9,7 @@ import com.zt.plat.framework.common.util.object.BeanUtils;
import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX; import com.zt.plat.framework.mybatis.core.query.LambdaQueryWrapperX;
import com.zt.plat.module.api.BaseApi; import com.zt.plat.module.api.BaseApi;
import com.zt.plat.module.api.dto.MaterialOtherDTO; import com.zt.plat.module.api.dto.MaterialOtherDTO;
import com.zt.plat.module.erp.api.dto.ErpMaterialDTO;
import com.zt.plat.module.erp.dal.dataobject.erp.ErpWarehouseDO; import com.zt.plat.module.erp.dal.dataobject.erp.ErpWarehouseDO;
import com.zt.plat.module.erp.utils.ErpConfig; import com.zt.plat.module.erp.utils.ErpConfig;
import com.zt.plat.module.erp.utils.MyRedisConfig; import com.zt.plat.module.erp.utils.MyRedisConfig;
@@ -124,7 +125,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
.collect(Collectors.toList()); .collect(Collectors.toList());
// 使用IN语句批量查询所有物料编码的数量 // 使用IN语句批量查询所有物料编码的数量
Integer countMap = erpMaterialMapper.selectByErpMNumbers(downCenterNumbers); Integer countMap = erpMaterialMapper.countByErpMNumbers(downCenterNumbers);
if (countMap > 1) { if (countMap > 1) {
throw exception(ERP_MATERIAL_OTHER_NOT_ALLOW_DELETE); throw exception(ERP_MATERIAL_OTHER_NOT_ALLOW_DELETE);
} }
@@ -175,6 +176,12 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
} }
} }
@Override
public ErpMaterialDTO getErpMaterial(ErpMaterialDTO DTO) {
ErpMaterialDO erpMaterialDO = erpMaterialMapper.selectOne(DTO);
return BeanUtils.toBean(erpMaterialDO, ErpMaterialDTO.class);
}
@Override @Override
@Transactional @Transactional
@XxlJob("getErpMaterialTask") @XxlJob("getErpMaterialTask")

View File

@@ -230,6 +230,7 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService {
DO.setName(dataJson.getString("LGOBE")); DO.setName(dataJson.getString("LGOBE"));
DO.setNumber(dataJson.getString("LGORT").trim()); DO.setNumber(dataJson.getString("LGORT").trim());
DO.setFactoryNumber(dataJson.getString("WERKS")); DO.setFactoryNumber(dataJson.getString("WERKS"));
DO.setType("ERP");
String number = dataJson.getString("WERKS").trim() + "-" + dataJson.getString("LGORT").trim(); String number = dataJson.getString("WERKS").trim() + "-" + dataJson.getString("LGORT").trim();
if (numbers.get(number) != null) { if (numbers.get(number) != null) {
// 更新 // 更新

Some files were not shown because too many files have changed in this diff Show More