package com.zy.asrs.controller; 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.CombBillQueryVo; import com.zy.asrs.entity.LocDetl; import com.zy.asrs.entity.LocMast; import com.zy.asrs.entity.WaitPakin; 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.WaitPakinService; import com.zy.common.model.MobileLocDetlVo; 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.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import java.util.ArrayList; import java.util.List; /** * 移动端接口控制器 * Created by vincent on 2020/6/10 */ @RestController @RequestMapping("mobile") public class MobileController extends BaseController { @Autowired private MobileService mobileService; @Autowired private LocMastService locMastService; @Autowired private LocDetlService locDetlService; @Autowired private WaitPakinService waitPakinService; /** * 组托 */ @RequestMapping("/comb/auth") @ManagerAuth(memo = "组托") public R comb(@RequestBody CombParam combParam){ mobileService.comb(combParam, getUserId()); return R.ok(); } /** * 组托-批量 */ @RequestMapping("/comb/auth/batch") @ManagerAuth(memo = "组托-批量") public R combBatch(@RequestBody CombParam combParam){ mobileService.combBatch(combParam, getUserId()); return R.ok(); } /** * 组托 */ @RequestMapping("/comb/form") @ManagerAuth(memo = "组托") public R combForm(@RequestParam CombParam combParam){ mobileService.comb(combParam, getUserId()); return R.ok(); } /** * 根据库位号查找库存明细 */ @RequestMapping("/locDetl") @ManagerAuth public R getLocDetl(@RequestParam(required = false)String locNo, @RequestParam(required = false)String matNo, @RequestParam(required = false)String supplier ){ if (!Cools.isEmpty(locNo)) { LocMast locMast = locMastService.selectById(locNo); if (null == locMast || !"F".equals(locMast.getLocSts())) { return R.parse(BaseRes.EMPTY); } List locDetls = locDetlService.selectList(new EntityWrapper() .eq("loc_no", locNo).orderBy("appe_time", false)); List 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 locDetls = locDetlService.selectList(new EntityWrapper() .eq("matnr", matNo).orderBy("appe_time", false)); List 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(supplier)) { List locDetls = locDetlService.selectList(new EntityWrapper() .eq("supplier", supplier).orderBy("appe_time", false)); List 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); } /** * 根据通知单查询明细 */ @RequestMapping("/bill/query/auth") @ManagerAuth(memo = "根据通知单查询明细") public R billQuery(@RequestParam String billNo){ List waitPakins = waitPakinService.selectList(new EntityWrapper().eq("supplier", billNo).and().gt("anfme", 0).isNull("zpallet")); List vos = new ArrayList<>(); if (!Cools.isEmpty(waitPakins)) { for (WaitPakin waitPakin : waitPakins) { CombBillQueryVo vo = new CombBillQueryVo(); vo.setMatNo(waitPakin.getMatnr()); vo.setMatName(waitPakin.getMaktx()); vo.setCount(waitPakin.getAnfme()); vo.setMnemonic(waitPakin.getMnemonic()); vo.setSupplier(waitPakin.getSupplier()); vo.setAltme(waitPakin.getAltme()); vo.setType(waitPakin.getType()); vo.setLgnum(waitPakin.getLgnum()); vos.add(vo); } } return R.ok().add(vos); } }