| | |
| | | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.mybatisplus.mapper.EntityWrapper; |
| | | import com.baomidou.mybatisplus.mapper.Wrapper; |
| | | import com.core.annotations.ManagerAuth; |
| | | import com.core.common.BaseRes; |
| | | import com.core.common.Cools; |
| | |
| | | import com.zy.asrs.mapper.ManLocDetlMapper; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.common.model.WrkDto; |
| | | import com.zy.common.service.CommonService; |
| | | import com.zy.common.web.BaseController; |
| | | import com.zy.system.entity.license.AbstractServerInfos; |
| | | import org.apache.logging.log4j.LogManager; |
| | | import org.apache.logging.log4j.Logger; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.*; |
| | | import java.util.List; |
| | | |
| | | /** |
| | | * 移动端接口控制器 |
| | |
| | | private ManLocDetlMapper manLocDetlMapper; |
| | | @Autowired |
| | | private WrkDetlLogService wrkDetlLogService; |
| | | @Autowired |
| | | private MatService matService; |
| | | @Autowired |
| | | private MatBarcodeService matBarcodeService; |
| | | @Autowired |
| | | private CommonService commonService; |
| | | @Autowired |
| | | private WorkService workService; |
| | | |
| | | |
| | | private static Logger logger = LogManager.getLogger(MobileController.class); |
| | |
| | | @RequestMapping("/comb/auth") |
| | | @ManagerAuth(memo = "组托") |
| | | public R comb(@RequestBody CombParam combParam) { |
| | | logger.info("组托参数:{}",combParam); |
| | | logger.info("组托参数:{}", combParam); |
| | | if (Cools.isEmpty(combParam.getOrderNo())) { |
| | | combParam.setOrderNo(combParam.getBillNo()); |
| | | } |
| | |
| | | |
| | | @RequestMapping("/pickIn/auth") |
| | | // @ManagerAuth(memo="盘点入库") |
| | | public R pickIn(@RequestParam String barcode){ |
| | | public R pickIn(@RequestParam String barcode) { |
| | | WrkMast wrkMast = wrkMastService.selectByBarcode(barcode); |
| | | List<PickInParam> param = wrkDetlService.selectDetByBarcode(barcode); |
| | | for(PickInParam pickInParam : param){ |
| | | for (PickInParam pickInParam : param) { |
| | | pickInParam.setStaNo(wrkMast.getStaNo()); |
| | | pickInParam.setWorkNo(wrkMast.getWrkNo()); |
| | | } |
| | |
| | | return R.ok().add(vos); |
| | | } |
| | | |
| | | @RequestMapping("/callBarcode") |
| | | @ManagerAuth(memo = "PDA呼叫托盘出库") |
| | | public R callBarcode(@RequestBody CombParam combParam) { |
| | | logger.info("PDA呼叫托盘出库"); |
| | | if (combParam == null) { |
| | | return R.parse(BaseRes.PARAM); |
| | | } |
| | | combParam.getCombMats().forEach(combMat -> { |
| | | Mat mat = matService.selectByMatnr(combMat.getMatnr()); |
| | | if (mat == null) { |
| | | throw new CoolException("商品档案不存在"); |
| | | } |
| | | MatBarcode matBarcode = matBarcodeService.selectbyMatnr(combMat.getMatnr()); |
| | | if (matBarcode == null) { |
| | | throw new CoolException("该物料未与托盘绑定"); |
| | | } |
| | | LocMast locMast = locMastService.selectByBarcode(matBarcode.getZpallet()); |
| | | if (locMast == null) { |
| | | throw new CoolException("未找到与该物料绑定的托盘"); |
| | | } |
| | | int wrkNo = commonService.getWorkNo(0); |
| | | Date now = new Date(); |
| | | //生成工作档 |
| | | WrkMast wrkMast = new WrkMast(); |
| | | wrkMast.setWrkNo(wrkNo); |
| | | wrkMast.setIoTime(new Date()); |
| | | wrkMast.setWrkSts(11L);//工作状态:生成出库ID |
| | | wrkMast.setIoType(101);//入出库状态:并板出库 |
| | | wrkMast.setIoPri(13D);//优先级 |
| | | wrkMast.setCrnNo(locMast.getCrnNo()); |
| | | // wrkMast.setSourceStaNo(dto.getSourceStaNo());//源站 |
| | | wrkMast.setStaNo(101);// 目标站 |
| | | wrkMast.setSourceLocNo(locMast.getLocNo());// 源库位 |
| | | wrkMast.setBarcode(matBarcode.getZpallet()); // 托盘码 |
| | | wrkMast.setFullPlt("Y"); // 满板:Y |
| | | wrkMast.setPicking("N"); // 拣料 |
| | | wrkMast.setExitMk("N"); // 退出 |
| | | wrkMast.setEmptyMk("N"); // 空板 |
| | | wrkMast.setLinkMis("Y"); |
| | | // wrkMast.setScWeight(weight); |
| | | wrkMast.setCtnType(0); // 容器类型 |
| | | // 操作人员数据 |
| | | wrkMast.setAppeTime(now); |
| | | wrkMast.setModiTime(now); |
| | | boolean res = wrkMastService.insert(wrkMast); |
| | | if (!res) { |
| | | throw new CoolException("保存工作档失败"); |
| | | } |
| | | if (locMast.getLocSts().equals("F")) { |
| | | locMast.setLocSts("R"); // R.出库预约 |
| | | locMast.setModiTime(now); |
| | | if (!locMastService.updateById(locMast)) { |
| | | throw new CoolException("改变库位状态失败"); |
| | | } |
| | | } else { |
| | | throw new CoolException(locMast.getLocNo() + "目标库位状态不为F"); |
| | | } |
| | | }); |
| | | return R.ok(); |
| | | } |
| | | |
| | | |
| | | @RequestMapping("/combMeger/auth") |
| | | @ManagerAuth(memo = "并板") |
| | | public synchronized R adjustNewV2(@RequestBody MobileAdjustParam combParam) { |
| | | mobileService.adjustNew(combParam, Boolean.TRUE, getUserId()); |
| | | return R.ok("并板成功"); |
| | | } |
| | | |
| | | @RequestMapping("/empty/plate/out/start") |
| | | @ManagerAuth(memo = "空板出库") |
| | | public R emptyPlateOutStart(EmptyPlateOutParam param) { |
| | | List<LocMast> locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").eq("loc_type1", param.getType()).in("row1", 2, 3)); |
| | | if (locMasts == null || locMasts.isEmpty()) { |
| | | locMasts = locMastService.selectList(new EntityWrapper<LocMast>().eq("loc_sts", "D").eq("loc_type1", param.getType()).in("row1", 1, 4)); |
| | | } |
| | | if (locMasts == null || locMasts.isEmpty()){ |
| | | return R.error("无空板库位"); |
| | | } |
| | | param.setOutSite(1103); |
| | | List<String> locNos = param.getLocNos(); |
| | | if (locNos == null){ |
| | | locNos = new ArrayList<>(); |
| | | } |
| | | locNos.add(locMasts.get(0).getLocNo()); |
| | | param.setLocNos(locNos); |
| | | workService.emptyPlateOut(param, getUserId()); |
| | | return R.ok("出库启动成功"); |
| | | } |
| | | } |