src/main/java/com/zy/asrs/controller/OpenController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/param/MatSyncParam.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/OpenService.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/webapp/static/js/apiLog/apiLog.js | ●●●●● 补丁 | 查看 | 原始文档 | 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: '异常内容'}