From 3e15d77853350f82e2a8d22e3e488c6667753891 Mon Sep 17 00:00:00 2001 From: luxiaotao1123 <t1341870251@63.com> Date: 星期五, 01 四月 2022 11:08:34 +0800 Subject: [PATCH] # --- src/main/java/com/zy/asrs/controller/OrderController.java | 142 +++++++++++++++++++++++++++++++++-------------- 1 files changed, 100 insertions(+), 42 deletions(-) diff --git a/src/main/java/com/zy/asrs/controller/OrderController.java b/src/main/java/com/zy/asrs/controller/OrderController.java index 93a9a57..57d3894 100644 --- a/src/main/java/com/zy/asrs/controller/OrderController.java +++ b/src/main/java/com/zy/asrs/controller/OrderController.java @@ -1,6 +1,5 @@ package com.zy.asrs.controller; -import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.mapper.EntityWrapper; import com.baomidou.mybatisplus.mapper.Wrapper; @@ -10,9 +9,10 @@ import com.core.exception.CoolException; import com.zy.asrs.entity.Order; import com.zy.asrs.entity.OrderDetl; -import com.zy.asrs.entity.param.InitOrderParam; +import com.zy.asrs.entity.param.OrderDomainParam; import com.zy.asrs.service.OrderDetlService; import com.zy.asrs.service.OrderService; +import com.zy.common.model.DetlDto; import com.zy.common.web.BaseController; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Transactional; @@ -30,6 +30,19 @@ @Autowired private SnowflakeIdWorker snowflakeIdWorker; + @RequestMapping(value = "/order/nav/list/auth") + @ManagerAuth + public R navList(@RequestParam(required = false) String orderNo){ + EntityWrapper<Order> wrapper = new EntityWrapper<>(); + if (!Cools.isEmpty(orderNo)) { + wrapper.like("order_no", orderNo); + } + wrapper.le("settle", 2).eq("doc_type", 1).eq("status", 1); + wrapper.orderBy("create_time", false); + List<Order> orders = orderService.selectList(wrapper); + return R.ok().add(orders); + } + @RequestMapping(value = "/order/head/page/auth") @ManagerAuth public R head(@RequestParam(defaultValue = "1")Integer curr, @@ -43,6 +56,7 @@ if (!Cools.isEmpty(orderByField)){wrapper.orderBy(humpToLine(orderByField), "asc".equals(orderByType));} else { wrapper.orderBy("create_time", false); } + wrapper.eq("status", 1); return R.ok(orderService.selectPage(new Page<>(curr, limit), wrapper)); } @@ -53,9 +67,9 @@ } @RequestMapping(value = "/order/form/add/auth") - @ManagerAuth + @ManagerAuth(memo = "鎵嬪姩娣诲姞璁㈠崟") @Transactional - public R formAdd(@RequestBody InitOrderParam param){ + public R formAdd(@RequestBody OrderDomainParam param){ Order order = orderService.selectByNo(param.getOrderNo()); if (order != null) { return R.error("鍗曟嵁缂栧彿宸插瓨鍦�"); @@ -100,30 +114,85 @@ if (!orderService.insert(order)) { throw new CoolException("淇濆瓨璁㈠崟涓绘。澶辫触"); } + List<DetlDto> list = new ArrayList<>(); for (OrderDetl orderDetl : param.getOrderDetlList()) { - orderDetl.setOrderId(order.getId()); - orderDetl.setCreateBy(getUserId()); - orderDetl.setCreateTime(now); - orderDetl.setUpdateBy(getUserId()); - orderDetl.setUpdateTime(now); - orderDetl.setStatus(1); - if (!orderDetlService.insert(orderDetl)) { - throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); + DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch()); + if (DetlDto.has(list, dto)) { + OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch()); + item.setAnfme(item.getAnfme() + orderDetl.getAnfme()); + if (!orderDetlService.updateById(item)) { + throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); + } + } else { + list.add(dto); + orderDetl.setOrderId(order.getId()); + orderDetl.setOrderNo(order.getOrderNo()); + orderDetl.setCreateBy(getUserId()); + orderDetl.setCreateTime(now); + orderDetl.setUpdateBy(getUserId()); + orderDetl.setUpdateTime(now); + orderDetl.setStatus(1); + orderDetl.setQty(0.0D); + if (!orderDetlService.insert(orderDetl)) { + throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); + } } } return R.ok("璁㈠崟娣诲姞鎴愬姛"); } @RequestMapping(value = "/order/form/modify/auth") - @ManagerAuth - public R formModify(@RequestBody InitOrderParam param){ - System.out.println(JSON.toJSONString(param)); - return R.ok(); + @ManagerAuth(memo = "鎵嬪姩淇敼璁㈠崟") + @Transactional + public R formModify(@RequestBody OrderDomainParam param){ + Order order = orderService.selectById(param.getOrderId()); + if (order == null || order.getStatus() == 0) { + return R.error("璁㈠崟涓嶅瓨鍦�"); + } + Date now = new Date(); + Long userId = getUserId(); + // 淇敼涓绘。 + if (!param.getDocType().equals(order.getDocType())) { + order.setDocType(param.getDocType()); + order.setUpdateBy(userId); + order.setUpdateTime(now); + if (!orderService.updateById(order)) { + throw new CoolException("淇敼璁㈠崟绫诲瀷澶辫触"); + } + } + // 淇敼鏄庣粏妗� +// List<OrderDetl> orderDetls = orderDetlService.selectByOrderId(order.getId()); + // 1.娓呯┖鏄庣粏妗� + if (!orderDetlService.delete(new EntityWrapper<OrderDetl>().eq("order_id", order.getId()))) { + throw new CoolException("娓呯┖璁㈠崟鏄庣粏澶辫触"); + } + // 2.閲嶇粍鏁版嵁 + List<DetlDto> list = new ArrayList<>(); + for (OrderDetl orderDetl : param.getOrderDetlList()) { + DetlDto dto = new DetlDto(orderDetl.getMatnr(), orderDetl.getBatch()); + if (DetlDto.has(list, dto)) { + OrderDetl item = orderDetlService.selectItem(order.getId(), orderDetl.getMatnr(), orderDetl.getBatch()); + item.setAnfme(item.getAnfme() + orderDetl.getAnfme()); + if (!orderDetlService.updateById(item)) { + throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); + } + } else { + list.add(dto); + orderDetl.setOrderId(order.getId()); + orderDetl.setOrderNo(order.getOrderNo()); + orderDetl.setCreateBy(getUserId()); + orderDetl.setCreateTime(now); + orderDetl.setUpdateBy(getUserId()); + orderDetl.setUpdateTime(now); + orderDetl.setStatus(1); + orderDetl.setQty(0.0D); + if (!orderDetlService.insert(orderDetl)) { + throw new CoolException("淇濆瓨璁㈠崟鏄庣粏妗eけ璐�"); + } + } + } + return R.ok("璁㈠崟淇敼鎴愬姛"); } - - - - @@ -165,29 +234,18 @@ } } - @RequestMapping(value = "/order/add/auth") - @ManagerAuth - public R add(Order order) { - orderService.insert(order); - return R.ok(); - } - - @RequestMapping(value = "/order/update/auth") - @ManagerAuth - public R update(Order order){ - if (Cools.isEmpty(order) || null==order.getId()){ - return R.error(); - } - orderService.updateById(order); - return R.ok(); - } - @RequestMapping(value = "/order/delete/auth") - @ManagerAuth - public R delete(@RequestParam(value="ids[]") Long[] ids){ - for (Long id : ids){ - orderService.deleteById(id); + @ManagerAuth(memo = "鎵嬪姩鍒犻櫎璁㈠崟") + @Transactional + public R delete(@RequestParam Long orderId){ + Order order = orderService.selectById(orderId); + if (order != null) { + order.setStatus(0); } + if (!orderService.updateById(order)) { + throw new CoolException("鍒犻櫎璁㈠崟澶辫触"); + } + orderDetlService.modifyStatus(orderId, 0); return R.ok(); } @@ -212,7 +270,7 @@ for (Order order : page.getRecords()){ Map<String, Object> map = new HashMap<>(); map.put("id", order.getId()); - map.put("value", order.getId()); + map.put("value", order.getOrderNo()); result.add(map); } return R.ok(result); -- Gitblit v1.9.1