1.添加设备领用养护接口

master
x_z 2 years ago
parent db961a82f4
commit 9e6b381738

@ -30,7 +30,7 @@ public class Constant {
/**
*
*/
public static final String DEVICE_COLLECT_ORDER = "DCO";
public static final String DEVICE_RECEIVE_ORDER = "DRO";
/**
*

@ -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<DeviceMAOrderResponse> list = deviceMAOrderService.filterList(filterDeviceMAOrderRequest);
PageInfo<DeviceMAOrderResponse> pageInfo = new PageInfo<>(list);
PageSimpleResponse<DeviceMAOrderResponse> 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<String, Object> data = deviceMAOrderService.getPrintData(filterDeviceMAOrderRequest.getOrderId());
Map<String, List<Map<String, Object>>> printData = new HashMap<>(1);
printData.put("data", Arrays.asList(data));
JasperUtils.jasperReport(request, response, JSONUtil.toJsonStr(printData), systemPDFTemplateEntity.getPath(), "pdf");
}
}

@ -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<DeviceMAOrderDetailResponse> list = deviceMAOrderDetailService.filterList(detailRequest);
PageInfo<DeviceMAOrderDetailResponse> pageInfo = new PageInfo<>(list);
PageSimpleResponse<DeviceMAOrderDetailResponse> 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);
}
}

@ -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<DeviceReceiveOrderDetailResponse> list = detailService.filterList(detailRequest);
PageInfo<DeviceReceiveOrderDetailResponse> 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<DeviceReceiveOrderDetailResponse> list = detailService.filterList(detailRequest);
PageInfo<DeviceReceiveOrderDetailResponse> pageInfo = new PageInfo<>(list);
return ResultVOUtils.page(pageInfo);
}
}

@ -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<DeviceReceiveOrderResponse> list = deviceReceiveOrderService.filterList(deviceReceiveOrderRequest);
PageInfo<DeviceReceiveOrderResponse> 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());
}
}

@ -77,4 +77,12 @@ public interface UdiRelevanceDao extends BaseMapperPlus<IoCodeDao, IoCodeEntity,
List<UdiRelevanceResponse> selectGroupByNameCode(@Param("nameCode") String nameCode);
/**
* ID
*
* @param relId
* @return
*/
String selectProductNameByRelId(@Param("relId") Long relId);
}

@ -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<DeviceMAOrderEntity> {
/**
* VO
*
* @param filterDeviceMAOrderRequest
* @return
*/
List<DeviceMAOrderResponse> filterList(FilterDeviceMAOrderRequest filterDeviceMAOrderRequest);
/**
*
*
* @param orderId
* @return
*/
DeviceMAOrderEntity selectByOrderId(@Param("orderId") String orderId);
}

@ -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<DeviceMAOrderDetailEntity> {
/**
* VO
*
* @param detailRequest
* @return
*/
List<DeviceMAOrderDetailResponse> filterList(FilterDeviceMAOrderDetailRequest detailRequest);
/**
*
*
* @param orderIdFk
*/
void deleteByOrderId(@Param("orderIdFk") String orderIdFk);
/**
*
*
* @param orderId
* @return
*/
List<DeviceMAOrderDetailEntity> selectByOrderId(@Param("orderId") String orderId);
/**
*
*
* @param relId
* @return
*/
DeviceMAOrderDetailResponse filterMAOrderDetail(@Param("relId") Long relId);
}

@ -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<DeviceMaOrderEntity> {
}

@ -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<DeviceMaOrderDetailEntity> {
}

@ -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<DeviceReceiveOrderEntity> {
/**
* VO
*
* @param deviceReceiveOrderRequest
* @return
*/
List<DeviceReceiveOrderResponse> 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);
}

