From 86367efddd3a81ade176aa7b6dbb1452ab1a7387 Mon Sep 17 00:00:00 2001 From: x_z Date: Wed, 23 Nov 2022 18:06:30 +0800 Subject: [PATCH] =?UTF-8?q?1.=E6=B7=BB=E5=8A=A0=E5=BA=93=E5=AD=98=E5=85=BB?= =?UTF-8?q?=E6=8A=A4=E8=AE=B0=E5=BD=95=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../com/glxp/api/admin/constant/Constant.java | 5 + .../inventory/InvMAOrderController.java | 120 ++++++++++++++++++ .../inventory/InvMAOrderDetailController.java | 28 ++++ .../dao/inventory/InvMaintenanceOrderDao.java | 15 +++ .../InvMaintenanceOrderDetailDao.java | 16 +++ .../InvMaintenanceOrderDetailEntity.java | 8 +- .../inventory/InvMaintenanceOrderEntity.java | 2 +- .../FilterInvMAOrderDetailRequest.java | 27 ++++ .../inventory/InvMAOrderDetailService.java | 13 ++ .../service/inventory/InvMAOrderService.java | 57 +++++++++ .../impl/InvMAOrderDetailServiceImpl.java | 14 +- .../inventory/impl/InvMAOrderServiceImpl.java | 110 ++++++++++++++++ .../inventory/InvMaintenanceOrderDao.xml | 52 +++++++- .../InvMaintenanceOrderDetailDao.xml | 32 +++-- scripts/库存养护功能表.sql | 6 +- 15 files changed, 479 insertions(+), 26 deletions(-) create mode 100644 api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderDetailRequest.java diff --git a/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java b/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java index 6ac0c6ea..0723bf83 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java +++ b/api-admin/src/main/java/com/glxp/api/admin/constant/Constant.java @@ -22,6 +22,11 @@ public class Constant { */ public static final String COUNT_ORDER = "MP"; + /** + * 养护记录前缀 + */ + public static final String MA_ORDER = "MA"; + public static final String dlThrProducts = "THR_DOWNLOAD_PRODUCTS"; public static final String dlThrInvProducts = "THR_DOWNLOAD_INV_PRODUCTS"; public static final String dlThrOrders = "THR_DOWNLOAD_ORDERS"; diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderController.java index 693e7ed9..7d371220 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderController.java @@ -1,8 +1,25 @@ package com.glxp.api.admin.controller.inventory; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderEntity; +import com.glxp.api.admin.req.inventory.FilterInvMAOrderRequest; +import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.inventory.InvMAOrderResponse; +import com.glxp.api.admin.service.inventory.InvMAOrderService; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; 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; + /** * 库存养护记录接口 */ @@ -11,6 +28,109 @@ import org.springframework.web.bind.annotation.RestController; public class InvMAOrderController { + @Resource + private InvMAOrderService invMAOrderService; + + /** + * 查询养护记录列表 + * + * @param filterInvMAOrderRequest + * @return + */ + @GetMapping("/inv/MA/order/filterList") + public BaseResponse filterList(FilterInvMAOrderRequest filterInvMAOrderRequest) { + List list = invMAOrderService.filterList(filterInvMAOrderRequest); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(pageInfo.getList()); + return ResultVOUtils.success(pageSimpleResponse); + } + + /** + * 添加养护记录 + * + * @param invMaintenanceOrder + * @param bindingResult + * @return + */ + @PostMapping("/inv/MA/order/addOrder") + public BaseResponse addOrder(@RequestBody InvMaintenanceOrderEntity invMaintenanceOrder, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + return invMAOrderService.addOrder(invMaintenanceOrder); + } + + /** + * 更新养护记录 + * + * @param invMaintenanceOrder + * @param bindingResult + * @return + */ + @PostMapping("/inv/MA/order/update") + public BaseResponse update(@RequestBody InvMaintenanceOrderEntity invMaintenanceOrder, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == invMaintenanceOrder || StrUtil.isBlank(invMaintenanceOrder.getOrderId())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); + } + return invMAOrderService.update(invMaintenanceOrder); + } + + /** + * 提交审核 + * + * @param orderId + * @return + */ + @PostMapping("/inv/MA/order/submitAudit") + public BaseResponse submitAudit(@RequestBody FilterInvMAOrderRequest filterInvMAOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == filterInvMAOrderRequest || null == filterInvMAOrderRequest.getId()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空"); + } + return invMAOrderService.submitAudit(filterInvMAOrderRequest.getId()); + } + + /** + * 更新养护记录状态 + * + * @param filterInvMAOrderRequest + * @param bindingResult + * @return + */ + @PostMapping("/inv/MA/order/updateStatus") + public BaseResponse updateStatus(@RequestBody FilterInvMAOrderRequest filterInvMAOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == filterInvMAOrderRequest || null == filterInvMAOrderRequest.getId() || null == filterInvMAOrderRequest.getStatus()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); + } + return invMAOrderService.updateStatus(filterInvMAOrderRequest.getId(), filterInvMAOrderRequest.getStatus()); + } + /** + * 删除养护记录 + * + * @param filterInvMAOrderRequest + * @param bindingResult + * @return + */ + @PostMapping("/inv/MA/order/delete") + public BaseResponse delete(FilterInvMAOrderRequest filterInvMAOrderRequest, BindingResult bindingResult) { + if (bindingResult.hasErrors()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); + } + if (null == filterInvMAOrderRequest || null == filterInvMAOrderRequest.getId() || null == filterInvMAOrderRequest.getStatus()) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); + } + return invMAOrderService.delete(filterInvMAOrderRequest.getId()); + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderDetailController.java index 7addb013..ad74cb70 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderDetailController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/InvMAOrderDetailController.java @@ -1,8 +1,19 @@ package com.glxp.api.admin.controller.inventory; +import com.github.pagehelper.PageInfo; +import com.glxp.api.admin.req.inventory.FilterInvMAOrderDetailRequest; +import com.glxp.api.admin.res.PageSimpleResponse; +import com.glxp.api.admin.res.inventory.InvMAOrderDetailResponse; +import com.glxp.api.admin.service.inventory.InvMAOrderDetailService; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; import lombok.extern.slf4j.Slf4j; +import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; +import javax.annotation.Resource; +import java.util.List; + /** * 库存养护记录详情接口 */ @@ -10,7 +21,24 @@ import org.springframework.web.bind.annotation.RestController; @RestController public class InvMAOrderDetailController { + @Resource + private InvMAOrderDetailService invMAOrderDetailService; + /** + * 查询养护记录详情 + * + * @param filterInvMAOrderDetailRequest + * @return + */ + @GetMapping("/inv/MA/order/detail/filterList") + public BaseResponse filterList(FilterInvMAOrderDetailRequest filterInvMAOrderDetailRequest) { + List list = invMAOrderDetailService.filterList(filterInvMAOrderDetailRequest); + PageInfo pageInfo = new PageInfo<>(list); + PageSimpleResponse pageSimpleResponse = new PageSimpleResponse<>(); + pageSimpleResponse.setTotal(pageInfo.getTotal()); + pageSimpleResponse.setList(pageInfo.getList()); + return ResultVOUtils.success(); + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDao.java index d80217e3..c83a7d9a 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDao.java @@ -1,6 +1,11 @@ package com.glxp.api.admin.dao.inventory; import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderEntity; +import com.glxp.api.admin.req.inventory.FilterInvMAOrderRequest; +import com.glxp.api.admin.res.inventory.InvMAOrderResponse; +import org.apache.ibatis.annotations.Param; + +import java.util.List; public interface InvMaintenanceOrderDao { @@ -15,4 +20,14 @@ public interface InvMaintenanceOrderDao { int updateByPrimaryKeySelective(InvMaintenanceOrderEntity record); int updateByPrimaryKey(InvMaintenanceOrderEntity record); + + List filterList(FilterInvMAOrderRequest filterInvMAOrderRequest); + + /** + * 根据养护记录ID查询数据 + * + * @param orderId + * @return + */ + InvMaintenanceOrderEntity selectByOrderId(@Param("orderId") String orderId); } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDetailDao.java index 5c178f4f..ff6259d6 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDetailDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/InvMaintenanceOrderDetailDao.java @@ -1,6 +1,7 @@ package com.glxp.api.admin.dao.inventory; import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderDetailEntity; +import org.apache.ibatis.annotations.Param; public interface InvMaintenanceOrderDetailDao { @@ -15,4 +16,19 @@ public interface InvMaintenanceOrderDetailDao { int updateByPrimaryKeySelective(InvMaintenanceOrderDetailEntity record); int updateByPrimaryKey(InvMaintenanceOrderDetailEntity record); + + /** + * 根据养护记录ID删除详情 + * + * @param orderId + */ + void deleteByOrderId(@Param("orderId") String orderId); + + /** + * 统计养护产品详情数量 + * + * @param orderId + * @return + */ + Long countByOrderId(@Param("orderId") String orderId); } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderDetailEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderDetailEntity.java index 8bb2b3bd..6f414f41 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderDetailEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderDetailEntity.java @@ -51,14 +51,14 @@ public class InvMaintenanceOrderDetailEntity { private Integer count; /** - * 养护状态 + * 养护状态 0:未养护 1:已养护 */ - private Boolean maintenanceStatus; + private Integer maintenanceStatus; /** - * 设备状态 + * 设备状态 0:异常 1:正常 */ - private Boolean deviceStatus; + private Integer deviceStatus; /** * 备注 diff --git a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderEntity.java b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderEntity.java index 1c506cd4..6a3698c9 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderEntity.java +++ b/api-admin/src/main/java/com/glxp/api/admin/entity/inventory/InvMaintenanceOrderEntity.java @@ -28,7 +28,7 @@ public class InvMaintenanceOrderEntity { /** * 状态 0:草稿 1:未审核 2:已完成 */ - private Boolean status; + private Integer status; /** * 养护日期 diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderDetailRequest.java new file mode 100644 index 00000000..fdb91d3f --- /dev/null +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterInvMAOrderDetailRequest.java @@ -0,0 +1,27 @@ +package com.glxp.api.admin.req.inventory; + +import com.glxp.api.admin.req.ListPageRequest; +import lombok.Data; + +/** + * 查询 + */ +@Data +public class FilterInvMAOrderDetailRequest extends ListPageRequest { + + /** + * 养护记录ID + */ + public String orderIdFk; + + /** + * 养护状态 0:未养护 1:已养护 + */ + public Integer maintenanceStatus; + + /** + * 设备状态 0:异常 1:正常 + */ + private Integer deviceStatus; + +} diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderDetailService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderDetailService.java index c1f002e7..0ead72d9 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderDetailService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderDetailService.java @@ -1,7 +1,20 @@ package com.glxp.api.admin.service.inventory; +import com.glxp.api.admin.req.inventory.FilterInvMAOrderDetailRequest; +import com.glxp.api.admin.res.inventory.InvMAOrderDetailResponse; + +import java.util.List; + /** * 库存养护记录详情Service */ public interface InvMAOrderDetailService { + + /** + * 查询养护记录详情 + * + * @param filterInvMAOrderDetailRequest + * @return + */ + List filterList(FilterInvMAOrderDetailRequest filterInvMAOrderDetailRequest); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderService.java index 1701c7e6..f738cdd1 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/InvMAOrderService.java @@ -1,7 +1,64 @@ package com.glxp.api.admin.service.inventory; +import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderEntity; +import com.glxp.api.admin.req.inventory.FilterInvMAOrderRequest; +import com.glxp.api.admin.res.inventory.InvMAOrderResponse; +import com.glxp.api.common.res.BaseResponse; +import org.apache.ibatis.annotations.Param; + +import java.util.List; + /** * 库存养护记录Service */ public interface InvMAOrderService { + + /** + * 查询养护记录列表 + * + * @param filterInvMAOrderRequest + * @return + */ + List filterList(FilterInvMAOrderRequest filterInvMAOrderRequest); + + /** + * 添加养护记录 + * + * @param invMaintenanceOrder + * @return + */ + BaseResponse addOrder(InvMaintenanceOrderEntity invMaintenanceOrder); + + /** + * 更新养护记录 + * + * @param invMaintenanceOrder + * @return + */ + BaseResponse update(InvMaintenanceOrderEntity invMaintenanceOrder); + + /** + * 养护记录提交审核 + * + * @param id + * @return + */ + BaseResponse submitAudit(Integer id); + + /** + * 更新养护记录状态 + * + * @param id + * @param status + * @return + */ + BaseResponse updateStatus(Integer id, Integer status); + + /** + * 删除养护记录 + * + * @param id + * @return + */ + BaseResponse delete(@Param("id") Integer id); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderDetailServiceImpl.java index 11c4ffc2..20a6f6e5 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderDetailServiceImpl.java @@ -1,12 +1,16 @@ package com.glxp.api.admin.service.inventory.impl; import com.glxp.api.admin.dao.inventory.InvMaintenanceOrderDetailDao; +import com.glxp.api.admin.req.inventory.FilterInvMAOrderDetailRequest; +import com.glxp.api.admin.res.inventory.InvMAOrderDetailResponse; import com.glxp.api.admin.service.inventory.InvMAOrderDetailService; import lombok.extern.slf4j.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 @@ -16,7 +20,11 @@ public class InvMAOrderDetailServiceImpl implements InvMAOrderDetailService { @Resource private InvMaintenanceOrderDetailDao invMAOrderDetailDao; - - - + @Override + public List filterList(FilterInvMAOrderDetailRequest filterInvMAOrderDetailRequest) { + if (null == filterInvMAOrderDetailRequest) { + return Collections.emptyList(); + } + return null; + } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderServiceImpl.java index d848c8ac..82022af4 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/InvMAOrderServiceImpl.java @@ -1,12 +1,30 @@ package com.glxp.api.admin.service.inventory.impl; +import cn.hutool.core.bean.BeanUtil; +import cn.hutool.core.date.DatePattern; +import cn.hutool.core.date.DateUtil; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.constant.Constant; import com.glxp.api.admin.dao.inventory.InvMaintenanceOrderDao; +import com.glxp.api.admin.dao.inventory.InvMaintenanceOrderDetailDao; +import com.glxp.api.admin.entity.inventory.InvMaintenanceOrderEntity; +import com.glxp.api.admin.req.inventory.FilterInvMAOrderRequest; +import com.glxp.api.admin.res.inventory.InvMAOrderResponse; +import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.inventory.InvMAOrderService; +import com.glxp.api.admin.util.GennerOrderUtils; +import com.glxp.api.admin.util.OrderNoTypeBean; +import com.glxp.api.common.enums.ResultEnum; +import com.glxp.api.common.res.BaseResponse; +import com.glxp.api.common.util.ResultVOUtils; import lombok.extern.slf4j.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 @@ -15,6 +33,98 @@ public class InvMAOrderServiceImpl implements InvMAOrderService { @Resource private InvMaintenanceOrderDao invMAOrderDao; + @Resource + private GennerOrderUtils gennerOrderUtils; + @Resource + private CustomerService customerService; + @Resource + private InvMaintenanceOrderDetailDao invMAOrderDetailDao; + + + @Override + public List filterList(FilterInvMAOrderRequest filterInvMAOrderRequest) { + if (null == filterInvMAOrderRequest) { + return Collections.emptyList(); + } + if (null != filterInvMAOrderRequest.getPage() && null != filterInvMAOrderRequest.getLimit()) { + PageHelper.offsetPage((filterInvMAOrderRequest.getPage() - 1) * filterInvMAOrderRequest.getLimit(), filterInvMAOrderRequest.getLimit()); + } + return invMAOrderDao.filterList(filterInvMAOrderRequest); + } + + @Override + public BaseResponse addOrder(InvMaintenanceOrderEntity invMaintenanceOrder) { + if (null == invMaintenanceOrder || StrUtil.isBlank(invMaintenanceOrder.getInvWarehouseCode())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "参数不能为空!"); + } + //生成养护记录 + //生成单据号 + invMaintenanceOrder.setOrderId(gennerOrderUtils.createStOrderNo(new OrderNoTypeBean(Constant.MA_ORDER, "yyyyMMdd"))); + //创建时间 + invMaintenanceOrder.setCreateTime(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); + //创建人 + String createUser = customerService.getUserBean().getUserName(); + invMaintenanceOrder.setCreateUser(createUser); + //设置状态为草稿 + invMaintenanceOrder.setStatus(0); + invMAOrderDao.insert(invMaintenanceOrder); + return ResultVOUtils.success(invMaintenanceOrder.getOrderId()); + } + + @Override + public BaseResponse update(InvMaintenanceOrderEntity invMaintenanceOrder) { + //查找此单据是否存在 + InvMaintenanceOrderEntity maintenanceOrder = invMAOrderDao.selectByOrderId(invMaintenanceOrder.getOrderId()); + if (null == maintenanceOrder) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "此单据不存在!"); + } + //复制新数据 + BeanUtil.copyProperties(invMaintenanceOrder, maintenanceOrder, "id", "createTime", "createUser"); + invMAOrderDao.updateByPrimaryKey(maintenanceOrder); + return ResultVOUtils.success("更新成功"); + } + + @Override + public BaseResponse submitAudit(Integer id) { + InvMaintenanceOrderEntity maintenanceOrder = invMAOrderDao.selectByPrimaryKey(id); + if (null == maintenanceOrder) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "此记录不存在!"); + } + if (maintenanceOrder.getStatus() != 0) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "此记录已提交审核,请勿重复提交!"); + } + //查询此养护记录是否添加详情 + Long count = invMAOrderDetailDao.countByOrderId(maintenanceOrder.getOrderId()); + if (count == 0) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请添加养护产品!"); + } + maintenanceOrder.setStatus(1); + maintenanceOrder.setUpdateTime(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); + return ResultVOUtils.success("提交成功"); + } + + @Override + public BaseResponse updateStatus(Integer id, Integer status) { + InvMaintenanceOrderEntity maintenanceOrder = invMAOrderDao.selectByPrimaryKey(id); + if (null == maintenanceOrder || maintenanceOrder.getStatus() != 1) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + maintenanceOrder.setStatus(status); + maintenanceOrder.setUpdateTime(DateUtil.date().toString(DatePattern.NORM_DATETIME_PATTERN)); + invMAOrderDao.updateByPrimaryKey(maintenanceOrder); + return ResultVOUtils.success("更新成功"); + } + @Override + public BaseResponse delete(Integer id) { + InvMaintenanceOrderEntity maintenanceOrder = invMAOrderDao.selectByPrimaryKey(id); + if (null == maintenanceOrder) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "此记录不存在!"); + } + //删除养护记录和详情 + invMAOrderDao.selectByPrimaryKey(id); + invMAOrderDetailDao.deleteByOrderId(maintenanceOrder.getOrderId()); + return ResultVOUtils.success("删除成功"); + } } diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml index f43cc62f..93ad720c 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDao.xml @@ -6,7 +6,7 @@ - + @@ -49,7 +49,7 @@ auditTime, `createUser`, auditUser, remark) values (#{orderId,jdbcType=VARCHAR}, #{invWarehouseCode,jdbcType=VARCHAR}, #{invSpaceCode,jdbcType=VARCHAR}, - #{status,jdbcType=BOOLEAN}, #{createTime,jdbcType=VARCHAR}, #{updateTime,jdbcType=VARCHAR}, + #{status,jdbcType=INTEGER}, #{createTime,jdbcType=VARCHAR}, #{updateTime,jdbcType=VARCHAR}, #{auditTime,jdbcType=VARCHAR}, #{createUser,jdbcType=VARCHAR}, #{auditUser,jdbcType=VARCHAR}, #{remark,jdbcType=VARCHAR}) @@ -100,7 +100,7 @@ #{invSpaceCode,jdbcType=VARCHAR}, - #{status,jdbcType=BOOLEAN}, + #{status,jdbcType=INTEGER}, #{createTime,jdbcType=VARCHAR}, @@ -137,7 +137,7 @@ invSpaceCode = #{invSpaceCode,jdbcType=VARCHAR}, - `status` = #{status,jdbcType=BOOLEAN}, + `status` = #{status,jdbcType=INTEGER}, createTime = #{createTime,jdbcType=VARCHAR}, @@ -166,7 +166,7 @@ set orderId = #{orderId,jdbcType=VARCHAR}, invWarehouseCode = #{invWarehouseCode,jdbcType=VARCHAR}, invSpaceCode = #{invSpaceCode,jdbcType=VARCHAR}, - `status` = #{status,jdbcType=BOOLEAN}, + `status` = #{status,jdbcType=INTEGER}, createTime = #{createTime,jdbcType=VARCHAR}, updateTime = #{updateTime,jdbcType=VARCHAR}, auditTime = #{auditTime,jdbcType=VARCHAR}, @@ -176,4 +176,46 @@ where id = #{id,jdbcType=INTEGER} + + + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml index 3ab15d67..9a771978 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/InvMaintenanceOrderDetailDao.xml @@ -11,8 +11,8 @@ - - + + @@ -52,8 +52,8 @@ deviceStatus, remark) values (#{orderIdFk,jdbcType=VARCHAR}, #{code,jdbcType=VARCHAR}, #{productId,jdbcType=VARCHAR}, #{nameCode,jdbcType=VARCHAR}, #{batchNo,jdbcType=VARCHAR}, #{produceDate,jdbcType=VARCHAR}, - #{expireDate,jdbcType=VARCHAR}, #{count,jdbcType=INTEGER}, #{maintenanceStatus,jdbcType=BOOLEAN}, - #{deviceStatus,jdbcType=BOOLEAN}, #{remark,jdbcType=VARCHAR}) + #{expireDate,jdbcType=VARCHAR}, #{count,jdbcType=INTEGER}, #{maintenanceStatus,jdbcType=INTEGER}, + #{deviceStatus,jdbcType=INTEGER}, #{remark,jdbcType=VARCHAR}) - #{maintenanceStatus,jdbcType=BOOLEAN}, + #{maintenanceStatus,jdbcType=INTEGER}, - #{deviceStatus,jdbcType=BOOLEAN}, + #{deviceStatus,jdbcType=INTEGER}, #{remark,jdbcType=VARCHAR}, @@ -160,10 +160,10 @@ `count` = #{count,jdbcType=INTEGER}, - maintenanceStatus = #{maintenanceStatus,jdbcType=BOOLEAN}, + maintenanceStatus = #{maintenanceStatus,jdbcType=INTEGER}, - deviceStatus = #{deviceStatus,jdbcType=BOOLEAN}, + deviceStatus = #{deviceStatus,jdbcType=INTEGER}, remark = #{remark,jdbcType=VARCHAR}, @@ -182,9 +182,21 @@ produceDate = #{produceDate,jdbcType=VARCHAR}, expireDate = #{expireDate,jdbcType=VARCHAR}, `count` = #{count,jdbcType=INTEGER}, - maintenanceStatus = #{maintenanceStatus,jdbcType=BOOLEAN}, - deviceStatus = #{deviceStatus,jdbcType=BOOLEAN}, + maintenanceStatus = #{maintenanceStatus,jdbcType=INTEGER}, + deviceStatus = #{deviceStatus,jdbcType=INTEGER}, remark = #{remark,jdbcType=VARCHAR} where id = #{id,jdbcType=INTEGER} + + + delete + from inv_maintenance_order_detail + where orderIdFk = #{orderId} + + + \ No newline at end of file diff --git a/scripts/库存养护功能表.sql b/scripts/库存养护功能表.sql index 065eec21..5f9b1761 100644 --- a/scripts/库存养护功能表.sql +++ b/scripts/库存养护功能表.sql @@ -28,10 +28,10 @@ CREATE TABLE `inv_maintenance_order_detail` ( `produceDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '生产日期', `expireDate` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '失效日期', `count` int NULL DEFAULT NULL COMMENT '养护数量', - `maintenanceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '养护状态', - `deviceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '设备状态', + `maintenanceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '养护状态 0:未养护 1:已养护', + `deviceStatus` tinyint(1) NULL DEFAULT NULL COMMENT '设备状态 0:异常 1:正常', `remark` varchar(255) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT '备注', PRIMARY KEY (`id`) USING BTREE -) ENGINE = InnoDB CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '养护单据详情表' ROW_FORMAT = Dynamic; +) ENGINE = InnoDB AUTO_INCREMENT = 1 CHARACTER SET = utf8mb4 COLLATE = utf8mb4_0900_ai_ci COMMENT = '养护单据详情表' ROW_FORMAT = Dynamic; SET FOREIGN_KEY_CHECKS = 1; \ No newline at end of file