| | |
| | | package com.zy.asrs.controller; |
| | | |
| | | import com.alibaba.fastjson.JSON; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | 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.service.ApiLogService; |
| | | import com.zy.asrs.service.OpenService; |
| | | import com.zy.asrs.entity.BasCrnp; |
| | | import com.zy.asrs.entity.BasDevp; |
| | | import com.zy.asrs.entity.BasJar; |
| | | import com.zy.asrs.entity.RgvOneSign; |
| | | import com.zy.asrs.entity.param.*; |
| | | import com.zy.asrs.entity.result.LocDetlMesVo; |
| | | import com.zy.asrs.entity.vo.JarStateTableVo; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.common.model.DetlDto; |
| | | import com.zy.common.utils.IpTools; |
| | | import com.zy.common.model.enums.JarStatusType; |
| | | import com.zy.common.web.BaseController; |
| | | import lombok.extern.slf4j.Slf4j; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | |
| | | @Autowired |
| | | private OpenService openService; |
| | | @Autowired |
| | | private ApiLogService apiLogService; |
| | | private BasDevpService basDevpService; |
| | | @Autowired |
| | | private BasCrnpService basCrnpService; |
| | | @Autowired |
| | | private BasJarService basJarService; |
| | | @Autowired |
| | | private LocDetlService locDetlService; |
| | | @Autowired |
| | | private RgvOneSignService rgvOneSignService; |
| | | |
| | | |
| | | |
| | | /****************************************************************************/ |
| | | /********************************* 打包上线 **********************************/ |
| | | /****************************************************************************/ |
| | | |
| | | |
| | | @PostMapping("/order/pakin/new/package/v1") |
| | | public synchronized R pakinOrderPackage(@RequestHeader(required = false) String appkey, |
| | | @RequestParam(required = false) String barcode, |
| | | HttpServletRequest request) { |
| | | auth(appkey, barcode); |
| | | if (Cools.isEmpty(barcode)) { |
| | | @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.packageUp(barcode); |
| | | // 保存接口日志 |
| | | apiLogService.save( |
| | | "打包上线接口", |
| | | request.getRequestURI(), |
| | | appkey, |
| | | IpTools.gainRealIp(request), |
| | | barcode, |
| | | JSON.toJSONString(R.ok()), |
| | | Boolean.TRUE |
| | | ); |
| | | openService.syncMat(param); |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | |
| | | /** |
| | | * 添加入库单 |
| | | */ |
| | | @PostMapping("/order/pakin/new/default/v1") |
| | | /*@PostMapping("/order/pakin/default/v1") |
| | | @AppAuth(memo = "添加订单入库") |
| | | public synchronized R pakinOrderCreate(@RequestHeader(required = false) String appkey, |
| | | @RequestBody OpenOrderPakinParam param) { |
| | | auth(appkey, param); |
| | | @RequestBody OpenOrderPakinParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | if (Cools.isEmpty(param)) { |
| | | return R.parse(BaseRes.PARAM); |
| | | } |
| | |
| | | } |
| | | openService.pakinOrderCreate(param); |
| | | return R.ok(); |
| | | } |
| | | }*/ |
| | | |
| | | /** |
| | | * 入库单回写 |
| | | */ |
| | | @PostMapping("/order/pakin/complete/default/v1") |
| | | /*@PostMapping("/order/pakin/complete/default/v1") |
| | | public synchronized R orderPakinComplete(@RequestHeader(required = false) String appkey, |
| | | @RequestBody(required = false) OpenOrderCompleteParam param) { |
| | | auth(appkey, param); |
| | | @RequestBody(required = false) OpenOrderCompleteParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | return R.ok().add(openService.pakinOrderComplete(param)); |
| | | } |
| | | }*/ |
| | | |
| | | /** |
| | | * 添加出库单 |
| | | */ |
| | | @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) { |
| | | auth(appkey, param); |
| | | @RequestBody OpenOrderPakoutParam param, |
| | | HttpServletRequest request) { |
| | | 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]不能为空"); |
| | |
| | | } |
| | | openService.pakoutOrderCreate(param); |
| | | return R.ok(); |
| | | } |
| | | }*/ |
| | | |
| | | /** |
| | | * 出库单回写 |
| | | */ |
| | | @PostMapping("/order/pakout/complete/default/v1") |
| | | /*@PostMapping("/order/pakout/complete/default/v1") |
| | | public synchronized R orderPakoutComplete(@RequestHeader(required = false) String appkey, |
| | | @RequestBody(required = false) OpenOrderCompleteParam param) { |
| | | auth(appkey, param); |
| | | @RequestBody(required = false) OpenOrderCompleteParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | return R.ok().add(openService.pakoutOrderComplete(param)); |
| | | } |
| | | }*/ |
| | | |
| | | |
| | | /** |
| | | * 库存统计 |
| | | */ |
| | | @RequestMapping("/stock/default/v1") |
| | | public R queryStock(@RequestHeader(required = false) String appkey) { |
| | | auth(appkey, null); |
| | | /*@RequestMapping("/stock/default/v1") |
| | | public R queryStock(@RequestHeader(required = false) String appkey, |
| | | HttpServletRequest request) { |
| | | auth(appkey, null, request); |
| | | return R.ok().add(openService.queryStock()); |
| | | } |
| | | }*/ |
| | | |
| | | |
| | | private void auth(String appkey, Object obj) { |
| | | log.info("{}接口被访问!appkey:{},请求数据:{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj)); |
| | | private void auth(String appkey, Object obj, HttpServletRequest request) { |
| | | log.info("{}接口被访问;appkey:{};请求数据:{}", "open/sensorType/list/auth/v1", appkey, JSON.toJSONString(obj)); |
| | | request.setAttribute("cache", obj); |
| | | if (!auth) { |
| | | return; |
| | | } |
| | |
| | | } |
| | | } |
| | | |
| | | public static void main(String[] args) { |
| | | /*public static void main(String[] args) { |
| | | // 1 |
| | | System.out.println("======================================"); |
| | | OpenOrderPakinParam param = new OpenOrderPakinParam(); |
| | |
| | | OpenOrderCompleteParam param1 = new OpenOrderCompleteParam(); |
| | | param1.setOrderNo("963001846497017856"); |
| | | System.out.println(JSON.toJSONString(param1)); |
| | | }*/ |
| | | |
| | | |
| | | |
| | | /*...........................徐工汉云..............以下.............上饶江铜...........................*/ |
| | | /*............................Created by Monkey D. Luffy on 2023.07.19.............................*/ |
| | | |
| | | /** |
| | | * 贴标机申请获取货物信息 |
| | | */ |
| | | @PostMapping("/labeller/mat/auth/v1") |
| | | @AppAuth(memo = "贴标机申请获取货物信息") //old需要修改 |
| | | public synchronized R labellerMat(@RequestHeader(required = false) String appkey, |
| | | @RequestBody LabellerMatParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | return R.ok(openService.labellerMat(param)); |
| | | } |
| | | |
| | | /** |
| | | * 贴标机贴标完成 |
| | | */ |
| | | @PostMapping("/labeller/complete/auth/v1") |
| | | @AppAuth(memo = "贴标机贴标完成") //old需要修改 |
| | | public synchronized R labellerComplete(@RequestHeader(required = false) String appkey, |
| | | @RequestBody LabellerCompleteParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | openService.labellerComplete(param); |
| | | return R.ok(); |
| | | } |
| | | |
| | | // /** |
| | | // * 中控(2楼):码垛完成下发入库信息 |
| | | // */ |
| | | // @PostMapping("/palletizing/complete/auth/v1") |
| | | // @AppAuth(memo = "中控(2楼):码垛完成下发入库信息") |
| | | // public synchronized R PalletizingCompleteTwoFloorParam(@RequestHeader(required = false) String appkey, |
| | | // @RequestBody PalletizingCompleteTwoFloorParam param, |
| | | // HttpServletRequest request) { |
| | | // auth(appkey, param, request); |
| | | // openService.PalletizingCompleteTwoFloorParam(param); |
| | | // return R.ok(param); |
| | | // } |
| | | |
| | | /** |
| | | * 松盛(1楼):码垛完成下发入库信息 |
| | | */ |
| | | @PostMapping("/palletizing/complete/auth/v2") |
| | | @AppAuth(memo = "松盛(1楼):码垛完成下发确认信号") |
| | | public synchronized R palletizingCompleteS(@RequestHeader(required = false) String appkey, |
| | | @RequestBody PalletizingCompleteParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | openService.palletizingCompleteS(param); |
| | | return R.ok(); |
| | | } |
| | | |
| | | /** |
| | | * 中控:出库完成月台相关 |
| | | */ |
| | | @PostMapping("/balcony/complete/auth/v1") |
| | | @AppAuth(memo = "中控:出库完成月台相关") //old需要修改 |
| | | public synchronized R balconyComplete(@RequestHeader(required = false) String appkey, |
| | | @RequestBody LabellerMatParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | openService.balconyComplete(param); |
| | | return R.ok(param); |
| | | } |
| | | |
| | | |
| | | /** |
| | | * 桁架上位软件:单次拆垛完成通知 |
| | | */ |
| | | @PostMapping("/single/unstacking/complete/auth/v1") |
| | | @AppAuth(memo = "桁架上位软件:单次拆垛完成通知") |
| | | public synchronized R singleUnstackingComplete(@RequestHeader(required = false) String appkey, |
| | | @RequestBody SingleUnstackingCompleteParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | openService.singleUnstackingComplete(param); |
| | | return R.ok(param); |
| | | } |
| | | |
| | | /** |
| | | * 桁架上位软件:单托拆垛完成通知 |
| | | */ |
| | | @PostMapping("/single/mount/unstacking/complete/auth/v1") |
| | | @AppAuth(memo = "桁架上位软件:单托拆垛完成通知") |
| | | public synchronized R singleMountUnstackingComplete(@RequestHeader(required = false) String appkey, |
| | | @RequestBody SingleMountUnstackingCompleteParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | openService.singleMountUnstackingComplete(param); |
| | | return R.ok(param); |
| | | } |
| | | |
| | | /*...........................上饶江铜..............以上.............徐工汉云...........................*/ |
| | | /*...........................亳州煜星..............以上.............亳州煜星...........................*/ |
| | | |
| | | /** |
| | | * 亳州煜星任务下发 // 小料箱投料完成组托 |
| | | */ |
| | | @PostMapping("/small/containers/auth/v1") |
| | | @AppAuth(memo = "MES任务下发") |
| | | public synchronized R smallContainers(@RequestHeader(required = false) String appkey, |
| | | @RequestBody SmallCompleteParam param, |
| | | HttpServletRequest request) { |
| | | auth(appkey, param, request); |
| | | openService.smallContainers(param); |
| | | return R.ok().add("成功"); |
| | | } |
| | | // |
| | | // /** |
| | | // * 亳州煜星任务下发 |
| | | // */ |
| | | // @PostMapping("/small/containers/auth/v1") |
| | | // @AppAuth(memo = "贴标机贴标完成") //old需要修改 |
| | | // public synchronized R smallContainers(@RequestHeader(required = false) String appkey, |
| | | // @RequestBody LabellerCompleteParam param, |
| | | // HttpServletRequest request) { |
| | | // auth(appkey, param, request); |
| | | // openService.labellerComplete(param); |
| | | // return R.ok(); |
| | | // } |
| | | // |
| | | // /** |
| | | // * 亳州煜星任务下发 |
| | | // */ |
| | | // @PostMapping("/small/containers/auth/v1") |
| | | // @AppAuth(memo = "贴标机贴标完成") //old需要修改 |
| | | // public synchronized R smallContainers(@RequestHeader(required = false) String appkey, |
| | | // @RequestBody LabellerCompleteParam param, |
| | | // HttpServletRequest request) { |
| | | // auth(appkey, param, request); |
| | | // openService.labellerComplete(param); |
| | | // return R.ok(); |
| | | // } |
| | | |
| | | //设备状态查询接口 |
| | | @PostMapping("/deviceStatus") |
| | | @AppAuth(memo = "设备状态查询接口") |
| | | @Transactional |
| | | public R deviceStatus(@RequestHeader String appkey, |
| | | HttpServletRequest request) { |
| | | auth(appkey, "设备状态查询接口", request); |
| | | List<BasDevp> basDevps = basDevpService.selectList(new EntityWrapper<>()); |
| | | List<Object> list = new ArrayList<>(); |
| | | for (BasDevp basDevp:basDevps){ |
| | | list.add(basDevp); |
| | | } |
| | | List<BasCrnp> basCrnps = basCrnpService.selectList(new EntityWrapper<>()); |
| | | for (BasCrnp basCrnp:basCrnps){ |
| | | list.add(basCrnp); |
| | | } |
| | | return R.ok(list); |
| | | } |
| | | |
| | | //设备状态查询接口 |
| | | @PostMapping("/jarStatus") |
| | | @AppAuth(memo = "硫化罐状态查询接口") |
| | | @Transactional |
| | | public R jarStatus(@RequestHeader String appkey, |
| | | HttpServletRequest request) { |
| | | auth(appkey, "硫化罐状态查询接口", request); |
| | | List<JarStateTableVo> list = new ArrayList<>(); |
| | | List<BasJar> jars = basJarService.selectList(new EntityWrapper<BasJar>().orderBy("jar_no")); |
| | | for (BasJar basJar : jars) { |
| | | // 表格行 |
| | | JarStateTableVo vo = new JarStateTableVo(); |
| | | vo.setJarNo(basJar.getJarNo()); // JAR号 |
| | | list.add(vo); |
| | | |
| | | vo.setJarMode(basJar.getJarMode$()); // 模式状态 |
| | | vo.setJarStatus(JarStatusType.get(basJar.getJarStatus()).desc); // 状态 |
| | | vo.setJarNo(basJar.getJarNo()); // 工位1任务号 |
| | | vo.setRegion(basJar.getRegion()); |
| | | vo.setJarCode(basJar.getJarCode()); |
| | | vo.setJarErr(basJar.getJarErr$()); |
| | | vo.setJarMastTableVoList(openService.getJatIdList(vo.getJarNo())); |
| | | } |
| | | return R.ok().add(list); |
| | | } |
| | | |
| | | //设备状态查询接口 |
| | | @PostMapping("/mesLocStatus") |
| | | @AppAuth(memo = "库存信息查询接口") |
| | | @Transactional |
| | | public R mesLocStatus(@RequestHeader String appkey, |
| | | HttpServletRequest request) { |
| | | auth(appkey, "库存信息查询接口", request); |
| | | List<LocDetlMesVo> list = locDetlService.selectLocDetlMesAll(); |
| | | return R.ok().add(list); |
| | | } |
| | | |
| | | @PostMapping("/overturn/empty") |
| | | @AppAuth(memo = "翻转后允许回库接口") |
| | | @Transactional |
| | | public R mesOverturnEmpty(@RequestHeader String appkey, |
| | | @RequestParam Integer devNo, |
| | | HttpServletRequest request) { |
| | | auth(appkey, "站点号"+devNo, request); |
| | | RgvOneSign sign = rgvOneSignService.selectOne(new EntityWrapper<RgvOneSign>().eq("rgv_one_type","sign"+devNo)); |
| | | if (Cools.isEmpty(sign)) { |
| | | return R.error().add("翻转站信息有误"); |
| | | } |
| | | sign.setRgvOneSign(1); |
| | | rgvOneSignService.updateById(sign); |
| | | return R.ok(); |
| | | } |
| | | /*...........................亳州煜星..............以上.............亳州煜星...........................*/ |
| | | |
| | | } |