skyouc
2025-08-18 e357f222305494e100a7452832753e63e7f8fae9
库位信息同步接口
3个文件已修改
1个文件已添加
144 ■■■■■ 已修改文件
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ReceiveMsgController.java 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncLocsParams.java 82 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java 9 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java 29 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/ReceiveMsgController.java
@@ -6,6 +6,7 @@
import com.vincent.rsf.server.api.controller.erp.params.BaseMatParms;
import com.vincent.rsf.server.api.controller.erp.params.OrderParams;
import com.vincent.rsf.server.api.controller.erp.params.QueryOrderParam;
import com.vincent.rsf.server.api.controller.erp.params.SyncLocsParams;
import com.vincent.rsf.server.api.service.ReceiveMsgService;
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.PageParam;
@@ -39,6 +40,7 @@
 */
@RestController
@RequestMapping("/erp")
//@Api(tags = "三方接口文档")
public class ReceiveMsgController extends BaseController {
    @Autowired
@@ -135,15 +137,33 @@
    /**
     * @author Ryan
     * @date 2025/8/15
     * @description: 库位明细同步
     * @description: 库位信息查询
     * @version 1.0
     */
    @PostMapping("/sync/locs/detls")
    @ApiOperation(value = "库位信息明细同步", tags = "基础信息同步")
    @ApiOperation(value = "库位信息查询", tags = "查询")
    public R syncLocDetls(@RequestBody Map<String, Object> map) {
        BaseParam baseParam = buildParam(map, BaseParam.class);
        PageParam<Loc, BaseParam> pageParam = new PageParam<>(baseParam, Loc.class);
        QueryWrapper<Loc> wrapper = pageParam.buildWrapper(true);
        return receiveMsgService.syncLocsDetl(pageParam, wrapper);
    }
    /**
     * @author Ryan
     * @date 2025/8/18
     * @description: 库位信息同步
     * @version 1.0
     */
    @PostMapping("/sync/locs")
    @ApiOperation(value = "库位信息同步", tags = "基础信息同步")
    public R syncLocs(@RequestBody List<SyncLocsParams> locs) {
        if (locs.isEmpty()) {
            throw new CoolException("参数不能为空!!");
        }
        return receiveMsgService.syncLocs(locs);
    }
}
rsf-server/src/main/java/com/vincent/rsf/server/api/controller/erp/params/SyncLocsParams.java
New file
@@ -0,0 +1,82 @@
package com.vincent.rsf.server.api.controller.erp.params;
import io.swagger.annotations.ApiModelProperty;
import io.swagger.annotations.ApiModel;
import lombok.experimental.Accessors;
import java.io.Serializable;
import lombok.Data;
@Data
@Accessors(chain = true)
@ApiModel(value = "SyncLocsParams", description = "库位同步参数")
public class SyncLocsParams implements Serializable {
    @ApiModelProperty("库位编码")
    private String locCode;
    @ApiModelProperty("库位ID")
    private Long locId;
    @ApiModelProperty(value= "库位类型(*) H:  高库位   M:  中库位   L:  低库位  ")
    private String type;
    /**
     * 容器编码
     */
    @ApiModelProperty(value= "容器编码")
    private String barcode;
    /**
     * 长
     */
    @ApiModelProperty(value= "长")
    private Double length;
    /**
     * 高
     */
    @ApiModelProperty(value= "高")
    private Double height;
    /**
     * 宽
     */
    @ApiModelProperty(value= "宽")
    private Double width;
    /**
     * 排
     */
    @ApiModelProperty(value= "排")
    private Integer row;
    /**
     * 列
     */
    @ApiModelProperty(value= "列")
    private Integer col;
    /**
     * 层
     */
    @ApiModelProperty(value= "层")
    private Integer lev;
    /**
     * 巷道
     */
    @ApiModelProperty(value= "巷道")
    private Integer channel;
    /**
     * 库位使用状态 O:  空库   D:  空板   R:  预约出库   S:  预约入库   X:  禁用    F:  在库
     */
    @ApiModelProperty(value= "库位使用状态 O:  空库   D:  空板   R:  预约出库   S:  预约入库   X:  禁用    F:  在库  ")
    private String useStatus;
    /**
     * 状态 1: 正常  0: 冻结
     */
    @ApiModelProperty(value= "状态 1: 正常  0: 冻结  ")
    private Integer status;
}
rsf-server/src/main/java/com/vincent/rsf/server/api/service/ReceiveMsgService.java
@@ -6,6 +6,7 @@
import com.vincent.rsf.server.api.controller.erp.params.BaseMatParms;
import com.vincent.rsf.server.api.controller.erp.params.OrderParams;
import com.vincent.rsf.server.api.controller.erp.params.QueryOrderParam;
import com.vincent.rsf.server.api.controller.erp.params.SyncLocsParams;
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.PageParam;
import com.vincent.rsf.server.manager.entity.Loc;
@@ -51,4 +52,12 @@
     * @version 1.0
     */
    R syncLocsDetl(PageParam<Loc, BaseParam> pageParam, QueryWrapper<Loc> wrapper);
    /**
     * @author Ryan
     * @date 2025/8/18
     * @description: 库位同步
     * @version 1.0
     */
    R syncLocs(List<SyncLocsParams> locs);
}
rsf-server/src/main/java/com/vincent/rsf/server/api/service/impl/ReceiveMsgServiceImpl.java
@@ -7,9 +7,7 @@
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.vincent.rsf.framework.common.R;
import com.vincent.rsf.framework.exception.CoolException;
import com.vincent.rsf.server.api.controller.erp.params.BaseMatParms;
import com.vincent.rsf.server.api.controller.erp.params.QueryOrderParam;
import com.vincent.rsf.server.api.controller.erp.params.WkOrderDto;
import com.vincent.rsf.server.api.controller.erp.params.*;
import com.vincent.rsf.server.common.domain.BaseParam;
import com.vincent.rsf.server.common.domain.PageParam;
import com.vincent.rsf.server.manager.controller.dto.LocStockDto;
@@ -18,7 +16,6 @@
import com.vincent.rsf.server.manager.service.*;
import com.vincent.rsf.server.manager.service.impl.MatnrServiceImpl;
import com.vincent.rsf.server.system.constant.SerialRuleCode;
import com.vincent.rsf.server.api.controller.erp.params.OrderParams;
import com.vincent.rsf.server.system.entity.Fields;
import com.vincent.rsf.server.system.service.FieldsItemService;
import com.vincent.rsf.server.system.service.FieldsService;
@@ -207,7 +204,7 @@
    /**
     * @author Ryan
     * @date 2025/8/15
     * @description: 同步库位信息
     * @description: 查询库位信息
     * @version 1.0
     */
    @Override
@@ -218,5 +215,27 @@
        return R.ok().add(locStocks);
    }
    /**
     * @author Ryan
     * @date 2025/8/18
     * @description: 库位同步
     * @version 1.0
     */
    @Override
    @Transactional(timeout = 30, rollbackFor = Exception.class)
    public R syncLocs(List<SyncLocsParams> locs) {
        List<Loc> syncLocs = new ArrayList<>();
        locs.forEach(loc -> {
            Loc loc1 = new Loc();
            BeanUtils.copyProperties(loc, loc1);
            loc1.setCode(loc.getLocCode()).setId(null);
            syncLocs.add(loc1);
        });
        if (!locService.saveBatch(syncLocs)) {
            throw new CoolException("库位同步失败!!");
        }
        return R.ok();
    }
}