| File was renamed from src/main/java/com/zy/asrs/controller/OrderController.java |
| | |
| | | import com.core.common.*; |
| | | import com.core.exception.CoolException; |
| | | import com.zy.asrs.entity.*; |
| | | import com.zy.asrs.entity.param.OrderDomainParam; |
| | | import com.zy.asrs.entity.param.OrderPakoutDomainParam; |
| | | import com.zy.asrs.entity.result.WrkTraceVo; |
| | | import com.zy.asrs.service.*; |
| | | import com.zy.common.model.DetlDto; |
| | |
| | | import java.util.*; |
| | | |
| | | @RestController |
| | | public class OrderController extends BaseController { |
| | | @RequestMapping(value = "/pakout") |
| | | public class OrderPakoutController extends BaseController { |
| | | |
| | | @Autowired |
| | | private OrderService orderService; |
| | | private OrderPakoutService orderService; |
| | | @Autowired |
| | | private OrderDetlService orderDetlService; |
| | | private OrderDetlPakoutService orderDetlPakoutService; |
| | | @Autowired |
| | | private SnowflakeIdWorker snowflakeIdWorker; |
| | | @Autowired |
| | |
| | | @RequestMapping(value = "/order/search/pda/auth") |
| | | @ManagerAuth |
| | | public R pdaOrderSearch(@RequestParam(required = false) String condition) { |
| | | EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>(); |
| | | EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>(); |
| | | if (!Cools.isEmpty(condition)) { |
| | | // wrapper.like("matnr", condition).or().like("maktx", condition); |
| | | wrapper.like("order_no", condition); |
| | | } |
| | | wrapper.orderBy("create_time", false); |
| | | List<OrderPakin> mats = orderService.selectList(wrapper); |
| | | List<OrderPakout> mats = orderService.selectList(wrapper); |
| | | return R.ok().add(mats); |
| | | } |
| | | |
| | |
| | | docTypes.forEach(docType -> { |
| | | arrayList.add(docType.getDocId().intValue()); |
| | | }); |
| | | EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>(); |
| | | EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>(); |
| | | // wrapper.eq("tag_id", tagId); |
| | | wrapper.in("doc_type", arrayList); |
| | | wrapper.in("settle", 1, 2); |
| | | wrapper.orderBy("create_time", false); |
| | | Page<OrderPakin> orderPage = orderService.selectPage(new Page<>(curr, limit), wrapper); |
| | | Page<OrderPakout> orderPage = orderService.selectPage(new Page<>(curr, limit), wrapper); |
| | | return R.ok().add(orderPage); |
| | | } |
| | | |
| | |
| | | docTypes.forEach(docType -> { |
| | | arrayList.add(docType.getDocId().intValue()); |
| | | }); |
| | | EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>(); |
| | | EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>(); |
| | | // wrapper.eq("tag_id", tagId); |
| | | wrapper.in("doc_type", arrayList); |
| | | wrapper.in("settle", 1, 2); |
| | | wrapper.orderBy("create_time", false); |
| | | Page<OrderPakin> orderPage = orderService.selectPage(new Page<>(curr, limit), wrapper); |
| | | Page<OrderPakout> orderPage = orderService.selectPage(new Page<>(curr, limit), wrapper); |
| | | return R.ok().add(orderPage); |
| | | } |
| | | |
| | | @RequestMapping(value = "/order/nav/list/auth") |
| | | @ManagerAuth |
| | | public R navList(@RequestParam(required = false) String orderNo) { |
| | | EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>(); |
| | | EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>(); |
| | | if (!Cools.isEmpty(orderNo)) { |
| | | wrapper.like("order_no", orderNo); |
| | | } |
| | | wrapper.le("settle", 2).eq("status", 1); |
| | | wrapper.orderBy("create_time", false); |
| | | List<OrderPakin> orders = orderService.selectList(wrapper); |
| | | List<OrderPakout> orders = orderService.selectList(wrapper); |
| | | // 保留出库单 |
| | | if (!Cools.isEmpty(orders)) { |
| | | Iterator<OrderPakin> iterator = orders.iterator(); |
| | | Iterator<OrderPakout> iterator = orders.iterator(); |
| | | while (iterator.hasNext()) { |
| | | OrderPakin order = iterator.next(); |
| | | OrderPakout order = iterator.next(); |
| | | if (order.getDocType() != null) { |
| | | DocType docType = docTypeService.selectById(order.getDocType()); |
| | | if (docType != null) { |
| | |
| | | @RequestParam(required = false) String orderByField, |
| | | @RequestParam(required = false) String orderByType, |
| | | @RequestParam Map<String, Object> param) { |
| | | EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>(); |
| | | EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>(); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | if (!Cools.isEmpty(orderByField)) { |
| | |
| | | @RequestMapping(value = "/order/detl/all/auth") |
| | | @ManagerAuth |
| | | public R head(@RequestParam Long orderId) { |
| | | return R.ok().add(orderDetlService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_id", orderId))); |
| | | return R.ok().add(orderDetlPakoutService.selectList(new EntityWrapper<OrderDetlPakout>().eq("order_id", orderId))); |
| | | } |
| | | |
| | | @RequestMapping(value = "/order/form/add/auth") |
| | | @ManagerAuth(memo = "手动添加订单") |
| | | @Transactional |
| | | public R formAdd(@RequestBody OrderDomainParam param) { |
| | | public R formAdd(@RequestBody OrderPakoutDomainParam param) { |
| | | if (Cools.isEmpty(param.getOrderNo())) { |
| | | String prefix = ""; |
| | | DocType docType = docTypeService.selectById(param.getDocType()); |
| | |
| | | } |
| | | param.setOrderNo(prefix + snowflakeIdWorker.nextId()); |
| | | } |
| | | OrderPakin order = orderService.selectByNo(param.getOrderNo()); |
| | | OrderPakout order = orderService.selectByNo(param.getOrderNo()); |
| | | if (order != null) { |
| | | return R.error("单据编号已存在"); |
| | | } |
| | | Date now = new Date(); |
| | | order = new OrderPakin( |
| | | order = new OrderPakout( |
| | | String.valueOf(snowflakeIdWorker.nextId()), // 编号[非空] |
| | | param.getOrderNo(), // 订单编号 |
| | | DateUtils.convert(now), // 单据日期 |
| | |
| | | throw new CoolException("保存订单主档失败"); |
| | | } |
| | | List<DetlDto> list = new ArrayList<>(); |
| | | for (OrderDetlPakout orderDetlPakout : param.getOrderDetlPakoutList()) { |
| | | for (OrderDetlPakout orderDetlPakout : param.getOrderDetlList()) { |
| | | DetlDto dto = new DetlDto(orderDetlPakout.getMatnr(), orderDetlPakout.getBatch()); |
| | | if (DetlDto.has(list, dto)) { |
| | | OrderDetlPakout item = orderDetlService.selectItem(order.getId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch()); |
| | | OrderDetlPakout item = orderDetlPakoutService.selectItem(order.getId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch()); |
| | | item.setAnfme(item.getAnfme() + orderDetlPakout.getAnfme()); |
| | | if (!orderDetlService.updateById(item)) { |
| | | if (!orderDetlPakoutService.updateById(item)) { |
| | | throw new CoolException("保存订单明细档失败"); |
| | | } |
| | | } else { |
| | |
| | | orderDetlPakout.setUpdateTime(now); |
| | | orderDetlPakout.setStatus(1); |
| | | orderDetlPakout.setQty(0.0D); |
| | | if (!orderDetlService.insert(orderDetlPakout)) { |
| | | if (!orderDetlPakoutService.insert(orderDetlPakout)) { |
| | | throw new CoolException("保存订单明细档失败"); |
| | | } |
| | | } |
| | |
| | | @RequestMapping(value = "/order/form/modify/auth") |
| | | @ManagerAuth(memo = "手动修改订单") |
| | | @Transactional |
| | | public R formModify(@RequestBody OrderDomainParam param) { |
| | | OrderPakin order = orderService.selectById(param.getOrderId()); |
| | | public R formModify(@RequestBody OrderPakoutDomainParam param) { |
| | | OrderPakout order = orderService.selectById(param.getOrderId()); |
| | | if (order == null || order.getStatus() == 0) { |
| | | return R.error("订单不存在"); |
| | | } |
| | |
| | | // 修改明细档 |
| | | // List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); |
| | | // 1.清空明细档 |
| | | if (!orderDetlService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_id", order.getId()))) { |
| | | if (!orderDetlPakoutService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_id", order.getId()))) { |
| | | throw new CoolException("清空订单明细失败"); |
| | | } |
| | | // 2.重组数据 |
| | | List<DetlDto> list = new ArrayList<>(); |
| | | for (OrderDetlPakout orderDetlPakout : param.getOrderDetlPakoutList()) { |
| | | for (OrderDetlPakout orderDetlPakout : param.getOrderDetlList()) { |
| | | DetlDto dto = new DetlDto(orderDetlPakout.getMatnr(), orderDetlPakout.getBatch()); |
| | | if (DetlDto.has(list, dto)) { |
| | | OrderDetlPakout item = orderDetlService.selectItem(order.getId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch()); |
| | | OrderDetlPakout item = orderDetlPakoutService.selectItem(order.getId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch()); |
| | | item.setAnfme(item.getAnfme() + orderDetlPakout.getAnfme()); |
| | | if (!orderDetlService.updateById(item)) { |
| | | if (!orderDetlPakoutService.updateById(item)) { |
| | | throw new CoolException("保存订单明细档失败"); |
| | | } |
| | | } else { |
| | |
| | | orderDetlPakout.setUpdateTime(now); |
| | | orderDetlPakout.setStatus(1); |
| | | orderDetlPakout.setQty(0.0D); |
| | | if (!orderDetlService.insert(orderDetlPakout)) { |
| | | if (!orderDetlPakoutService.insert(orderDetlPakout)) { |
| | | throw new CoolException("保存订单明细档失败"); |
| | | } |
| | | } |
| | |
| | | @PostMapping(value = "/order/wrk/trace/auth") |
| | | @ManagerAuth |
| | | public R orderWrkTrace(@RequestParam("orderId") Long orderId) { |
| | | OrderPakin order = orderService.selectById(orderId); |
| | | OrderPakout order = orderService.selectById(orderId); |
| | | if (null == order) { |
| | | return R.error("单据不存在"); |
| | | } |
| | | // 数量统计 |
| | | List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectByOrderId(orderId); |
| | | List<OrderDetlPakout> orderDetlPakouts = orderDetlPakoutService.selectByOrderId(orderId); |
| | | double totalQty = 0; |
| | | double wrkQty = 0; |
| | | double lackQty = 0; |
| | |
| | | @RequestParam(required = false) String orderByField, |
| | | @RequestParam(required = false) String orderByType, |
| | | @RequestParam Map<String, Object> param) { |
| | | EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>(); |
| | | EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>(); |
| | | excludeTrash(param); |
| | | convert(param, wrapper); |
| | | if (!Cools.isEmpty(orderByField)) { |
| | |
| | | |
| | | @RequestMapping(value = "/order/update/auth") |
| | | @ManagerAuth |
| | | public R update(OrderPakin order) { |
| | | public R update(OrderPakout order) { |
| | | if (Cools.isEmpty(order) || null == order.getId()) { |
| | | return R.error(); |
| | | } |
| | |
| | | @RequestMapping(value = "/order/export/auth") |
| | | @ManagerAuth |
| | | public R export(@RequestBody JSONObject param) { |
| | | EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>(); |
| | | EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>(); |
| | | List<String> fields = JSONObject.parseArray(param.getJSONArray("fields").toJSONString(), String.class); |
| | | Map<String, Object> map = excludeTrash(param.getJSONObject("order")); |
| | | convert(map, wrapper); |
| | | List<OrderPakin> list = orderService.selectList(wrapper); |
| | | List<OrderPakout> list = orderService.selectList(wrapper); |
| | | return R.ok(exportSupport(list, fields)); |
| | | } |
| | | |
| | | @RequestMapping(value = "/orderQuery/auth") |
| | | @ManagerAuth |
| | | public R query(String condition) { |
| | | EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>(); |
| | | EntityWrapper<OrderPakout> wrapper = new EntityWrapper<>(); |
| | | wrapper.like("id", condition); |
| | | Page<OrderPakin> page = orderService.selectPage(new Page<>(0, 10), wrapper); |
| | | Page<OrderPakout> page = orderService.selectPage(new Page<>(0, 10), wrapper); |
| | | List<Map<String, Object>> result = new ArrayList<>(); |
| | | for (OrderPakin order : page.getRecords()) { |
| | | for (OrderPakout order : page.getRecords()) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("id", order.getId()); |
| | | map.put("value", order.getOrderNo()); |
| | |
| | | @RequestMapping(value = "/order/check/column/auth") |
| | | @ManagerAuth |
| | | public R query(@RequestBody JSONObject param) { |
| | | Wrapper<OrderPakin> wrapper = new EntityWrapper<OrderPakin>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); |
| | | Wrapper<OrderPakout> wrapper = new EntityWrapper<OrderPakout>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); |
| | | if (null != orderService.selectOne(wrapper)) { |
| | | return R.parse(BaseRes.REPEAT).add(getComment(OrderPakin.class, String.valueOf(param.get("key")))); |
| | | return R.parse(BaseRes.REPEAT).add(getComment(OrderPakout.class, String.valueOf(param.get("key")))); |
| | | } |
| | | return R.ok(); |
| | | } |