@ -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<DeviceReceiveOrderDetailEntity> {
/**
*
*
* @param orderId
* @return
*/
List<DeviceReceiveOrderDetailEntity> selectByOrderId(@Param("orderId") String orderId);
/**
*
*
* @param detailRequest
* @return
*/
List<DeviceReceiveOrderDetailResponse> filterList(FilterDeviceReceiveOrderDetailRequest detailRequest);
/**
*
*
* @param orderIdFk
*/
void deleteByOrderId(@Param("orderIdFk") String orderIdFk);
/**
*
*
* @param detailRequest
* @return
*/
List<DeviceReceiveOrderDetailEntity> selectList(FilterDeviceReceiveOrderDetailRequest detailRequest);
/**
*
*
* @param code
* @return
*/
DeviceReceiveOrderDetailEntity findOneByCode(@Param("code") String code);
/**
*
*
* @param details
*/
void updateCodeBatch(List<DeviceReceiveOrderDetailEntity> details);
/**
* code
*
* @param orderId
*/
void resetCode(@Param("orderId") String orderId);
}

@ -13,7 +13,8 @@ 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";

@ -13,7 +13,8 @@ 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;

@ -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";
}

@ -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";
}

@ -46,5 +46,5 @@ public class AddDeviceMAOrderRequest {
/**
* ID
*/
private String collOrderId;
private String receiveOrderId;
}

@ -25,6 +25,10 @@ public class AddDeviceReceiveOrderDetailRequest {
*/
private List<String> invProductIds;
/**
*
*/
private String deptCode;
/**
*

@ -26,8 +26,18 @@ public class FilterDeviceReceiveOrderRequest extends ListPageRequest {
private Integer status;
/**
*
*
*/
private String deptCode;
private String fromDeptCode;
/**
*
*/
private String fromInvCode;
/**
*
*/
private String fromInvSpaceCode;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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;
}

@ -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<DeviceMAOrderDetailResponse> 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);
}

@ -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<DeviceMAOrderResponse> 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<String, Object> getPrintData(String orderId);
}

@ -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<DeviceReceiveOrderDetailResponse> 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);
}

@ -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<DeviceReceiveOrderResponse> 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);
}

@ -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<DeviceMAOrderDetailResponse> 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);
}
}

@ -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<DeviceMAOrderResponse> 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<DeviceReceiveOrderDetailEntity> 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<DeviceMAOrderDetailEntity> 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<String, Object> getPrintData(String orderId) {
DeviceMAOrderEntity deviceMAOrderEntity = deviceMAOrderDao.selectByOrderId(orderId);
List<DeviceMAOrderDetailEntity> detailList = deviceMAOrderDetailDao.selectByOrderId(orderId);
DeviceMAOrderDetailEntity deviceMAOrderDetailEntity = detailList.get(0);
Map<String, Object> 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;
}
}

@ -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<DeviceReceiveOrderDetailResponse> 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<DeviceReceiveOrderDetailResponse> 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<DeviceReceiveOrderDetailResponse> 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<InvProductDetailEntity> 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<InvProductDetailEntity> invProductDetailEntities = invProductDetailDao.filterInvProductDetailList(filterInvProductDetailRequest);
//计算出在仓库中的设备
//提取库存详情中不同的码
List<String> codesList = invProductDetailEntities.stream().map(InvProductDetailEntity::getCode).distinct().collect(Collectors.toList());
//初始化所有码数量集合
Map<String, Integer> 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<DeviceReceiveOrderDetailResponse> 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<InvProductDetailEntity> 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, "此条码在库存中不存在,无法领用!");
}
}

@ -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<DeviceReceiveOrderResponse> 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<DeviceReceiveOrderDetailEntity> detailList = deviceReceiveOrderDetailDao.selectByOrderId(orderId);
if (CollUtil.isEmpty(detailList)) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, "请添加领用设备!");
}
List<DeviceReceiveOrderDetailEntity> 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("删除成功!");
}
}

@ -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;
}
}

@ -845,4 +845,11 @@
WHERE nameCode = #{nameCode}
group by basic_udirel.id
</select>
<select id="selectProductNameByRelId" resultType="java.lang.String">
select basic_products.cpmctymc
from basic_udirel
left join basic_products on basic_udirel.uuid = basic_products.uuid
where basic_udirel.id = #{relId}
</select>
</mapper>

