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/java/com/zy/asrs/task/handler/OrderSyncHandler.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/main/java/com/zy/asrs/controller/OpenController.java
@@ -5,10 +5,7 @@ import com.core.common.*; import com.core.exception.CoolException; import com.zy.asrs.entity.WrkMast; 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.asrs.service.WrkMastService; import com.zy.common.model.DetlDto; @@ -140,7 +137,23 @@ @PostMapping("/order/matSync/default/v2") // @AppAuth(memo = "商品信息同步接口") public synchronized R syncMatInfoV2(@RequestHeader(required = false) String appkey, @RequestBody(required = false) MatSyncParam.MatParam param, HttpServletRequest request){ auth(appkey, param, request); if (Cools.isEmpty(param)) { return R.parse(BaseRes.PARAM); } MatSyncParam matSyncParam = new MatSyncParam(); List<MatSyncParam.MatParam> objects = new ArrayList<>(); objects.add(param); matSyncParam.matDetails = objects; openService.syncMat(matSyncParam); return R.ok(); } 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 static 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,10 +1,7 @@ package com.zy.asrs.service; import com.zy.asrs.entity.WrkMast; 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; @@ -43,4 +40,7 @@ void packageUp(PackParam param); void pickToFill(WrkMast wrkMast); void syncMat(MatSyncParam param); } src/main/java/com/zy/asrs/service/impl/OpenServiceImpl.java
@@ -7,10 +7,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; @@ -18,6 +15,7 @@ import com.zy.asrs.utils.MatUtils; import com.zy.common.model.DetlDto; import com.zy.common.utils.NodeUtils; import com.zy.common.utils.Synchro; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; @@ -280,14 +278,15 @@ } } } @Override @Transactional public void pickToFill( WrkMast wrkMast ){ public void pickToFill(WrkMast wrkMast) { Date now = new Date(); wrkMast.setIoType(101); wrkMast.setMemo("捡料转全板工作档"); wrkMastService.update(wrkMast,new EntityWrapper<WrkMast>() .eq("wrk_no",wrkMast.getWrkNo())); wrkMastService.update(wrkMast, new EntityWrapper<WrkMast>() .eq("wrk_no", wrkMast.getWrkNo())); wrkDetlService.deleteByWrkNo(wrkMast.getWrkNo()); List<LocDetl> locDetls = locDetlService.selectByLocNo(wrkMast.getSourceLocNo()); for (LocDetl locDetl : locDetls) { @@ -304,7 +303,7 @@ wrkDetl.setMatType(locDetl.getMatType()); wrkDetlService.insert(wrkDetl); } locMastService.updateLocSts(wrkMast.getSourceLocNo(),"R"); locMastService.updateLocSts(wrkMast.getSourceLocNo(), "R"); } @@ -474,4 +473,107 @@ } } @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.selectOne(new EntityWrapper<Tag>().eq("name", matParam.getGroupCode())); 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(); } Synchro.Copy(matParam,mat); 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 { Synchro.Copy(matParam,mat); if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr", matParam.getMatnr()))) { throw new CoolException("更新已存在商品信息失败,请联系管理员"); } } } } } src/main/java/com/zy/asrs/task/handler/OrderSyncHandler.java
@@ -89,7 +89,7 @@ try { // 保存接口日志 apiLogService.save( "成品库入库上报", "入库上报", MesConstant.URL + MesConstant.PAKIN_URL, null, "127.0.0.1", @@ -143,7 +143,7 @@ try { // 保存接口日志 apiLogService.save( "成品库出库上报", "出库上报", MesConstant.URL + MesConstant.PAKOUT_URL, null, "127.0.0.1",