增加 保养计划

dev_fifo1.0
wangwei 1 year ago
parent c584701c32
commit 67955cae03

@ -0,0 +1,93 @@
package com.glxp.api.controller.dev;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.req.dev.DeviceUpkeepQuery;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.dev.DeviceUpkeepService;
import com.glxp.api.vo.dev.DeviceCheckPrintVo;
import com.glxp.api.vo.dev.DeviceUpkeepPrintVo;
import com.glxp.api.vo.dev.DeviceUpkeepVo;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequiredArgsConstructor
@Slf4j
@RequestMapping
public class DeviceUpkeepController extends BaseController {
private final DeviceUpkeepService deviceUpkeepService;
/**
*
*
* @param query
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/upkeep/page")
public BaseResponse page(@RequestBody DeviceUpkeepQuery query) {
List<DeviceUpkeepVo> list = deviceUpkeepService.pageList(query);
PageInfo pageInfo = new PageInfo<>(list);
PageSimpleResponse page = new PageSimpleResponse();
page.setTotal(pageInfo.getTotal());
page.setList(pageInfo.getList());
return ResultVOUtils.success(page);
}
/**
*
*
* @param query
* @return
// */
// @AuthRuleAnnotation("")
// @PostMapping("/udi/device/check/pageByDept")
// public BaseResponse pageByDept(@RequestBody DeviceCheckQuery query) {
// AuthAdmin user = super.getUser();
// query.setChargeDeptCode(user.getLocDeptCode());
// List<DeviceCheckVo> list = deviceCheckService.pageList(query);
// PageInfo pageInfo = new PageInfo<>(list);
// PageSimpleResponse page = new PageSimpleResponse();
// page.setTotal(pageInfo.getTotal());
// page.setList(pageInfo.getList());
// return ResultVOUtils.success(page);
// }
/**
* id
*
* @param planId id
* @return
*/
@AuthRuleAnnotation("")
@GetMapping("/udi/device/upkeep/gen/{planId}")
public BaseResponse genDeviceUpkeep(@PathVariable Long planId) {
AuthAdmin user = super.getUser();
deviceUpkeepService.genByPlanId(planId, false, user);
return ResultVOUtils.successMsg("操作成功");
}
@AuthRuleAnnotation("")
@GetMapping("/udi/device/upkeep/info/print/{taskId}")
public BaseResponse checkInfoPrint(@PathVariable Long taskId) {
DeviceUpkeepPrintVo vo = deviceUpkeepService.checkInfoPrint(taskId, null);
return ResultVOUtils.success(vo);
}
@AuthRuleAnnotation("")
@GetMapping("/udi/device/upkeep/info/print/{taskId}/{deviceCode}")
public BaseResponse checkInfoPrint(@PathVariable Long taskId, @PathVariable String deviceCode) {
DeviceUpkeepPrintVo vo = deviceUpkeepService.checkInfoPrint(taskId, deviceCode);
return ResultVOUtils.success(vo);
}
}

@ -0,0 +1,86 @@
package com.glxp.api.controller.dev;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.*;
import com.glxp.api.req.dev.*;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.dev.*;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.util.List;
@RestController
@RequiredArgsConstructor
@Slf4j
@RequestMapping
public class DeviceUpkeepDetailController extends BaseController {
private final DeviceUpkeepDetailService deviceUpkeepDetailService;
private final DevicePlanService devicePlanService;
private final DeviceInfoService deviceInfoService;
private final DevicePlanDetailService devicePlanDetailService;
private final DeviceUpkeepDetailItemService deviceUpkeepDetailItemService;
/**
*
*
* @param query
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/upkeep/detail/page")
public BaseResponse page(@RequestBody @Valid DeviceUpkeepDetailQuery query) {
List<DeviceUpkeepDetailEntity> list = deviceUpkeepDetailService.pageList(query);
PageInfo pageInfo = new PageInfo<>(list);
PageSimpleResponse page = new PageSimpleResponse();
page.setTotal(pageInfo.getTotal());
page.setList(pageInfo.getList());
return ResultVOUtils.success(page);
}
/**
*
*
* @param param
* @return id
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/upkeep/detail/add")
public BaseResponse add(@RequestBody @Valid DevicePlanDetailParam param) {
DevicePlanEntity entity = null;
if (!param.valid(devicePlanService)) {
AuthAdmin user = super.getUser();
entity = param.getDevicePlanParam().getEntity(user);
devicePlanService.save(entity);
param.getDevicePlanParam().setPlanId(entity.getPlanId());
param.setPlanId(entity.getPlanId());
} else {
entity = devicePlanService.getById(param.getPlanId());
}
param.valid(devicePlanService);
List<DevicePlanDetailEntity> list = param.getEntity(deviceInfoService);
devicePlanDetailService.replaceBatch(list);
return ResultVOUtils.success(entity);
}
}

@ -0,0 +1,77 @@
package com.glxp.api.controller.dev;
import com.github.pagehelper.PageInfo;
import com.glxp.api.annotation.AuthRuleAnnotation;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceCheckDetailItemEntity;
import com.glxp.api.entity.dev.DeviceUpkeepDetailItemEntity;
import com.glxp.api.req.dev.DeviceCheckDetailItemFinishParam;
import com.glxp.api.req.dev.DeviceCheckDetailItemQuery;
import com.glxp.api.req.dev.DeviceUpkeepDetailItemFinishParam;
import com.glxp.api.req.dev.DeviceUpkeepDetailItemQuery;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.service.dev.DeviceCheckDetailItemService;
import com.glxp.api.service.dev.DeviceUpkeepDetailItemService;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
import java.util.List;
/**
*
*/
@RestController
@RequiredArgsConstructor
@Slf4j
@RequestMapping
public class DeviceUpkeepDetailItemController extends BaseController {
private final DeviceUpkeepDetailItemService deviceUpkeepDetailItemService;
/**
*
*
* @param query
* @return
*/
/**
*
*
* @param query
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/upkeep/detail/item/page")
public BaseResponse page(@RequestBody @Valid DeviceUpkeepDetailItemQuery query) {
List<DeviceUpkeepDetailItemEntity> list = deviceUpkeepDetailItemService.pageList(query);
PageInfo pageInfo = new PageInfo<>(list);
PageSimpleResponse page = new PageSimpleResponse();
page.setTotal(pageInfo.getTotal());
page.setList(pageInfo.getList());
return ResultVOUtils.success(page);
}
/**
*
*
* @param param
* @return
*/
@AuthRuleAnnotation("")
@PostMapping("/udi/device/upkeep/detail/item/finish")
public BaseResponse page(@RequestBody @Valid DeviceUpkeepDetailItemFinishParam param) {
AuthAdmin user = super.getUser();
deviceUpkeepDetailItemService.finish(param, user);
return ResultVOUtils.successMsg("操作成功");
}
}

@ -0,0 +1,15 @@
package com.glxp.api.dao.dev;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.dev.DeviceUpkeepDetailItemEntity;
/**
* device_upkeep_detail_item()Mapper
*/
public interface DeviceUpkeepDetailItemMapper extends BaseMapperPlus<DeviceUpkeepDetailItemMapper, DeviceUpkeepDetailItemEntity,DeviceUpkeepDetailItemEntity> {
}

@ -0,0 +1,15 @@
package com.glxp.api.dao.dev;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.dev.DeviceUpkeepDetailEntity;
/**
* device_upkeep_detail()Mapper
*/
public interface DeviceUpkeepDetailMapper extends BaseMapperPlus<DeviceUpkeepDetailMapper, DeviceUpkeepDetailEntity,DeviceUpkeepDetailEntity> {
}

@ -0,0 +1,27 @@
package com.glxp.api.dao.dev;
import com.glxp.api.dao.BaseMapperPlus;
import com.glxp.api.entity.dev.DeviceCheckEntity;
import com.glxp.api.entity.dev.DeviceUpkeepEntity;
import com.glxp.api.req.dev.DeviceCheckQuery;
import com.glxp.api.req.dev.DeviceUpkeepQuery;
import com.glxp.api.vo.dev.DeviceCheckVo;
import com.glxp.api.vo.dev.DeviceUpkeepVo;
import org.apache.ibatis.annotations.Param;
import java.util.List;
/**
* device_upkeep()Mapper
*/
public interface DeviceUpkeepMapper extends BaseMapperPlus<DeviceUpkeepMapper, DeviceUpkeepEntity,DeviceUpkeepEntity> {
List<DeviceUpkeepVo> pageVo(DeviceUpkeepQuery query);
DeviceUpkeepVo getVoById(@Param("taskId") Long taskId);
}

@ -56,4 +56,10 @@ public class DeviceCheckItemDictEntity {
*/ */
@TableField(value = "createTime") @TableField(value = "createTime")
private LocalDateTime createTime; private LocalDateTime createTime;
}
/**
*
*/
@TableField(value = "type")
private Integer type;
}

