rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/BaseInfoController.java
@@ -18,7 +18,7 @@ @RestController @RequestMapping("/base") @Api(tags = "基础信息同步") @Api(tags = "基础信息") public class BaseInfoController { @Autowired @@ -30,7 +30,7 @@ * @description: 物料信息同步 * @version 1.0 */ @ApiOperation(value = "基础物料信息同步", tags = "基础信息同步") @ApiOperation(value = "基础物料信息同步") @PostMapping("/sync/base/matnrs") public R syncMatnrs(@RequestBody List<BaseMatParms> matnrs) { if (Objects.isNull(matnrs)) { @@ -47,7 +47,7 @@ * @version 1.0 */ @PostMapping("/sync/locs") @ApiOperation(value = "库位信息同步", tags = "基础信息同步") @ApiOperation(value = "库位信息同步") public R syncLocs(@RequestBody List<SyncLocsParams> locs) { if (locs.isEmpty()) { throw new CoolException("参数不能为空!!"); @@ -62,7 +62,7 @@ * @version 1.0 */ @PostMapping("/sync/matGroups") @ApiOperation(value = "物料分组信息同步", tags = "基础信息同步") @ApiOperation(value = "物料分组信息同步") public R syncMatGroup(@RequestBody List<SyncMatGroupsParams> matGroupsParams) { if (matGroupsParams.isEmpty()) { throw new CoolException("参数不能为空!!"); @@ -70,7 +70,13 @@ return receiveMsgService.syncMatGroups(matGroupsParams); } @ApiOperation(value = "库区数据同步", tags = "基础信息同步") /** * @author Ryan * @date 2025/8/19 * @description: 库区数据同步 * @version 1.0 */ @ApiOperation(value = "库区数据同步") @PostMapping("/sync/warehouse/areas") public R syncLocAreas(@RequestBody List<LocAreasParams> areasParams) { if (areasParams.isEmpty()) { @@ -80,7 +86,13 @@ } @ApiOperation(value = "库区数据同步", tags = "基础信息同步") /** * @author Ryan * @date 2025/8/19 * @description: 仓库信息同步 * @version 1.0 */ @ApiOperation(value = "仓库数据同步") @PostMapping("/sync/warehouse") public R syncWarehouse(@RequestBody List<WarehouseParams> warehouseParams) { if (warehouseParams.isEmpty()) { @@ -88,4 +100,21 @@ } return receiveMsgService.syncWarehouse(warehouseParams); } /** * @author Ryan * @date 2025/8/19 * @description: 仓库信息同步 * @version 1.0 */ @ApiOperation(value = "企业信息同步") @PostMapping("/sync/companies") public R syncCompanys(@RequestBody List<CompaniesParam> companyParams) { if (companyParams.isEmpty()) { throw new CoolException("参数不能为空!!"); } return receiveMsgService.syncCompanies(companyParams); } } rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ReceiveMsgController.java
@@ -32,7 +32,7 @@ */ @RestController @RequestMapping("/erp") @Api(tags = "查询") @Api(tags = "综合查询") public class ReceiveMsgController extends BaseController { @Autowired @@ -40,7 +40,12 @@ @Autowired private MatnrGroupService matnrGroupService; /** * @author Ryan * @date 2025/8/19 * @description: 物料分类列表查询 * @version 1.0 */ @ApiOperation(value = "查询分类信息") @PostMapping("/query/matnr/group") public R syncMatGroup() { rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java
@@ -20,7 +20,7 @@ @RestController @RequestMapping("/order") @Api(tags = "单据同步") @Api(tags = "单据") public class SyncOrderController { @Autowired rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/CompaniesParam.java
New file @@ -0,0 +1,53 @@ package com.vincent.rsf.server.api.controller.erp.params; import io.swagger.annotations.ApiModel; import io.swagger.annotations.ApiModelProperty; import lombok.Data; import lombok.experimental.Accessors; import java.io.Serializable; @Data @Accessors(chain = true) @ApiModel(value = "CompaniesParam", description = "同步企业信息参数") public class CompaniesParam implements Serializable { private static final long serialVersionUID = 1L; @ApiModelProperty("企业名称") private String name; @ApiModelProperty("企业名称(英文名)") private String nameEn; @ApiModelProperty("企业助记码") private String breifCode; @ApiModelProperty("企业类型") private String type; @ApiModelProperty("联系人") private String contact; @ApiModelProperty("联系电话") private String tel; @ApiModelProperty("邮箱") private String email; @ApiModelProperty("邮编") private String pcode; @ApiModelProperty("城市") private String city; @ApiModelProperty("省份") private String province; @ApiModelProperty("地址") private String address; @ApiModelProperty("企业编码") private String code; } rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java
@@ -81,4 +81,12 @@ * @version 1.0 */ R syncWarehouse(List<WarehouseParams> warehouses); /** * @author Ryan * @date 2025/8/19 * @description: 同步企业信息 * @version 1.0 */ R syncCompanies(List<CompaniesParam> companyParams); } rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -12,6 +12,7 @@ import com.vincent.rsf.server.common.domain.PageParam; import com.vincent.rsf.server.manager.controller.dto.LocStockDto; import com.vincent.rsf.server.manager.entity.*; import com.vincent.rsf.server.manager.enums.CompanysType; import com.vincent.rsf.server.manager.enums.OrderType; import com.vincent.rsf.server.manager.service.*; import com.vincent.rsf.server.manager.service.impl.LocAreaServiceImpl; @@ -69,6 +70,8 @@ private WarehouseAreasService warehouseAreasService; @Autowired private WarehouseService warehouseService; @Autowired private CompanysService companysService; /** * @author Ryan @@ -320,4 +323,35 @@ return R.ok(); } /** * @author Ryan * @date 2025/8/19 * @description: 同步企业信息 * @version 1.0 */ @Override @Transactional(timeout = 60, rollbackFor = Exception.class) public R syncCompanies(List<CompaniesParam> companyParams) { companyParams.forEach(param -> { Companys companys = new Companys(); BeanUtils.copyProperties(param, companys); if (Objects.isNull(companys.getCode())) { throw new CoolException("企业编码不能为空!!"); } Companys one = companysService.getOne(new LambdaQueryWrapper<Companys>().eq(Companys::getName, param.getName())); if (Objects.isNull(one)) { String ruleCode = SerialRuleUtils.generateRuleCode(SerialRuleCode.SYS_COMPANYS_CODE, null); companys.setCode(ruleCode); } else { throw new CoolException(one.getName() + ",企业名重复!!"); } companys.setType(CompanysType.getCustomVal(param.getType())) .setId(null); if (!companysService.save(companys)) { throw new CoolException("企业保存失败!!"); } }); return R.ok(); } } rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Companys.java
@@ -9,6 +9,7 @@ import com.vincent.rsf.server.system.constant.DictTypeCode; import com.vincent.rsf.server.system.entity.DictData; import com.vincent.rsf.server.system.service.DictDataService; import lombok.experimental.Accessors; import org.springframework.format.annotation.DateTimeFormat; import java.text.SimpleDateFormat; import java.util.Date; @@ -28,6 +29,7 @@ import java.util.Date; @Data @Accessors(chain = true) @TableName("man_companys") public class Companys implements Serializable { rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/CompanysType.java
@@ -22,4 +22,19 @@ public String val; public String desc; public static String getCustomVal(String desc) { if (desc.equals(CompanysType.COMPANYS_TYPE_SHIPPER.desc)) { return CompanysType.COMPANYS_TYPE_SHIPPER.val; } else if (desc.equals(CompanysType.COMPANYS_TYPE_CUSTOMER.desc)) { return CompanysType.COMPANYS_TYPE_CUSTOMER.val; } else if (desc.equals(CompanysType.COMPANYS_TYPE_SUPPLIER.desc)) { return CompanysType.COMPANYS_TYPE_SUPPLIER.val; } return null; } }