自动化立体仓库 - WMS系统
#
18516761980
2023-03-05 07209190eae32504b5fff126e7c0d129de191272
#
4个文件已修改
1个文件已添加
178 ■■■■■ 已修改文件
src/main/java/com/zy/asrs/controller/OpenController.java 38 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/entity/param/MatSyncParam.java 64 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/OpenService.java 11 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java 61 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/webapp/static/js/apiLog/apiLog.js 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -4,10 +4,7 @@
import com.core.annotations.AppAuth;
import com.core.common.*;
import com.core.exception.CoolException;
import com.zy.asrs.entity.param.OpenOrderCompleteParam;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.entity.param.PackParam;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.service.OpenService;
import com.zy.common.model.DetlDto;
import com.zy.common.web.BaseController;
@@ -146,6 +143,39 @@
        return R.ok().add(openService.queryStock());
    }
    @PostMapping("/mat/v1")
//    @AppAuth(memo = "商品信息同步接口")
    public synchronized R syncMatInfo(@RequestHeader(required = false) String appkey,
                                      @RequestBody(required = false) MatSyncParam param,
                                      HttpServletRequest request){
        auth(appkey, param, request);
        if (Cools.isEmpty(param)) {
            return R.parse(BaseRes.PARAM);
        }
        MatSyncParam matSyncParam = openService.syncMat(param);
        if (Cools.isEmpty(matSyncParam.getMats()) || matSyncParam.getMats().size() <=0 ) {
            return R.error("数据异常");
        }
        StringBuilder Msg= new StringBuilder("原因:");
        int MsgT=0,MsgF=0;
        for (MatSyncParam.Mats matParam:matSyncParam.getMats()){
            if (matParam.isType()){
                MsgT++;
            }else {
                MsgF++;
                Msg.append(matParam.getMatnr()).append(":").append(matParam.getMemo()).append(";");
            }
        }
        if (MsgF==0){
            return R.ok("成功接收物料:"+MsgT+"个");
        }else if (MsgT==0){
            return R.ok("接收物料失败:"+MsgF+"个;"+Msg);
        }else {
            return R.ok("成功接收物料:"+MsgT+"个;"+"接收物料失败:"+MsgF+"个;"+Msg);
        }
    }
    private void auth(String appkey, Object obj, HttpServletRequest request) {
        log.info("{}接口被访问;appkey:{};请求数据:{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj));
src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
New file
@@ -0,0 +1,64 @@
package com.zy.asrs.entity.param;
import lombok.Data;
import java.util.List;
/**
 * 商品同步接口,参数
 * Created on 2022/6/22
 */
@Data
public class MatSyncParam {
    public List<Mats> mats;
    @Data
    public static class Mats{
        /**
         * 接收成功:true
         * 接收失败:false
         */
        private boolean type=true;
        /**
         * 商品编号
         */
        private String matnr;
        /**
         * 商品名称
         */
        private String maktx;
        /**
         * 规格
         */
        private String specs;
        /**
         * 型号
         */
        private String model;
        /**
         * 颜色
         */
        private  String color;
        /**
         * 单位
         */
        private String unit;
        /**
         * 单位量
         */
        private Double units;
        /**
         * 备注
         */
        private String memo;
    }
}
src/main/java/com/zy/asrs/service/OpenService.java
@@ -1,9 +1,6 @@
package com.zy.asrs.service;
import com.zy.asrs.entity.param.OpenOrderCompleteParam;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.entity.param.PackParam;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.entity.result.OpenOrderCompeteResult;
import com.zy.asrs.entity.result.StockVo;
@@ -41,4 +38,10 @@
    // 打包上线
    void packageUp(PackParam param);
    /**
     * 同步商品信息
     * @param param
     */
    MatSyncParam syncMat(MatSyncParam param);
}
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -6,25 +6,21 @@
import com.core.common.SnowflakeIdWorker;
import com.core.exception.CoolException;
import com.zy.asrs.entity.*;
import com.zy.asrs.entity.param.OpenOrderCompleteParam;
import com.zy.asrs.entity.param.OpenOrderPakinParam;
import com.zy.asrs.entity.param.OpenOrderPakoutParam;
import com.zy.asrs.entity.param.PackParam;
import com.zy.asrs.entity.param.*;
import com.zy.asrs.entity.result.OpenOrderCompeteResult;
import com.zy.asrs.entity.result.StockVo;
import com.zy.asrs.mapper.TagMapper;
import com.zy.asrs.service.*;
import com.zy.asrs.utils.MatUtils;
import com.zy.common.model.DetlDto;
import com.zy.common.utils.ListUtils;
import com.zy.common.utils.NodeUtils;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.*;
/**
 * Created by vincent on 2022/4/9
@@ -51,6 +47,8 @@
    private TagService tagService;
    @Autowired
    private TagMapper tagMapper;
    @Autowired
    private ApiLogService apiLogService;
    @Override
    @Transactional
@@ -437,5 +435,54 @@
            }
        }
    }
    @Override
    @Transactional
    public MatSyncParam syncMat(MatSyncParam param) {
        if (Cools.isEmpty(param.getMats()) || param.getMats().size() <=0 ) {
            throw new CoolException("商品数据为空");
        }
        MatSyncParam matSyncParam = new MatSyncParam();
        ArrayList<MatSyncParam.Mats> matParams = new ArrayList<>();
        Tag tag = tagService.selectByName("全部", 1);
        for (MatSyncParam.Mats matParam : param.getMats()){
            Date date = new Date();
            Mat mat = matService.selectByMatnr(matParam.getMatnr());
            if (Cools.isEmpty(mat)) {
                Mat matNew = new Mat();
                matNew.setTagId(tag.getId());
                matNew.setMatnr(matParam.getMatnr());//物料编码
                matNew.setMaktx(matParam.getMaktx());//物料名称
                matNew.setSpecs(matParam.getSpecs());//规格
                matNew.setModel(matParam.getModel());//型号
                matNew.setColor(matParam.getColor());//颜色
                matNew.setUnit(matParam.getUnit());//单位
                matNew.setMemo(matParam.getMemo());//备注
                matNew.setCreateBy(9999L);//9999表示erp下发
                matNew.setCreateTime(date);
                matNew.setUpdateBy(9999L);//9999表示erp下发
                matNew.setUpdateTime(date);
                if (matService.insert(matNew)) {
                    callApiLogSave(matParam, "/open/asrs/mat/v1", "接收ERP下发商品信息成功!添加商品信息成功!", true);
                    matParam.setType(true);
                } else {
                    callApiLogSave(matParam, "/open/asrs/mat/v1", "添加ERP下发商品信息失败!!!状态异常!!!", false);
                    matParam.setType(false);
                    matParam.setMemo("添加ERP下发商品信息失败!");
                }
            } else {
                callApiLogSave(matParam, "/open/asrs/mat/v1", "接收ERP下发商品信息失败!!!商品已存在!!!", false);
                matParam.setType(false);
                matParam.setMemo("商品已存在!");
            }
            matParams.add(matParam);
        }
        matSyncParam.setMats(matParams);
        return matSyncParam;
    }
    public void callApiLogSave(MatSyncParam.Mats matParam, String tableName, String response, Boolean bool) {
        apiLogService.save("ERP下发商品信息", tableName, "null", "10.10.10.1",
                "物料编码:" + matParam.getMatnr() + "、物料名称:" + matParam.getMaktx() + "、规格:" + matParam.getSpecs() + "、备注:" + matParam.getMemo(),
                response, bool);
    }
}
src/main/webapp/static/js/apiLog/apiLog.js
@@ -26,9 +26,9 @@
            // ,{field: 'uuid', align: 'center',title: '日志编号'}
            ,{field: 'namespace', align: 'center',title: '名称空间'}
            ,{field: 'url', align: 'center',title: '接口地址'}
            ,{field: 'appkey', align: 'center',title: '平台密钥'}
            // ,{field: 'appkey', align: 'center',title: '平台密钥'}
            // ,{field: 'timestamp', align: 'center',title: '时间戳'}
            ,{field: 'clientIp', align: 'center',title: '客户端IP'}
            // ,{field: 'clientIp', align: 'center',title: '客户端IP'}
            ,{field: 'request', align: 'center',title: '请求内容'}
            ,{field: 'response', align: 'center',title: '响应内容'}
            // ,{field: 'err', align: 'center',title: '异常内容'}