新增-erp物料查询接口api
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
package com.zt.plat.module.erp.api;
|
||||
|
||||
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.ErpQueryReqDTO;
|
||||
import com.zt.plat.module.erp.api.dto.ErpSubmitReqDTO;
|
||||
@@ -33,4 +34,8 @@ public interface ErpExternalApi {
|
||||
@GetMapping(PREFIX + "/queryProductiveVersion")
|
||||
@Operation(summary = "生产版本数据查询")
|
||||
CommonResult<String> getErpProductiveVersionByFM(@Valid @RequestBody ErpProductiveVersionReqDTO reqDTO);
|
||||
|
||||
@GetMapping(PREFIX + "/queryMaterial")
|
||||
@Operation(summary = "物料数据查询")
|
||||
CommonResult<ErpMaterialDTO> getErpMaterial(@Valid @RequestBody ErpMaterialDTO reqDTO);
|
||||
}
|
||||
|
||||
@@ -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;
|
||||
|
||||
}
|
||||
@@ -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.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.ErpQueryReqDTO;
|
||||
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.utils.ErpConfig;
|
||||
import jakarta.annotation.Resource;
|
||||
@@ -34,6 +37,9 @@ public class ErpExternalApiImpl implements ErpExternalApi {
|
||||
private ErpConfig erpConfig;
|
||||
@Resource
|
||||
private ErpProductiveVersionService erpProductiveVersionService;
|
||||
@Resource
|
||||
private ErpMaterialService erpMaterialService;
|
||||
|
||||
|
||||
@Override
|
||||
public HashMap<String, String> submitDataToErp(ErpSubmitReqDTO reqDTO) {
|
||||
@@ -52,4 +58,10 @@ public class ErpExternalApiImpl implements ErpExternalApi {
|
||||
String productiveVersionNumber = erpProductiveVersionService.getErpProductiveVersionByFM(reqDTO);
|
||||
return success(productiveVersionNumber);
|
||||
}
|
||||
|
||||
@Override
|
||||
public CommonResult<ErpMaterialDTO> getErpMaterial(ErpMaterialDTO reqDTO) {
|
||||
ErpMaterialDTO dto = erpMaterialService.getErpMaterial(reqDTO);
|
||||
return success(dto);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -2,6 +2,7 @@ package com.zt.plat.module.erp.controller.admin.erp.vo;
|
||||
|
||||
import com.zt.plat.framework.common.pojo.PageParam;
|
||||
import io.swagger.v3.oas.annotations.media.Schema;
|
||||
import jakarta.validation.constraints.NotEmpty;
|
||||
import lombok.Data;
|
||||
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 {
|
||||
|
||||
@Schema(description = "公司编号")
|
||||
@NotEmpty(message = "公司编号不能为空")
|
||||
private String companyNumber;
|
||||
|
||||
@Schema(description = "工厂编码")
|
||||
@NotEmpty(message = "公司编号不能为空")
|
||||
private String factoryNumber;
|
||||
|
||||
@Schema(description = "工厂名称", example = "赵六")
|
||||
@@ -27,10 +30,12 @@ public class ErpProductiveOrderPageReqVO extends PageParam {
|
||||
|
||||
@Schema(description = "基本开始日期")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
@NotEmpty(message = "公司编号不能为空")
|
||||
private LocalDateTime[] startDate;
|
||||
|
||||
@Schema(description = "基本完成日期")
|
||||
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
|
||||
@NotEmpty(message = "公司编号不能为空")
|
||||
private LocalDateTime[] endDate;
|
||||
|
||||
@Schema(description = "主产品物料编号")
|
||||
|
||||
@@ -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.mybatis.core.mapper.BaseMapperX;
|
||||
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.dal.dataobject.erp.ErpMaterialDO;
|
||||
import org.apache.ibatis.annotations.Mapper;
|
||||
@@ -40,5 +41,11 @@ public interface ErpMaterialMapper extends BaseMapperX<ErpMaterialDO> {
|
||||
|
||||
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"));
|
||||
}
|
||||
}
|
||||
@@ -30,6 +30,8 @@ public class ErpJob {
|
||||
@Resource
|
||||
private ErpProcessService erpProcessService;
|
||||
@Resource
|
||||
private ErpProductiveOrderService erpProductiveOrderService;
|
||||
@Resource
|
||||
private ErpProductiveVersionService erpProductiveVersionService;
|
||||
@Resource
|
||||
private ErpPurchaseOrganizationService erpPurchaseOrganizationService;
|
||||
@@ -50,6 +52,7 @@ public class ErpJob {
|
||||
erpInternalOrderService.callErpRfcInterface();
|
||||
erpMaterialService.callErpRfcInterface();
|
||||
erpProcessService.callErpRfcInterface();
|
||||
erpProductiveOrderService.callErpRfcInterface();
|
||||
erpProductiveVersionService.callErpRfcInterface();
|
||||
erpPurchaseOrganizationService.callErpRfcInterface();
|
||||
erpSalesOrganizationService.callErpRfcInterface();
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
package com.zt.plat.module.erp.service.erp;
|
||||
|
||||
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.ErpMaterialRespVO;
|
||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpMaterialSaveReqVO;
|
||||
@@ -64,4 +65,12 @@ public interface ErpMaterialService {
|
||||
void callErpRfcInterface();
|
||||
|
||||
PageResult<ErpMaterialRespVO> getErpMaterialPageAndOther(ErpMaterialPageReqVO pageReqVO);
|
||||
|
||||
/**
|
||||
* 获得ERP物料数据
|
||||
*
|
||||
* @param DTO
|
||||
* @return ERP物料数据
|
||||
*/
|
||||
ErpMaterialDTO getErpMaterial(ErpMaterialDTO DTO);
|
||||
}
|
||||
@@ -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.module.api.BaseApi;
|
||||
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.utils.ErpConfig;
|
||||
import com.zt.plat.module.erp.utils.MyRedisConfig;
|
||||
@@ -124,7 +125,7 @@ public class ErpMaterialServiceImpl implements ErpMaterialService {
|
||||
.collect(Collectors.toList());
|
||||
|
||||
// 使用IN语句批量查询所有物料编码的数量
|
||||
Integer countMap = erpMaterialMapper.selectByErpMNumbers(downCenterNumbers);
|
||||
Integer countMap = erpMaterialMapper.countByErpMNumbers(downCenterNumbers);
|
||||
if (countMap > 1) {
|
||||
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
|
||||
@Transactional
|
||||
@XxlJob("getErpMaterialTask")
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -230,6 +230,7 @@ public class ErpWarehouseServiceImpl implements ErpWarehouseService {
|
||||
DO.setName(dataJson.getString("LGOBE"));
|
||||
DO.setNumber(dataJson.getString("LGORT").trim());
|
||||
DO.setFactoryNumber(dataJson.getString("WERKS"));
|
||||
DO.setType("ERP");
|
||||
String number = dataJson.getString("WERKS").trim() + "-" + dataJson.getString("LGORT").trim();
|
||||
if (numbers.get(number) != null) {
|
||||
// 更新
|
||||
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user