copy from src/main/java/com/zy/asrs/controller/OrderController.java
copy to src/main/java/com/zy/asrs/controller/OrderPakinController.java
| File was copied 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.OrderPakinDomainParam; |
| | | 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 = "/pakin") |
| | | public class OrderPakinController extends BaseController { |
| | | |
| | | @Autowired |
| | | private OrderService orderService; |
| | | private OrderPakinService orderPakinService; |
| | | @Autowired |
| | | private OrderDetlService orderDetlService; |
| | | private OrderDetlPakinService orderDetlPakinService; |
| | | @Autowired |
| | | private SnowflakeIdWorker snowflakeIdWorker; |
| | | @Autowired |
| | |
| | | wrapper.like("order_no", condition); |
| | | } |
| | | wrapper.orderBy("create_time", false); |
| | | List<OrderPakin> mats = orderService.selectList(wrapper); |
| | | List<OrderPakin> mats = orderPakinService.selectList(wrapper); |
| | | return R.ok().add(mats); |
| | | } |
| | | |
| | |
| | | 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<OrderPakin> orderPage = orderPakinService.selectPage(new Page<>(curr, limit), wrapper); |
| | | return R.ok().add(orderPage); |
| | | } |
| | | |
| | |
| | | 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<OrderPakin> orderPage = orderPakinService.selectPage(new Page<>(curr, limit), wrapper); |
| | | return R.ok().add(orderPage); |
| | | } |
| | | |
| | |
| | | } |
| | | wrapper.le("settle", 2).eq("status", 1); |
| | | wrapper.orderBy("create_time", false); |
| | | List<OrderPakin> orders = orderService.selectList(wrapper); |
| | | List<OrderPakin> orders = orderPakinService.selectList(wrapper); |
| | | // 保留出库单 |
| | | if (!Cools.isEmpty(orders)) { |
| | | Iterator<OrderPakin> iterator = orders.iterator(); |
| | |
| | | wrapper.orderBy("settle").orderBy("create_time", false); |
| | | } |
| | | wrapper.eq("status", 1); |
| | | return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | return R.ok(orderPakinService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | | @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(orderDetlPakinService.selectList(new EntityWrapper<OrderDetlPakin>().eq("order_id", orderId))); |
| | | } |
| | | |
| | | @RequestMapping(value = "/order/form/add/auth") |
| | | @ManagerAuth(memo = "手动添加订单") |
| | | @Transactional |
| | | public R formAdd(@RequestBody OrderDomainParam param) { |
| | | public R formAdd(@RequestBody OrderPakinDomainParam 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()); |
| | | OrderPakin order = orderPakinService.selectByNo(param.getOrderNo()); |
| | | if (order != null) { |
| | | return R.error("单据编号已存在"); |
| | | } |
| | |
| | | now, // 修改时间 |
| | | null // 备注 |
| | | ); |
| | | if (!orderService.insert(order)) { |
| | | if (!orderPakinService.insert(order)) { |
| | | throw new CoolException("保存订单主档失败"); |
| | | } |
| | | List<DetlDto> list = new ArrayList<>(); |
| | | for (OrderDetlPakout orderDetlPakout : param.getOrderDetlPakoutList()) { |
| | | DetlDto dto = new DetlDto(orderDetlPakout.getMatnr(), orderDetlPakout.getBatch()); |
| | | for (OrderDetlPakin OrderDetlPakin : param.getOrderDetlList()) { |
| | | DetlDto dto = new DetlDto(OrderDetlPakin.getMatnr(), OrderDetlPakin.getBatch()); |
| | | if (DetlDto.has(list, dto)) { |
| | | OrderDetlPakout item = orderDetlService.selectItem(order.getId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch()); |
| | | item.setAnfme(item.getAnfme() + orderDetlPakout.getAnfme()); |
| | | if (!orderDetlService.updateById(item)) { |
| | | OrderDetlPakin item = orderDetlPakinService.selectItem(order.getId(), OrderDetlPakin.getMatnr(), OrderDetlPakin.getBatch()); |
| | | item.setAnfme(item.getAnfme() + OrderDetlPakin.getAnfme()); |
| | | if (!orderDetlPakinService.updateById(item)) { |
| | | throw new CoolException("保存订单明细档失败"); |
| | | } |
| | | } else { |
| | | list.add(dto); |
| | | orderDetlPakout.setOrderId(order.getId()); |
| | | orderDetlPakout.setOrderNo(order.getOrderNo()); |
| | | orderDetlPakout.setCreateBy(getUserId()); |
| | | orderDetlPakout.setCreateTime(now); |
| | | orderDetlPakout.setUpdateBy(getUserId()); |
| | | orderDetlPakout.setUpdateTime(now); |
| | | orderDetlPakout.setStatus(1); |
| | | orderDetlPakout.setQty(0.0D); |
| | | if (!orderDetlService.insert(orderDetlPakout)) { |
| | | OrderDetlPakin.setOrderId(order.getId()); |
| | | OrderDetlPakin.setOrderNo(order.getOrderNo()); |
| | | OrderDetlPakin.setCreateBy(getUserId()); |
| | | OrderDetlPakin.setCreateTime(now); |
| | | OrderDetlPakin.setUpdateBy(getUserId()); |
| | | OrderDetlPakin.setUpdateTime(now); |
| | | OrderDetlPakin.setStatus(1); |
| | | OrderDetlPakin.setQty(0.0D); |
| | | if (!orderDetlPakinService.insert(OrderDetlPakin)) { |
| | | 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 OrderPakinDomainParam param) { |
| | | OrderPakin order = orderPakinService.selectById(param.getOrderId()); |
| | | if (order == null || order.getStatus() == 0) { |
| | | return R.error("订单不存在"); |
| | | } |
| | |
| | | order.setDocType(param.getDocType()); |
| | | order.setUpdateBy(userId); |
| | | order.setUpdateTime(now); |
| | | if (!orderService.updateById(order)) { |
| | | if (!orderPakinService.updateById(order)) { |
| | | throw new CoolException("修改订单类型失败"); |
| | | } |
| | | } |
| | | // 修改明细档 |
| | | // List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); |
| | | // 1.清空明细档 |
| | | if (!orderDetlService.delete(new EntityWrapper<OrderDetlPakout>().eq("order_id", order.getId()))) { |
| | | if (!orderDetlPakinService.delete(new EntityWrapper<OrderDetlPakin>().eq("order_id", order.getId()))) { |
| | | throw new CoolException("清空订单明细失败"); |
| | | } |
| | | // 2.重组数据 |
| | | List<DetlDto> list = new ArrayList<>(); |
| | | for (OrderDetlPakout orderDetlPakout : param.getOrderDetlPakoutList()) { |
| | | DetlDto dto = new DetlDto(orderDetlPakout.getMatnr(), orderDetlPakout.getBatch()); |
| | | for (OrderDetlPakin OrderDetlPakin : param.getOrderDetlList()) { |
| | | DetlDto dto = new DetlDto(OrderDetlPakin.getMatnr(), OrderDetlPakin.getBatch()); |
| | | if (DetlDto.has(list, dto)) { |
| | | OrderDetlPakout item = orderDetlService.selectItem(order.getId(), orderDetlPakout.getMatnr(), orderDetlPakout.getBatch()); |
| | | item.setAnfme(item.getAnfme() + orderDetlPakout.getAnfme()); |
| | | if (!orderDetlService.updateById(item)) { |
| | | OrderDetlPakin item = orderDetlPakinService.selectItem(order.getId(), OrderDetlPakin.getMatnr(), OrderDetlPakin.getBatch()); |
| | | item.setAnfme(item.getAnfme() + OrderDetlPakin.getAnfme()); |
| | | if (!orderDetlPakinService.updateById(item)) { |
| | | throw new CoolException("保存订单明细档失败"); |
| | | } |
| | | } else { |
| | | list.add(dto); |
| | | orderDetlPakout.setOrderId(order.getId()); |
| | | orderDetlPakout.setOrderNo(order.getOrderNo()); |
| | | orderDetlPakout.setCreateBy(getUserId()); |
| | | orderDetlPakout.setCreateTime(now); |
| | | orderDetlPakout.setUpdateBy(getUserId()); |
| | | orderDetlPakout.setUpdateTime(now); |
| | | orderDetlPakout.setStatus(1); |
| | | orderDetlPakout.setQty(0.0D); |
| | | if (!orderDetlService.insert(orderDetlPakout)) { |
| | | OrderDetlPakin.setOrderId(order.getId()); |
| | | OrderDetlPakin.setOrderNo(order.getOrderNo()); |
| | | OrderDetlPakin.setCreateBy(getUserId()); |
| | | OrderDetlPakin.setCreateTime(now); |
| | | OrderDetlPakin.setUpdateBy(getUserId()); |
| | | OrderDetlPakin.setUpdateTime(now); |
| | | OrderDetlPakin.setStatus(1); |
| | | OrderDetlPakin.setQty(0.0D); |
| | | if (!orderDetlPakinService.insert(OrderDetlPakin)) { |
| | | throw new CoolException("保存订单明细档失败"); |
| | | } |
| | | } |
| | |
| | | @PostMapping(value = "/order/wrk/trace/auth") |
| | | @ManagerAuth |
| | | public R orderWrkTrace(@RequestParam("orderId") Long orderId) { |
| | | OrderPakin order = orderService.selectById(orderId); |
| | | OrderPakin order = orderPakinService.selectById(orderId); |
| | | if (null == order) { |
| | | return R.error("单据不存在"); |
| | | } |
| | | // 数量统计 |
| | | List<OrderDetlPakout> orderDetlPakouts = orderDetlService.selectByOrderId(orderId); |
| | | List<OrderDetlPakin> OrderDetlPakins = orderDetlPakinService.selectByOrderId(orderId); |
| | | double totalQty = 0; |
| | | double wrkQty = 0; |
| | | double lackQty = 0; |
| | | double endQty = 0; |
| | | for (OrderDetlPakout orderDetlPakout : orderDetlPakouts) { |
| | | totalQty = totalQty + orderDetlPakout.getAnfme(); |
| | | wrkQty = wrkQty + orderDetlPakout.getWorkQty(); |
| | | endQty = endQty + orderDetlPakout.getQty(); |
| | | double issued = Optional.of(orderDetlPakout.getAnfme() - orderDetlPakout.getWorkQty()).orElse(0.0D); |
| | | for (OrderDetlPakin OrderDetlPakin : OrderDetlPakins) { |
| | | totalQty = totalQty + OrderDetlPakin.getAnfme(); |
| | | wrkQty = wrkQty + OrderDetlPakin.getWorkQty(); |
| | | endQty = endQty + OrderDetlPakin.getQty(); |
| | | double issued = Optional.of(OrderDetlPakin.getAnfme() - OrderDetlPakin.getWorkQty()).orElse(0.0D); |
| | | if (issued > 0.0) { |
| | | List<LocDetl> locDetls = locDetlService.queryStock(orderDetlPakout.getMatnr(), orderDetlPakout.getBatch(), orderDetlPakout.getOrigin(), null, null, null, null); |
| | | List<LocDetl> locDetls = locDetlService.queryStock(OrderDetlPakin.getMatnr(), OrderDetlPakin.getBatch(), OrderDetlPakin.getOrigin(), null, null, null, null); |
| | | for (LocDetl locDetl : locDetls) { |
| | | if (issued > 0) { |
| | | issued = issued - locDetl.getAnfme(); |
| | |
| | | @RequestMapping(value = "/order/{id}/auth") |
| | | @ManagerAuth |
| | | public R get(@PathVariable("id") String id) { |
| | | return R.ok(orderService.selectById(String.valueOf(id))); |
| | | return R.ok(orderPakinService.selectById(String.valueOf(id))); |
| | | } |
| | | |
| | | @RequestMapping(value = "/order/list/auth") |
| | |
| | | if (!Cools.isEmpty(orderByField)) { |
| | | wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType)); |
| | | } |
| | | return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | return R.ok(orderPakinService.selectPage(new Page<>(curr, limit), wrapper)); |
| | | } |
| | | |
| | | private <T> void convert(Map<String, Object> map, EntityWrapper<T> wrapper) { |
| | |
| | | |
| | | order.setUpdateBy(getUserId()); |
| | | order.setUpdateTime(new Date()); |
| | | if (!orderService.updateById(order)) { |
| | | if (!orderPakinService.updateById(order)) { |
| | | throw new CoolException("修改订单失败"); |
| | | } |
| | | return R.ok(); |
| | |
| | | @ManagerAuth(memo = "手动删除订单") |
| | | @Transactional |
| | | public R delete(@RequestParam Long orderId) { |
| | | orderService.remove(orderId); |
| | | // Order order = orderService.selectById(orderId); |
| | | orderPakinService.remove(orderId); |
| | | // Order order = orderPakinService.selectById(orderId); |
| | | // if (order != null) { |
| | | // order.setStatus(0); |
| | | // } |
| | | // if (!orderService.updateById(order)) { |
| | | // if (!orderPakinService.updateById(order)) { |
| | | // throw new CoolException("删除订单失败"); |
| | | // } |
| | | // orderDetlService.modifyStatus(orderId, 0); |
| | |
| | | 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<OrderPakin> list = orderPakinService.selectList(wrapper); |
| | | return R.ok(exportSupport(list, fields)); |
| | | } |
| | | |
| | |
| | | public R query(String condition) { |
| | | EntityWrapper<OrderPakin> wrapper = new EntityWrapper<>(); |
| | | wrapper.like("id", condition); |
| | | Page<OrderPakin> page = orderService.selectPage(new Page<>(0, 10), wrapper); |
| | | Page<OrderPakin> page = orderPakinService.selectPage(new Page<>(0, 10), wrapper); |
| | | List<Map<String, Object>> result = new ArrayList<>(); |
| | | for (OrderPakin order : page.getRecords()) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | |
| | | @ManagerAuth |
| | | public R query(@RequestBody JSONObject param) { |
| | | Wrapper<OrderPakin> wrapper = new EntityWrapper<OrderPakin>().eq(humpToLine(String.valueOf(param.get("key"))), param.get("val")); |
| | | if (null != orderService.selectOne(wrapper)) { |
| | | if (null != orderPakinService.selectOne(wrapper)) { |
| | | return R.parse(BaseRes.REPEAT).add(getComment(OrderPakin.class, String.valueOf(param.get("key")))); |
| | | } |
| | | return R.ok(); |