@ -0,0 +1,37 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.inv.DeviceMAOrderDao">
<select id="selectByOrderId" resultType="com.glxp.api.entity.inv.DeviceMAOrderEntity">
select *
from device_ma_order
where orderId = #{orderId}
</select>
<select id="filterList" resultType="com.glxp.api.res.inv.DeviceMAOrderResponse">
select dmo.id,
dmo.createUser,
dmo.receiveOrderId,
dmo.orderId,
dmo.status,
dmo.createTime,
dmod.code,
dmod.remark
from device_ma_order dmo
left join device_ma_order_detail dmod on dmo.orderId = dmod.orderIdFk
<where>
<if test="orderId != null and orderId != ''">
AND dmo.orderId like concat('%', #{orderId}, '%')
</if>
<if test="status != null">
AND dmo.status = #{status}
</if>
<if test="receiveOrderId != null and receiveOrderId != ''">
AND dmo.receiveOrderId like concat('%', #{receiveOrderId}, '%')
</if>
<if test="code != null and code != ''">
AND dmod.code like concat('%', #{code}, '%')
</if>
</where>
order by dmo.createTime desc
</select>
</mapper>

@ -0,0 +1,61 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.inv.DeviceMAOrderDetailDao">
<select id="filterMAOrderDetail" resultType="com.glxp.api.res.inv.DeviceMAOrderDetailResponse">
select bp.cpmctymc productName,
bp.ggxh,
ip.batchNo,
ip.productionDate produceDate,
ip.expireDate,
bp.zczbhhzbapzbh,
bp.ylqxzcrbarmc
from inv_product ip
left join basic_udirel bu on bu.id = ip.relIdFk
left join basic_products bp on bu.uuid = bp.uuid
where ip.relIdFk = #{relId}
group by ip.relIdFk
</select>
<select id="selectByOrderId" resultType="com.glxp.api.entity.inv.DeviceMAOrderDetailEntity">
select *
from device_ma_order_detail
where orderIdFk = #{orderId}
</select>
<delete id="deleteByOrderId">
delete
from device_ma_order_detail
where orderIdFk = #{orderIdFk}
</delete>
<select id="filterList" resultType="com.glxp.api.res.inv.DeviceMAOrderDetailResponse">
select dmod.id,
dmod.orderIdFk,
dmod.code,
dmod.nameCode,
dmod.productId,
dmod.batchNo,
dmod.produceDate,
dmod.expireDate,
dmod.serialNo,
dmod.createTime,
dmod.updateTime,
dmod.deviceStatus,
dmod.maintenanceStatus,
dmod.createUser,
dmod.remark,
bp.cpmctymc productName,
bp.ylqxzcrbarmc,
bp.zczbhhzbapzbh,
bp.ggxh
from device_ma_order_detail dmod
left join basic_udirel bu on bu.id = dmod.productId
left join basic_products bp on bu.uuid = bp.uuid
<where>
<if test="orderIdFk != null and orderIdFk != ''">
AND orderIdFk = #{orderIdFk}
</if>
</where>
order by dmod.id
</select>
</mapper>

@ -1,4 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.inv.DeviceMaOrderDao">
</mapper>

@ -1,5 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.inv.DeviceMaOrderDetailDao">
</mapper>

@ -1,4 +1,50 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.inv.DeviceReceiveOrderDao">
<select id="filterList" resultType="com.glxp.api.res.inv.DeviceReceiveOrderResponse">
select dro.id,
dro.orderId,
dro.deptCode,
dro.createUser,
dro.auditUser,
dro.createTime,
dro.updateTime,
dro.status,
dro.receiveUser,
(select employeeName from auth_user where id = dro.createUser) receiveUserName,
(select employeeName from auth_user where id = dro.auditUser) auditUserName,
(select `name` from auth_dept where code = dro.fromDeptCode) fromDeptName,
(select `name` from auth_warehouse where code = dro.fromInvCode) fromInvName,
(select `name` from auth_space where code = dro.fromInvSpaceCode) fromInvSpaceName
from device_receive_order dro
<where>
<if test="status != null">
AND status = #{status}
</if>
<if test="orderId != null and orderId != ''">
AND orderId like concat('%', #{orderId}, '%')
</if>
<if test="fromDeptCode != null and fromDeptCode != ''">
AND fromDeptCode = #{fromDeptCode}
</if>
<if test="fromInvCode != null and fromInvCode != ''">
AND fromInvCode = #{fromInvCode}
</if>
<if test="fromInvSpaceCode != null and fromInvSpaceCode != ''">
AND fromInvSpaceCode = #{fromInvSpaceCode}
</if>
</where>
order by updateTime desc
</select>
<select id="selectOrderIdById" resultType="java.lang.String">
select orderId
from device_receive_order
where id = #{id}
</select>
<update id="updateStatusById">
update device_receive_order set status = #{status} where id = #{id}
</update>
</mapper>

@ -1,4 +1,104 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.glxp.api.dao.inv.DeviceReceiveOrderDetailDao">
<select id="selectByOrderId" resultType="com.glxp.api.entity.inv.DeviceReceiveOrderDetailEntity">
select *
from device_receive_order_detail
where orderIdFk = #{orderId}
</select>
<delete id="deleteByOrderId">
delete
from device_receive_order_detail
where orderIdFk = #{orderIdFk}
</delete>
<select id="filterList" resultType="com.glxp.api.res.inv.DeviceReceiveOrderDetailResponse">
select drod.id,
drod.orderIdFk,
drod.originCode,
drod.code,
drod.relId,
drod.nameCode,
drod.batchNo,
drod.produceDate,
drod.expireDate,
drod.serialNo,
drod.createTime,
drod.updateTime,
dro.fromDeptCode,
dro.fromInvCode,
dro.fromInvSpaceCode,
dro.deptCode,
dro.invCode,
dro.invSpaceCode,
bp.cpmctymc productName,
bp.zczbhhzbapzbh,
bp.ylqxzcrbarmc,
bp.ggxh,
(select name from auth_dept where code = dro.fromDeptCode) fromDeptName,
(select name from auth_warehouse where code = dro.fromInvCode) fromInvName,
(select name from auth_space where code = dro.fromInvSpaceCode) fromInvSpaceName,
(select name from auth_space where code = dro.deptCode) deptName,
(select name from auth_space where code = dro.invCode) invName,
(select name from auth_space where code = dro.invSpaceCode) invSpaceName
from device_receive_order_detail drod
left join device_receive_order dro on dro.orderId = drod.orderIdFk
left join basic_udirel bu on bu.id = drod.relId
left join basic_products bp on bu.uuid = bp.uuid
left join auth_warehouse aw on aw.code = dro.fromInvCode
left join auth_space space on space.code = dro.invSpaceCode
<where>
<if test="orderIdFk != null and orderIdFk != ''">
AND orderIdFk = #{orderIdFk}
</if>
<if test="code != null and code != ''">
AND drod.originCode = #{code}
</if>
</where>
</select>
<select id="selectList" resultType="com.glxp.api.entity.inv.DeviceReceiveOrderDetailEntity">
select *
from device_receive_order_detail
<where>
<if test="orderIdFk != null and orderIdFk != ''">
AND orderIdFk = #{orderIdFk}
</if>
<if test="code != null and code != ''">
AND code = #{code}
</if>
</where>
</select>
<select id="findOneByCode" resultType="com.glxp.api.entity.inv.DeviceReceiveOrderDetailEntity">
select *
from device_receive_order_detail
<where>
<if test="code != null and code != ''">
AND code = #{code}
</if>
</where>
limit 1
</select>
<update id="updateCodeBatch">
<foreach collection="list" item="item" index="index" separator=";">
update device_receive_order_detail
<set>
<if test="item.code != null and item.code != ''">
code = #{item.code}
</if>
</set>
where id = #{item.id}
</foreach>
</update>
<update id="resetCode">
update device_receive_order_detail
set code = null,
serialNo = null
where orderIdFk = #{orderId}
and code like '%#'
</update>
</mapper>
Loading…
Cancel
Save