src/main/java/com/zy/asrs/controller/OpenController.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/main/java/com/zy/asrs/entity/Mat.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/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; @@ -36,30 +33,40 @@ @Autowired private OpenService openService; @PostMapping("/order/matSync/default/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); } openService.syncMat(param); return R.ok(); } /****************************************************************************/ /********************************* 打包上线 **********************************/ /****************************************************************************/ @PostMapping("/order/pakin/new/package/v1") @AppAuth(memo = "打包上线接口") public synchronized R pakinOrderPackage(@RequestHeader(required = false) String appkey, @RequestBody(required = false) PackParam param, HttpServletRequest request) { auth(appkey, param, request); if (Cools.isEmpty(param)) { return R.parse(BaseRes.PARAM); } openService.packageUp(param); return R.ok(); } // @PostMapping("/order/pakin/new/package/v1") // @AppAuth(memo = "打包上线接口") // public synchronized R pakinOrderPackage(@RequestHeader(required = false) String appkey, // @RequestBody(required = false) PackParam param, // HttpServletRequest request) { // auth(appkey, param, request); // if (Cools.isEmpty(param)) { // return R.parse(BaseRes.PARAM); // } // openService.packageUp(param); // return R.ok(); // } /** * 添加入库单 */ @PostMapping("/order/pakin/new/default/v1") @PostMapping("/order/pakin/default/v1") public synchronized R pakinOrderCreate(@RequestHeader(required = false) String appkey, @RequestBody OpenOrderPakinParam param, HttpServletRequest request) { @@ -94,7 +101,7 @@ /** * 添加出库单 */ @PostMapping("/order/pakout/new/default/v1") @PostMapping("/order/pakout/default/v1") @AppAuth(memo = "添加订单出库") public synchronized R pakoutOrderCreate(@RequestHeader(required = false) String appkey, @RequestBody OpenOrderPakoutParam param, @@ -143,7 +150,6 @@ auth(appkey, null, request); return R.ok().add(openService.queryStock()); } 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/Mat.java
@@ -8,6 +8,7 @@ import com.core.common.Cools; import com.core.common.SpringUtils; import com.zy.asrs.service.TagService; import com.zy.common.utils.Synchro; import com.zy.system.entity.User; import com.zy.system.service.UserService; import io.swagger.annotations.ApiModelProperty; @@ -491,5 +492,8 @@ return new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(this.updateTime); } public void sync(Object source) { Synchro.Copy(source, this); } } src/main/java/com/zy/asrs/entity/param/MatSyncParam.java
New file @@ -0,0 +1,199 @@ package com.zy.asrs.entity.param; import lombok.Data; import java.util.List; /** * 商品同步接口,参数 * Created on 2022/6/22 */ @Data public class MatSyncParam { /** * 创建时间 */ public String createTime; public List<MatParam> matDetails; @Data public class MatParam{ /** * 商品编号 */ private String matnr; /** * 商品名称 */ private String maktx; /** * 商品分类 */ private String groupCode; /** * 分类名称 */ private String groupName; /** * 别名 */ private String name; /** * 规格 */ private String specs; /** * 型号 */ private String model; /** * 颜色 */ private String color; /** * 品牌 */ private String brand; /** * 单位 */ private String unit; /** * 单价 */ private Double price; /** * sku */ private String sku; /** * 单位量 */ private Double units; /** * 条码 */ private String barcode; /** * 产地 */ private String origin; /** * 厂家 */ private String manu; /** * 生产日期 */ private String manuDate; /** * 品项数 */ private String itemNum; /** * 安全库存量 */ private Double safeQty; /** * 重量 */ private Double weight; /** * 长度 */ private Double length; /** * 体积 */ private Double volume; /** * 三方编码 */ private String threeCode; /** * 供应商 */ private String supp; /** * 供应商编码 */ private String suppCode; /** * 是否批次 1: 是 0: 否 */ private Integer beBatch; /** * 保质期 */ private String deadTime; /** * 预警天数 */ private Integer deadWarn; /** * 来源 1: 制造 2: 采购 3: 外协 */ private Integer source; /** * 要求检验 1: 是 0: 否 */ private Integer inspect; /** * 危险品 1: 是 0: 否 */ private Integer danger; /** * 状态 1: 正常 0: 禁用 */ private Integer status; /** * 添加人员 */ private String createBy; /** * 添加时间 */ private String createTime; /** * 备注 */ 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,9 @@ // 打包上线 void packageUp(PackParam param); /** * 同步商品信息 * @param param */ void syncMat(MatSyncParam param); } src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -6,10 +6,7 @@ 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; @@ -438,4 +435,113 @@ } } @Override @Transactional public void syncMat(MatSyncParam param) { if (Cools.isEmpty(param.getMatDetails()) || param.getMatDetails().size() <=0 ) { throw new CoolException("商品数据为空"); } for(MatSyncParam.MatParam matParam : param.getMatDetails()){ if(Cools.isEmpty(matParam.getMatnr())){ throw new CoolException("商品编码不能为空"); } Date now = new Date(); Mat mat = matService.selectByMatnr(matParam.getMatnr()); if (mat == null) { mat = new Mat(); // 分类 Long tagId; // 一级分类 if (!Cools.isEmpty(matParam.getGroupCode()) && !Cools.isEmpty(matParam.getGroupName())) { Tag priTag = tagService.selectByName(matParam.getGroupCode(), 2); if (priTag == null) { Tag top = tagService.getTop(); NodeUtils nodeUtils = new NodeUtils(); nodeUtils.executePath(top.getId()); priTag = new Tag( null, // 编号 matParam.getGroupCode(), // 名称 top.getId(), // 父级 top.getName(), // 父级名称 nodeUtils.path.toString(), // 关联路径 nodeUtils.pathName.toString(), // 关联路径名 0, // 类型 null, // 负责人 null, // 图片 null, // 简要描述 null, // 数量 2, // 等级 null, // 排序 1, // 状态 now, // 添加时间 null, // 添加人员 now, // 修改时间 null, // 修改人员 null // 备注 ); if (tagMapper.insert(priTag) == 0) { throw new CoolException("服务器内部错误,请联系管理员"); } } // 二级分类 Tag secTag = tagService.selectByName(matParam.getGroupName(), 3); if (secTag == null) { NodeUtils nodeUtils = new NodeUtils(); nodeUtils.executePath(priTag.getId()); secTag = new Tag( null, // 编号 matParam.getGroupName(), // 名称 priTag.getId(), // 父级 priTag.getName(), // 父级名称 nodeUtils.path.toString(), // 关联路径 nodeUtils.pathName.toString(), // 关联路径名 0, // 类型 null, // 负责人 null, // 图片 null, // 简要描述 null, // 数量 3, // 等级 null, // 排序 1, // 状态 now, // 添加时间 null, // 添加人员 now, // 修改时间 null, // 修改人员 null // 备注 ); if (tagMapper.insert(secTag) == 0) { throw new CoolException("服务器内部错误,请联系管理员"); } } tagId = secTag.getId(); } else { tagId = tagService.getTop().getId(); } mat.sync(param); // mat.setMatnr(param.getMatnr()); // mat.setMaktx(param.getMaktx()); // mat.setSpecs(param.getSpecs()); // mat.setModel(param.getModel()); mat.setTagId(tagId); mat.setStatus(1); mat.setCreateTime(now); mat.setUpdateTime(now); if (!matService.insert(mat)) { throw new CoolException("服务器内部错误,请联系管理员"); } else { log.info("同步新物料[商品编号:{}]", mat.getMatnr()); } } else { mat.sync(param); if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatnr()))) { throw new CoolException("更新已存在商品信息失败,请联系管理员"); } } } } }