@ -57,4 +57,10 @@ public class DevicePlanDetailItemEntity {
*/ */
@TableField(value = "content") @TableField(value = "content")
private String content; private String content;
}
/**
*
*/
@TableField(value = "type")
private Integer type;
}

@ -93,6 +93,12 @@ public class DevicePlanEntity {
*/ */
@TableField(value = "status") @TableField(value = "status")
private Integer status; private Integer status;
/**
*
*/
@TableField(value = "type")
private Integer type;
/** /**
* *

@ -0,0 +1,192 @@
package com.glxp.api.entity.dev;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
/**
*
*
* @TableName device_upkeep_detail
*/
@TableName(value = "device_upkeep_detail")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class DeviceUpkeepDetailEntity {
/**
* id
*/
@TableField(value = "taskId")
private Long taskId;
/**
*
*/
@TableField(value = "deviceCode")
private String deviceCode;
/**
*
*/
@TableField(value = "deptCode")
private String deptCode;
/**
*
*/
@TableField(value = "deptName")
private String deptName;
/**
*
*/
@TableField(value = "finishFlag")
private Boolean finishFlag;
/**
* id
*/
@TableField(value = "productId")
private Long productId;
/**
* UDI
*/
@TableField(value = "udi")
private String udi;
/**
* DI
*/
@TableField(value = "nameCode")
private String nameCode;
/**
*
*/
@TableField(value = "productName")
private String productName;
/**
*
*/
@TableField(value = "ggxh")
private String ggxh;
/**
*
*/
@TableField(value = "batchNo")
private String batchNo;
/**
*
*/
@TableField(value = "serialNo")
private String serialNo;
/**
*
*/
@TableField(value = "productionDate")
private String productionDate;
/**
*
*/
@TableField(value = "expireDate")
private String expireDate;
/**
*
*/
@TableField(value = "manufactory")
private String manufactory;
/**
*
*/
@TableField(value = "measname")
private String measname;
/**
* /
*/
@TableField(value = "zczbhhzbapzbh")
private String zczbhhzbapzbh;
/**
* ID
*/
@TableField(value = "supId")
private String supId;
/**
*
*/
@TableField(value = "supName")
private String supName;
/**
*
*/
@TableField(value = "itemCount")
private Integer itemCount;
/**
*
*/
@TableField(value = "finishCount")
private Integer finishCount;
/**
*
*/
@TableField(value = "exceptionCount")
private Integer exceptionCount;
/**
*
*/
@TableField(value = "finishTime")
private LocalDateTime finishTime;
/**
* id
*/
// @TableField(value = "repairId")
// private Long repairId;
/**
*
*/
@TableField(value = "suggestion")
private String suggestion;
/**
*
*/
@TableField(value = "livePath")
private String livePath;
/**
*
*/
@TableField(value = "normalFlag")
private Boolean normalFlag;
/**
*
*/
@TableField(value = "updateTime")
private LocalDateTime updateTime;
}

@ -0,0 +1,110 @@
package com.glxp.api.entity.dev;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
/**
*
*
* @TableName device_upkeep_detail_item
*/
@TableName(value = "device_upkeep_detail_item")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class DeviceUpkeepDetailItemEntity {
/**
* id
*/
@TableField(value = "taskId")
private Long taskId;
/**
*
*/
@TableField(value = "deviceCode")
private String deviceCode;
/**
*
*/
@TableField(value = "itemCode")
private String itemCode;
/**
*
*/
@TableField(value = "itemName")
private String itemName;
/**
*
*/
@TableField(value = "itemContent")
private String itemContent;
/**
*
*/
@TableField(value = "normalFlag")
private Boolean normalFlag;
/**
*
*/
@TableField(value = "finishFlag")
private Boolean finishFlag;
/**
*
*/
@TableField(value = "finishTime")
private LocalDateTime finishTime;
/**
*
*/
@TableField(value = "suggestion")
private String suggestion;
/**
* id
*/
@TableField(value = "upkeepUserId")
private Long upkeepUserId;
/**
*
*/
@TableField(value = "upkeepUserName")
private String upkeepUserName;
/**
*
*/
@TableField(value = "upkeepDeptCode")
private String upkeepDeptCode;
/**
*
*/
@TableField(value = "upkeepDeptName")
private String upkeepDeptName;
/**
*
*/
@TableField(value = "updateTime")
private LocalDateTime updateTime;
}

@ -0,0 +1,140 @@
package com.glxp.api.entity.dev;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;
import java.time.LocalDateTime;
/**
*
*
* @TableName device_upkeep
*/
@TableName(value = "device_upkeep")
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class DeviceUpkeepEntity {
/**
* id
*/
@TableId(value = "taskId")
private Long taskId;
/**
* id
*/
@TableField(value = "planId")
private Long planId;
/**
*
*/
@TableField(value = "planName")
private String planName;
/**
*
*/
@TableField(value = "chargeDeptCode")
private String chargeDeptCode;
/**
* id
*/
@TableField(value = "upkeepUserId")
private Long upkeepUserId;
/**
*
*/
@TableField(value = "upkeepUserName")
private String upkeepUserName;
/**
*
*/
@TableField(value = "upkeepUserPhone")
private String upkeepUserPhone;
/**
*
*/
@TableField(value = "deviceCount")
private Integer deviceCount;
/**
*
*/
@TableField(value = "finishCount")
private Integer finishCount;
/**
*
*/
@TableField(value = "exceptionCount")
private Integer exceptionCount;
/**
*
*/
@TableField(value = "name")
private String name;
/**
*
*/
@TableField(value = "remark")
private String remark;
/**
* 1/true 0/false
*/
@TableField(value = "sysFlag")
private Boolean sysFlag;
/**
* 1/true 0/false
*/
@TableField(value = "finishFlag")
private Boolean finishFlag;
/**
*
*/
@TableField(value = "finishTime")
private LocalDateTime finishTime;
/**
* updateTime
*/
@TableField(value = "createTime")
private LocalDateTime createTime;
/**
* id
*/
@TableField(value = "createUserId")
private Long createUserId;
/**
*
*/
@TableField(value = "createUserName")
private String createUserName;
/**
*
*/
@TableField(value = "updateTime")
private LocalDateTime updateTime;
}

@ -32,12 +32,20 @@ public class DeviceCheckItemDictParam {
@NotBlank(message = "项目内容不能为空") @NotBlank(message = "项目内容不能为空")
private String content; private String content;
/**
*
* @param user
* @return
*/
private Integer type;
public DeviceCheckItemDictEntity getEntity(AuthAdmin user) { public DeviceCheckItemDictEntity getEntity(AuthAdmin user) {
DeviceCheckItemDictEntity build = DeviceCheckItemDictEntity.builder() DeviceCheckItemDictEntity build = DeviceCheckItemDictEntity.builder()
.code(code) .code(code)
.name(name) .name(name)
.content(content) .content(content)
.type(type)
.createUserId(user.getCustomerId()) .createUserId(user.getCustomerId())
.createUserName(user.getEmployeeName()) .createUserName(user.getEmployeeName())
.createTime(LocalDateTime.now()) .createTime(LocalDateTime.now())

@ -16,4 +16,5 @@ public class DeviceCheckItemDictQuery extends ListPageRequest {
*/ */
private String name; private String name;
private Integer type;
} }

@ -36,6 +36,12 @@ public class DevicePlanDetailItemParam {
String deviceCode; String deviceCode;
/**
*
*/
Integer type;
@NotEmpty(message = "巡检项目不能为空") @NotEmpty(message = "巡检项目不能为空")
Set<String> itemCodes; Set<String> itemCodes;
@ -71,6 +77,7 @@ public class DevicePlanDetailItemParam {
DevicePlanDetailItemEntity build = DevicePlanDetailItemEntity.builder() DevicePlanDetailItemEntity build = DevicePlanDetailItemEntity.builder()
.planId(planId) .planId(planId)
.productId(productId) .productId(productId)
.type(type)
.deviceCode(StrUtil.blankToDefault(deviceCode, "")) .deviceCode(StrUtil.blankToDefault(deviceCode, ""))
.itemCode(i.getCode()) .itemCode(i.getCode())
.name(i.getName()) .name(i.getName())

@ -58,6 +58,11 @@ public class DevicePlanParam {
*/ */
private Integer status; private Integer status;
/**
*
*/
private Integer type;
/** /**
* *
*/ */
@ -88,6 +93,7 @@ public class DevicePlanParam {
.frequency(frequency) .frequency(frequency)
.status(status == null ? 1 : status) .status(status == null ? 1 : status)
.remark(remark) .remark(remark)
.type(type)
.build(); .build();
if (!isUpdate) { if (!isUpdate) {
build.setCreateUserId(user.getId()).setCreateUserName(user.getEmployeeName()).setCreateTime(LocalDateTime.now()); build.setCreateUserId(user.getId()).setCreateUserName(user.getEmployeeName()).setCreateTime(LocalDateTime.now());

@ -13,4 +13,6 @@ public class DevicePlanQuery extends ListPageRequest {
*/ */
String chargeDeptCode; String chargeDeptCode;
Integer type;
} }

@ -0,0 +1,33 @@
package com.glxp.api.req.dev;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;
@Builder
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DeviceUpkeepDetailItemFinishParam {
@NotNull(message = "任务单标识不能为空")
private Long taskId;
@NotBlank(message = "设备标识不能为空")
private String deviceCode;
@NotNull(message = "项目标识不能为空")
private String itemCode;
@NotNull(message = "请标记巡检状态")
private Boolean normalFlag;
@NotBlank(message = "巡检意见不能为空")
private String suggestion;
}

@ -0,0 +1,23 @@
package com.glxp.api.req.dev;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import javax.validation.constraints.NotBlank;
@Data
public class DeviceUpkeepDetailItemQuery extends ListPageRequest {
/**
*
*/
private Long taskId;
/**
*
*/
@NotBlank(message = "设备标识不能为空")
private String deviceCode;
}

@ -0,0 +1,17 @@
package com.glxp.api.req.dev;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
import javax.validation.constraints.NotNull;
@Data
public class DeviceUpkeepDetailQuery extends ListPageRequest {
@NotNull(message = "任务单标识不能为空")
private Long taskId;
private String deviceCode;
}

@ -0,0 +1,13 @@
package com.glxp.api.req.dev;
import com.glxp.api.util.page.ListPageRequest;
import lombok.Data;
@Data
public class DeviceUpkeepQuery extends ListPageRequest {
String taskId;
String chargeDeptCode;
Boolean finishFlag;
}

@ -0,0 +1,22 @@
package com.glxp.api.service.dev;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceCheckDetailItemEntity;
import com.glxp.api.entity.dev.DeviceUpkeepDetailItemEntity;
import com.glxp.api.req.dev.*;
import java.util.List;
/**
* device_upkeep_detail_item()Service
*/
public interface DeviceUpkeepDetailItemService extends IService<DeviceUpkeepDetailItemEntity> {
List<DeviceUpkeepDetailItemEntity> listByTaskId(Long taskId, String deviceCode);
List<DeviceUpkeepDetailItemEntity> pageList(DeviceUpkeepDetailItemQuery query);
void finish(DeviceUpkeepDetailItemFinishParam param, AuthAdmin user);
}

@ -0,0 +1,27 @@
package com.glxp.api.service.dev;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceCheckDetailEntity;
import com.glxp.api.entity.dev.DeviceUpkeepDetailEntity;
import com.glxp.api.req.dev.DeviceUpkeepDetailQuery;
import java.util.List;
/**
* device_upkeep_detail()Service
*/
public interface DeviceUpkeepDetailService extends IService<DeviceUpkeepDetailEntity> {
List<DeviceUpkeepDetailEntity> pageList(DeviceUpkeepDetailQuery query);
List<DeviceUpkeepDetailEntity> listByTaskId(Long taskId, String deviceCode);
DeviceUpkeepDetailEntity getOne(Long taskId, String deviceCode);
void finishItem(Long taskId, String deviceCode, String deptCode, Boolean normalFlag, AuthAdmin user);
}

@ -0,0 +1,45 @@
package com.glxp.api.service.dev;
import com.baomidou.mybatisplus.extension.service.IService;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceUpkeepEntity;
import com.glxp.api.req.dev.DeviceUpkeepQuery;
import com.glxp.api.vo.dev.DeviceCheckPrintVo;
import com.glxp.api.vo.dev.DeviceCheckVo;
import com.glxp.api.vo.dev.DeviceUpkeepPrintVo;
import com.glxp.api.vo.dev.DeviceUpkeepVo;
import java.util.List;
/**
* @author : zhangsan
* @date : 2024/5/12 15:16
* @modyified By :
*/
/**
* device_upkeep()Service
*/
public interface DeviceUpkeepService extends IService<DeviceUpkeepEntity> {
List<DeviceUpkeepVo> pageList(DeviceUpkeepQuery query);
void genByPlanId(Long planId, boolean b, AuthAdmin user);
DeviceUpkeepPrintVo checkInfoPrint(Long taskId, String deviceCode);
void finishUpkeep(Long taskId, String deviceCode);
/**
*
*
* @param taskId id
* @param deviceCode
* @return
*/
// void finishDevice(Long taskId, String deviceCode);
// void finishUpkeep(String deviceCode, String deptCode, Long taskId, AuthAdmin user);
}

@ -63,6 +63,7 @@ public class DeviceCheckDetailItemServiceImpl extends ServiceImpl<DeviceCheckDet
return list; return list;
} }
@Override @Override
@Transactional @Transactional
public void finish(DeviceCheckDetailItemFinishParam param, AuthAdmin user) { public void finish(DeviceCheckDetailItemFinishParam param, AuthAdmin user) {

@ -24,6 +24,7 @@ public class DeviceCheckItemDictServiceImpl extends CustomServiceImpl<DeviceChec
public List<DeviceCheckItemDictEntity> pageList(DeviceCheckItemDictQuery query) { public List<DeviceCheckItemDictEntity> pageList(DeviceCheckItemDictQuery query) {
PageHelper.startPage(query.getPage(), query.getLimit()); PageHelper.startPage(query.getPage(), query.getLimit());
List<DeviceCheckItemDictEntity> list = super.list(Wrappers.lambdaQuery(DeviceCheckItemDictEntity.class) List<DeviceCheckItemDictEntity> list = super.list(Wrappers.lambdaQuery(DeviceCheckItemDictEntity.class)
.eq(query.getType().toString() != null, DeviceCheckItemDictEntity::getType, query.getType())
.like(StrUtil.isNotBlank(query.getCode()), DeviceCheckItemDictEntity::getCode, query.getCode()) .like(StrUtil.isNotBlank(query.getCode()), DeviceCheckItemDictEntity::getCode, query.getCode())
.like(StrUtil.isNotBlank(query.getName()), DeviceCheckItemDictEntity::getName, query.getName()) .like(StrUtil.isNotBlank(query.getName()), DeviceCheckItemDictEntity::getName, query.getName())
.orderByDesc(DeviceCheckItemDictEntity::getCreateTime) .orderByDesc(DeviceCheckItemDictEntity::getCreateTime)

@ -97,7 +97,7 @@ public class DeviceCheckServiceImpl extends ServiceImpl<DeviceCheckMapper, Devic
if (CollectionUtil.isEmpty(items)) { if (CollectionUtil.isEmpty(items)) {
items = new ArrayList<>(); items = new ArrayList<>();
} }
List<DevicePlanDetailItemEntity> productItems = finalItemMap.get(d.getProductId() + "_"); List<DevicePlanDetailItemEntity> productItems = finalItemMap.get(d.getProductId() + "_" );
if (CollectionUtil.isNotEmpty(productItems)) { if (CollectionUtil.isNotEmpty(productItems)) {
items.addAll(productItems); items.addAll(productItems);
} }
@ -108,7 +108,9 @@ public class DeviceCheckServiceImpl extends ServiceImpl<DeviceCheckMapper, Devic
.finishFlag(false) .finishFlag(false)
.build(); .build();
BeanUtil.copyProperties(d, detailEntity); BeanUtil.copyProperties(d, detailEntity);
log.error("接下来是更改语句");
boolean opened = deviceInfoService.openCheckLock(d.getDeviceCode(), d.getDeptCode()); boolean opened = deviceInfoService.openCheckLock(d.getDeviceCode(), d.getDeptCode());
if (opened) { if (opened) {
items.forEach(item -> { items.forEach(item -> {
DeviceCheckDetailItemEntity deviceCheckDetailItem = DeviceCheckDetailItemEntity.builder() DeviceCheckDetailItemEntity deviceCheckDetailItem = DeviceCheckDetailItemEntity.builder()

@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper; import com.github.pagehelper.PageHelper;
import com.glxp.api.entity.auth.AuthAdmin; import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceInfoEntity; import com.glxp.api.entity.dev.DeviceInfoEntity;
import com.glxp.api.entity.dev.DeviceUpkeepEntity;
import com.glxp.api.enums.dev.DeviceStatusEnum; import com.glxp.api.enums.dev.DeviceStatusEnum;
import com.glxp.api.exception.JsonException; import com.glxp.api.exception.JsonException;
import com.glxp.api.req.dev.DeviceInfoDetailByDeptCodeQuery; import com.glxp.api.req.dev.DeviceInfoDetailByDeptCodeQuery;
@ -229,6 +230,8 @@ public class DeviceInfoServiceImpl extends ServiceImpl<DeviceInfoMapper, DeviceI
uw.eq("deviceCode",entity.getDeviceCode()); uw.eq("deviceCode",entity.getDeviceCode());
return super.update(entity,uw); return super.update(entity,uw);
} }
} }

@ -0,0 +1,98 @@
package com.glxp.api.service.dev.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.glxp.api.dao.dev.DeviceUpkeepDetailItemMapper;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.*;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.dev.DeviceCheckDetailItemFinishParam;
import com.glxp.api.req.dev.DeviceUpkeepDetailItemFinishParam;
import com.glxp.api.req.dev.DeviceUpkeepDetailItemQuery;
import com.glxp.api.service.dev.DeviceUpkeepDetailItemService;
import com.glxp.api.service.dev.DeviceUpkeepDetailService;
import com.glxp.api.service.dev.DeviceUpkeepService;
import com.glxp.api.util.IntUtil;
import groovy.util.logging.Slf4j;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.List;
/**
* device_Upkeep_detail_item()Service
*/
@Service
@Slf4j
@RequiredArgsConstructor
public class DeviceUpkeepDetailItemServiceImpl extends ServiceImpl<DeviceUpkeepDetailItemMapper, DeviceUpkeepDetailItemEntity>
implements DeviceUpkeepDetailItemService {
@Resource
DeviceUpkeepService deviceUpkeepService;
@Resource
DeviceUpkeepDetailService deviceUpkeepDetailService;
@Override
public List<DeviceUpkeepDetailItemEntity> listByTaskId(Long taskId, String deviceCode) {
List<DeviceUpkeepDetailItemEntity> list = super.list(Wrappers.lambdaQuery(DeviceUpkeepDetailItemEntity.class)
.eq(DeviceUpkeepDetailItemEntity::getTaskId, taskId)
.eq(deviceCode != null, DeviceUpkeepDetailItemEntity::getDeviceCode, deviceCode)
.orderByAsc(DeviceUpkeepDetailItemEntity::getDeviceCode, DeviceUpkeepDetailItemEntity::getItemCode)
);
return list;
}
@Override
public List<DeviceUpkeepDetailItemEntity> pageList(DeviceUpkeepDetailItemQuery query) {
List<DeviceUpkeepDetailItemEntity> list = super.list(Wrappers.lambdaQuery(DeviceUpkeepDetailItemEntity.class)
.eq(DeviceUpkeepDetailItemEntity::getTaskId, query.getTaskId())
.eq(DeviceUpkeepDetailItemEntity::getDeviceCode, query.getDeviceCode())
.orderByAsc(DeviceUpkeepDetailItemEntity::getFinishFlag, DeviceUpkeepDetailItemEntity::getNormalFlag, DeviceUpkeepDetailItemEntity::getDeviceCode, DeviceUpkeepDetailItemEntity::getItemCode)
);
return list;
}
@Override
public void finish(DeviceUpkeepDetailItemFinishParam param, AuthAdmin user) {
DeviceUpkeepEntity upkeepEntity = deviceUpkeepService.getById(param.getTaskId());
if (upkeepEntity == null) {
return;
}
// DeviceUpkeepDetailEntity detailEntity = deviceUpkeepDetailService.getOne(param.getTaskId(), param.getDeviceCode());
//// DeviceCheckDetailEntity detailEntity = deviceCheckDetailService.getOne(param.getTaskId(), param.getDeviceCode());
DeviceUpkeepDetailEntity detailEntity = deviceUpkeepDetailService.getOne(param.getTaskId(), param.getDeviceCode());
if (detailEntity == null) {
return;
}
boolean updated = super.update(Wrappers.lambdaUpdate(DeviceUpkeepDetailItemEntity.class)
.set(DeviceUpkeepDetailItemEntity::getFinishFlag, true)
.set(DeviceUpkeepDetailItemEntity::getFinishTime, LocalDateTime.now())
.set(DeviceUpkeepDetailItemEntity::getSuggestion, param.getSuggestion())
.set(DeviceUpkeepDetailItemEntity::getNormalFlag, param.getNormalFlag())
.set(DeviceUpkeepDetailItemEntity::getUpkeepUserId, user.getId())
.set(DeviceUpkeepDetailItemEntity::getUpkeepUserName, user.getEmployeeName())
.set(DeviceUpkeepDetailItemEntity::getUpkeepDeptCode, user.getLocDeptCode())
.set(DeviceUpkeepDetailItemEntity::getUpkeepDeptName, user.getDeptName())
.set(DeviceUpkeepDetailItemEntity::getUpdateTime,LocalDateTime.now())
.eq(DeviceUpkeepDetailItemEntity::getTaskId, param.getTaskId())
.eq(DeviceUpkeepDetailItemEntity::getDeviceCode, param.getDeviceCode())
.eq(DeviceUpkeepDetailItemEntity::getItemCode, param.getItemCode())
.eq(DeviceUpkeepDetailItemEntity::getFinishFlag, false)
);
if (updated) {
deviceUpkeepDetailService.finishItem(param.getTaskId(), param.getDeviceCode(), detailEntity.getDeptCode(), param.getNormalFlag(), user);
} else {
throw new JsonException("操作失败,该项目可能已经被其他人完成,请刷新重试");
}
}
}

@ -0,0 +1,100 @@
package com.glxp.api.service.dev.impl;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.dev.DeviceUpkeepDetailMapper;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.DeviceCheckDetailEntity;
import com.glxp.api.entity.dev.DeviceUpkeepDetailEntity;
import com.glxp.api.req.dev.DeviceUpkeepDetailQuery;
import com.glxp.api.service.dev.*;
import groovy.util.logging.Slf4j;
import lombok.RequiredArgsConstructor;
import org.springframework.stereotype.Service;
import java.time.LocalDateTime;
import java.util.List;
/**
* device_upkeep_detail()Service
*/
@Service
@Slf4j
@RequiredArgsConstructor
public class DeviceUpkeepDetailServiceImpl extends ServiceImpl<DeviceUpkeepDetailMapper, DeviceUpkeepDetailEntity>
implements DeviceUpkeepDetailService {
final DeviceUpkeepService deviceUpkeepService;
final DeviceInfoService deviceInfoService;
@Override
public List<DeviceUpkeepDetailEntity> pageList(DeviceUpkeepDetailQuery query) {
if (query.getPage() != null) {
PageHelper.startPage(query.getPage(), query.getLimit());
}
List<DeviceUpkeepDetailEntity> list = super.list(Wrappers.lambdaQuery(DeviceUpkeepDetailEntity.class)
.eq(DeviceUpkeepDetailEntity::getTaskId, query.getTaskId())
.eq(StrUtil.isNotBlank(query.getDeviceCode()), DeviceUpkeepDetailEntity::getDeviceCode, query.getDeviceCode())
.orderBy(true, true, DeviceUpkeepDetailEntity::getFinishFlag)
.orderBy(true, false, DeviceUpkeepDetailEntity::getExceptionCount)
.orderBy(true, true, DeviceUpkeepDetailEntity::getDeptCode)
.orderBy(true, true, DeviceUpkeepDetailEntity::getFinishTime)
.orderBy(true, true, DeviceUpkeepDetailEntity::getDeptCode)
);
return list;
}
@Override
public List<DeviceUpkeepDetailEntity> listByTaskId(Long taskId, String deviceCode) {
List<DeviceUpkeepDetailEntity> list = super.list(Wrappers.lambdaQuery(DeviceUpkeepDetailEntity.class)
.eq(DeviceUpkeepDetailEntity::getTaskId, taskId)
.eq(deviceCode != null, DeviceUpkeepDetailEntity::getDeviceCode, deviceCode)
.orderByAsc(DeviceUpkeepDetailEntity::getDeptCode, DeviceUpkeepDetailEntity::getDeviceCode)
);
return list;
}
@Override
public DeviceUpkeepDetailEntity getOne(Long taskId, String deviceCode) {
return super.getOne(Wrappers.lambdaQuery(DeviceUpkeepDetailEntity.class)
.eq(DeviceUpkeepDetailEntity::getTaskId, taskId)
.eq(DeviceUpkeepDetailEntity::getDeviceCode, deviceCode)
);
}
@Override
public void finishItem(Long taskId, String deviceCode, String deptCode, Boolean normalFlag, AuthAdmin user) {
boolean updated = super.update(Wrappers.lambdaUpdate(DeviceUpkeepDetailEntity.class)
.setSql("finishCount = finishCount + 1")
.setSql(!normalFlag, "exceptionCount = exceptionCount + 1")
.eq(DeviceUpkeepDetailEntity::getTaskId, taskId)
.eq(DeviceUpkeepDetailEntity::getDeviceCode, deviceCode)
.last("and finishCount+1<=itemCount")
);
if (updated) {
updated = super.update(Wrappers.lambdaUpdate(DeviceUpkeepDetailEntity.class)
.set(DeviceUpkeepDetailEntity::getFinishFlag, true)
.set(DeviceUpkeepDetailEntity::getFinishTime, LocalDateTime.now())
.set(DeviceUpkeepDetailEntity::getUpdateTime, LocalDateTime.now())
.eq(DeviceUpkeepDetailEntity::getTaskId, taskId)
.eq(DeviceUpkeepDetailEntity::getDeviceCode, deviceCode)
.last("and finishCount = itemCount")
);
if (updated) {
// 所有项目全部完成。。。修改任务单完成设备 and 关闭设备的巡检锁
deviceUpkeepService.finishUpkeep(taskId, deviceCode);
deviceInfoService.finishCheck(deviceCode, deptCode, taskId, user);
}
}
}
}

@ -0,0 +1,215 @@
package com.glxp.api.service.dev.impl;
import cn.hutool.core.bean.BeanUtil;
import cn.hutool.core.collection.CollectionUtil;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.github.pagehelper.PageHelper;
import com.glxp.api.dao.dev.DeviceUpkeepMapper;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.dev.*;
import com.glxp.api.enums.dev.DeviceStatusEnum;
import com.glxp.api.exception.JsonException;
import com.glxp.api.req.dev.DeviceUpkeepQuery;
import com.glxp.api.service.dev.*;
import com.glxp.api.util.SnowflakeUtil;
import com.glxp.api.vo.dev.*;
import lombok.RequiredArgsConstructor;
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.concurrent.CompletableFuture;
import java.util.concurrent.ExecutionException;
import java.util.stream.Collectors;
/**
* @author : zhangsan
* @date : 2024/5/12 15:19
* @modyified By :
*/
/**
* device_upkeep()Service
*/
@Service
@RequiredArgsConstructor
public class DeviceUpkeepServiceImpl extends ServiceImpl<DeviceUpkeepMapper, DeviceUpkeepEntity>
implements DeviceUpkeepService {
@Resource
DevicePlanService devicePlanService;
@Resource
DeviceUpkeepDetailService deviceUpkeepDetailService;
@Resource
DevicePlanDetailItemService devicePlanDetailItemService;
@Resource
DeviceInfoService deviceInfoService;
@Resource
DeviceUpkeepDetailItemService deviceUpkeepDetailItemService;
@Resource
DevicePlanDetailService devicePlanDetailService;
private final ThreadPoolTaskExecutor taskExecutor;
@Override
public List<DeviceUpkeepVo> pageList(DeviceUpkeepQuery query) {
if (query.getPage() != null){
PageHelper.startPage(query.getPage(),query.getLimit());
}
List<DeviceUpkeepVo> list = super.baseMapper.pageVo(query);
return list;
}
@Override
public void genByPlanId(Long planId, boolean b, AuthAdmin user) {
DevicePlanEntity plan = devicePlanService.getById(planId);
if (plan == null) {
throw new JsonException("保养计划不存在");
}
List<DevicePlanDetailVo> planDetailList = devicePlanDetailService.listByPlanId(planId);
if (CollectionUtil.isEmpty(planDetailList)) {
throw new JsonException("计划保养产品为空,不创建任务单");
}
List<DevicePlanDetailItemEntity> itemList = devicePlanDetailItemService.listByPlanId(planId);
Map<String, List<DevicePlanDetailItemEntity>> itemMap = new HashMap<>();
if (CollectionUtil.isNotEmpty(itemList)) {
itemMap = itemList.stream().collect(Collectors.groupingBy(i -> i.getProductId() + "_" + i.getDeviceCode()));
}
DeviceUpkeepEntity deviceUpkeepEntity = DeviceUpkeepEntity.builder()
.taskId(SnowflakeUtil.getId())
.planId(plan.getPlanId())
.planName(plan.getName())
.chargeDeptCode(plan.getChargeDeptCode())
.name(plan.getName())
.finishCount(0)
.sysFlag(b)
.createTime(LocalDateTime.now())
.updateTime(LocalDateTime.now())
.createUserId(b ? null : user.getId())
.createUserName(b ? null : user.getEmployeeName())
.build();
List<DeviceUpkeepDetailEntity> upkeepDetailList = new ArrayList<>();
List<DeviceUpkeepDetailItemEntity> upkeepDetailItemList = new ArrayList<>();
Map<String, List<DevicePlanDetailItemEntity>> finalItemMap = itemMap;
planDetailList.forEach(d -> {
List<DevicePlanDetailItemEntity> items = finalItemMap.get(d.getProductId() + "_" + d.getDeviceCode());
if (CollectionUtil.isEmpty(items)) {
items = new ArrayList<>();
}
List<DevicePlanDetailItemEntity> productItems = finalItemMap.get(d.getProductId() + "_");
if (CollectionUtil.isNotEmpty(productItems)) {
items.addAll(productItems);
}
if (CollectionUtil.isNotEmpty(items)) {
DeviceUpkeepDetailEntity detailEntity = DeviceUpkeepDetailEntity.builder()
.taskId(deviceUpkeepEntity.getTaskId())
.updateTime(LocalDateTime.now())
.finishFlag(false)
.build();
BeanUtil.copyProperties(d, detailEntity);
boolean opened = deviceInfoService.openCheckLock(d.getDeviceCode(), d.getDeptCode());
if (opened) {
items.forEach(item -> {
DeviceUpkeepDetailItemEntity deviceCheckDetailItem = DeviceUpkeepDetailItemEntity.builder()
.taskId(deviceUpkeepEntity.getTaskId())
.deviceCode(d.getDeviceCode())
.itemCode(item.getItemCode())
.itemName(item.getName())
.itemContent(item.getContent())
.finishFlag(false)
.updateTime(LocalDateTime.now())
.build();
// deviceCheckDetailItem.setUpdateTime(LocalDateTime.now());
upkeepDetailItemList.add(deviceCheckDetailItem);
});
detailEntity.setItemCount(items.size());
upkeepDetailList.add(detailEntity);
}
}
});
if (CollectionUtil.isNotEmpty(upkeepDetailList)) {
devicePlanService.addExecCount(planId);
deviceUpkeepEntity.setDeviceCount(upkeepDetailList.size());
super.save(deviceUpkeepEntity);
deviceUpkeepDetailService.saveBatch(upkeepDetailList);
if (CollectionUtil.isNotEmpty(upkeepDetailItemList)) {
deviceUpkeepDetailItemService.saveBatch(upkeepDetailItemList);
}
} else {
throw new JsonException(String.format("没有配置保养项目 或者 没有找到处于[%s]状态的设备,无法生成保养单", DeviceStatusEnum.NORMAL.getDesc()));
}
}
@Override
public DeviceUpkeepPrintVo checkInfoPrint(Long taskId, String deviceCode) {
CompletableFuture<DeviceUpkeepVo> infoFuture = CompletableFuture.supplyAsync(() -> {
return super.baseMapper.getVoById(taskId);
}, taskExecutor);
CompletableFuture<List<DeviceUpkeepDetailEntity>> detailFuture = CompletableFuture.supplyAsync(() -> {
return deviceUpkeepDetailService.listByTaskId(taskId, deviceCode);
}, taskExecutor);
CompletableFuture<List<DeviceUpkeepDetailItemEntity>> detailItemFuture = CompletableFuture.supplyAsync(() -> {
return deviceUpkeepDetailItemService.listByTaskId(taskId, deviceCode);
}, taskExecutor);
try {
CompletableFuture.allOf(detailItemFuture).get();
DeviceUpkeepVo upkeepVo = infoFuture.get();
List<DeviceUpkeepDetailEntity> details = detailFuture.get();
List<DeviceUpkeepDetailItemEntity> items = detailItemFuture.get();
if (upkeepVo == null || details == null || items == null) {
throw new JsonException("任务单不存在");
}
List<DeviceUpkeepPrintVo.DetailVo> detailVos = BeanUtil.copyToList(details, DeviceUpkeepPrintVo.DetailVo.class);
Map<String, List<DeviceUpkeepDetailItemEntity>> itemsMap = items.stream().collect(Collectors.groupingBy(DeviceUpkeepDetailItemEntity::getDeviceCode));
detailVos.forEach(i -> {
i.setDetailItems(itemsMap.get(i.getDeviceCode()));
});
DeviceUpkeepPrintVo vo = DeviceUpkeepPrintVo.builder()
.printTime(LocalDateTime.now())
.info(upkeepVo)
.details(detailVos)
.build();
return vo;
} catch (InterruptedException | ExecutionException e) {
throw new RuntimeException(e);
}
}
@Override
@Transactional
public void finishUpkeep(Long taskId, String deviceCode) {
boolean updated = super.update(Wrappers.lambdaUpdate(DeviceUpkeepEntity.class)
.setSql("finishCount = finishCount + 1")
.setSql(String.format("exceptionCount = exceptionCount + (select exceptionCount>0 from device_check_detail where taskId = %s and deviceCode = '%s')", taskId, deviceCode))
.eq(DeviceUpkeepEntity::getTaskId, taskId)
.last("and finishCount+1 <= deviceCount")
);
if (updated) {
updated = super.update(Wrappers.lambdaUpdate(DeviceUpkeepEntity.class)
.set(DeviceUpkeepEntity::getFinishFlag, true)
.set(DeviceUpkeepEntity::getFinishTime, LocalDateTime.now())
.set(DeviceUpkeepEntity::getUpdateTime,LocalDateTime.now())
.eq(DeviceUpkeepEntity::getTaskId, taskId)
.eq(DeviceUpkeepEntity::getFinishFlag, false)
.last("and finishCount = deviceCount")
);
}
}
}

@ -0,0 +1,34 @@
package com.glxp.api.vo.dev;
import com.glxp.api.entity.dev.DeviceCheckDetailEntity;
import com.glxp.api.entity.dev.DeviceCheckDetailItemEntity;
import com.glxp.api.entity.dev.DeviceUpkeepDetailItemEntity;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
import java.util.List;
@Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
public class DeviceUpkeepPrintVo {
LocalDateTime printTime;
DeviceUpkeepVo info;
List<DetailVo> details;
@Data
@AllArgsConstructor
@NoArgsConstructor
public class DetailVo extends DeviceCheckDetailEntity {
public List<DeviceUpkeepDetailItemEntity> detailItems;
}
}

@ -0,0 +1,12 @@
package com.glxp.api.vo.dev;
import com.glxp.api.entity.dev.DeviceCheckEntity;
import com.glxp.api.entity.dev.DeviceUpkeepEntity;
import lombok.Data;
@Data
public class DeviceUpkeepVo extends DeviceUpkeepEntity {
String chargeDeptName;
}

@ -33,6 +33,9 @@
<if test="chargeDeptCode!=null and chargeDeptCode!=''"> <if test="chargeDeptCode!=null and chargeDeptCode!=''">
and p.chargeDeptCode = #{chargeDeptCode} and p.chargeDeptCode = #{chargeDeptCode}
</if> </if>
<if test="type!=null and type!=''">
and p.type = #{type}
</if>
</where> </where>
order by p.createTime desc order by p.createTime desc
</select> </select>

@ -0,0 +1,52 @@
<?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.dev.DeviceUpkeepMapper">
<resultMap id="BaseResultMap" type="com.glxp.api.entity.dev.DeviceUpkeepEntity">
<id property="taskId" column="taskId" jdbcType="BIGINT"/>
<result property="planId" column="planId" jdbcType="BIGINT"/>
<result property="planName" column="planName" jdbcType="VARCHAR"/>
<result property="upkeepUserId" column="upkeepUserId" jdbcType="BIGINT"/>
<result property="upkeepUserName" column="upkeepUserName" jdbcType="VARCHAR"/>
<result property="upkeepUserPhone" column="upkeepUserPhone" jdbcType="VARCHAR"/>
<result property="name" column="name" jdbcType="VARCHAR"/>
<result property="remark" column="remark" jdbcType="VARCHAR"/>
<result property="sysFlag" column="sysFlag" jdbcType="BIT"/>
<result property="createTime" column="createTime" jdbcType="TIMESTAMP"/>
<result property="updateTime" column="updateTime" jdbcType="TIMESTAMP"/>
<result property="createUserId" column="createUserId" jdbcType="BIGINT"/>
<result property="createUserName" column="createUserName" jdbcType="VARCHAR"/>
</resultMap>
<sql id="Base_Column_List">
taskId,planId,planName,
upkeepUserId,upkeepUserName,upkeepUserPhone,
name,remark,sysFlag,
createTime,createUserId,createUserName
</sql>
<select id="pageVo" resultType="com.glxp.api.vo.dev.DeviceUpkeepVo">
select c.*, d.name chargeDeptName
from device_upkeep c
left join auth_dept d on d.code = c.chargeDeptCode
<where>
<if test="taskId!=null">
and c.taskId = #{taskId}
</if>
<if test="chargeDeptCode!=null and chargeDeptCode!=''">
and c.chargeDeptCode = #{chargeDeptCode}
</if>
<if test="finishFlag!=null">
and c.finishFlag = #{finishFlag}
</if>
</where>
order by c.createTime desc
</select>
<select id="getVoById" resultType="com.glxp.api.vo.dev.DeviceUpkeepVo">
select u.*, d.name chargeDeptName
from device_upkeep u
left join auth_dept d on d.code = u.chargeDeptCode
where u.taskId = #{taskId}
</select>
</mapper>
Loading…
Cancel
Save