From 9e6b3817384eface6e7746c7280298e52facf720 Mon Sep 17 00:00:00 2001 From: x_z Date: Wed, 15 Feb 2023 23:48:48 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E8=AE=BE=E5=A4=87=E9=A2=86?= =?UTF-8?q?=E7=94=A8=E5=85=BB=E6=8A=A4=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/com/glxp/api/constant/Constant.java | 2 +- .../inv/DeviceMAOrderController.java | 178 +++++++++++++ .../inv/DeviceMAOrderDetailCotroller.java | 106 ++++++++ .../inv/DeviceReceiveDetailController.java | 124 +++++++++ .../inv/DeviceReceiveOrderController.java | 131 ++++++++++ .../glxp/api/dao/basic/UdiRelevanceDao.java | 8 + .../glxp/api/dao/inv/DeviceMAOrderDao.java | 32 +++ .../api/dao/inv/DeviceMAOrderDetailDao.java | 47 ++++ .../glxp/api/dao/inv/DeviceMaOrderDao.java | 7 - .../api/dao/inv/DeviceMaOrderDetailDao.java | 7 - .../api/dao/inv/DeviceReceiveOrderDao.java | 29 +++ .../dao/inv/DeviceReceiveOrderDetailDao.java | 58 +++++ ...ty.java => DeviceMAOrderDetailEntity.java} | 21 +- ...erEntity.java => DeviceMAOrderEntity.java} | 7 +- .../inv/DeviceReceiveOrderDetailEntity.java | 143 ----------- .../entity/inv/DeviceReceiveOrderEntity.java | 96 ------- .../api/req/inv/AddDeviceMAOrderRequest.java | 2 +- .../AddDeviceReceiveOrderDetailRequest.java | 4 + .../inv/FilterDeviceReceiveOrderRequest.java | 14 +- .../res/inv/DeviceMAOrderDetailResponse.java | 108 ++++++++ .../api/res/inv/DeviceMAOrderResponse.java | 60 +++++ .../inv/DeviceReceiveOrderDetailResponse.java | 118 +++++++++ .../res/inv/DeviceReceiveOrderResponse.java | 119 +++++++++ .../inv/DeviceMAOrderDetailService.java | 55 ++++ .../api/service/inv/DeviceMAOrderService.java | 64 +++++ .../inv/DeviceReceiveOrderDetailService.java | 56 ++++ .../inv/DeviceReceiveOrderService.java | 61 +++++ .../impl/DeviceMAOrderDetailServiceImpl.java | 88 +++++++ .../inv/impl/DeviceMAOrderServiceImpl.java | 201 +++++++++++++++ .../DeviceReceiveOrderDetailServiceImpl.java | 240 ++++++++++++++++++ .../impl/DeviceReceiveOrderServiceImpl.java | 157 ++++++++++++ .../com/glxp/api/util/udi/FilterUdiUtils.java | 17 +- .../mybatis/mapper/basic/UdiRelevanceDao.xml | 7 + .../mybatis/mapper/inv/DeviceMAOrderDao.xml | 37 +++ .../mapper/inv/DeviceMAOrderDetailDao.xml | 61 +++++ .../mybatis/mapper/inv/DeviceMaOrderDao.xml | 4 - .../mapper/inv/DeviceMaOrderDetailDao.xml | 5 - .../mapper/inv/DeviceReceiveOrderDao.xml | 46 ++++ .../inv/DeviceReceiveOrderDetailDao.xml | 100 ++++++++ 39 files changed, 2333 insertions(+), 287 deletions(-) create mode 100644 src/main/java/com/glxp/api/controller/inv/DeviceMAOrderController.java create mode 100644 src/main/java/com/glxp/api/controller/inv/DeviceMAOrderDetailCotroller.java create mode 100644 src/main/java/com/glxp/api/controller/inv/DeviceReceiveDetailController.java create mode 100644 src/main/java/com/glxp/api/controller/inv/DeviceReceiveOrderController.java create mode 100644 src/main/java/com/glxp/api/dao/inv/DeviceMAOrderDao.java create mode 100644 src/main/java/com/glxp/api/dao/inv/DeviceMAOrderDetailDao.java delete mode 100644 src/main/java/com/glxp/api/dao/inv/DeviceMaOrderDao.java delete mode 100644 src/main/java/com/glxp/api/dao/inv/DeviceMaOrderDetailDao.java rename src/main/java/com/glxp/api/entity/inv/{DeviceMaOrderDetailEntity.java => DeviceMAOrderDetailEntity.java} (86%) rename src/main/java/com/glxp/api/entity/inv/{DeviceMaOrderEntity.java => DeviceMAOrderEntity.java} (96%) delete mode 100644 src/main/java/com/glxp/api/entity/inv/DeviceReceiveOrderDetailEntity.java delete mode 100644 src/main/java/com/glxp/api/entity/inv/DeviceReceiveOrderEntity.java create mode 100644 src/main/java/com/glxp/api/res/inv/DeviceMAOrderDetailResponse.java create mode 100644 src/main/java/com/glxp/api/res/inv/DeviceMAOrderResponse.java create mode 100644 src/main/java/com/glxp/api/res/inv/DeviceReceiveOrderDetailResponse.java create mode 100644 src/main/java/com/glxp/api/res/inv/DeviceReceiveOrderResponse.java create mode 100644 src/main/java/com/glxp/api/service/inv/DeviceMAOrderDetailService.java create mode 100644 src/main/java/com/glxp/api/service/inv/DeviceMAOrderService.java create mode 100644 src/main/java/com/glxp/api/service/inv/DeviceReceiveOrderDetailService.java create mode 100644 src/main/java/com/glxp/api/service/inv/DeviceReceiveOrderService.java create mode 100644 src/main/java/com/glxp/api/service/inv/impl/DeviceMAOrderDetailServiceImpl.java create mode 100644 src/main/java/com/glxp/api/service/inv/impl/DeviceMAOrderServiceImpl.java create mode 100644 src/main/java/com/glxp/api/service/inv/impl/DeviceReceiveOrderDetailServiceImpl.java create mode 100644 src/main/java/com/glxp/api/service/inv/impl/DeviceReceiveOrderServiceImpl.java create mode 100644 src/main/resources/mybatis/mapper/inv/DeviceMAOrderDao.xml create mode 100644 src/main/resources/mybatis/mapper/inv/DeviceMAOrderDetailDao.xml delete mode 100644 src/main/resources/mybatis/mapper/inv/DeviceMaOrderDao.xml delete mode 100644 src/main/resources/mybatis/mapper/inv/DeviceMaOrderDetailDao.xml diff --git a/src/main/java/com/glxp/api/constant/Constant.java b/src/main/java/com/glxp/api/constant/Constant.java index edcad22f7..2088c095c 100644 --- a/src/main/java/com/glxp/api/constant/Constant.java +++ b/src/main/java/com/glxp/api/constant/Constant.java @@ -30,7 +30,7 @@ public class Constant { /** * 设备领用记录前缀 */ - public static final String DEVICE_COLLECT_ORDER = "DCO"; + public static final String DEVICE_RECEIVE_ORDER = "DRO"; /** * 设备养护记录前缀 diff --git a/src/main/java/com/glxp/api/controller/inv/DeviceMAOrderController.java b/src/main/java/com/glxp/api/controller/inv/DeviceMAOrderController.java new file mode 100644 index 000000000..a70014150 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inv/DeviceMAOrderController.java @@ -0,0 +1,178 @@ +package com.glxp.api.controller.inv; + +import cn.hutool.json.JSONUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.annotation.AuthRuleAnnotation; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.inv.DeviceMAOrderEntity; +import com.glxp.api.entity.system.SystemPDFModuleEntity; +import com.glxp.api.entity.system.SystemPDFTemplateEntity; +import com.glxp.api.req.inout.InspectionPDFTemplateRequest; +import com.glxp.api.req.inv.AddDeviceMAOrderRequest; +import com.glxp.api.req.inv.FilterDeviceMAOrderRequest; +import com.glxp.api.req.system.FilterPdfModuleRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.inv.DeviceMAOrderResponse; +import com.glxp.api.service.inv.DeviceMAOrderService; +import com.glxp.api.service.system.SystemPDFModuleService; +import com.glxp.api.service.system.SystemPDFTemplateService; +import com.glxp.api.util.JasperUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.Arrays; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +/** + * 设备养护记录接口 + */ +@Slf4j +@RestController +public class DeviceMAOrderController { + + @Resource + private DeviceMAOrderService deviceMAOrderService; + @Resource + private SystemPDFTemplateService systemPDFTemplateService; + @Resource + private SystemPDFModuleService systemPDFModuleService; + + + /** + * 查询设备养护记录列表 + * + * @param filterDeviceMAOrderRequest + * @return + */ + @GetMapping("/device/MA/order/filterList") + public BaseResponse filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest) { + List list = deviceMAOrderService.filterList(filterDeviceMAOrderRequest); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(list); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 添加设备养护记录 + * + * @param deviceMAOrderEntity + * @param bindingResult + * @return + */ + @PostMapping("/device/MA/order/addMAOrder") + public BaseResponse addMAOrder(@RequestBody DeviceMAOrderEntity deviceMAOrderEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return deviceMAOrderService.addDeviceMAOrder(deviceMAOrderEntity); + } + + /** + * 更新设备养护记录 + * + * @param deviceMAOrderEntity + * @param bindingResult + * @return + */ + @PostMapping("/device/MA/order/updateMAOrder") + public BaseResponse updateMAOrder(@RequestBody DeviceMAOrderEntity deviceMAOrderEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return deviceMAOrderService.updateDeviceMAOrder(deviceMAOrderEntity); + } + + /** + * 删除设备养护记录 + * + * @param filterDeviceMAOrderRequest + * @param bindingResult + * @return + */ + @PostMapping("/device/MA/order/deleteMAOrder") + public BaseResponse deleteMAOrder(@RequestBody FilterDeviceMAOrderRequest filterDeviceMAOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == filterDeviceMAOrderRequest || null == filterDeviceMAOrderRequest.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return deviceMAOrderService.deleteDeviceMAOrder(filterDeviceMAOrderRequest.getId()); + } + + /** + * 添加设备养护记录 + * + * @param addDeviceMAOrderRequest + * @param bindingResult + * @return + */ + @PostMapping("/device/MA/order/addDeviceMAOrder") + public BaseResponse addDeviceMAOrder(@RequestBody AddDeviceMAOrderRequest addDeviceMAOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return deviceMAOrderService.addDeviceMAOrder(addDeviceMAOrderRequest); + } + + /** + * 校验模板文件 + * + * @param inspectionPDFTemplateRequest + * @return + */ + @AuthRuleAnnotation("") + @PostMapping("/device/MA/order/verifyTemplateFile") + public BaseResponse verifyTemplateFile(@RequestBody InspectionPDFTemplateRequest inspectionPDFTemplateRequest) { + if (null == inspectionPDFTemplateRequest) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); + } + //查询模板文件是否存在 + FilterPdfModuleRequest filterPdfModuleRequest = new FilterPdfModuleRequest(); + filterPdfModuleRequest.setId(inspectionPDFTemplateRequest.getModuleId()); + SystemPDFModuleEntity systemPDFModule = systemPDFModuleService.findSystemPDFModule(filterPdfModuleRequest); + if (null == systemPDFModule) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "所属模块错误"); + } + + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(String.valueOf(systemPDFModule.getTemplateId())); + if (null == systemPDFTemplateEntity) { + return ResultVOUtils.error(ResultEnum.DATA_NOT, "模板错误"); + } + return ResultVOUtils.success(systemPDFModule.getTemplateId()); + } + + /** + * 打印设备养护记录 + * + * @param filterDeviceMAOrderRequest + * @param request + * @param response + * @throws Exception + */ + @AuthRuleAnnotation("") + @PostMapping("/device/MA/order/pintOrder") + public void printOrder(@RequestBody FilterDeviceMAOrderRequest filterDeviceMAOrderRequest, HttpServletRequest request, HttpServletResponse response) throws Exception { + SystemPDFTemplateEntity systemPDFTemplateEntity = systemPDFTemplateService.selectById(filterDeviceMAOrderRequest.getTemplateId()); + //查询打印数据 + Map data = deviceMAOrderService.getPrintData(filterDeviceMAOrderRequest.getOrderId()); + Map>> printData = new HashMap<>(1); + printData.put("data", Arrays.asList(data)); + JasperUtils.jasperReport(request, response, JSONUtil.toJsonStr(printData), systemPDFTemplateEntity.getPath(), "pdf"); + } + + +} diff --git a/src/main/java/com/glxp/api/controller/inv/DeviceMAOrderDetailCotroller.java b/src/main/java/com/glxp/api/controller/inv/DeviceMAOrderDetailCotroller.java new file mode 100644 index 000000000..bc6b280e0 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inv/DeviceMAOrderDetailCotroller.java @@ -0,0 +1,106 @@ +package com.glxp.api.controller.inv; + +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.inv.DeviceMAOrderDetailEntity; +import com.glxp.api.req.inv.FilterDeviceMAOrderDetailRequest; +import com.glxp.api.res.PageSimpleResponse; +import com.glxp.api.res.inv.DeviceMAOrderDetailResponse; +import com.glxp.api.service.inv.DeviceMAOrderDetailService; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 设备养护记录详情接口 + */ +@RestController +public class DeviceMAOrderDetailCotroller { + + @Resource + private DeviceMAOrderDetailService deviceMAOrderDetailService; + + /** + * 查询设备养护记录详情列表 + * + * @param detailRequest + * @return + */ + @GetMapping("/device/MA/order/detail/filterList") + public BaseResponse filterList(FilterDeviceMAOrderDetailRequest detailRequest) { + List list = deviceMAOrderDetailService.filterList(detailRequest); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(list); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 添加设备养护记录详情 + * + * @param detailEntity + * @param bindingResult + * @return + */ + @PostMapping("/device/MA/order/detail/addOrderDetail") + public BaseResponse addOrderDetail(@RequestBody DeviceMAOrderDetailEntity detailEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return deviceMAOrderDetailService.addDetail(detailEntity); + } + + /** + * 更新设备养护记录详情 + * + * @param detailEntity + * @param bindingResult + * @return + */ + @PostMapping("/device/MA/order/detail/updateOrderDetail") + public BaseResponse updateOrderDetail(@RequestBody DeviceMAOrderDetailEntity detailEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return deviceMAOrderDetailService.updateDetail(detailEntity); + } + + /** + * 删除设备养护记录详情 + * + * @param detailEntity + * @param bindingResult + * @return + */ + @PostMapping("/device/MA/order/detail/deleteOrderDetail") + public BaseResponse deleteOrderDetail(@RequestBody DeviceMAOrderDetailEntity detailEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return deviceMAOrderDetailService.deleteDetail(detailEntity); + } + + /** + * 养护设备信息接口 + * + * @param code + * @return + */ + @GetMapping("/device/MA/order/detail/filterMAOrderDetail") + public BaseResponse filterMAOrderDetail(String code) { + if (StrUtil.isBlank(code)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return deviceMAOrderDetailService.filterMAOrderDetail(code); + } + +} diff --git a/src/main/java/com/glxp/api/controller/inv/DeviceReceiveDetailController.java b/src/main/java/com/glxp/api/controller/inv/DeviceReceiveDetailController.java new file mode 100644 index 000000000..de22e6a50 --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inv/DeviceReceiveDetailController.java @@ -0,0 +1,124 @@ +package com.glxp.api.controller.inv; + +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.inv.DeviceReceiveOrderDetailEntity; +import com.glxp.api.req.inv.AddDeviceReceiveOrderDetailRequest; +import com.glxp.api.req.inv.FilterDeviceReceiveOrderDetailRequest; +import com.glxp.api.res.inv.DeviceReceiveOrderDetailResponse; +import com.glxp.api.service.inv.DeviceReceiveOrderDetailService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 设备领用记录详情接口 + */ +@Slf4j +@RestController +public class DeviceReceiveDetailController { + + @Resource + private DeviceReceiveOrderDetailService detailService; + + /** + * 查询领用记录详情列表 + * + * @param detailRequest + * @return + */ + @GetMapping("/device/receive/order/detail/filterList") + public BaseResponse filterList(FilterDeviceReceiveOrderDetailRequest detailRequest) { + List list = detailService.filterList(detailRequest); + PageInfo pageInfo = new PageInfo<>(list); + return ResultVOUtils.page(pageInfo); + } + + /** + * 校验条码库存信息 + * + * @param code + * @return + */ + @GetMapping("/device/receive/order/detail/checkCode") + public BaseResponse checkCode(String code) { + if (StrUtil.isBlank(code)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return detailService.checkCode(code); + } + + /** + * 添加领用记录详情 + * + * @param addDetailRequest + * @param bindingResult + * @return + */ + @PostMapping("/device/receive/order/detail/addOrderDetail") + public BaseResponse addOrderDetail(@RequestBody AddDeviceReceiveOrderDetailRequest addDetailRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == addDetailRequest || StrUtil.isBlank(addDetailRequest.getOrderIdFk())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return detailService.addOrderDetail(addDetailRequest); + } + + /** + * 更新设备领用记录详情 + * + * @param detailEntity + * @param bindingResult + * @return + */ + @PostMapping("/device/receive/order/detail/updateOrderDetail") + public BaseResponse updateOrderDetail(@RequestBody DeviceReceiveOrderDetailEntity detailEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == detailEntity || null == detailEntity.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return detailService.updateOrderDetail(detailEntity); + } + + /** + * 删除领用单据详情 + * + * @param detailRequest + * @param bindingResult + * @return + */ + @PostMapping("/device/receive/order/detail/deleteOrderDetail") + public BaseResponse deleteOrderDetail(@RequestBody FilterDeviceReceiveOrderDetailRequest detailRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return detailService.deleteOrderDetail(detailRequest); + } + + /** + * 查询设备资产列表 + * + * @param detailRequest + * @return + */ + @GetMapping("/device/receive/order/detail/deviceList") + public BaseResponse deviceList(FilterDeviceReceiveOrderDetailRequest detailRequest) { + List list = detailService.filterList(detailRequest); + PageInfo pageInfo = new PageInfo<>(list); + return ResultVOUtils.page(pageInfo); + } + +} diff --git a/src/main/java/com/glxp/api/controller/inv/DeviceReceiveOrderController.java b/src/main/java/com/glxp/api/controller/inv/DeviceReceiveOrderController.java new file mode 100644 index 000000000..ca92b3dca --- /dev/null +++ b/src/main/java/com/glxp/api/controller/inv/DeviceReceiveOrderController.java @@ -0,0 +1,131 @@ +package com.glxp.api.controller.inv; + +import com.github.pagehelper.PageInfo; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.entity.inv.DeviceReceiveOrderEntity; +import com.glxp.api.req.inv.FilterDeviceReceiveOrderRequest; +import com.glxp.api.res.inv.DeviceReceiveOrderResponse; +import com.glxp.api.service.inv.DeviceReceiveOrderService; +import lombok.extern.slf4j.Slf4j; +import org.springframework.validation.BindingResult; +import org.springframework.web.bind.annotation.GetMapping; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; +import java.util.List; + +/** + * 设备领用记录接口 + */ +@Slf4j +@RestController +public class DeviceReceiveOrderController { + + @Resource + private DeviceReceiveOrderService deviceReceiveOrderService; + + /** + * 设备领用记录列表查询接口 + * + * @param deviceReceiveOrderRequest + * @return + */ + @GetMapping("/device/receive/order/filterList") + public BaseResponse filterList(FilterDeviceReceiveOrderRequest deviceReceiveOrderRequest) { + List list = deviceReceiveOrderService.filterList(deviceReceiveOrderRequest); + PageInfo pageInfo = new PageInfo<>(list); + return ResultVOUtils.page(pageInfo); + } + + /** + * 添加设备领用记录 + * + * @param deviceReceiveOrderEntity + */ + @PostMapping("/device/receive/order/addOrder") + public BaseResponse addOrder(@RequestBody DeviceReceiveOrderEntity deviceReceiveOrderEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors() || null == deviceReceiveOrderEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return deviceReceiveOrderService.addDeviceReceiveOrder(deviceReceiveOrderEntity); + } + + /** + * 更新设备领用记录 + * + * @param deviceReceiveOrderEntity + * @param bindingResult + * @return + */ + @PostMapping("/device/receive/order/update") + public BaseResponse update(@RequestBody DeviceReceiveOrderEntity deviceReceiveOrderEntity, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + + if (null == deviceReceiveOrderEntity || null == deviceReceiveOrderEntity.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return deviceReceiveOrderService.updateDeviceCollectOrder(deviceReceiveOrderEntity); + } + + /** + * 设备领用记录提交审核 + * + * @param deviceReceiveOrderRequest + * @param bindingResult + * @return + */ + @PostMapping("/device/receive/order/submitAudit") + public BaseResponse submitAudit(@RequestBody FilterDeviceReceiveOrderRequest deviceReceiveOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (null == deviceReceiveOrderRequest || null == deviceReceiveOrderRequest.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return deviceReceiveOrderService.submitAudit(deviceReceiveOrderRequest.getId()); + } + + /** + * 更新设备领用状态 + * + * @param filterDeviceReceiveOrderRequest + * @param bindingResult + * @return + */ + @PostMapping("/device/receive/order/updateStatus") + public BaseResponse updateStatus(@RequestBody FilterDeviceReceiveOrderRequest filterDeviceReceiveOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (null == filterDeviceReceiveOrderRequest || null == filterDeviceReceiveOrderRequest.getId() || null == filterDeviceReceiveOrderRequest.getStatus()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return deviceReceiveOrderService.updateStatus(filterDeviceReceiveOrderRequest.getId(), filterDeviceReceiveOrderRequest.getStatus()); + } + + /** + * 删除设备领用记录 + * + * @param filterDeviceReceiveOrderRequest + * @param bindingResult + * @return + */ + @PostMapping("/device/receive/order/delete") + public BaseResponse delete(@RequestBody FilterDeviceReceiveOrderRequest filterDeviceReceiveOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (null == filterDeviceReceiveOrderRequest || null == filterDeviceReceiveOrderRequest.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return deviceReceiveOrderService.deleteDeviceCollectOrder(filterDeviceReceiveOrderRequest.getId()); + } + + +} diff --git a/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java b/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java index f243a38b3..968ba64b3 100644 --- a/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java +++ b/src/main/java/com/glxp/api/dao/basic/UdiRelevanceDao.java @@ -77,4 +77,12 @@ public interface UdiRelevanceDao extends BaseMapperPlus selectGroupByNameCode(@Param("nameCode") String nameCode); + + /** + * 根据耗材字典ID查询产品名称 + * + * @param relId + * @return + */ + String selectProductNameByRelId(@Param("relId") Long relId); } diff --git a/src/main/java/com/glxp/api/dao/inv/DeviceMAOrderDao.java b/src/main/java/com/glxp/api/dao/inv/DeviceMAOrderDao.java new file mode 100644 index 000000000..bca18ad28 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/inv/DeviceMAOrderDao.java @@ -0,0 +1,32 @@ +package com.glxp.api.dao.inv; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.inv.DeviceMAOrderEntity; +import com.glxp.api.req.inv.FilterDeviceMAOrderRequest; +import com.glxp.api.res.inv.DeviceMAOrderResponse; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备养护记录Dao + */ +public interface DeviceMAOrderDao extends BaseMapper { + + /** + * 查询设备养护记录VO列表 + * + * @param filterDeviceMAOrderRequest + * @return + */ + List filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest); + + /** + * 根据设备养护记录号查询 + * + * @param orderId + * @return + */ + DeviceMAOrderEntity selectByOrderId(@Param("orderId") String orderId); + +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/inv/DeviceMAOrderDetailDao.java b/src/main/java/com/glxp/api/dao/inv/DeviceMAOrderDetailDao.java new file mode 100644 index 000000000..06222e3e5 --- /dev/null +++ b/src/main/java/com/glxp/api/dao/inv/DeviceMAOrderDetailDao.java @@ -0,0 +1,47 @@ +package com.glxp.api.dao.inv; + +import com.baomidou.mybatisplus.core.mapper.BaseMapper; +import com.glxp.api.entity.inv.DeviceMAOrderDetailEntity; +import com.glxp.api.req.inv.FilterDeviceMAOrderDetailRequest; +import com.glxp.api.res.inv.DeviceMAOrderDetailResponse; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + +/** + * 设备养护记录详情Dao + */ +public interface DeviceMAOrderDetailDao extends BaseMapper { + + /** + * 查询设备养护记录详情VO列表 + * + * @param detailRequest + * @return + */ + List filterList(FilterDeviceMAOrderDetailRequest detailRequest); + + /** + * 根据单据号删除设备养护记录详情 + * + * @param orderIdFk + */ + void deleteByOrderId(@Param("orderIdFk") String orderIdFk); + + /** + * 查询此设备养护及 + * + * @param orderId + * @return + */ + List selectByOrderId(@Param("orderId") String orderId); + + /** + * 查询设备养护记录详情展示信息 + * + * @param relId + * @return + */ + DeviceMAOrderDetailResponse filterMAOrderDetail(@Param("relId") Long relId); + +} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/inv/DeviceMaOrderDao.java b/src/main/java/com/glxp/api/dao/inv/DeviceMaOrderDao.java deleted file mode 100644 index 3cc65ed72..000000000 --- a/src/main/java/com/glxp/api/dao/inv/DeviceMaOrderDao.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.glxp.api.dao.inv; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.glxp.api.entity.inv.DeviceMaOrderEntity; - -public interface DeviceMaOrderDao extends BaseMapper { -} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/inv/DeviceMaOrderDetailDao.java b/src/main/java/com/glxp/api/dao/inv/DeviceMaOrderDetailDao.java deleted file mode 100644 index 5f8a5b56d..000000000 --- a/src/main/java/com/glxp/api/dao/inv/DeviceMaOrderDetailDao.java +++ /dev/null @@ -1,7 +0,0 @@ -package com.glxp.api.dao.inv; - -import com.baomidou.mybatisplus.core.mapper.BaseMapper; -import com.glxp.api.entity.inv.DeviceMaOrderDetailEntity; - -public interface DeviceMaOrderDetailDao extends BaseMapper { -} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/inv/DeviceReceiveOrderDao.java b/src/main/java/com/glxp/api/dao/inv/DeviceReceiveOrderDao.java index 7fdb18b65..56e821848 100644 --- a/src/main/java/com/glxp/api/dao/inv/DeviceReceiveOrderDao.java +++ b/src/main/java/com/glxp/api/dao/inv/DeviceReceiveOrderDao.java @@ -2,6 +2,35 @@ package com.glxp.api.dao.inv; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.entity.inv.DeviceReceiveOrderEntity; +import com.glxp.api.req.inv.FilterDeviceReceiveOrderRequest; +import com.glxp.api.res.inv.DeviceReceiveOrderResponse; +import org.apache.ibatis.annotations.Param; + +import java.util.List; public interface DeviceReceiveOrderDao extends BaseMapper { + + /** + * 查询设备领用记录VO集合 + * + * @param deviceReceiveOrderRequest + * @return + */ + List filterList(FilterDeviceReceiveOrderRequest deviceReceiveOrderRequest); + + /** + * 根据ID查询领用记录号 + * + * @param id + * @return + */ + String selectOrderIdById(@Param("id") Integer id); + + /** + * 更新设备领用记录状态 + * + * @param status 状态值 + * @param id + */ + void updateStatusById(@Param("status") int status, @Param("id") Integer id); } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/dao/inv/DeviceReceiveOrderDetailDao.java b/src/main/java/com/glxp/api/dao/inv/DeviceReceiveOrderDetailDao.java index f585c4551..b991e33bf 100644 --- a/src/main/java/com/glxp/api/dao/inv/DeviceReceiveOrderDetailDao.java +++ b/src/main/java/com/glxp/api/dao/inv/DeviceReceiveOrderDetailDao.java @@ -2,6 +2,64 @@ package com.glxp.api.dao.inv; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.glxp.api.entity.inv.DeviceReceiveOrderDetailEntity; +import com.glxp.api.req.inv.FilterDeviceReceiveOrderDetailRequest; +import com.glxp.api.res.inv.DeviceReceiveOrderDetailResponse; +import org.apache.ibatis.annotations.Param; + +import java.util.List; public interface DeviceReceiveOrderDetailDao extends BaseMapper { + + /** + * 根据单据号查询设备领用详情扩列表 + * + * @param orderId + * @return + */ + List selectByOrderId(@Param("orderId") String orderId); + + /** + * 查询领用记录详情列表 + * + * @param detailRequest + * @return + */ + List filterList(FilterDeviceReceiveOrderDetailRequest detailRequest); + + /** + * 根据领用记录号删除领用记录 + * + * @param orderIdFk + */ + void deleteByOrderId(@Param("orderIdFk") String orderIdFk); + + /** + * 查询设备领用记录详情 + * + * @param detailRequest + * @return + */ + List selectList(FilterDeviceReceiveOrderDetailRequest detailRequest); + + /** + * 根据码查询单条设备领用详情 + * + * @param code + * @return + */ + DeviceReceiveOrderDetailEntity findOneByCode(@Param("code") String code); + + /** + * 批量更新编码 + * + * @param details + */ + void updateCodeBatch(List details); + + /** + * 重置code字段和序列号字段值 + * + * @param orderId + */ + void resetCode(@Param("orderId") String orderId); } \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inv/DeviceMaOrderDetailEntity.java b/src/main/java/com/glxp/api/entity/inv/DeviceMAOrderDetailEntity.java similarity index 86% rename from src/main/java/com/glxp/api/entity/inv/DeviceMaOrderDetailEntity.java rename to src/main/java/com/glxp/api/entity/inv/DeviceMAOrderDetailEntity.java index 025ad7ce6..d85a96d04 100644 --- a/src/main/java/com/glxp/api/entity/inv/DeviceMaOrderDetailEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/DeviceMAOrderDetailEntity.java @@ -9,11 +9,12 @@ import lombok.Data; import java.util.Date; /** - * 设备养护记录详情表 - */ + * 设备养护记录详情表 + */ @Data @TableName(value = "device_ma_order_detail") -public class DeviceMaOrderDetailEntity { +public class DeviceMAOrderDetailEntity { + /** * id */ @@ -42,7 +43,7 @@ public class DeviceMaOrderDetailEntity { * 产品ID */ @TableField(value = "relId") - private String relId; + private Long relId; /** * 批次号 @@ -53,8 +54,8 @@ public class DeviceMaOrderDetailEntity { /** * 生产日期 */ - @TableField(value = "produceDate") - private String produceDate; + @TableField(value = "productionDate") + private String productionDate; /** * 失效日期 @@ -89,8 +90,8 @@ public class DeviceMaOrderDetailEntity { /** * 养护状态 0:未养护 1:已养护 */ - @TableField(value = "maintenanceStatus") - private Integer maintenanceStatus; + @TableField(value = "maStatus") + private Integer maStatus; /** * 养护人 @@ -116,7 +117,7 @@ public class DeviceMaOrderDetailEntity { public static final String COL_BATCHNO = "batchNo"; - public static final String COL_PRODUCEDATE = "produceDate"; + public static final String COL_PRODUCTIONDATE = "productionDate"; public static final String COL_EXPIREDATE = "expireDate"; @@ -128,7 +129,7 @@ public class DeviceMaOrderDetailEntity { public static final String COL_DEVICESTATUS = "deviceStatus"; - public static final String COL_MAINTENANCESTATUS = "maintenanceStatus"; + public static final String COL_MASTATUS = "maStatus"; public static final String COL_CREATEUSER = "createUser"; diff --git a/src/main/java/com/glxp/api/entity/inv/DeviceMaOrderEntity.java b/src/main/java/com/glxp/api/entity/inv/DeviceMAOrderEntity.java similarity index 96% rename from src/main/java/com/glxp/api/entity/inv/DeviceMaOrderEntity.java rename to src/main/java/com/glxp/api/entity/inv/DeviceMAOrderEntity.java index 03606205d..0fde0e38d 100644 --- a/src/main/java/com/glxp/api/entity/inv/DeviceMaOrderEntity.java +++ b/src/main/java/com/glxp/api/entity/inv/DeviceMAOrderEntity.java @@ -9,11 +9,12 @@ import lombok.Data; import java.util.Date; /** - * 设备养护记录表 - */ + * 设备养护记录表 + */ @Data @TableName(value = "device_ma_order") -public class DeviceMaOrderEntity { +public class DeviceMAOrderEntity { + @TableId(value = "id", type = IdType.INPUT) private Integer id; diff --git a/src/main/java/com/glxp/api/entity/inv/DeviceReceiveOrderDetailEntity.java b/src/main/java/com/glxp/api/entity/inv/DeviceReceiveOrderDetailEntity.java deleted file mode 100644 index c4fa33d0f..000000000 --- a/src/main/java/com/glxp/api/entity/inv/DeviceReceiveOrderDetailEntity.java +++ /dev/null @@ -1,143 +0,0 @@ -package com.glxp.api.entity.inv; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import java.util.Date; -import lombok.Data; - -/** - * 设备领用记录详情 - */ -@Data -@TableName(value = "device_receive_order_detail") -public class DeviceReceiveOrderDetailEntity { - /** - * id - */ - @TableId(value = "id", type = IdType.INPUT) - private Integer id; - - /** - * 设备领用记录号 - */ - @TableField(value = "orderIdFk") - private String orderIdFk; - - /** - * 原始码 - */ - @TableField(value = "originCode") - private String originCode; - - /** - * 码 - */ - @TableField(value = "code") - private String code; - - /** - * 耗材字典ID - */ - @TableField(value = "relId") - private String relId; - - /** - * 产品DI - */ - @TableField(value = "nameCode") - private String nameCode; - - /** - * 批次号 - */ - @TableField(value = "batchNo") - private String batchNo; - - /** - * 生产日期 - */ - @TableField(value = "produceDate") - private String produceDate; - - /** - * 失效日期 - */ - @TableField(value = "expireDate") - private String expireDate; - - /** - * 序列号 - */ - @TableField(value = "serialNo") - private String serialNo; - - /** - * 领用仓库 - */ - @TableField(value = "invCode") - private String invCode; - - /** - * 领用货位 - */ - @TableField(value = "invSpaceCode") - private String invSpaceCode; - - /** - * 接收仓库 - */ - @TableField(value = "receiveInvCode") - private String receiveInvCode; - - /** - * 接收货位 - */ - @TableField(value = "receiveSpaceCode") - private String receiveSpaceCode; - - /** - * 领用时间 - */ - @TableField(value = "createTime") - private Date createTime; - - /** - * 更新时间 - */ - @TableField(value = "updateTime") - private Date updateTime; - - public static final String COL_ID = "id"; - - public static final String COL_ORDERIDFK = "orderIdFk"; - - public static final String COL_ORIGINCODE = "originCode"; - - public static final String COL_CODE = "code"; - - public static final String COL_RELID = "relId"; - - public static final String COL_NAMECODE = "nameCode"; - - public static final String COL_BATCHNO = "batchNo"; - - public static final String COL_PRODUCEDATE = "produceDate"; - - public static final String COL_EXPIREDATE = "expireDate"; - - public static final String COL_SERIALNO = "serialNo"; - - public static final String COL_INVCODE = "invCode"; - - public static final String COL_INVSPACECODE = "invSpaceCode"; - - public static final String COL_RECEIVEINVCODE = "receiveInvCode"; - - public static final String COL_RECEIVESPACECODE = "receiveSpaceCode"; - - public static final String COL_CREATETIME = "createTime"; - - public static final String COL_UPDATETIME = "updateTime"; -} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/entity/inv/DeviceReceiveOrderEntity.java b/src/main/java/com/glxp/api/entity/inv/DeviceReceiveOrderEntity.java deleted file mode 100644 index caff7f976..000000000 --- a/src/main/java/com/glxp/api/entity/inv/DeviceReceiveOrderEntity.java +++ /dev/null @@ -1,96 +0,0 @@ -package com.glxp.api.entity.inv; - -import com.baomidou.mybatisplus.annotation.IdType; -import com.baomidou.mybatisplus.annotation.TableField; -import com.baomidou.mybatisplus.annotation.TableId; -import com.baomidou.mybatisplus.annotation.TableName; -import lombok.Data; - -import java.util.Date; - -/** - * 设备领用记录表 - */ -@Data -@TableName(value = "device_receive_order") -public class DeviceReceiveOrderEntity { - /** - * id - */ - @TableId(value = "id", type = IdType.INPUT) - private Integer id; - - /** - * 领用记录号 - */ - @TableField(value = "orderId") - private String orderId; - - /** - * 领用部门 - */ - @TableField(value = "deptCode") - private String deptCode; - - /** - * 状态 0:草稿 1:未审核 2:已审核 - */ - @TableField(value = "`status`") - private Integer status; - - /** - * 创建人 - */ - @TableField(value = "`createUser`") - private String createUser; - - /** - * 审核人 - */ - @TableField(value = "auditUser") - private String auditUser; - - /** - * 领用时间 - */ - @TableField(value = "createTime") - private Date createTime; - - /** - * 更新时间 - */ - @TableField(value = "updateTime") - private Date updateTime; - - /** - * 领用人 - */ - @TableField(value = "receiveUser") - private String receiveUser; - - /** - * 备注 - */ - @TableField(value = "remark") - private String remark; - - public static final String COL_ID = "id"; - - public static final String COL_ORDERID = "orderId"; - - public static final String COL_DEPTCODE = "deptCode"; - - public static final String COL_STATUS = "status"; - - public static final String COL_CREATEUSER = "createUser"; - - public static final String COL_AUDITUSER = "auditUser"; - - public static final String COL_CREATETIME = "createTime"; - - public static final String COL_UPDATETIME = "updateTime"; - - public static final String COL_RECEIVEUSER = "receiveUser"; - - public static final String COL_REMARK = "remark"; -} \ No newline at end of file diff --git a/src/main/java/com/glxp/api/req/inv/AddDeviceMAOrderRequest.java b/src/main/java/com/glxp/api/req/inv/AddDeviceMAOrderRequest.java index 3b70f3e1a..b98d6c59d 100644 --- a/src/main/java/com/glxp/api/req/inv/AddDeviceMAOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inv/AddDeviceMAOrderRequest.java @@ -46,5 +46,5 @@ public class AddDeviceMAOrderRequest { /** * 设备领用记录ID */ - private String collOrderId; + private String receiveOrderId; } diff --git a/src/main/java/com/glxp/api/req/inv/AddDeviceReceiveOrderDetailRequest.java b/src/main/java/com/glxp/api/req/inv/AddDeviceReceiveOrderDetailRequest.java index f99300fb6..f20c97170 100644 --- a/src/main/java/com/glxp/api/req/inv/AddDeviceReceiveOrderDetailRequest.java +++ b/src/main/java/com/glxp/api/req/inv/AddDeviceReceiveOrderDetailRequest.java @@ -25,6 +25,10 @@ public class AddDeviceReceiveOrderDetailRequest { */ private List invProductIds; + /** + * 部门编码 + */ + private String deptCode; /** * 仓库编码 diff --git a/src/main/java/com/glxp/api/req/inv/FilterDeviceReceiveOrderRequest.java b/src/main/java/com/glxp/api/req/inv/FilterDeviceReceiveOrderRequest.java index 18c2dd714..f52fcd689 100644 --- a/src/main/java/com/glxp/api/req/inv/FilterDeviceReceiveOrderRequest.java +++ b/src/main/java/com/glxp/api/req/inv/FilterDeviceReceiveOrderRequest.java @@ -26,8 +26,18 @@ public class FilterDeviceReceiveOrderRequest extends ListPageRequest { private Integer status; /** - * 部门编码 + * 领用部门编码 */ - private String deptCode; + private String fromDeptCode; + + /** + * 领用仓库编码 + */ + private String fromInvCode; + + /** + * 领用货位编码 + */ + private String fromInvSpaceCode; } diff --git a/src/main/java/com/glxp/api/res/inv/DeviceMAOrderDetailResponse.java b/src/main/java/com/glxp/api/res/inv/DeviceMAOrderDetailResponse.java new file mode 100644 index 000000000..4920837f4 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inv/DeviceMAOrderDetailResponse.java @@ -0,0 +1,108 @@ +package com.glxp.api.res.inv; + +import lombok.Data; + +import java.util.Date; + +/** + * 设备养护记录详情响应结果 + */ +@Data +public class DeviceMAOrderDetailResponse { + + /** + * id + */ + private Integer id; + + /** + * 设备养护记录号 + */ + private String orderIdFk; + + /** + * 条码 + */ + private String code; + + /** + * 耗材字典ID + */ + private String nameCode; + + /** + * 产品ID + */ + private String relId; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 生产日期 + */ + private String produceDate; + + /** + * 失效日期 + */ + private String expireDate; + + /** + * 序列号 + */ + private String serialNo; + + /** + * 创建时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 设备状态 0:异常 1:正常 + */ + private Integer deviceStatus; + + /** + * 养护状态 0:未养护 1:已养护 + */ + private Integer maStatus; + + /** + * 养护人 + */ + private String createUser; + + /** + * 养护说明 + */ + private String remark; + + /** + * 产品名称 + */ + private String productName; + + /** + * 医疗器械注册人名称 + */ + private String ylqxzcrbarmc; + + /** + * 注册证备案号 + */ + private String zczbhhzbapzbh; + + /** + * 规格型号 + */ + private String ggxh; + +} diff --git a/src/main/java/com/glxp/api/res/inv/DeviceMAOrderResponse.java b/src/main/java/com/glxp/api/res/inv/DeviceMAOrderResponse.java new file mode 100644 index 000000000..0e13fb5ea --- /dev/null +++ b/src/main/java/com/glxp/api/res/inv/DeviceMAOrderResponse.java @@ -0,0 +1,60 @@ +package com.glxp.api.res.inv; + +import lombok.Data; + +import java.util.Date; + +/** + * 设备养护记录接口响应结果实体 + */ +@Data +public class DeviceMAOrderResponse { + + private Integer id; + + /** + * 设备养护记录号 + */ + private String orderId; + + /** + * 设备领用单据号 + */ + private String receiveOrderId; + + /** + * 状态 + */ + private Integer status; + + /** + * 养护时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 养护人 + */ + private String createUser; + + /** + * 审核人 + */ + private String auditUser; + + /** + * 养护说明 + */ + private String remark; + + /** + * 设备编号 + */ + private String code; + +} diff --git a/src/main/java/com/glxp/api/res/inv/DeviceReceiveOrderDetailResponse.java b/src/main/java/com/glxp/api/res/inv/DeviceReceiveOrderDetailResponse.java new file mode 100644 index 000000000..6fbb6976b --- /dev/null +++ b/src/main/java/com/glxp/api/res/inv/DeviceReceiveOrderDetailResponse.java @@ -0,0 +1,118 @@ +package com.glxp.api.res.inv; + +import lombok.Data; + +import java.util.Date; + +/** + * 设备领用记录详情响应结果 + */ +@Data +public class DeviceReceiveOrderDetailResponse { + + /** + * id + */ + private Integer id; + + /** + * 设备领用记录号 + */ + private String orderIdFk; + + /** + * 原始码 + */ + private String originCode; + + /** + * 码 + */ + private String code; + + /** + * 耗材字典ID + */ + private String relId; + + /** + * 产品DI + */ + private String nameCode; + + /** + * 批次号 + */ + private String batchNo; + + /** + * 生产日期 + */ + private String productionDate; + + /** + * 失效日期 + */ + private String expireDate; + + /** + * 序列号 + */ + private String serialNo; + + /** + * 领用时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 产品名称 + */ + private String productName; + + /** + * 仓库名称 + */ + private String invName; + + /** + * 货位名称 + */ + private String invSpaceName; + + /** + * 货位名称 + */ + private String invSpaceCode; + + /** + * 注册/备案凭证号 + */ + private String zczbhhzbapzbh; + + /** + * 生产厂家 + */ + private String ylqxzcrbarmc; + + /** + * 规格型号 + */ + private String ggxh; + + /** + * 是否可以自定义序列号 + */ + private Boolean editSerialNo; + + /** + * 部门名称 + */ + private String deptName; + +} diff --git a/src/main/java/com/glxp/api/res/inv/DeviceReceiveOrderResponse.java b/src/main/java/com/glxp/api/res/inv/DeviceReceiveOrderResponse.java new file mode 100644 index 000000000..3f0c199c7 --- /dev/null +++ b/src/main/java/com/glxp/api/res/inv/DeviceReceiveOrderResponse.java @@ -0,0 +1,119 @@ +package com.glxp.api.res.inv; + +import lombok.Data; + +import java.util.Date; + +/** + * 设备领用记录响应结果 + */ +@Data +public class DeviceReceiveOrderResponse { + + /** + * id + */ + private Integer id; + + /** + * 领用记录号 + */ + private String orderId; + + /** + * 领用部门 + */ + private String fromDeptCode; + + /** + * 领用仓库 + */ + private String fromInvCode; + + /** + * 领用货位 + */ + private String fromInvSpaceCode; + + /** + * 接收部门 + */ + private String deptCode; + + /** + * 接收仓库 + */ + private String invCode; + + /** + * 接收货位 + */ + private String invSpaceCode; + + /** + * 状态 0:草稿 1:未审核 2:已审核 + */ + private Integer status; + + /** + * 创建人 + */ + private String createUser; + + /** + * 审核人 + */ + private String auditUser; + + /** + * 领用人 + */ + private String receiveUser; + + /** + * 领用时间 + */ + private Date createTime; + + /** + * 更新时间 + */ + private Date updateTime; + + /** + * 备注 + */ + private String remark; + + /** + * 接收部门 + */ + private String deptName; + + /** + * 接收仓库 + */ + private String invName; + + /** + * 接收货位 + */ + private String invSpaceName; + + /** + * 领用部门名称 + */ + private String fromDeptName; + + /** + * 领用仓库名称 + */ + private String fromInvName; + + /** + * 领用货位名称 + */ + private String fromInvSpaceName; + + +} diff --git a/src/main/java/com/glxp/api/service/inv/DeviceMAOrderDetailService.java b/src/main/java/com/glxp/api/service/inv/DeviceMAOrderDetailService.java new file mode 100644 index 000000000..0b34503a6 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/DeviceMAOrderDetailService.java @@ -0,0 +1,55 @@ +package com.glxp.api.service.inv; + +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.entity.inv.DeviceMAOrderDetailEntity; +import com.glxp.api.req.inv.FilterDeviceMAOrderDetailRequest; +import com.glxp.api.res.inv.DeviceMAOrderDetailResponse; + +import java.util.List; + +/** + * 设备养护记录详情Service + */ +public interface DeviceMAOrderDetailService { + + /** + * 查询设备养护记录详情VO列表 + * + * @param detailRequest + * @return + */ + List filterList(FilterDeviceMAOrderDetailRequest detailRequest); + + /** + * 添加设备养护记录详情 + * + * @param detailEntity + * @return + */ + BaseResponse addDetail(DeviceMAOrderDetailEntity detailEntity); + + /** + * 更新设备养护记录详情 + * + * @param detailEntity + * @return + */ + BaseResponse updateDetail(DeviceMAOrderDetailEntity detailEntity); + + /** + * 删除设备养护记录详情 + * + * @param detailEntity + * @return + */ + + BaseResponse deleteDetail(DeviceMAOrderDetailEntity detailEntity); + + /** + * 根据条码查询养护设备展示信息 + * + * @param code + * @return + */ + BaseResponse filterMAOrderDetail(String code); +} diff --git a/src/main/java/com/glxp/api/service/inv/DeviceMAOrderService.java b/src/main/java/com/glxp/api/service/inv/DeviceMAOrderService.java new file mode 100644 index 000000000..c66755c0f --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/DeviceMAOrderService.java @@ -0,0 +1,64 @@ +package com.glxp.api.service.inv; + +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.entity.inv.DeviceMAOrderEntity; +import com.glxp.api.req.inv.AddDeviceMAOrderRequest; +import com.glxp.api.req.inv.FilterDeviceMAOrderRequest; +import com.glxp.api.res.inv.DeviceMAOrderResponse; + +import java.util.List; +import java.util.Map; + +/** + * 设备养护记录Service + */ +public interface DeviceMAOrderService { + + /** + * 查询设备养护记录列表 + * + * @param filterDeviceMAOrderRequest + * @return + */ + List filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest); + + /** + * 添加设备养护记录 + * + * @param deviceMAOrderEntity + * @return + */ + BaseResponse addDeviceMAOrder(DeviceMAOrderEntity deviceMAOrderEntity); + + /** + * 更新设备养护记录 + * + * @param deviceMAOrderEntity + * @return + */ + BaseResponse updateDeviceMAOrder(DeviceMAOrderEntity deviceMAOrderEntity); + + /** + * 删除设备养护记录 + * + * @param id + * @return + */ + BaseResponse deleteDeviceMAOrder(Integer id); + + /** + * 添加设备养护记录 + * + * @param addDeviceMAOrderRequest + * @return + */ + BaseResponse addDeviceMAOrder(AddDeviceMAOrderRequest addDeviceMAOrderRequest); + + /** + * 查询设备养护记录打印数据 + * + * @param orderId + * @return + */ + Map getPrintData(String orderId); +} diff --git a/src/main/java/com/glxp/api/service/inv/DeviceReceiveOrderDetailService.java b/src/main/java/com/glxp/api/service/inv/DeviceReceiveOrderDetailService.java new file mode 100644 index 000000000..f2b673074 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/DeviceReceiveOrderDetailService.java @@ -0,0 +1,56 @@ +package com.glxp.api.service.inv; + +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.entity.inv.DeviceReceiveOrderDetailEntity; +import com.glxp.api.req.inv.AddDeviceReceiveOrderDetailRequest; +import com.glxp.api.req.inv.FilterDeviceReceiveOrderDetailRequest; +import com.glxp.api.res.inv.DeviceReceiveOrderDetailResponse; + +import java.util.List; + +/** + * 设备领用记录详情Service + */ +public interface DeviceReceiveOrderDetailService { + + /** + * 查询设备领用记录详情列表 + * + * @param detailRequest + * @return + */ + List filterList(FilterDeviceReceiveOrderDetailRequest detailRequest); + + /** + * 添加设备领用记录详情 + * + * @param addDetailRequest + * @return + */ + BaseResponse addOrderDetail(AddDeviceReceiveOrderDetailRequest addDetailRequest); + + /** + * 更新设备领用记录详情 + * + * @param detailEntity + * @return + */ + BaseResponse updateOrderDetail(DeviceReceiveOrderDetailEntity detailEntity); + + /** + * 删除设备领用记录详情 + * + * @param detailRequest + * @return + */ + BaseResponse deleteOrderDetail(FilterDeviceReceiveOrderDetailRequest detailRequest); + + /** + * 添加设备领用详情校验码 + * + * @param code + * @return + */ + BaseResponse checkCode(String code); + +} diff --git a/src/main/java/com/glxp/api/service/inv/DeviceReceiveOrderService.java b/src/main/java/com/glxp/api/service/inv/DeviceReceiveOrderService.java new file mode 100644 index 000000000..4a188258b --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/DeviceReceiveOrderService.java @@ -0,0 +1,61 @@ +package com.glxp.api.service.inv; + +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.entity.inv.DeviceReceiveOrderEntity; +import com.glxp.api.req.inv.FilterDeviceReceiveOrderRequest; +import com.glxp.api.res.inv.DeviceReceiveOrderResponse; + +import java.util.List; + +public interface DeviceReceiveOrderService { + + /** + * 查询设备领用记录列表 + * + * @param deviceReceiveOrderRequest + * @return + */ + List filterList(FilterDeviceReceiveOrderRequest deviceReceiveOrderRequest); + + /** + * 新增设备领用记录 + * + * @param deviceReceiveOrderEntity + * @return + */ + BaseResponse addDeviceReceiveOrder(DeviceReceiveOrderEntity deviceReceiveOrderEntity); + + /** + * 更新设备领用记录 + * + * @param deviceReceiveOrderEntity + * @return + */ + BaseResponse updateDeviceCollectOrder(DeviceReceiveOrderEntity deviceReceiveOrderEntity); + + /** + * 设备领用记录提交审核 + * + * @param id + * @return + */ + BaseResponse submitAudit(Integer id); + + /** + * 更新设备领用记录状态 + * + * @param id + * @param status + * @return + */ + BaseResponse updateStatus(Integer id, Integer status); + + /** + * 删除设备领用记录 + * + * @param id + * @return + */ + BaseResponse deleteDeviceCollectOrder(Integer id); + +} diff --git a/src/main/java/com/glxp/api/service/inv/impl/DeviceMAOrderDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/DeviceMAOrderDetailServiceImpl.java new file mode 100644 index 000000000..596ef9749 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/impl/DeviceMAOrderDetailServiceImpl.java @@ -0,0 +1,88 @@ +package com.glxp.api.service.inv.impl; + +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.dao.inv.DeviceMAOrderDetailDao; +import com.glxp.api.dao.inv.DeviceReceiveOrderDetailDao; +import com.glxp.api.entity.inv.DeviceMAOrderDetailEntity; +import com.glxp.api.entity.inv.DeviceReceiveOrderDetailEntity; +import com.glxp.api.req.inv.FilterDeviceMAOrderDetailRequest; +import com.glxp.api.res.inv.DeviceMAOrderDetailResponse; +import com.glxp.api.service.inv.DeviceMAOrderDetailService; +import groovy.util.logging.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.Collections; +import java.util.List; + +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class DeviceMAOrderDetailServiceImpl implements DeviceMAOrderDetailService { + + @Resource + private DeviceMAOrderDetailDao deviceMAOrderDetailDao; + @Resource + private DeviceReceiveOrderDetailDao deviceReceiveOrderDetailDao; + + @Override + public List filterList(FilterDeviceMAOrderDetailRequest detailRequest) { + if (null == detailRequest) { + return Collections.emptyList(); + } + if (null != detailRequest.getPage() && null != detailRequest.getLimit()) { + PageHelper.offsetPage((detailRequest.getPage() - 1) * detailRequest.getLimit(), detailRequest.getLimit()); + } + return deviceMAOrderDetailDao.filterList(detailRequest); + } + + @Override + public BaseResponse addDetail(DeviceMAOrderDetailEntity detailEntity) { + if (null == detailEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + deviceMAOrderDetailDao.insert(detailEntity); + return ResultVOUtils.success("添加成功!"); + } + + @Override + public BaseResponse updateDetail(DeviceMAOrderDetailEntity detailEntity) { + if (null == detailEntity || null == detailEntity.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + deviceMAOrderDetailDao.updateById(detailEntity); + return ResultVOUtils.success("更新成功"); + } + + @Override + public BaseResponse deleteDetail(DeviceMAOrderDetailEntity detailEntity) { + if (null == detailEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (null == detailEntity.getId() && StrUtil.isBlank(detailEntity.getOrderIdFk())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (null != detailEntity.getId()) { + deviceMAOrderDetailDao.deleteById(detailEntity.getId()); + } else { + //删除整单数据 + deviceReceiveOrderDetailDao.deleteByOrderId(detailEntity.getOrderIdFk()); + } + return ResultVOUtils.success("删除成功"); + } + + @Override + public BaseResponse filterMAOrderDetail(String code) { + DeviceReceiveOrderDetailEntity deviceReceiveOrderDetail = deviceReceiveOrderDetailDao.findOneByCode(code); + DeviceMAOrderDetailResponse response = deviceMAOrderDetailDao.filterMAOrderDetail(deviceReceiveOrderDetail.getRelId()); + response.setCode(code); + response.setDeviceStatus(1); + response.setMaStatus(0); + return ResultVOUtils.success(response); + } +} diff --git a/src/main/java/com/glxp/api/service/inv/impl/DeviceMAOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/DeviceMAOrderServiceImpl.java new file mode 100644 index 000000000..a01839545 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/impl/DeviceMAOrderServiceImpl.java @@ -0,0 +1,201 @@ +package com.glxp.api.service.inv.impl; + +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.Constant; +import com.glxp.api.dao.basic.UdiRelevanceDao; +import com.glxp.api.dao.inv.DeviceMAOrderDao; +import com.glxp.api.dao.inv.DeviceMAOrderDetailDao; +import com.glxp.api.dao.inv.DeviceReceiveOrderDetailDao; +import com.glxp.api.entity.inv.DeviceMAOrderDetailEntity; +import com.glxp.api.entity.inv.DeviceMAOrderEntity; +import com.glxp.api.entity.inv.DeviceReceiveOrderDetailEntity; +import com.glxp.api.req.inv.AddDeviceMAOrderRequest; +import com.glxp.api.req.inv.FilterDeviceMAOrderRequest; +import com.glxp.api.res.inv.DeviceMAOrderResponse; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.inv.DeviceMAOrderService; +import com.glxp.api.util.GennerOrderUtils; +import com.glxp.api.util.OrderNoTypeBean; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.*; + +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class DeviceMAOrderServiceImpl implements DeviceMAOrderService { + + @Resource + private DeviceMAOrderDao deviceMAOrderDao; + @Resource + private CustomerService customerService; + @Resource + private GennerOrderUtils gennerOrderUtils; + @Resource + private DeviceReceiveOrderDetailDao deviceReceiveOrderDetailDao; + @Resource + private DeviceMAOrderDetailDao deviceMAOrderDetailDao; + @Resource + private UdiRelevanceDao udiRelevanceDao; + + @Override + public List filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest) { + if (null == filterDeviceMAOrderRequest) { + return Collections.emptyList(); + } + if (null != filterDeviceMAOrderRequest.getPage() && null != filterDeviceMAOrderRequest.getLimit()) { + PageHelper.offsetPage((filterDeviceMAOrderRequest.getPage() - 1) * filterDeviceMAOrderRequest.getLimit(), filterDeviceMAOrderRequest.getLimit()); + } + return deviceMAOrderDao.filterList(filterDeviceMAOrderRequest); + } + + @Override + public BaseResponse addDeviceMAOrder(DeviceMAOrderEntity deviceMAOrderEntity) { + if (null == deviceMAOrderEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (StrUtil.isBlank(deviceMAOrderEntity.getReceiveOrderId())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请选择养护设备!"); + } + deviceMAOrderEntity.setOrderId(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.DEVICE_MA_ORDER, "yyyyMMdd"))); + deviceMAOrderEntity.setCreateUser(customerService.getUserBean().getUserName()); + deviceMAOrderEntity.setCreateTime(new Date()); + deviceMAOrderEntity.setAuditUser(customerService.getUserBean().getUserName()); + deviceMAOrderEntity.setStatus(0); + deviceMAOrderEntity.setUpdateTime(new Date()); + deviceMAOrderDao.insert(deviceMAOrderEntity); + //查询此设备领用单据的设备列表,生成养护清单 + List deviceReceiveOrderDetailList = deviceReceiveOrderDetailDao.selectByOrderId(deviceMAOrderEntity.getReceiveOrderId()); + deviceReceiveOrderDetailList.forEach(collectOrderDetail -> { + DeviceMAOrderDetailEntity detailEntity = new DeviceMAOrderDetailEntity(); + detailEntity.setOrderIdFk(deviceMAOrderEntity.getOrderId()); + detailEntity.setCode(collectOrderDetail.getCode()); + detailEntity.setNameCode(collectOrderDetail.getNameCode()); + detailEntity.setBatchNo(collectOrderDetail.getBatchNo()); + detailEntity.setProductionDate(collectOrderDetail.getProductionDate()); + detailEntity.setExpireDate(collectOrderDetail.getExpireDate()); + detailEntity.setRelId(collectOrderDetail.getRelId()); + detailEntity.setSerialNo(collectOrderDetail.getSerialNo()); + detailEntity.setCreateUser(deviceMAOrderEntity.getCreateUser()); + detailEntity.setCreateTime(deviceMAOrderEntity.getCreateTime()); + detailEntity.setMaStatus(0); + detailEntity.setDeviceStatus(1); + deviceMAOrderDetailDao.insert(detailEntity); + }); + return ResultVOUtils.success(deviceMAOrderEntity); + } + + @Override + public BaseResponse updateDeviceMAOrder(DeviceMAOrderEntity deviceMAOrderEntity) { + if (null == deviceMAOrderEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (null == deviceMAOrderEntity.getId() || StrUtil.isBlank(deviceMAOrderEntity.getOrderId())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (deviceMAOrderEntity.getStatus() == 1) { + //完成养护记录更新,查询此条养护记录详情中是否存在未养护完成设备 + List detailList = deviceMAOrderDetailDao.selectByOrderId(deviceMAOrderEntity.getOrderId()); + for (DeviceMAOrderDetailEntity deviceMAOrderDetailEntity : detailList) { + if (deviceMAOrderDetailEntity.getMaStatus() == 0) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "存在未养护设备,请完成该设备养护!"); + } + } + } + deviceMAOrderDao.updateById(deviceMAOrderEntity); + return ResultVOUtils.success("更新成功"); + } + + @Override + public BaseResponse deleteDeviceMAOrder(Integer id) { + if (null == id) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + DeviceMAOrderEntity deviceMAOrderEntity = deviceMAOrderDao.selectById(id); + if (null == deviceMAOrderEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "此记录已被删除!"); + } + deviceMAOrderDao.deleteById(id); + //删除此养护记录的详情数据 + deviceReceiveOrderDetailDao.deleteByOrderId(deviceMAOrderEntity.getOrderId()); + return ResultVOUtils.success("删除成功!"); + } + + @Override + public BaseResponse addDeviceMAOrder(AddDeviceMAOrderRequest addDeviceMAOrderRequest) { + if (null == addDeviceMAOrderRequest) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (StrUtil.isBlank(addDeviceMAOrderRequest.getCode())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + + Date date = new Date(); + //生成设备养护记录和详情 + DeviceMAOrderEntity deviceMAOrderEntity = new DeviceMAOrderEntity(); + deviceMAOrderEntity.setOrderId(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.DEVICE_MA_ORDER, "yyyyMMdd"))); + deviceMAOrderEntity.setCreateUser(addDeviceMAOrderRequest.getCreateUser()); + deviceMAOrderEntity.setCreateTime(date); + deviceMAOrderEntity.setUpdateTime(date); + deviceMAOrderEntity.setStatus(1); + deviceMAOrderEntity.setReceiveOrderId(addDeviceMAOrderRequest.getReceiveOrderId()); + + //查询领用详情表中此条码的数据 + DeviceReceiveOrderDetailEntity deviceReceiveOrderDetail = deviceReceiveOrderDetailDao.findOneByCode(addDeviceMAOrderRequest.getCode()); + //详情 + DeviceMAOrderDetailEntity detailEntity = new DeviceMAOrderDetailEntity(); + detailEntity.setCreateTime(date); + detailEntity.setOrderIdFk(deviceMAOrderEntity.getOrderId()); + detailEntity.setCreateUser(detailEntity.getCreateUser()); + detailEntity.setCode(addDeviceMAOrderRequest.getCode()); + detailEntity.setNameCode(deviceReceiveOrderDetail.getNameCode()); + detailEntity.setBatchNo(deviceReceiveOrderDetail.getBatchNo()); + detailEntity.setRelId(deviceReceiveOrderDetail.getRelId()); + detailEntity.setProductionDate(deviceReceiveOrderDetail.getProductionDate()); + detailEntity.setExpireDate(deviceReceiveOrderDetail.getExpireDate()); + detailEntity.setSerialNo(deviceReceiveOrderDetail.getSerialNo()); + detailEntity.setMaStatus(addDeviceMAOrderRequest.getMaStatus()); + detailEntity.setDeviceStatus(addDeviceMAOrderRequest.getDeviceStatus()); + detailEntity.setRemark(addDeviceMAOrderRequest.getRemark()); + deviceMAOrderDao.insert(deviceMAOrderEntity); + deviceMAOrderDetailDao.insert(detailEntity); + return ResultVOUtils.success(); + } + + @Override + public Map getPrintData(String orderId) { + DeviceMAOrderEntity deviceMAOrderEntity = deviceMAOrderDao.selectByOrderId(orderId); + List detailList = deviceMAOrderDetailDao.selectByOrderId(orderId); + DeviceMAOrderDetailEntity deviceMAOrderDetailEntity = detailList.get(0); + Map data = new HashMap<>(10); + //养护记录号 + data.put("orderId", orderId); + //设备号 + data.put("code", deviceMAOrderDetailEntity.getCode()); + //设备名称 + String productName = udiRelevanceDao.selectProductNameByRelId(deviceMAOrderDetailEntity.getRelId()); + data.put("productName", productName); + //批次号 + data.put("batchNo", StrUtil.isBlank(deviceMAOrderDetailEntity.getBatchNo()) ? "" : deviceMAOrderDetailEntity.getBatchNo()); + //养护时间 + data.put("createTime", deviceMAOrderEntity.getCreateTime()); + //养护人 + data.put("createUser", deviceMAOrderEntity.getCreateUser()); + //审核人 + data.put("auditUser", StrUtil.isBlank(deviceMAOrderEntity.getAuditUser()) ? "" : deviceMAOrderEntity.getAuditUser()); + //养护说明 + data.put("remark", StrUtil.isBlank(deviceMAOrderDetailEntity.getRemark()) ? "" : deviceMAOrderDetailEntity.getRemark()); + //设备状态 + data.put("deviceStatus", deviceMAOrderDetailEntity.getDeviceStatus() == 0 ? "异常" : "正常"); + //养护状态 + data.put("maintenanceStatus", deviceMAOrderDetailEntity.getMaStatus() == 0 ? "未养护" : "已养护"); + return data; + } +} diff --git a/src/main/java/com/glxp/api/service/inv/impl/DeviceReceiveOrderDetailServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/DeviceReceiveOrderDetailServiceImpl.java new file mode 100644 index 000000000..efe56d0dd --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/impl/DeviceReceiveOrderDetailServiceImpl.java @@ -0,0 +1,240 @@ +package com.glxp.api.service.inv.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.ConstantType; +import com.glxp.api.dao.inv.DeviceReceiveOrderDetailDao; +import com.glxp.api.dao.inv.InvProductDao; +import com.glxp.api.dao.inv.InvProductDetailDao; +import com.glxp.api.entity.basic.UdiEntity; +import com.glxp.api.entity.inv.DeviceReceiveOrderDetailEntity; +import com.glxp.api.entity.inv.InvProductDetailEntity; +import com.glxp.api.entity.inv.InvProductEntity; +import com.glxp.api.req.inv.AddDeviceReceiveOrderDetailRequest; +import com.glxp.api.req.inv.FilterDeviceReceiveOrderDetailRequest; +import com.glxp.api.req.inv.FilterInvProductDetailRequest; +import com.glxp.api.res.inv.DeviceReceiveOrderDetailResponse; +import com.glxp.api.service.inv.DeviceReceiveOrderDetailService; +import com.glxp.api.util.udi.FilterUdiUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.*; +import java.util.stream.Collectors; + +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class DeviceReceiveOrderDetailServiceImpl implements DeviceReceiveOrderDetailService { + + @Resource + private DeviceReceiveOrderDetailDao deviceReceiveOrderDetailDao; + @Resource + private InvProductDetailDao invProductDetailDao; + @Resource + private InvProductDao invProductDao; + + @Override + public List filterList(FilterDeviceReceiveOrderDetailRequest detailRequest) { + if (null == detailRequest) { + return Collections.emptyList(); + } + if (null != detailRequest.getPage() && null != detailRequest.getLimit()) { + PageHelper.offsetPage((detailRequest.getPage() - 1) * detailRequest.getLimit(), detailRequest.getLimit()); + } + List list = deviceReceiveOrderDetailDao.filterList(detailRequest); + //设置是否可以自定义序列号标识 + list.forEach(item -> { + item.setEditSerialNo(StrUtil.isBlank(item.getCode())); + }); + return list; + } + + @Override + public BaseResponse addOrderDetail(AddDeviceReceiveOrderDetailRequest addDetailRequest) { + if (null == addDetailRequest || StrUtil.isBlank(addDetailRequest.getOrderIdFk())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (StrUtil.isBlank(addDetailRequest.getCode()) && CollUtil.isEmpty(addDetailRequest.getInvProductIds())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请添加领用设备!"); + } + if (StrUtil.isNotBlank(addDetailRequest.getCode())) { + //通过条码添加 + //解析此条码,判断此条码是否已经存在 + UdiEntity udi = FilterUdiUtils.getUdi(addDetailRequest.getCode()); + if (StrUtil.isNotBlank(udi.getSerialNo())) { + //条码为完整码,查询此条码在当前领用记录中是否存在,如果存在则无法添加 + FilterDeviceReceiveOrderDetailRequest detailRequest = new FilterDeviceReceiveOrderDetailRequest(); + detailRequest.setOrderIdFk(addDetailRequest.getOrderIdFk()); + detailRequest.setCode(addDetailRequest.getCode()); + List list = deviceReceiveOrderDetailDao.filterList(detailRequest); + if (CollUtil.isNotEmpty(list)) { + return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "条码重复!"); + } + } + + //设置库存详情查询参数 + FilterInvProductDetailRequest invProductDetailRequest = new FilterInvProductDetailRequest(); + invProductDetailRequest.setCode(addDetailRequest.getCode()); + + //判断是否有选入的仓库信息,如果没有,说明此条码仅存在一条仓库信息,直接使用即可 + if (StrUtil.isNotBlank(addDetailRequest.getInvCode())) { + invProductDetailRequest.setDeptCode(addDetailRequest.getDeptCode()); + invProductDetailRequest.setInvCode(addDetailRequest.getInvCode()); + invProductDetailRequest.setInvSpaceCode(addDetailRequest.getInvSpaceCode()); + } + //查询库存详情 + List invProductDetailEntities = invProductDetailDao.filterInvProductDetailList(invProductDetailRequest); + InvProductDetailEntity invProductDetailEntity = invProductDetailEntities.get(0); + DeviceReceiveOrderDetailEntity orderDetail = getDeviceReceiveOrderDetailEntity(addDetailRequest.getOrderIdFk(), addDetailRequest.getCode(), invProductDetailEntity); + deviceReceiveOrderDetailDao.insert(orderDetail); + } else { + //通过选库存添加 + //查询选中的库存信息 + for (String invProductId : addDetailRequest.getInvProductIds()) { + InvProductEntity invProductEntity = invProductDao.selectById(invProductId); + //查询库存详情 + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setRelId(String.valueOf(invProductEntity.getRelIdFk())); + filterInvProductDetailRequest.setBatchNo(invProductEntity.getBatchNo()); + filterInvProductDetailRequest.setDeptCode(invProductEntity.getDeptCode()); + filterInvProductDetailRequest.setInvCode(invProductEntity.getInvCode()); + List invProductDetailEntities = invProductDetailDao.filterInvProductDetailList(filterInvProductDetailRequest); + //计算出在仓库中的设备 + //提取库存详情中不同的码 + List codesList = invProductDetailEntities.stream().map(InvProductDetailEntity::getCode).distinct().collect(Collectors.toList()); + //初始化所有码数量集合 + Map codeMap = new HashMap<>(codesList.size()); + codesList.forEach(code -> codeMap.put(code, 0)); + //计算库存详情中的码明细,得出所有存在于库存中的码 + for (InvProductDetailEntity invProductDetailEntity : invProductDetailEntities) { + Integer count = codeMap.get(invProductDetailEntity.getCode()); + if (invProductDetailEntity.getMainAction().equals(ConstantType.TYPE_PUT)) { + //入库,数量 +1 + count = count + 1; + } else { + //出库, 数量 -1 + count = count - 1; + } + codeMap.put(invProductDetailEntity.getCode(), count); + } + + //根据计算得出的,所有存在于库存中的码明细,生成设备领用记录详情 + for (String code : codeMap.keySet()) { + if (codeMap.get(code) > 0) { + //查找此条码对应的库存详情数据,根据此库存详情数据,查找仓库货位等信息 + InvProductDetailEntity invProductDetailEntity = new InvProductDetailEntity(); + for (InvProductDetailEntity detailEntity : invProductDetailEntities) { + if (detailEntity.getCode().equals(code)) { + invProductDetailEntity = detailEntity; + break; + } + } + + //此条码存在于库存中,解析条码生成设备领用记录详情 + Integer count = codeMap.get(code); + if (count > 1) { + for (int i = 0; i < count; i++) { + DeviceReceiveOrderDetailEntity orderDetail = getDeviceReceiveOrderDetailEntity(addDetailRequest.getOrderIdFk(), code, invProductDetailEntity); + //插入设备领用记录详情 + deviceReceiveOrderDetailDao.insert(orderDetail); + } + } else { + DeviceReceiveOrderDetailEntity orderDetail = getDeviceReceiveOrderDetailEntity(addDetailRequest.getOrderIdFk(), code, invProductDetailEntity); + deviceReceiveOrderDetailDao.insert(orderDetail); + } + } + } + } + } + return ResultVOUtils.success("添加成功!"); + } + + /** + * 构造设备领用记录详情 + * + * @param orderIdFk 设备领用记录号 + * @param code 码 + * @param invProductDetailEntity 库存详情 + * @return + */ + private static DeviceReceiveOrderDetailEntity getDeviceReceiveOrderDetailEntity(String orderIdFk, String code, InvProductDetailEntity invProductDetailEntity) { + //此条码数量为多个,生成多条养护记录 + UdiEntity udi = FilterUdiUtils.getUdi(code); + DeviceReceiveOrderDetailEntity orderDetail = new DeviceReceiveOrderDetailEntity(); + orderDetail.setOrderIdFk(orderIdFk); + orderDetail.setOriginCode(code); + orderDetail.setRelId(invProductDetailEntity.getRelId()); + orderDetail.setNameCode(udi.getUdi()); + orderDetail.setBatchNo(udi.getBatchNo()); + orderDetail.setProductionDate(udi.getProduceDate()); + orderDetail.setExpireDate(udi.getExpireDate()); + //判断有无序列号,如果有序列号,则可以通过udi码来判定唯一,直接使用udi码做唯一码 + if (StrUtil.isNotBlank(udi.getSerialNo())) { + orderDetail.setSerialNo(udi.getSerialNo()); + orderDetail.setCode(code); + } + Date date = new Date(); + orderDetail.setCreateTime(date); + orderDetail.setUpdateTime(date); + return orderDetail; + } + + @Override + public BaseResponse updateOrderDetail(DeviceReceiveOrderDetailEntity detailEntity) { + if (null == detailEntity || null == detailEntity.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + //判断新的条码是否重复 + UdiEntity udiEntity = new UdiEntity(); + BeanUtil.copyProperties(detailEntity, udiEntity); + udiEntity.setUdi(detailEntity.getNameCode()); + String code = FilterUdiUtils.transGlxpHasSerStr(udiEntity); + FilterDeviceReceiveOrderDetailRequest detailRequest = new FilterDeviceReceiveOrderDetailRequest(); + detailRequest.setOrderIdFk(detailEntity.getOrderIdFk()); + detailRequest.setCode(code); + List list = deviceReceiveOrderDetailDao.filterList(detailRequest); + if (CollUtil.isNotEmpty(list)) { + return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "条码重复!"); + } + deviceReceiveOrderDetailDao.updateById(detailEntity); + return ResultVOUtils.success("更新成功!"); + } + + @Override + public BaseResponse deleteOrderDetail(FilterDeviceReceiveOrderDetailRequest detailRequest) { + if (null == detailRequest.getId() && StrUtil.isBlank(detailRequest.getOrderIdFk())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + if (null != detailRequest.getId()) { + deviceReceiveOrderDetailDao.deleteById(detailRequest.getId()); + } else if (StrUtil.isNotBlank(detailRequest.getOrderIdFk())) { + deviceReceiveOrderDetailDao.deleteByOrderId(detailRequest.getOrderIdFk()); + } + return ResultVOUtils.success("删除成功!"); + } + + @Override + public BaseResponse checkCode(String code) { + //校验码在库存中是否存在 + //查询此条码是否在库存中存在 + FilterInvProductDetailRequest filterInvProductDetailRequest = new FilterInvProductDetailRequest(); + filterInvProductDetailRequest.setCode(code); + List invProductDetailEntities = invProductDetailDao.filterInvProductDetailList(filterInvProductDetailRequest); + if (CollUtil.isNotEmpty(invProductDetailEntities)) { + if (invProductDetailEntities.size() > 1) { + return ResultVOUtils.error(ResultEnum.DATA_REPEAT, "此设备记录存在于多个仓库,请选择此设备当前所处仓库!"); + } else { + return ResultVOUtils.success("校验成功!"); + } + } + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "此条码在库存中不存在,无法领用!"); + } +} diff --git a/src/main/java/com/glxp/api/service/inv/impl/DeviceReceiveOrderServiceImpl.java b/src/main/java/com/glxp/api/service/inv/impl/DeviceReceiveOrderServiceImpl.java new file mode 100644 index 000000000..b0d22d410 --- /dev/null +++ b/src/main/java/com/glxp/api/service/inv/impl/DeviceReceiveOrderServiceImpl.java @@ -0,0 +1,157 @@ +package com.glxp.api.service.inv.impl; + +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.collection.CollUtil; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; +import com.glxp.api.constant.Constant; +import com.glxp.api.dao.inv.DeviceReceiveOrderDao; +import com.glxp.api.dao.inv.DeviceReceiveOrderDetailDao; +import com.glxp.api.entity.basic.UdiEntity; +import com.glxp.api.entity.inv.DeviceReceiveOrderDetailEntity; +import com.glxp.api.entity.inv.DeviceReceiveOrderEntity; +import com.glxp.api.req.inv.FilterDeviceReceiveOrderRequest; +import com.glxp.api.res.inv.DeviceReceiveOrderResponse; +import com.glxp.api.service.auth.CustomerService; +import com.glxp.api.service.inv.DeviceReceiveOrderService; +import com.glxp.api.util.GennerOrderUtils; +import com.glxp.api.util.OrderNoTypeBean; +import com.glxp.api.util.udi.FilterUdiUtils; +import lombok.extern.slf4j.Slf4j; +import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; + +import javax.annotation.Resource; +import java.util.ArrayList; +import java.util.Collections; +import java.util.Date; +import java.util.List; + +@Slf4j +@Service +@Transactional(rollbackFor = Exception.class) +public class DeviceReceiveOrderServiceImpl implements DeviceReceiveOrderService { + + @Resource + private DeviceReceiveOrderDao deviceReceiveOrderDao; + @Resource + private DeviceReceiveOrderDetailDao deviceReceiveOrderDetailDao; + @Resource + private GennerOrderUtils gennerOrderUtils; + @Resource + private CustomerService customerService; + + @Override + public List filterList(FilterDeviceReceiveOrderRequest deviceReceiveOrderRequest) { + if (null == deviceReceiveOrderRequest) { + return Collections.emptyList(); + } + if (null != deviceReceiveOrderRequest.getPage() && null != deviceReceiveOrderRequest.getLimit()) { + PageHelper.offsetPage((deviceReceiveOrderRequest.getPage() - 1) * deviceReceiveOrderRequest.getLimit(), deviceReceiveOrderRequest.getLimit()); + } + return deviceReceiveOrderDao.filterList(deviceReceiveOrderRequest); + } + + @Override + public BaseResponse addDeviceReceiveOrder(DeviceReceiveOrderEntity deviceReceiveOrderEntity) { + if (null == deviceReceiveOrderEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + //生成单号 + String orderId = gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.DEVICE_RECEIVE_ORDER, "yyyyMMdd")); + deviceReceiveOrderEntity.setOrderId(orderId); + deviceReceiveOrderEntity.setStatus(0); + Date date = new Date(); + deviceReceiveOrderEntity.setCreateTime(date); + deviceReceiveOrderEntity.setUpdateTime(date); + String userName = customerService.getUserBean().getUserName(); + deviceReceiveOrderEntity.setCreateUser(userName); + deviceReceiveOrderDao.insert(deviceReceiveOrderEntity); + return ResultVOUtils.success(deviceReceiveOrderEntity); + } + + @Override + public BaseResponse updateDeviceCollectOrder(DeviceReceiveOrderEntity deviceReceiveOrderEntity) { + if (null == deviceReceiveOrderEntity || null == deviceReceiveOrderEntity.getId() || StrUtil.isBlank(deviceReceiveOrderEntity.getOrderId())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + deviceReceiveOrderEntity.setUpdateTime(new Date()); + deviceReceiveOrderDao.updateById(deviceReceiveOrderEntity); + return ResultVOUtils.success("更新成功"); + } + + @Override + public BaseResponse submitAudit(Integer id) { + if (null == id) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + //查询设备领用记录详情,判断是否每个设备都可以分辨唯一,如果不能,则无法提交审核 + String orderId = deviceReceiveOrderDao.selectOrderIdById(id); + if (StrUtil.isBlank(orderId)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "领用记录不存在!"); + } + List detailList = deviceReceiveOrderDetailDao.selectByOrderId(orderId); + if (CollUtil.isEmpty(detailList)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请添加领用设备!"); + } + + List details = new ArrayList<>(detailList.size()); + //检验序列号,校验通过更新无序列号产品编码 + for (DeviceReceiveOrderDetailEntity deviceReceiveOrderDetailEntity : detailList) { + if (StrUtil.isBlank(deviceReceiveOrderDetailEntity.getSerialNo())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "领用设备中存在无序列号设备,无法提交审核,请完善设备信息!"); + } else if (StrUtil.isBlank(deviceReceiveOrderDetailEntity.getCode())) { + //有自定义序列号,重新生成码 + UdiEntity udiEntity = new UdiEntity(); + BeanUtil.copyProperties(deviceReceiveOrderDetailEntity, udiEntity); + udiEntity.setUdi(deviceReceiveOrderDetailEntity.getNameCode()); + String code = FilterUdiUtils.transGlxpHasSerStr(udiEntity); + deviceReceiveOrderDetailEntity.setCode(code); + details.add(deviceReceiveOrderDetailEntity); + } + } + + if (CollUtil.isNotEmpty(details)) { + //更新自定义码详情 + deviceReceiveOrderDetailDao.updateCodeBatch(details); + } + + //更新领用记录状态为待审核 + deviceReceiveOrderDao.updateStatusById(1, id); + return ResultVOUtils.success("提交成功!"); + } + + @Override + public BaseResponse updateStatus(Integer id, Integer status) { + if (null == id || null == status) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, ""); + } + DeviceReceiveOrderEntity deviceReceiveOrderEntity = deviceReceiveOrderDao.selectById(id); + if (null == deviceReceiveOrderEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "领用记录不存在!"); + } + String auditUser = customerService.getUserBean().getUserName(); + deviceReceiveOrderEntity.setAuditUser(auditUser); + deviceReceiveOrderEntity.setStatus(status); + + //驳回领用记录,置空无序列号数据的序列号和code字段值 + if (status == 0) { + deviceReceiveOrderDetailDao.resetCode(deviceReceiveOrderEntity.getOrderId()); + } + + deviceReceiveOrderDao.updateById(deviceReceiveOrderEntity); + return ResultVOUtils.success("更新成功!"); + } + + @Override + public BaseResponse deleteDeviceCollectOrder(Integer id) { + if (null == id) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + deviceReceiveOrderDao.deleteById(id); + return ResultVOUtils.success("删除成功!"); + } +} diff --git a/src/main/java/com/glxp/api/util/udi/FilterUdiUtils.java b/src/main/java/com/glxp/api/util/udi/FilterUdiUtils.java index c3be7df82..4fe594f41 100644 --- a/src/main/java/com/glxp/api/util/udi/FilterUdiUtils.java +++ b/src/main/java/com/glxp/api/util/udi/FilterUdiUtils.java @@ -10,6 +10,7 @@ import com.glxp.api.util.gs1.Gs1128Decoder; import com.glxp.api.util.gs1.Gs1128Engine; import java.util.Map; +import java.util.Optional; /** * @author 彭于晏 @@ -183,12 +184,12 @@ public class FilterUdiUtils { * @param warehouseEntity * @return */ -// public static String transGlxpHasSerStr(WarehouseEntity warehouseEntity) { -// String udiCode = "#" + warehouseEntity.getNameCode() -// + "#" + Optional.ofNullable(warehouseEntity.getProduceDate()).orElse("") -// + "#" + Optional.ofNullable(warehouseEntity.getExpireDate()).orElse("") -// + "#" + Optional.ofNullable(warehouseEntity.getBatchNo()).orElse("") -// + "#" + Optional.ofNullable(warehouseEntity.getSerialNo()).orElse("") + "#" + "#"; -// return udiCode; -// } + public static String transGlxpHasSerStr(UdiEntity warehouseEntity) { + String udiCode = "#" + warehouseEntity.getUdi() + + "#" + Optional.ofNullable(warehouseEntity.getProduceDate()).orElse("") + + "#" + Optional.ofNullable(warehouseEntity.getExpireDate()).orElse("") + + "#" + Optional.ofNullable(warehouseEntity.getBatchNo()).orElse("") + + "#" + Optional.ofNullable(warehouseEntity.getSerialNo()).orElse("") + "#" + "#"; + return udiCode; + } } diff --git a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml index 4047623cc..f05a11b57 100644 --- a/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml +++ b/src/main/resources/mybatis/mapper/basic/UdiRelevanceDao.xml @@ -845,4 +845,11 @@ WHERE nameCode = #{nameCode} group by basic_udirel.id + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inv/DeviceMAOrderDao.xml b/src/main/resources/mybatis/mapper/inv/DeviceMAOrderDao.xml new file mode 100644 index 000000000..c87c868cb --- /dev/null +++ b/src/main/resources/mybatis/mapper/inv/DeviceMAOrderDao.xml @@ -0,0 +1,37 @@ + + + + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inv/DeviceMAOrderDetailDao.xml b/src/main/resources/mybatis/mapper/inv/DeviceMAOrderDetailDao.xml new file mode 100644 index 000000000..fe35890c9 --- /dev/null +++ b/src/main/resources/mybatis/mapper/inv/DeviceMAOrderDetailDao.xml @@ -0,0 +1,61 @@ + + + + + + + + + delete + from device_ma_order_detail + where orderIdFk = #{orderIdFk} + + + + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inv/DeviceMaOrderDao.xml b/src/main/resources/mybatis/mapper/inv/DeviceMaOrderDao.xml deleted file mode 100644 index 0bd83408b..000000000 --- a/src/main/resources/mybatis/mapper/inv/DeviceMaOrderDao.xml +++ /dev/null @@ -1,4 +0,0 @@ - - - - \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inv/DeviceMaOrderDetailDao.xml b/src/main/resources/mybatis/mapper/inv/DeviceMaOrderDetailDao.xml deleted file mode 100644 index 7ce42e49d..000000000 --- a/src/main/resources/mybatis/mapper/inv/DeviceMaOrderDetailDao.xml +++ /dev/null @@ -1,5 +0,0 @@ - - - - - \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inv/DeviceReceiveOrderDao.xml b/src/main/resources/mybatis/mapper/inv/DeviceReceiveOrderDao.xml index cd14f0a75..d5fc5fc31 100644 --- a/src/main/resources/mybatis/mapper/inv/DeviceReceiveOrderDao.xml +++ b/src/main/resources/mybatis/mapper/inv/DeviceReceiveOrderDao.xml @@ -1,4 +1,50 @@ + + + + + + + update device_receive_order set status = #{status} where id = #{id} + \ No newline at end of file diff --git a/src/main/resources/mybatis/mapper/inv/DeviceReceiveOrderDetailDao.xml b/src/main/resources/mybatis/mapper/inv/DeviceReceiveOrderDetailDao.xml index 0c34db147..246b54013 100644 --- a/src/main/resources/mybatis/mapper/inv/DeviceReceiveOrderDetailDao.xml +++ b/src/main/resources/mybatis/mapper/inv/DeviceReceiveOrderDetailDao.xml @@ -1,4 +1,104 @@ + + + + delete + from device_receive_order_detail + where orderIdFk = #{orderIdFk} + + + + + + + + + + + update device_receive_order_detail + + + code = #{item.code} + + + where id = #{item.id} + + + + + update device_receive_order_detail + set code = null, + serialNo = null + where orderIdFk = #{orderId} + and code like '%#' + \ No newline at end of file