diff --git a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java index df1a5de7..a42f6dac 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java +++ b/api-admin/src/main/java/com/glxp/api/admin/controller/inventory/DeviceCollectDetailController.java @@ -95,10 +95,10 @@ public class DeviceCollectDetailController { if (bindingResult.hasErrors()) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); } - if (null == detailRequest || null == detailRequest.getId()) { + if (null == detailRequest) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); } - return detailService.deleteOrderDetail(detailRequest.getId()); + return detailService.deleteOrderDetail(detailRequest); } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java index cf66ef5a..b2a3f611 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDao.java @@ -29,4 +29,12 @@ public interface DeviceCollectOrderDao { * @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/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java index c175569c..c1bbf97f 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java +++ b/api-admin/src/main/java/com/glxp/api/admin/dao/inventory/DeviceCollectOrderDetailDao.java @@ -1,6 +1,8 @@ package com.glxp.api.admin.dao.inventory; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; +import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderDetailRequest; +import com.glxp.api.admin.res.inventory.DeviceCollectOrderDetailResponse; import java.util.List; @@ -18,4 +20,12 @@ public interface DeviceCollectOrderDetailDao { int updateByPrimaryKey(DeviceCollectOrderDetailEntity record); List selectByOrderId(String orderId); + + /** + * 查询领用记录详情列表 + * + * @param detailRequest + * @return + */ + List filterList(FilterDeviceCollectOrderDetailRequest detailRequest); } \ No newline at end of file diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java index 8f53109c..2db833ea 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceCollectOrderDetailRequest.java @@ -1,12 +1,13 @@ package com.glxp.api.admin.req.inventory; +import com.glxp.api.admin.req.ListPageRequest; import lombok.Data; /** * 设备领用记录详情接口参数 */ @Data -public class FilterDeviceCollectOrderDetailRequest { +public class FilterDeviceCollectOrderDetailRequest extends ListPageRequest { /** * 设备领用记录详情ID diff --git a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java index 88ea9c4d..4fa4b63c 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java +++ b/api-admin/src/main/java/com/glxp/api/admin/req/inventory/FilterDeviceMAOrderRequest.java @@ -1,9 +1,10 @@ package com.glxp.api.admin.req.inventory; +import com.glxp.api.admin.req.ListPageRequest; import lombok.Data; @Data -public class FilterDeviceMAOrderRequest { +public class FilterDeviceMAOrderRequest extends ListPageRequest { /** * 设备养护记录ID diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java index bf82b665..c43b3b9e 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/DeviceCollectOrderDetailService.java @@ -43,6 +43,6 @@ public interface DeviceCollectOrderDetailService { * @param detailRequest * @return */ - BaseResponse deleteOrderDetail(Integer id); + BaseResponse deleteOrderDetail(FilterDeviceCollectOrderDetailRequest detailRequest); } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java index 6a36ea41..fe2e88c1 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderDetailServiceImpl.java @@ -1,15 +1,22 @@ package com.glxp.api.admin.service.inventory.impl; +import cn.hutool.core.util.StrUtil; +import com.github.pagehelper.PageHelper; +import com.glxp.api.admin.dao.inventory.DeviceCollectOrderDetailDao; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; import com.glxp.api.admin.req.inventory.AddDeviceCollectOrderDetailRequest; import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderDetailRequest; import com.glxp.api.admin.res.inventory.DeviceCollectOrderDetailResponse; import com.glxp.api.admin.service.inventory.DeviceCollectOrderDetailService; +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 @@ -17,14 +24,23 @@ import java.util.List; @Transactional(rollbackFor = Exception.class) public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDetailService{ + @Resource + private DeviceCollectOrderDetailDao deviceCollectOrderDetailDao; @Override public List filterList(FilterDeviceCollectOrderDetailRequest detailRequest) { - return null; + if (null == detailRequest) { + return Collections.emptyList(); + } + if (null == detailRequest.getPage() && null == detailRequest.getLimit()) { + PageHelper.offsetPage((detailRequest.getPage() - 1) * detailRequest.getLimit(), detailRequest.getLimit()); + } + return deviceCollectOrderDetailDao.filterList(detailRequest); } @Override public BaseResponse addOrderDetail(AddDeviceCollectOrderDetailRequest addDetailRequest) { + return null; } @@ -34,7 +50,11 @@ public class DeviceCollectOrderDetailServiceImpl implements DeviceCollectOrderDe } @Override - public BaseResponse deleteOrderDetail(Integer id) { + public BaseResponse deleteOrderDetail(FilterDeviceCollectOrderDetailRequest detailRequest) { + if (null == detailRequest.getId() && StrUtil.isBlank(detailRequest.getOrderIdFk())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + return null; } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java index 47a65131..edbec9b2 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java +++ b/api-admin/src/main/java/com/glxp/api/admin/service/inventory/impl/DeviceCollectOrderServiceImpl.java @@ -1,11 +1,13 @@ package com.glxp.api.admin.service.inventory.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.admin.constant.Constant; import com.glxp.api.admin.dao.inventory.DeviceCollectOrderDao; import com.glxp.api.admin.dao.inventory.DeviceCollectOrderDetailDao; +import com.glxp.api.admin.entity.inout.WarehouseEntity; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderDetailEntity; import com.glxp.api.admin.entity.inventory.DeviceCollectOrderEntity; import com.glxp.api.admin.req.inventory.FilterDeviceCollectOrderRequest; @@ -13,6 +15,7 @@ import com.glxp.api.admin.res.inventory.DeviceCollectOrderResponse; import com.glxp.api.admin.service.auth.CustomerService; import com.glxp.api.admin.service.inventory.DeviceCollectOrderService; import com.glxp.api.admin.util.DateUtil; +import com.glxp.api.admin.util.FilterUdiUtils; import com.glxp.api.admin.util.GennerOrderUtils; import com.glxp.api.admin.util.OrderNoTypeBean; import com.glxp.api.common.enums.ResultEnum; @@ -85,22 +88,54 @@ public class DeviceCollectOrderServiceImpl implements DeviceCollectOrderService } //查询设备领用记录详情,判断是否每个设备都可以分辨唯一,如果不能,则无法提交审核 String orderId = deviceCollectOrderDao.selectOrderIdById(id); + if (StrUtil.isBlank(orderId)) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "领用记录不存在!"); + } List detailList = deviceCollectOrderDetailDao.selectByOrderId(orderId); if (CollUtil.isEmpty(detailList)) { return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请添加领用设备!"); } - + for (DeviceCollectOrderDetailEntity deviceCollectOrderDetailEntity : detailList) { + if (StrUtil.isBlank(deviceCollectOrderDetailEntity.getSerialNo())) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "领用设备中存在无序列号设备,无法提交审核,请完善设备信息!"); + } + } + //更新领用记录状态为待审核 + deviceCollectOrderDao.updateStatusById(1, id); return ResultVOUtils.success("提交成功!"); } @Override public BaseResponse updateStatus(Integer id, Integer status) { - - return null; + if (null == id || null == status) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, ""); + } + DeviceCollectOrderEntity deviceCollectOrderEntity = deviceCollectOrderDao.selectByPrimaryKey(id); + if (null == deviceCollectOrderEntity) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "领用记录不出存在!"); + } + //查询此领用记录详情中定义序列号的记录,重新生成码 + List detailEntityList = deviceCollectOrderDetailDao.selectByOrderId(deviceCollectOrderEntity.getOrderId()); + detailEntityList.forEach(detailEntity -> { + if (StrUtil.isBlank(detailEntity.getCode())) { + WarehouseEntity warehouseEntity = new WarehouseEntity(); + BeanUtil.copyProperties(detailEntity, warehouseEntity); + String code = FilterUdiUtils.transGlxpHasSerStr(warehouseEntity); + detailEntity.setCode(code); + //更新详情的条码信息 + deviceCollectOrderDetailDao.updateByPrimaryKey(detailEntity); + } + }); + deviceCollectOrderDao.updateStatusById(status, id); + return ResultVOUtils.success("更新成功!"); } @Override public BaseResponse deleteDeviceCollectOrder(Integer id) { - return null; + if (null == id) { + return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL); + } + deviceCollectOrderDao.deleteByPrimaryKey(id); + return ResultVOUtils.success("删除成功!"); } } diff --git a/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java b/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java index 85a7fff1..bc021d04 100644 --- a/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java +++ b/api-admin/src/main/java/com/glxp/api/admin/util/FilterUdiUtils.java @@ -308,4 +308,15 @@ public class FilterUdiUtils { "#" + warehouseEntity.getBatchNo() + "#" + "#" + "#"; return udiCode; } + + /** + * 生成有序列号的UDI码 + * @param warehouseEntity + * @return + */ + public static String transGlxpHasSerStr(WarehouseEntity warehouseEntity) { + String udiCode = "#" + warehouseEntity.getNameCode() + "#" + warehouseEntity.getProduceDate() + "#" + warehouseEntity.getExpireDate() + + "#" + warehouseEntity.getBatchNo() + "#" + warehouseEntity.getSerialNo() + "#" + "#"; + return udiCode; + } } diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml index cc45d63e..7101c97c 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDao.xml @@ -157,4 +157,8 @@ from device_collect_order where id = #{id} + + + update device_collect_order set status = #{status} and id = #{id} + \ No newline at end of file diff --git a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml index 2b4c4ad4..4a0b6a47 100644 --- a/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml +++ b/api-admin/src/main/resources/mybatis/mapper/inventory/DeviceCollectOrderDetailDao.xml @@ -250,4 +250,36 @@ from device_collect_order_detail where orderIdFk = #{orderId} + + \ No newline at end of file