自动化立体仓库 - WMS系统
skyouc
2025-12-11 c8e13c6d28a3f10666d97624762938188999e575
添加同步物料信息接口
5个文件已修改
1个文件已添加
131 ■■■■ 已修改文件
src/main/java/com/zy/api/controller/AgvScheduleController.java 5 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/controller/KopenApiController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/entity/SyncMatParmas.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/enums/MatLocType.java 13 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/service/KopenApiService.java 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java 50 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/api/controller/AgvScheduleController.java
@@ -45,6 +45,9 @@
            return R.error("参数不能为空!!");
        }
        return agvScheduleService.callback(params);
    }
}
src/main/java/com/zy/api/controller/KopenApiController.java
@@ -3,6 +3,7 @@
import com.alibaba.fastjson.JSON;
import com.core.common.R;
import com.zy.api.entity.OrderParams;
import com.zy.api.entity.SyncMatParmas;
import com.zy.api.service.KopenApiService;
import com.zy.asrs.entity.Mat;
import io.swagger.annotations.ApiOperation;
@@ -53,16 +54,15 @@
     */
    @ApiOperation("零件信息数据更新")
    @PostMapping("/sync/mat")
    public R basMatUpdate(@RequestBody Map<String, String> params) {
        if (Objects.isNull(params.get("matnrs"))) {
    public R basMatUpdate(@RequestBody SyncMatParmas params) {
        if (Objects.isNull(params)) {
            return R.error("参数不能为空!!");
        }
        if (params.get("matnrs").isEmpty()) {
            return R.error("变更零件明细不能为空!!");
        if (Objects.isNull(params.getPro_komcode())) {
            return R.error("零件编码不能为空!!");
        }
        List<Mat> mats = JSON.parseArray(params.get("matnrs"), Mat.class);
        return kopenApiService.basMatupdate(mats);
        return kopenApiService.basMatupdate(params);
    }
src/main/java/com/zy/api/entity/SyncMatParmas.java
New file
@@ -0,0 +1,45 @@
package com.zy.api.entity;
import io.swagger.annotations.Api;
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 = "SyncMatParmas", description = "物料同步参数")
public class SyncMatParmas implements Serializable {
    @ApiModelProperty("零件类型")
    private String pro_type;
    @ApiModelProperty("零件代码")
    private String pro_komcode;
    @ApiModelProperty("供应商编码")
    private String pro_id;
    @ApiModelProperty("入库通知数量")
    private Double inv_qty;
    @ApiModelProperty("公司ID")
    private String company_id;
    @ApiModelProperty("零件名称")
    private String pro_name;
    @ApiModelProperty("尺寸")
    private String pro_size;
    @ApiModelProperty("重量")
    private String pro_wet;
    @ApiModelProperty("更新时间")
    private String update_time;
}
src/main/java/com/zy/api/enums/MatLocType.java
@@ -35,4 +35,17 @@
            return null;
        }
    }
    public static Long getTag(String type) {
        if (type.equals(MatType.LARGE.type)) {
            return Long.parseLong(MatLocType.AUTOMATED.type);
        } else if (type.equals(MatType.MIDDEL.type)) {
            return Long.parseLong(MatLocType.SO_HOLDING.type);
        } else if (type.equals(MatType.SMALL.type)) {
            return Long.parseLong(MatLocType.EO_HOLDING.type);
        } else {
            return null;
        }
    }
}
src/main/java/com/zy/api/service/KopenApiService.java
@@ -2,9 +2,7 @@
import com.core.common.R;
import com.zy.api.entity.OrderParams;
import com.zy.asrs.entity.Mat;
import java.util.List;
import com.zy.api.entity.SyncMatParmas;
public interface KopenApiService {
@@ -25,7 +23,7 @@
     * @param matnrs
     * @return com.core.common.R
     */
    R basMatupdate(List<Mat> matnrs);
    R basMatupdate(SyncMatParmas matnrs);
    /**
src/main/java/com/zy/api/service/impl/KopenApiServiceImpl.java
@@ -6,6 +6,9 @@
import com.core.common.R;
import com.core.exception.CoolException;
import com.zy.api.entity.OrderParams;
import com.zy.api.entity.SyncMatParmas;
import com.zy.api.enums.MatLocType;
import com.zy.api.enums.MatType;
import com.zy.api.enums.OrderType;
import com.zy.api.enums.OrderWkType;
import com.zy.api.service.KopenApiService;
@@ -18,17 +21,13 @@
import com.zy.asrs.service.OrderDetlService;
import com.zy.asrs.service.OrderService;
import com.zy.asrs.service.impl.MatServiceImpl;
import com.zy.asrs.utils.Utils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.swing.text.DateFormatter;
import java.text.SimpleDateFormat;
import java.util.Date;
import java.util.List;
import java.util.Objects;
@Service("kopenApiServiceImpl")
@@ -63,12 +62,49 @@
     *
     * @author Ryan
     * @date 2025/11/24 15:05
     * @param matnrs
     * @param params
     * @return com.core.common.R
     */
    @Override
    public R basMatupdate(List<Mat> matnrs) {
        return null;
    @Transactional(rollbackFor = Exception.class)
    public R basMatupdate(SyncMatParmas params) {
        if (Objects.isNull(params.getPro_komcode())) {
            return R.error("零件编码不能为空!!");
        }
        Mat matnr = matService.selectOne(new EntityWrapper<Mat>().eq("matnr", params.getPro_komcode()));
        if (!Objects.isNull(matnr)) {
            // 订单时间
            if (Utils.isValidFormat(params.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
                Date date = DateUtils.convert(params.getUpdate_time(), "yyyy-MM-dd HH:mm:ss");
                matnr.setUpdateTime(date);
            }
            matnr.setMaktx(params.getPro_name());
            matnr.setVolume(Double.parseDouble(params.getPro_size()));
            matnr.setWeight(Double.parseDouble(params.getPro_wet()));
            matnr.setSuppCode(params.getPro_id());
            matnr.setTagId(MatLocType.getTag(params.getPro_type()));
            matnr.setManu(params.getCompany_id());
            if (!matService.updateById(matnr)) {
                throw new CoolException("物料更新失败!!");
            }
        } else {
            // 订单时间
            if (Utils.isValidFormat(params.getUpdate_time(), "yyyy-MM-dd HH:mm:ss")) {
                Date date = DateUtils.convert(params.getUpdate_time(), "yyyy-MM-dd HH:mm:ss");
                matnr.setUpdateTime(date);
            }
            matnr.setMaktx(params.getPro_name());
            matnr.setMatnr(params.getPro_komcode());
            matnr.setVolume(Double.parseDouble(params.getPro_size()));
            matnr.setWeight(Double.parseDouble(params.getPro_wet()));
            matnr.setSuppCode(params.getPro_id());
            matnr.setTagId(MatLocType.getTag(params.getPro_type()));
            matnr.setManu(params.getCompany_id());
            if (!matService.insert(matnr)) {
                throw new CoolException("物料更新失败!!");
            }
        }
        return R.ok("保存成功!!");
    }
    /**