feat: 设备入库、变更、报废

dev_fifo1.0
chenhc 1 year ago
parent 1731ad25ec
commit f81d29c601

@ -10,15 +10,18 @@ import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceChangeOrderItemEntity;
import com.glxp.api.req.dev.DeviceChangeOrderDetailQuery;
import com.glxp.api.req.dev.DeviceChangeOrderGenerateOrderId;
import com.glxp.api.req.dev.DeviceChangeOrderParam;
import com.glxp.api.req.dev.DeviceChangeOrderQuery;
import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.dev.DeviceChangeOrderItemService;
import com.glxp.api.service.dev.DeviceChangeOrderService;
import com.glxp.api.vo.dev.DeviceChangeOrderVo;
import io.swagger.annotations.Api;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.apache.ibatis.annotations.Delete;
import org.springframework.web.bind.annotation.*;
import javax.validation.Valid;
@ -32,6 +35,7 @@ import java.util.List;
public class DeviceChangeOrderController extends BaseController {
private final DeviceChangeOrderService deviceChangeOrderService;
private final DeviceChangeOrderItemService deviceChangeOrderItemService;
/**
*
@ -66,6 +70,19 @@ public class DeviceChangeOrderController extends BaseController {
return ResultVOUtils.successMsg("添加成功");
}
/**
*
*
* @return
*/
@AuthRuleAnnotation("")
@GetMapping("/udi/device/changeOrder/generateOrderId")
public BaseResponse generateOrderId(DeviceChangeOrderGenerateOrderId deviceChangeOrderGenerateOrderId) {
AuthAdmin user = super.getUser();
String orderId = deviceChangeOrderService.generateOrderId(user,deviceChangeOrderGenerateOrderId);
return ResultVOUtils.success(orderId);
}
/**
*
@ -158,4 +175,54 @@ public class DeviceChangeOrderController extends BaseController {
return ResultVOUtils.successMsg("取消成功");
}
/**
* id
*
* @return
*/
@AuthRuleAnnotation("")
@DeleteMapping("/udi/device/changeOrderItem/del/{deviceCode}")
public BaseResponse delOrderItem(@PathVariable String deviceCode) {
deviceChangeOrderItemService.delOrderItem(deviceCode);
return ResultVOUtils.successMsg("删除成功!");
}
/**
* -
*
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/changeOrderItem/entry")
public BaseResponse entryOrderItem(@RequestBody @Valid List<DeviceChangeOrderItemEntity> entitys) {
deviceChangeOrderItemService.entryOrderItem(entitys);
return ResultVOUtils.successMsg("录入成功!");
}
/**
* -
*
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/changeOrderItem/entryChange")
public BaseResponse entryOrderItemChange(@RequestBody @Valid List<DeviceChangeOrderItemEntity> entitys) {
deviceChangeOrderItemService.entryOrderItemChange(entitys);
return ResultVOUtils.successMsg("录入成功!");
}
/**
*
*
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/changeOrderItem/update")
public BaseResponse updateOrderItem(@RequestBody DeviceChangeOrderItemEntity entity) {
deviceChangeOrderItemService.updateOrderItem(entity);
return ResultVOUtils.successMsg("保存成功!");
}
}

@ -2,6 +2,7 @@ package com.glxp.api.entity.dev;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
@ -318,11 +319,13 @@ public class DeviceChangeOrderItemEntity implements Serializable {
*
*/
@TableField(value = "purchaseDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date purchaseDate;
/**
*
*/
@TableField(value = "addDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date addDate;
/**
@ -334,12 +337,12 @@ public class DeviceChangeOrderItemEntity implements Serializable {
*
*/
@TableField(value = "isImperative")
private Integer isImperative;
private Boolean isImperative;
/**
*
*/
@TableField(value = "isMaintain")
private Integer isMaintain;
private Boolean isMaintain;
/**
* (
@ -355,11 +358,13 @@ public class DeviceChangeOrderItemEntity implements Serializable {
*
*/
@TableField(value = "startImperativeDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date startImperativeDate;
/**
*
*/
@TableField(value = "startMaintainDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date startMaintainDate;
/**
@ -423,12 +428,14 @@ public class DeviceChangeOrderItemEntity implements Serializable {
*
*/
@TableField(value = "startMaintenancDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date startMaintenancDate;
/**
*
*/
@TableField(value = "endMaintenancDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date endMaintenancDate;
/**
@ -439,18 +446,18 @@ public class DeviceChangeOrderItemEntity implements Serializable {
/**
* 使
*/
@TableField(value = "UserRole")
private Integer UserRole;
@TableField(value = "userRole")
private Integer userRole;
/**
*
*/
@TableField(value = "isAddDomain")
private Integer isAddDomain;
private Boolean isAddDomain;
/**
* u
*/
@TableField(value = "isUDisc")
private Integer isUDisc;
private Boolean isUDisc;
/**
*
*/

@ -9,6 +9,7 @@ import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.Date;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.glxp.api.enums.dev.DeviceStatusEnum;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
@ -432,14 +433,15 @@ public class DeviceInfoEntity implements Serializable {
*
*/
@TableField(value = "purchaseDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date purchaseDate;
/**
*
*/
@TableField(value = "addDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date addDate;
/**
*
*/
@ -449,12 +451,12 @@ public class DeviceInfoEntity implements Serializable {
*
*/
@TableField(value = "isImperative")
private Integer isImperative;
private Boolean isImperative;
/**
*
*/
@TableField(value = "isMaintain")
private Integer isMaintain;
private Boolean isMaintain;
/**
* (
@ -470,11 +472,13 @@ public class DeviceInfoEntity implements Serializable {
*
*/
@TableField(value = "startImperativeDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date startImperativeDate;
/**
*
*/
@TableField(value = "startMaintainDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date startMaintainDate;
/**
@ -538,12 +542,14 @@ public class DeviceInfoEntity implements Serializable {
*
*/
@TableField(value = "startMaintenancDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date startMaintenancDate;
/**
*
*/
@TableField(value = "endMaintenancDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date endMaintenancDate;
/**
@ -554,18 +560,18 @@ public class DeviceInfoEntity implements Serializable {
/**
* 使
*/
@TableField(value = "UserRole")
private Integer UserRole;
@TableField(value = "userRole")
private Integer userRole;
/**
*
*/
@TableField(value = "isAddDomain")
private Integer isAddDomain;
private Boolean isAddDomain;
/**
* u
*/
@TableField(value = "isUDisc")
private Integer isUDisc;
private Boolean isUDisc;
/**
*
*/

@ -10,6 +10,7 @@ import lombok.Getter;
@Getter
@AllArgsConstructor
public enum DeviceChangeStatusEnum {
TEMP("temp", "临时"),
DRAFT("draft", "草稿"),
WAIT_CONFIRM("wait_confirm", "待目标部门确认"),
REJECT_CONFIRM("reject_confirm", "目标部门拒绝"),

@ -0,0 +1,28 @@
package com.glxp.api.req.dev;
import com.baomidou.mybatisplus.annotation.TableField;
import com.glxp.api.enums.dev.DeviceChangeTypeEnum;
import lombok.Data;
import javax.validation.constraints.NotEmpty;
import javax.validation.constraints.NotNull;
@Data
public class DeviceChangeOrderGenerateOrderId {
/**
*
*/
@TableField(value = "deptCode")
@NotEmpty(message = "操作部门不能为空!")
private String deptCode;
/**
*
*/
@TableField(value = "toDeptCode")
private String toDeptCode;
@NotNull(message = "类型不能为空")
private DeviceChangeTypeEnum type;
}

@ -4,6 +4,7 @@ import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceChangeOrderEntity;
import com.glxp.api.entity.dev.DeviceChangeOrderItemEntity;
@ -362,13 +363,156 @@ public class DeviceChangeOrderParam {
*
*/
@TableField(value = "purchaseDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date purchaseDate;
/**
*
*/
@TableField(value = "addDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date addDate;
/**
*
*/
@TableField(value = "assetName")
private String assetName;
/**
*
*/
@TableField(value = "isImperative")
private Boolean isImperative;
/**
*
*/
@TableField(value = "isMaintain")
private Boolean isMaintain;
/**
* (
*/
@TableField(value = "imperativeCycle")
private Integer imperativeCycle;
/**
* (
*/
@TableField(value = "maintainCycle")
private Integer maintainCycle;
/**
*
*/
@TableField(value = "startImperativeDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date startImperativeDate;
/**
*
*/
@TableField(value = "startMaintainDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date startMaintainDate;
/**
*
*/
@TableField(value = "serviceType")
private String serviceType;
/**
*
*/
@TableField(value = "maintainType")
private String maintainType;
/**
*
*/
@TableField(value = "managerUser")
private String managerUser;
/**
*
*/
@TableField(value = "approveUser")
private String approveUser;
/**
*
*/
@TableField(value = "ledgerAccount")
private String ledgerAccount;
/**
*
*/
@TableField(value = "impairmentProvision")
private String impairmentProvision;
/**
*
*/
@TableField(value = "estimatedWorkload")
private String estimatedWorkload;
/**
*
*/
@TableField(value = "completedWorkload")
private String completedWorkload;
/**
*
*/
@TableField(value = "maintenanceType")
private String maintenanceType;
/**
*
*/
@TableField(value = "maintenanceCycle")
private Integer maintenanceCycle;
/**
*
*/
@TableField(value = "startMaintenancDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date startMaintenancDate;
/**
*
*/
@TableField(value = "endMaintenancDate")
@JsonFormat(pattern = "yyyy-MM-dd",timezone="GMT+8")
private Date endMaintenancDate;
/**
*
*/
@TableField(value = "networkType")
private Integer networkType;
/**
* 使
*/
@TableField(value = "userRole")
private Integer userRole;
/**
*
*/
@TableField(value = "isAddDomain")
private Boolean isAddDomain;
/**
* u
*/
@TableField(value = "isUDisc")
private Boolean isUDisc;
/**
*
*/
@TableField(value = "ascriptionType")
private Integer ascriptionType;
/**
*
*/
@TableField(value = "assetReserveType")
private String assetReserveType;
}
public void valid(AuthAdmin user) {

@ -13,4 +13,13 @@ public interface DeviceChangeOrderItemService extends IService<DeviceChangeOrder
List<DeviceChangeOrderItemEntity> ListByOrderId(Long orderId);
boolean deleteByOrderId(Long orderId);
boolean delOrderItem(String deviceCode);
boolean entryOrderItem(List<DeviceChangeOrderItemEntity> entitys);
boolean updateOrderItem(DeviceChangeOrderItemEntity entity);
boolean entryOrderItemChange(List<DeviceChangeOrderItemEntity> entitys);
}

@ -5,6 +5,7 @@ import com.glxp.api.entity.dev.DeviceChangeOrderEntity;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.entity.dev.DeviceChangeOrderItemEntity;
import com.glxp.api.req.dev.DeviceChangeOrderDetailQuery;
import com.glxp.api.req.dev.DeviceChangeOrderGenerateOrderId;
import com.glxp.api.req.dev.DeviceChangeOrderParam;
import com.glxp.api.req.dev.DeviceChangeOrderQuery;
import com.glxp.api.req.system.DeleteRequest;
@ -53,4 +54,6 @@ public interface DeviceChangeOrderService extends IService<DeviceChangeOrderEnti
List<DeviceChangeOrderItemEntity> detailByUser(AuthAdmin user, DeviceChangeOrderDetailQuery query);
void cancel(AuthAdmin user, Long orderId, String remark);
String generateOrderId(AuthAdmin user, DeviceChangeOrderGenerateOrderId deviceChangeOrderGenerateOrderId);
}

@ -99,4 +99,6 @@ public interface DeviceInfoService extends IService<DeviceInfoEntity> {
List<DeviceInfoVo> listVoByCodes(List<String> deviceCodes, String deptCode, DeviceStatusEnum status);
boolean exitOrder(Long orderId, String deviceCode);
String genDeviceCode();
}

@ -1,22 +1,30 @@
package com.glxp.api.service.dev.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.entity.dev.DeviceChangeOrderItemEntity;
import com.glxp.api.service.dev.DeviceChangeOrderItemService;
import com.glxp.api.dao.dev.DeviceChangeOrderItemMapper;
import com.glxp.api.service.dev.DeviceInfoService;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.util.List;
/**
* device_change_order_item()Service
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class DeviceChangeOrderItemServiceImpl extends ServiceImpl<DeviceChangeOrderItemMapper, DeviceChangeOrderItemEntity>
implements DeviceChangeOrderItemService {
@Resource
private DeviceInfoService deviceInfoService;
@Override
public List<DeviceChangeOrderItemEntity> ListByOrderId(Long orderId) {
return super.list(Wrappers.lambdaQuery(DeviceChangeOrderItemEntity.class)
@ -28,6 +36,33 @@ public class DeviceChangeOrderItemServiceImpl extends ServiceImpl<DeviceChangeOr
public boolean deleteByOrderId(Long orderId) {
return super.remove(new QueryWrapper<DeviceChangeOrderItemEntity>().eq("orderId", orderId));
}
@Override
public boolean delOrderItem(String deviceCode) {
return super.remove(new QueryWrapper<DeviceChangeOrderItemEntity>().eq("deviceCode", deviceCode));
}
@Override
public boolean entryOrderItem(List<DeviceChangeOrderItemEntity> entitys) {
entitys.forEach(i -> {
i.setDeviceCode(deviceInfoService.genDeviceCode());
});
return super.saveBatch(entitys);
}
@Override
public boolean updateOrderItem(DeviceChangeOrderItemEntity entity) {
UpdateWrapper<DeviceChangeOrderItemEntity> uw = new UpdateWrapper<>();
uw.eq("deviceCode",entity.getDeviceCode());
return super.update(entity,uw);
}
@Override
public boolean entryOrderItemChange(List<DeviceChangeOrderItemEntity> entitys) {
return super.saveBatch(entitys);
}
}

@ -20,6 +20,7 @@ import com.glxp.api.enums.dev.DeviceStatusEnum;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.basic.ProductInfoFilterRequest;
import com.glxp.api.req.dev.DeviceChangeOrderDetailQuery;
import com.glxp.api.req.dev.DeviceChangeOrderGenerateOrderId;
import com.glxp.api.req.dev.DeviceChangeOrderParam;
import com.glxp.api.req.dev.DeviceChangeOrderQuery;
import com.glxp.api.req.system.DeleteRequest;
@ -33,6 +34,7 @@ import com.glxp.api.service.dev.DeviceChangeOrderService;
import com.glxp.api.dao.dev.DeviceChangeOrderMapper;
import com.glxp.api.service.dev.DeviceInfoService;
import com.glxp.api.util.SnowflakeUtil;
import com.glxp.api.util.StringUtils;
import com.glxp.api.vo.dev.DeviceChangeOrderVo;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
@ -258,6 +260,35 @@ public class DeviceChangeOrderServiceImpl extends ServiceImpl<DeviceChangeOrderM
}
}
@Override
public String generateOrderId(AuthAdmin user, DeviceChangeOrderGenerateOrderId deviceChangeOrderGenerateOrderId) {
LocalDateTime now = LocalDateTime.now();
Long id = user.getId();
String employeeName = user.getEmployeeName();
String locDeptCode = user.getLocDeptCode();
String deptCode = deviceChangeOrderGenerateOrderId.getDeptCode();
DeviceChangeTypeEnum type = deviceChangeOrderGenerateOrderId.getType();
if (StringUtils.isEmpty(deptCode)){
deptCode = locDeptCode;
}
DeviceChangeOrderEntity order = DeviceChangeOrderEntity.builder()
.orderId(SnowflakeUtil.getId())
.type(type)
.status(DeviceChangeStatusEnum.TEMP)
.deptCode(deptCode)
.toDeptCode(locDeptCode)
.createUser(id)
.createUserName(employeeName)
.createTime(now)
.confirmTime(now)
.confirmUser(id)
.confirmUserName(employeeName)
.build();
super.save(order);
return order.getOrderId()+"";
}
}

@ -1,9 +1,11 @@
package com.glxp.api.service.dev.impl;
import cn.hutool.core.util.RandomUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceInfoEntity;
import com.glxp.api.enums.dev.DeviceStatusEnum;
@ -189,6 +191,17 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
public boolean exitOrder(Long orderId, String deviceCode) {
return super.baseMapper.exists(new QueryWrapper<DeviceInfoEntity>().eq("deviceCode", deviceCode).ne("lastChangeOrderId", orderId));
}
@Override
public String genDeviceCode() {
String deviceCode = "";
DeviceInfoEntity deviceInfo = null;
do {
deviceCode = "S" + RandomUtil.randomNumbers(10);
deviceInfo = super.getById(deviceCode);
} while (deviceInfo != null);
return deviceCode;
}
}

@ -34,6 +34,7 @@
(select name from auth_dept where code = o.toDeptCode) toDeptName
from device_change_order o
<where>
and o.status != 'temp'
and (o.deptCode = #{user.locDeptCode} or o.toDeptCode = #{user.locDeptCode})
<if test="param.changeOrderId!=null and param.changeOrderId!=''">
and o.orderId like concat('%', #{param.changeOrderId},'%')

@ -2290,7 +2290,7 @@ CALL Pro_Temp_ColumnWork('device_change_order_item', 'addDate',
CALL Pro_Temp_ColumnWork('device_change_order_item', 'assetName',
' varchar(100) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NULL DEFAULT NULL COMMENT''资产品名''',
1);
CALL Pro_Temp_ColumnWork('device_change_order_item', 'isMaintain',
CALL Pro_Temp_ColumnWork('device_change_order_item', 'isImperative',
' bigint DEFAULT NULL COMMENT ''是否强检''',
1);
CALL Pro_Temp_ColumnWork('device_change_order_item', 'isMaintain',
@ -2347,8 +2347,8 @@ CALL Pro_Temp_ColumnWork('device_change_order_item', 'endMaintenancDate',
CALL Pro_Temp_ColumnWork('device_change_order_item', 'networkType',
' bigint DEFAULT NULL COMMENT ''内外网''',
1);
CALL Pro_Temp_ColumnWork('device_change_order_item', 'UserRole',
' bigint DEFAULT NULL COMMENT ''使用''',
CALL Pro_Temp_ColumnWork('device_change_order_item', 'userRole',
' bigint DEFAULT NULL COMMENT ''使用角色''',
1);
CALL Pro_Temp_ColumnWork('device_change_order_item', 'isAddDomain',
' bigint DEFAULT NULL COMMENT ''是否加域''',
@ -2425,7 +2425,7 @@ CALL Pro_Temp_ColumnWork('device_info', 'endMaintenancDate',
CALL Pro_Temp_ColumnWork('device_info', 'networkType',
' bigint DEFAULT NULL COMMENT ''内外网''',
1);
CALL Pro_Temp_ColumnWork('device_info', 'UserRole',
CALL Pro_Temp_ColumnWork('device_info', 'userRole',
' bigint DEFAULT NULL COMMENT ''使用角色''',
1);
CALL Pro_Temp_ColumnWork('device_info', 'isAddDomain',

Loading…
Cancel
Save