skyouc
2 天以前 902ec017c2c6b01bacc67a0a65fbb5a53a951c1e
企业信息同步
7个文件已修改
1个文件已添加
164 ■■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/BaseInfoController.java 41 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ReceiveMsgController.java 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/SyncOrderController.java 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/CompaniesParam.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java 34 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/entity/Companys.java 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/manager/enums/CompanysType.java 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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;
    }
}