|  |  | 
 |  |  | ¸!´;Ér-C>?Í<ñÒ÷©zàÃ)̨
] | 
 |  |  | ½æñGµË¯PeUgYó\¡
Óki5ÚU,6»FýDð7^Ò-jÁV¬§ÃÀV)fÚ+«©·°ãÇÓ©WoSäci*4¤ÅG2ÿè øÒÍ3:}ÌÑæ¸@÷æ
 | 
 |  |  | ìLvYO-Sz§qßaUòG²ºUê2FE·Ú#¾lé=süjHè
Ça3sdL®Á`eû§HÇ©¯wÿ§îÜN(sgÝ$ |ÞgÙzÝ2°"\/Ø~7^Ca´«¸Ôáµ) ¢ | 
 |  |  | µ* | 
 |  |  | 22RÎ6
¬É5OÂhÄ¿HÜfСÐÖ¨¶@~:ï=Çß| ¸Ð
Ú®OP]&É`B;ëf*"5Þìõ·¸½À$fäÕBbNa|\³ð=mzÚËtÏ}NZ\JüoÄh¶àRlÀ_º!][Ñ3Kq]EÝûÖ=æjiI($¥&êñçRéQ.ØÿÉýªýõ*<饨¨.¥NÔ+èdû.«Ë±\+5m~Ðwøx5úzl0Êu£[p | 
 |  |  | 1X@o}l¸«õ:¼ÞmºhiOw5©õ¨ÕxG    rþbWe(»¤ÊòGb>å øªô~+`ÖO4(Ýtk¥cX3FvêIËB«i<ã¿3â1fO"o_OñËu,Ñ-²úªCB2Ç bp2WkÇ0æÄ/¿Á%|èláõVÛD»×Äbr Æª%y':¤[    Þ'NnÓàtç:&7- | 
 |  |  | ¸!´;ɢǻÛkõ£g¡+½NNQM¢7¤m\îaPe«~j`YǦ_Ì"KÙ¥åÅìÒÔÉfIäÄÑJ¶¯è<t×uI²7çúÏl`²dt¨Z¡7çà_°»Ý¼hòÍiTAN³AyÓ«£¨-a¼4Ò:Æ|)#7{e93²±Sô\!®K
ÄËi gr÷M#Ká¸Ðù¿&½H²ã¿&êlÔHPpÛÐÑ¡M³çv,Ü^ûÄs:ö_å;±þ÷ÂkKÐ(üº½vÙ ÷3faPFû
£§OûYÂÎ)¬þËæØ3$vÑr§%¼KÃÿ%9ÓïÎ[»>)=8b@9±ac³ï2ÅÖ$°¤¹CäSâd ÷e¿%ãíNm·éçásb©ªêåö×aðCOÌ2I^jKWР   bõRü¹ÿlOéþßyö'OË·Ü'UÂø5'&GQ¯»ù6Âæo^Sr;Y°){_¥#xGáX*Â.!d®=Xî§J¤¨    çð?sq´Â£«'Pɪî®z93ø|0-Úô[êÙëxu0ò¶«ÃÇ
Þd7)PB&ó[kó]êXGr¤5Õys¸Ý | 
 |  |  | òåÄ¡Ïh6Ýúè-Q@Okih'fzë`"?#É»hû<ÅF3ÊjÞVoA£Á@¦Í:À.yLZõ¨,9ªóun#V0f|D¬þ»sTâ=
