|  |  | 
 |  |  |  | 
 |  |  | import com.baomidou.mybatisplus.mapper.EntityWrapper; | 
 |  |  | import com.core.annotations.ManagerAuth; | 
 |  |  | import com.core.common.BaseRes; | 
 |  |  | import com.core.common.Cools; | 
 |  |  | import com.core.common.R; | 
 |  |  | import com.zy.asrs.entity.LocDetl; | 
 |  |  | import com.zy.asrs.entity.LocMast; | 
 |  |  | import com.zy.asrs.entity.Order; | 
 |  |  | import com.zy.asrs.entity.OrderDetl; | 
 |  |  | import com.zy.asrs.entity.*; | 
 |  |  | import com.zy.asrs.entity.param.CombParam; | 
 |  |  | import com.zy.asrs.service.LocDetlService; | 
 |  |  | import com.zy.asrs.service.LocMastService; | 
 |  |  | import com.zy.asrs.service.MobileService; | 
 |  |  | import com.zy.asrs.service.OrderService; | 
 |  |  | import com.zy.common.model.MobileLocDetlVo; | 
 |  |  | import com.zy.asrs.entity.param.MobileAdjustParam; | 
 |  |  | import com.zy.asrs.entity.result.MobileAdjustResult; | 
 |  |  | import com.zy.asrs.service.*; | 
 |  |  | import com.zy.common.web.BaseController; | 
 |  |  | import org.springframework.beans.factory.annotation.Autowired; | 
 |  |  | import org.springframework.web.bind.annotation.RequestBody; | 
 |  |  | 
 |  |  | import org.springframework.web.bind.annotation.RequestParam; | 
 |  |  | import org.springframework.web.bind.annotation.RestController; | 
 |  |  |  | 
 |  |  | import java.util.ArrayList; | 
 |  |  | import java.util.List; | 
 |  |  |  | 
 |  |  | /** | 
 |  |  | 
 |  |  |     private LocDetlService locDetlService; | 
 |  |  |     @Autowired | 
 |  |  |     private OrderService orderService; | 
 |  |  |     @Autowired | 
 |  |  |     private DocTypeService docTypeService; | 
 |  |  |     @Autowired | 
 |  |  |     private WrkMastService wrkMastService; | 
 |  |  |     @Autowired | 
 |  |  |     private WrkDetlService wrkDetlService; | 
 |  |  |     @Autowired | 
 |  |  |     private BasDevpService basDevpService; | 
 |  |  |     @Autowired | 
 |  |  |     private PackService packService; | 
 |  |  |  | 
 |  |  |     // 组托 ---------------------------------------------------------------------------------------------------- | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 根据单号检索单据数据 | 
 |  |  |      * http://localhost:8081/jkwms/mobile/order/serach/orderNo/auth?orderNo=123123 | 
 |  |  |      */ | 
 |  |  |     @RequestMapping("/order/serach/orderNo/auth") | 
 |  |  |     @RequestMapping("/order/search/orderNo/auth") | 
 |  |  |     @ManagerAuth | 
 |  |  |     public R orderSearchByBarcode(@RequestParam String orderNo){ | 
 |  |  |         Order order = orderService.selectByNo(orderNo); | 
 |  |  |         if (order == null) { | 
 |  |  |             return R.ok(); | 
 |  |  |         } | 
 |  |  |         DocType docType = docTypeService.selectById(order.getDocType()); | 
 |  |  |         if (docType.getPakin() == null || docType.getPakin() != 1) { | 
 |  |  |             return R.ok(); | 
 |  |  |         } | 
 |  |  |         if (order.getSettle() > 2) { | 
 |  |  |             return R.ok(); | 
 |  |  |         } | 
 |  |  |         List<OrderDetl> orderDetls = orderService.selectWorkingDetls(orderNo); | 
 |  |  |         List<OrderDetl> orderDetls = orderService.selectWorkingDetls(order.getId()); | 
 |  |  |         if (Cools.isEmpty(orderDetls)) { | 
 |  |  |             return R.ok(); | 
 |  |  |         } | 
 |  |  |         return R.ok().add(orderDetls); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      * 组托 | 
 |  |  |      */ | 
 |  |  |     @RequestMapping("/comb/auth") | 
 |  |  |     @ManagerAuth(memo = "组托") | 
 |  |  |     public R comb(@RequestBody CombParam combParam){ | 
 |  |  |         mobileService.comb(combParam, getUserId()); | 
 |  |  |         return R.ok("组托成功"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/pack/get/auth") | 
 |  |  |     @ManagerAuth | 
 |  |  |     public R packGet(@RequestParam String barcode){ | 
 |  |  |         Pack pack = packService.selectByBarcode(barcode); | 
 |  |  |         if (pack == null) { | 
 |  |  |             return R.ok(); | 
 |  |  |         } | 
 |  |  |         if (pack.getSettle() == 1L) { | 
 |  |  |             return R.ok().add(pack); | 
 |  |  |         } | 
 |  |  |         return R.ok("组托成功"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/pack/comb/auth") | 
 |  |  |     @ManagerAuth(memo = "下线组托") | 
 |  |  |     public R packComb(@RequestBody CombParam combParam){ | 
 |  |  |         mobileService.packComb(combParam, getUserId()); | 
 |  |  |         return R.ok("组托成功"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     // 出库 --------------------------------------------------------------------------------------------------- | 
 |  |  |  | 
 |  |  |     @RequestMapping("/pakout/query/auth") | 
 |  |  |     @ManagerAuth | 
 |  |  |     public R pakoutQuery(@RequestParam(required = false) String barcode, | 
 |  |  |                          @RequestParam(required = false) Integer staNo, | 
 |  |  |                          @RequestParam(required = false) String matnr){ | 
 |  |  |         if (Cools.isEmpty(barcode) && Cools.isEmpty(matnr)) { | 
 |  |  |             return R.ok(); | 
 |  |  |         } | 
 |  |  |         if (!Cools.isEmpty(barcode)) { | 
 |  |  |             List<WrkDetl> wrkDetls = wrkDetlService.selectList(new EntityWrapper<WrkDetl>().eq("zpallet", barcode)); | 
 |  |  |             return R.ok().add(wrkDetls); | 
 |  |  |         } | 
 |  |  |         if (!Cools.isEmpty(matnr)) { | 
 |  |  |             if (!Cools.isEmpty(staNo)) { | 
 |  |  |                 List<WrkMast> wrkMasts = wrkMastService.selectList(new EntityWrapper<WrkMast>().eq("sta_no", staNo).eq("wrk_sts", 14L)); | 
 |  |  |                 if (!Cools.isEmpty(wrkMasts)) { | 
 |  |  |                     WrkMast wrkMast = wrkMasts.get(0); | 
 |  |  |                     List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); | 
 |  |  |                     return R.ok().add(wrkDetls); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |         return R.ok(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  |     /** | 
 |  |  |      *  根据库位号查找库存明细 | 
 |  |  |      */ | 
 |  |  |     @RequestMapping("/locDetl") | 
 |  |  |     // 盘点 ---------------------------------------------------------------------------------------------------- | 
 |  |  |  | 
 |  |  |     @RequestMapping("/checkDetl/auth") | 
 |  |  |     @ManagerAuth | 
 |  |  |     public R getLocDetl(@RequestParam(required = false)String locNo, | 
 |  |  |                         @RequestParam(required = false)String matNo){ | 
 |  |  |         if (!Cools.isEmpty(locNo)) { | 
 |  |  |             LocMast locMast = locMastService.selectById(locNo); | 
 |  |  |             if (null == locMast || !"F".equals(locMast.getLocSts())) { | 
 |  |  |                 return R.parse(BaseRes.EMPTY); | 
 |  |  |     public R getCheckDetl(@RequestParam(required = false) Integer staNo) { | 
 |  |  |         if (null == staNo || staNo == 0) { | 
 |  |  |             return R.ok(); | 
 |  |  |         } | 
 |  |  |         BasDevp basDevp = basDevpService.selectById(staNo); | 
 |  |  |         if (null != basDevp && basDevp.getWrkNo() != null) { | 
 |  |  |             WrkMast wrkMast = wrkMastService.selectById(basDevp.getWrkNo()); | 
 |  |  |             if (wrkMast != null && wrkMast.getIoType() == 107) { | 
 |  |  |                 List<WrkDetl> wrkDetls = wrkDetlService.selectByWrkNo(wrkMast.getWrkNo()); | 
 |  |  |                 if (!Cools.isEmpty(wrkDetls)) { | 
 |  |  |                     MobileAdjustResult result = new MobileAdjustResult(); | 
 |  |  |                     result.setStaNo(staNo); | 
 |  |  |                     result.setWrkNo(wrkMast.getWrkNo()); | 
 |  |  |                     result.setWrkDetls(wrkDetls); | 
 |  |  |                     return R.ok().add(result); | 
 |  |  |                 } | 
 |  |  |             } | 
 |  |  |             List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>() | 
 |  |  |                     .eq("loc_no", locNo).orderBy("appe_time", false)); | 
 |  |  |             List<MobileLocDetlVo> res = new ArrayList<>(); | 
 |  |  |             locDetls.forEach(locDetl -> { | 
 |  |  |                 MobileLocDetlVo vo = new MobileLocDetlVo(); | 
 |  |  |                 vo.setLocNo(locDetl.getLocNo()); | 
 |  |  |                 vo.setMatnr(locDetl.getMatnr()); | 
 |  |  |                 vo.setMaktx(locDetl.getMaktx()); | 
 |  |  |                 vo.setCount(locDetl.getAnfme()); | 
 |  |  |                 res.add(vo); | 
 |  |  |             }); | 
 |  |  |             return R.ok().add(res); | 
 |  |  |         } | 
 |  |  |         if (!Cools.isEmpty(matNo)) { | 
 |  |  |             List<LocDetl> locDetls = locDetlService.selectList(new EntityWrapper<LocDetl>() | 
 |  |  |                     .eq("matnr", matNo).orderBy("appe_time", false)); | 
 |  |  |             List<MobileLocDetlVo> res = new ArrayList<>(); | 
 |  |  |             locDetls.forEach(locDetl -> { | 
 |  |  |                 MobileLocDetlVo vo = new MobileLocDetlVo(); | 
 |  |  |                 vo.setLocNo(locDetl.getLocNo()); | 
 |  |  |                 vo.setMatnr(locDetl.getMatnr()); | 
 |  |  |                 vo.setMaktx(locDetl.getMaktx()); | 
 |  |  |                 vo.setCount(locDetl.getAnfme()); | 
 |  |  |                 res.add(vo); | 
 |  |  |             }); | 
 |  |  |             return R.ok().add(res); | 
 |  |  |         } | 
 |  |  |         return R.parse(BaseRes.PARAM); | 
 |  |  |         return R.ok(); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |     @RequestMapping("/adjust/auth") | 
 |  |  |     @ManagerAuth(memo = "盘点") | 
 |  |  |     public R adjust(@RequestBody MobileAdjustParam combParam){ | 
 |  |  |         mobileService.adjust(combParam, getUserId()); | 
 |  |  |         return R.ok("盘点成功"); | 
 |  |  |     } | 
 |  |  |  | 
 |  |  |  | 
 |  |  | } |