diff --git a/wms_serve_nantong_yachi/src/main/java/com/wms_main/controller/wms/OrderController.java b/wms_serve_nantong_yachi/src/main/java/com/wms_main/controller/wms/OrderController.java new file mode 100644 index 0000000..5e129fa --- /dev/null +++ b/wms_serve_nantong_yachi/src/main/java/com/wms_main/controller/wms/OrderController.java @@ -0,0 +1,42 @@ +package com.wms_main.controller.wms; + +import com.wms_main.model.dto.query.OrderInQuery; +import com.wms_main.model.dto.request.wms.OrderInRequest; +import com.wms_main.model.dto.request.wms.OrderOutRequest; +import com.wms_main.model.dto.response.wms.BaseWmsApiResponse; +import com.wms_main.model.po.TAppOrderIn; +import com.wms_main.service.controller.IOrderControllerService; +import lombok.RequiredArgsConstructor; +import org.springframework.web.bind.annotation.*; + +import java.util.List; + +@RestController +@ResponseBody +@CrossOrigin +@RequiredArgsConstructor +@RequestMapping("/wms/order") +public class OrderController { + + final IOrderControllerService orderControllerService; + + @PostMapping("/orderIn") + public BaseWmsApiResponse orderIn(@RequestBody OrderInRequest request) { + return orderControllerService.addOrderIn(request); + } + + @PostMapping("/orderOut") + public BaseWmsApiResponse orderOut(@RequestBody OrderOutRequest request) { + return orderControllerService.addOrderOut(request); + } + + @PostMapping("/getOrderIns") + public List getOrderIns(@RequestBody OrderInQuery query) { + return orderControllerService.getOrderIns(query); + } + + @PostMapping("/updateOrderIn") + public BaseWmsApiResponse updateOrderIn(@RequestParam String recordId, @RequestParam String orderStatus) { + return orderControllerService.updateOrderIn(recordId, orderStatus); + } +} diff --git a/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/controller/IOrderControllerService.java b/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/controller/IOrderControllerService.java new file mode 100644 index 0000000..f6bd2cf --- /dev/null +++ b/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/controller/IOrderControllerService.java @@ -0,0 +1,19 @@ +package com.wms_main.service.controller; + +import com.wms_main.model.dto.query.OrderInQuery; +import com.wms_main.model.dto.request.wms.OrderInRequest; +import com.wms_main.model.dto.request.wms.OrderOutRequest; +import com.wms_main.model.dto.response.wms.BaseWmsApiResponse; +import com.wms_main.model.po.TAppOrderIn; + +import java.util.List; + +public interface IOrderControllerService { + BaseWmsApiResponse addOrderIn(OrderInRequest request); + + BaseWmsApiResponse addOrderOut(OrderOutRequest request); + + List getOrderIns(OrderInQuery query); + + BaseWmsApiResponse updateOrderIn(String recordId, String orderStatus); +} diff --git a/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/controller/serviceImpl/OrderControllerServiceImpl.java b/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/controller/serviceImpl/OrderControllerServiceImpl.java new file mode 100644 index 0000000..cbf730a --- /dev/null +++ b/wms_serve_nantong_yachi/src/main/java/com/wms_main/service/controller/serviceImpl/OrderControllerServiceImpl.java @@ -0,0 +1,121 @@ +package com.wms_main.service.controller.serviceImpl; + +import com.alibaba.fastjson.JSON; +import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; +import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper; +import com.wms_main.constant.enums.wms.OrderStatusEnum; +import com.wms_main.dao.ITAppOrderInService; +import com.wms_main.dao.ITAppOrderOutService; +import com.wms_main.model.dto.query.OrderInQuery; +import com.wms_main.model.dto.request.wms.OrderInRequest; +import com.wms_main.model.dto.request.wms.OrderOutRequest; +import com.wms_main.model.dto.response.wms.BaseWmsApiResponse; +import com.wms_main.model.dto.response.ycwms.YcwmsResponse; +import com.wms_main.model.po.TAppOrderIn; +import com.wms_main.model.po.TAppOrderOut; +import com.wms_main.repository.utils.StringUtils; +import com.wms_main.repository.utils.UUIDUtils; +import com.wms_main.service.controller.IOrderControllerService; +import lombok.RequiredArgsConstructor; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; + +import java.sql.Wrapper; +import java.time.LocalDateTime; +import java.util.ArrayList; +import java.util.List; + +@Service +@Slf4j +@RequiredArgsConstructor +public class OrderControllerServiceImpl implements IOrderControllerService { + private final ITAppOrderInService appOrderInService; + private final ITAppOrderOutService appOrderOutService; + + @Override + public BaseWmsApiResponse addOrderIn(OrderInRequest request) { + log.info("入库单请求参数{}", JSON.toJSON(request)); + if (request == null) return BaseWmsApiResponse.error("参数缺少"); + if (StringUtils.isEmpty(request.getVehicleNo()) || StringUtils.isEmpty(request.getVehicleSize()) + || StringUtils.isEmpty(request.getInStand()) || request.getGoodsDetail() == null || request.getGoodsDetail().isEmpty()) { + return BaseWmsApiResponse.error("参数错误"); + } + List orderInList = new ArrayList<>(); + for (var goodsDetail : request.getGoodsDetail()) { + if (goodsDetail == null || goodsDetail.getQuantity() == null) { + return BaseWmsApiResponse.error("参数错误"); + } + TAppOrderIn orderIn = new TAppOrderIn(); + orderIn.setRecordId(UUIDUtils.getNewUUID()); + orderIn.setOrderId(UUIDUtils.getNewUUID()); + orderIn.setVehicleNo(request.getVehicleNo()); + orderIn.setVehicleSize(request.getVehicleSize()); + orderIn.setInStand(request.getInStand()); + orderIn.setGoodsId(goodsDetail.getGoodsId()); + orderIn.setGoodsName(goodsDetail.getGoodsName()); + orderIn.setBatch(goodsDetail.getBatch()); + orderIn.setGoodsType(goodsDetail.getGoodsType()); + orderIn.setSpecification(goodsDetail.getSpecification()); + orderIn.setQuantity(goodsDetail.getQuantity()); + orderIn.setGoodsDesc(goodsDetail.getGoodsDesc()); + orderIn.setOrderStatus(OrderStatusEnum.CREATE.getCode()); + orderIn.setCreateTime(LocalDateTime.now()); + orderIn.setUpdateTime(LocalDateTime.now()); + orderInList.add(orderIn); + } + if (!appOrderInService.saveBatch(orderInList)) { + return BaseWmsApiResponse.error("入库单保存失败,请稍后再试"); + } + return BaseWmsApiResponse.success(); + } + + @Override + public BaseWmsApiResponse addOrderOut(OrderOutRequest request) { + log.info("出库单请求参数{}", JSON.toJSON(request)); + if (request == null) return BaseWmsApiResponse.error("参数错误"); + if (request.getQuantity() == null + || (StringUtils.isEmpty(request.getGoodsId()) && request.getBatch() == null && request.getSpecification() == null)) { + return BaseWmsApiResponse.error("参数错误"); + } + TAppOrderOut orderOut = new TAppOrderOut(); + orderOut.setRecordId(UUIDUtils.getNewUUID()); + orderOut.setOrderId(UUIDUtils.getNewUUID()); + orderOut.setGoodsId(request.getGoodsId()); + orderOut.setBatch(request.getBatch()); + orderOut.setSpecification(request.getSpecification()); + orderOut.setQuantity(request.getQuantity()); + orderOut.setOrderStatus(OrderStatusEnum.CREATE.getCode()); + orderOut.setCreateTime(LocalDateTime.now()); + orderOut.setUpdateTime(LocalDateTime.now()); + if (!appOrderOutService.save(orderOut)) { + return BaseWmsApiResponse.error("出库单保存失败,请稍后再试"); + } + return BaseWmsApiResponse.success(); + } + + @Override + public List getOrderIns(OrderInQuery query) { + if (query == null) return null; + else if (StringUtils.isEmpty(query.getVehicleNo()) && StringUtils.isEmpty(query.getVehicleSize()) && StringUtils.isEmpty(query.getInStand()) && query.getOrderStatus() == null) { + return appOrderInService.list(); + } else { + return appOrderInService.list(new LambdaQueryWrapper().eq(TAppOrderIn::getVehicleNo, query.getVehicleNo()) + .eq(TAppOrderIn::getVehicleSize, query.getVehicleSize()) + .eq(TAppOrderIn::getInStand, query.getInStand()) + .eq(TAppOrderIn::getOrderStatus, query.getOrderStatus())); + } + } + + @Override + public BaseWmsApiResponse updateOrderIn(String recordId, String orderStatus) { + if (StringUtils.isEmpty(recordId) || StringUtils.isEmpty(orderStatus)) { + return BaseWmsApiResponse.error("参数缺失"); + } else { + appOrderInService.update( + new LambdaUpdateWrapper() + .set(TAppOrderIn::getOrderStatus, orderStatus) + .eq(TAppOrderIn::getRecordId, recordId)); + return BaseWmsApiResponse.success(); + } + } +} diff --git a/wms_web_nantong_yachi/src/api/orderIn.js b/wms_web_nantong_yachi/src/api/orderIn.js new file mode 100644 index 0000000..9c8a5bf --- /dev/null +++ b/wms_web_nantong_yachi/src/api/orderIn.js @@ -0,0 +1,41 @@ +import request from "@/http/request"; + +/** + * 提交入库单 + */ +const submitOrderInForm = (params) => { + return request({ + url: '/order/orderIn', + method: 'post', + data: params + }) +} + +/** + * 查询入库单列表 + */ +const getOrderIns = (params) => { + return request({ + url: '/order/getOrderIns', + method: 'post', + data: params + }) +} + +// 修改update方法 +const updateOrderIn = (recordId, orderStatus) => { + return request({ + url: '/order/updateOrderIn', + method: 'post', + params: { // 使用params传递URL参数 + recordId, + orderStatus + } + }) +} + +export { + submitOrderInForm, + getOrderIns, + updateOrderIn +} diff --git a/wms_web_nantong_yachi/src/api/orderOut.js b/wms_web_nantong_yachi/src/api/orderOut.js new file mode 100644 index 0000000..029b2aa --- /dev/null +++ b/wms_web_nantong_yachi/src/api/orderOut.js @@ -0,0 +1,16 @@ +import request from "@/http/request"; + +/** + * 提交入库单 + */ +const submitOrderOutForm = (params) => { + return request({ + url: '/order/orderOut', + method: 'post', + data: params + }) +} + +export { + submitOrderOutForm +} diff --git a/wms_web_nantong_yachi/src/layout/orderIn.vue b/wms_web_nantong_yachi/src/layout/orderIn.vue new file mode 100644 index 0000000..080e4f6 --- /dev/null +++ b/wms_web_nantong_yachi/src/layout/orderIn.vue @@ -0,0 +1,722 @@ + + + + + \ No newline at end of file diff --git a/wms_web_nantong_yachi/src/layout/orderOut.vue b/wms_web_nantong_yachi/src/layout/orderOut.vue new file mode 100644 index 0000000..f064c90 --- /dev/null +++ b/wms_web_nantong_yachi/src/layout/orderOut.vue @@ -0,0 +1,204 @@ + + + + + \ No newline at end of file diff --git a/wms_web_nantong_yachi/src/router/index.js b/wms_web_nantong_yachi/src/router/index.js index db30b0a..7bff553 100644 --- a/wms_web_nantong_yachi/src/router/index.js +++ b/wms_web_nantong_yachi/src/router/index.js @@ -36,6 +36,8 @@ const routes = [ { path: '/dbsList', component: () => import('@/layout/dbsList.vue') },// dbs计划 { path: '/kittingList', component: () => import('@/layout/kittingList.vue') },// 配料单 { path: '/kittingRelation', component: () => import('@/layout/kittingRelation.vue') },// 配料单 + { path: '/orderIn', component: () => import('@/layout/orderIn.vue') },// 入库单 + { path: '/orderOut', component: () => import('@/layout/orderOut.vue') },// 出库单 ] }, {