9~ | 
 |  |  | ~F³Ç7¬dÐ| N+6¥x¬$vÙ¨<å®"ÄM^ü;¢üfwXd)0âãï´þÍÉ&Lؤ\Èg!¡ºRe¥âÈ$ª êG%;¿}ÑnÁkÀµ+ìq}»-9ó`ýò)!8öÍDÔOQsõÕûçò26¢P?ªA | 
 
 |  |  | 
 |  |  |  */ | 
 |  |  | @Slf4j | 
 |  |  | @RestController | 
 |  |  | @RequestMapping("open/wms") | 
 |  |  | @RequestMapping("Open/wms") | 
 |  |  | public class OpenMesController extends BaseController { | 
 |  |  |  | 
 |  |  |     private static final boolean auth = true; | 
 |  |  | 
 |  |  |         return R.ok(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @PostMapping("/orderSync/default/v1") | 
 |  |  |     @AppAuth(memo = "订单信息同步接口") | 
 |  |  |     public synchronized R syncOrderInfo(@RequestHeader(required = false) String appkey, | 
 |  |  |                                         @RequestBody(required = false) GTOrderParam param, | 
 |  |  |                                         HttpServletRequest request) { | 
 |  |  |         auth(appkey, param, request); | 
 |  |  |         if (Cools.isEmpty(param)) { | 
 |  |  |             return R.parse(BaseRes.PARAM); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         return R.ok(); | 
 |  |  |     } | 
 |  |  | //    @PostMapping("/orderSync/default/v1") | 
 |  |  | //    @AppAuth(memo = "订单信息同步接口") | 
 |  |  | //    public synchronized R syncOrderInfo(@RequestHeader(required = false) String appkey, | 
 |  |  | //                                        @RequestBody(required = false) GTOrderParam param, | 
 |  |  | //                                        HttpServletRequest request) { | 
 |  |  | //        auth(appkey, param, request); | 
 |  |  | //        if (Cools.isEmpty(param)) { | 
 |  |  | //            return R.parse(BaseRes.PARAM); | 
 |  |  | //        } | 
 |  |  | // | 
 |  |  | //        return R.ok(); | 
 |  |  | //    } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  | 
 |  |  |     /** | 
 |  |  |      * 添加出库单 | 
 |  |  |      */ | 
 |  |  |     @PostMapping("/order/pakout/default/v1") | 
 |  |  |     @PostMapping("/order/pakout/auth/v1") | 
 |  |  |     @AppAuth(memo = "添加订单出库") | 
 |  |  |     public synchronized R pakoutOrderCreate(@RequestHeader(required = false) String appkey, | 
 |  |  |                                             @RequestBody OpenOrderPakoutParam param, | 
 |  |  | 
 |  |  |         auth(appkey, param, request); | 
 |  |  |         if (Cools.isEmpty(param)) { | 
 |  |  |             return R.parse(BaseRes.PARAM); | 
 |  |  |         } | 
 |  |  |         if (Cools.isEmpty(param.getLgort())) { | 
 |  |  |             return R.error("单据编号[lgort]不能为空"); | 
 |  |  |         } | 
 |  |  |         if (!param.getLgort().equals("5006")) { | 
 |  |  |             return R.ok(); | 
 |  |  |         } | 
 |  |  |         if (Cools.isEmpty(param.getOrderNo())) { | 
 |  |  |             return R.error("单据编号[orderNo]不能为空"); | 
 |  |  | 
 |  |  |     private void auth(String appkey, Object obj, HttpServletRequest request) { | 
 |  |  |         log.info("{}接口被访问;appkey:{};请求数据:{}", request.getRequestURI(), appkey, JSON.toJSONString(obj)); | 
 |  |  |         request.setAttribute("cache", obj); | 
 |  |  |         if (!auth) { | 
 |  |  |             return; | 
 |  |  |         } | 
 |  |  |         if (Cools.isEmpty(appkey)) { | 
 |  |  |             throw new CoolException("认证失败,请确认appkey无误!"); | 
 |  |  |         } | 
 |  |  |         if (!APP_KEY_LIST.contains(appkey)) { | 
 |  |  |             throw new CoolException("认证失败,请确认appkey无误!"); | 
 |  |  |         } | 
 |  |  | //        if (!auth) { | 
 |  |  | //            return; | 
 |  |  | //        } | 
 |  |  | //        if (Cools.isEmpty(appkey)) { | 
 |  |  | //            throw new CoolException("认证失败,请确认appkey无误!"); | 
 |  |  | //        } | 
 |  |  | //        if (!APP_KEY_LIST.contains(appkey)) { | 
 |  |  | //            throw new CoolException("认证失败,请确认appkey无误!"); | 
 |  |  | //        } | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 
 |  |  | 
 |  |  |         /** | 
 |  |  |          * 商品分类 | 
 |  |  |          */ | 
 |  |  |         private String groupCode; | 
 |  |  |         private String tagId; | 
 |  |  |  | 
 |  |  |         /** | 
 |  |  |          * 分类名称 | 
 |  |  | 
 |  |  |         private String memo; | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public MatSyncParam() { | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     public MatSyncParam(List<MatParam> matDetails) { | 
 |  |  |         this.matDetails = matDetails; | 
 |  |  |     } | 
 |  |  | } | 
 
 |  |  | 
 |  |  |             throw new CoolException("商品数据为空"); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |         for(MatSyncParam.MatParam matParam : param.getMatDetails()){ | 
 |  |  |             if(Cools.isEmpty(matParam.getMatnr())){ | 
 |  |  |                 throw new CoolException("商品编码不能为空"); | 
 |  |  | 
 |  |  |             // 分类 | 
 |  |  |             Long tagId; | 
 |  |  |             // 一级分类 | 
 |  |  |             Tag tag = tagService.selectOne(new EntityWrapper<Tag>().eq("memo", matParam.getGroupCode())); | 
 |  |  |             if (tag == null) { | 
 |  |  |                 throw new CoolException("出错,未找到分类"); | 
 |  |  |             if (!Cools.isEmpty(matParam.getTagId()) && !Cools.isEmpty(matParam.getGroupName())) { | 
 |  |  |                 Tag priTag = tagService.selectByName(matParam.getTagId(), 1); | 
 |  |  |                 if (priTag == null) { | 
 |  |  |                     Tag top = tagService.getTop(); | 
 |  |  |                     NodeUtils nodeUtils = new NodeUtils(); | 
 |  |  |                     nodeUtils.executePath(top.getId()); | 
 |  |  |                     priTag = new Tag( | 
 |  |  |                             null,    // 编号 | 
 |  |  |                             matParam.getTagId(),    // 名称 | 
 |  |  |                             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(), 2); | 
 |  |  |                 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,    // 数量 | 
 |  |  |                             2,    // 等级 | 
 |  |  |                             null,    // 排序 | 
 |  |  |                             1,    // 状态 | 
 |  |  |                             now,    // 添加时间 | 
 |  |  |                             null,    // 添加人员 | 
 |  |  |                             now,    // 修改时间 | 
 |  |  |                             null,    // 修改人员 | 
 |  |  |                             null    // 备注 | 
 |  |  |                     ); | 
 |  |  |                     if (tagMapper.insert(secTag) == 0) { | 
 |  |  |                         throw new CoolException("服务器内部错误,请联系管理员"); | 
 |  |  |                     } | 
 |  |  |                 } | 
 |  |  |                 tagId = secTag.getId(); | 
 |  |  |             } else { | 
 |  |  |                 tagId = tagService.getTop().getId(); | 
 |  |  |             } | 
 |  |  |             if (mat == null) { | 
 |  |  |                 mat = new Mat(); | 
 |  |  |  | 
 |  |  |                 mat.sync(matParam); | 
 |  |  | //            mat.setMatnr(param.getMatnr()); | 
 |  |  | //            mat.setMaktx(param.getMaktx()); | 
 |  |  | //            mat.setSpecs(param.getSpecs()); | 
 |  |  | //            mat.setModel(param.getModel()); | 
 |  |  |  | 
 |  |  |                 mat.setTagId(tag.getId()); | 
 |  |  |                 mat.setTagId(tagId); | 
 |  |  |                 mat.setStatus(1); | 
 |  |  |                 mat.setCreateTime(now); | 
 |  |  |                 mat.setUpdateTime(now); | 
 |  |  | 
 |  |  |                 } | 
 |  |  |             } else { | 
 |  |  |                 mat.sync(matParam); | 
 |  |  |                 mat.setTagId(tag.getId()); | 
 |  |  |                 mat.setTagId(tagId); | 
 |  |  |                 if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatnr()))) { | 
 |  |  |                     throw new CoolException("更新已存在商品信息失败,请联系管理员"); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             //Tag tag = tagService.selectOne(new EntityWrapper<Tag>().eq("memo", matParam.getTagId())); | 
 |  |  | //            if (tag == null) { | 
 |  |  | //                throw new CoolException("出错,未找到分类"); | 
 |  |  | //            } | 
 |  |  | //            if (mat == null) { | 
 |  |  | //                mat = new Mat(); | 
 |  |  | //                mat.sync(matParam); | 
 |  |  | ////            mat.setMatnr(param.getMatnr()); | 
 |  |  | ////            mat.setMaktx(param.getMaktx()); | 
 |  |  | ////            mat.setSpecs(param.getSpecs()); | 
 |  |  | ////            mat.setModel(param.getModel()); | 
 |  |  | // | 
 |  |  | //                mat.setTagId(tag.getId()); | 
 |  |  | //                mat.setStatus(1); | 
 |  |  | //                mat.setCreateTime(now); | 
 |  |  | //                mat.setUpdateTime(now); | 
 |  |  | //                if (!matService.insert(mat)) { | 
 |  |  | //                    throw new CoolException("服务器内部错误,请联系管理员"); | 
 |  |  | //                } else { | 
 |  |  | //                    log.info("同步新物料[商品编号:{}]", mat.getMatnr()); | 
 |  |  | //                } | 
 |  |  | //            } else { | 
 |  |  | //                mat.sync(matParam); | 
 |  |  | //                mat.setTagId(tag.getId()); | 
 |  |  | //                if (!matService.update(mat, new EntityWrapper<Mat>().eq("matnr",matParam.getMatnr()))) { | 
 |  |  | //                    throw new CoolException("更新已存在商品信息失败,请联系管理员"); | 
 |  |  | //                } | 
 |  |  | //            } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |     } |