You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
122 lines
5.4 KiB
Java
122 lines
5.4 KiB
Java
package com.glxp.api.controller.dev;
|
|
|
|
import cn.hutool.core.util.IdUtil;
|
|
import com.github.pagehelper.PageInfo;
|
|
import com.glxp.api.annotation.AuthRuleAnnotation;
|
|
import com.glxp.api.annotation.Log;
|
|
import com.glxp.api.common.res.BaseResponse;
|
|
import com.glxp.api.common.util.ResultVOUtils;
|
|
import com.glxp.api.constant.BusinessType;
|
|
import com.glxp.api.constant.FileConstant;
|
|
import com.glxp.api.controller.BaseController;
|
|
import com.glxp.api.entity.dev.DeviceAssetContractEntity;
|
|
import com.glxp.api.req.dev.PostDeviceContractRequest;
|
|
import com.glxp.api.req.inv.FilterInvContractRequest;
|
|
import com.glxp.api.req.system.DeleteDeviceFileRequest;
|
|
import com.glxp.api.res.PageSimpleResponse;
|
|
import com.glxp.api.service.auth.CustomerService;
|
|
import com.glxp.api.service.dev.DeviceAssetContractService;
|
|
import lombok.extern.slf4j.Slf4j;
|
|
import org.springframework.beans.BeanUtils;
|
|
import org.springframework.beans.factory.annotation.Value;
|
|
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.io.File;
|
|
import java.time.Instant;
|
|
import java.time.LocalDate;
|
|
import java.time.LocalDateTime;
|
|
import java.time.ZoneOffset;
|
|
import java.util.List;
|
|
|
|
/**
|
|
* 设备资质证书,技术材料相关
|
|
*/
|
|
@Slf4j
|
|
@RestController
|
|
public class DeviceAssetContractController extends BaseController {
|
|
@Value("${file_path}")
|
|
private String filePath;
|
|
@Resource
|
|
private DeviceAssetContractService deviceAssetContractService;
|
|
@Resource
|
|
private CustomerService customerService;
|
|
|
|
@AuthRuleAnnotation("")
|
|
@GetMapping("/inv/device/contract/filter")
|
|
public BaseResponse filterDeviceContract(FilterInvContractRequest filterInvContractRequest) {
|
|
List<DeviceAssetContractEntity> deviceAssetContractEntityList
|
|
= deviceAssetContractService.filterDeviceContract(filterInvContractRequest);
|
|
PageInfo<DeviceAssetContractEntity> pageInfo;
|
|
pageInfo = new PageInfo<>(deviceAssetContractEntityList);
|
|
PageSimpleResponse<DeviceAssetContractEntity> pageSimpleResponse = new PageSimpleResponse<>();
|
|
pageSimpleResponse.setTotal(pageInfo.getTotal());
|
|
pageSimpleResponse.setList(deviceAssetContractEntityList);
|
|
return ResultVOUtils.success(pageSimpleResponse);
|
|
}
|
|
|
|
@AuthRuleAnnotation("")
|
|
@PostMapping("/inv/info/insertDeviceContract")
|
|
@Log(title = "资质证书", businessType = BusinessType.INSERT)
|
|
public BaseResponse insertDeviceContract(@RequestBody DeviceAssetContractEntity deviceAssetContractEntity) {
|
|
String userId = customerService.getUserId()+ "";
|
|
LocalDate now = LocalDate.now();
|
|
deviceAssetContractEntity.setCreateTime(now);
|
|
deviceAssetContractEntity.setUpdateTime(now);
|
|
deviceAssetContractEntity.setCreateUser(userId);
|
|
deviceAssetContractEntity.setUpdateUser(userId);
|
|
deviceAssetContractEntity.setStatus(0);
|
|
deviceAssetContractEntity.setId(IdUtil.getSnowflakeNextId());
|
|
boolean b = deviceAssetContractService.insertDeviceContract(deviceAssetContractEntity);
|
|
return ResultVOUtils.success("成功");
|
|
}
|
|
|
|
@AuthRuleAnnotation("")
|
|
@PostMapping("/inv/info/deleteDeviceContract")
|
|
public BaseResponse deleteDeviceContract(@RequestBody DeleteDeviceFileRequest deleteDeviceFileRequest) {
|
|
boolean b = deviceAssetContractService.deleteById(deleteDeviceFileRequest.getId());
|
|
String URL = filePath + FileConstant.COMMON_FILE_PATH + deleteDeviceFileRequest.getFilePath();
|
|
File file = new File(URL);
|
|
if (file.exists() && file.isFile()) {
|
|
file.delete();
|
|
}
|
|
return ResultVOUtils.success("成功");
|
|
}
|
|
|
|
@AuthRuleAnnotation("")
|
|
@PostMapping("/inv/info/updateDeviceContract")
|
|
@Log(title = "资质证书", businessType = BusinessType.UPDATE)
|
|
public BaseResponse updateDeviceContract(@RequestBody PostDeviceContractRequest postDeviceContractRequest) {
|
|
DeviceAssetContractEntity deviceAssetContractEntity = new DeviceAssetContractEntity();
|
|
BeanUtils.copyProperties(postDeviceContractRequest, deviceAssetContractEntity);
|
|
|
|
LocalDateTime localDateTime1 = postDeviceContractRequest.getVailDate().atStartOfDay();
|
|
LocalDateTime localDateTime2= postDeviceContractRequest.getExpireDate().atStartOfDay();
|
|
Instant instant = localDateTime1.toInstant(ZoneOffset.UTC);
|
|
Instant instant2 = localDateTime2.toInstant(ZoneOffset.UTC);
|
|
long milliseconds = instant.toEpochMilli();
|
|
long milliseconds2 = instant2.toEpochMilli();
|
|
if (postDeviceContractRequest.getVailDate() != null && postDeviceContractRequest.getExpireDate() != null) {
|
|
if (milliseconds > milliseconds2) {
|
|
return ResultVOUtils.error( "生效期不能小于失效期!");
|
|
}
|
|
}
|
|
String userId = customerService.getUserId()+ "";
|
|
LocalDate now = LocalDate.now();
|
|
deviceAssetContractEntity.setUpdateTime(now);
|
|
deviceAssetContractEntity.setUpdateUser(userId);
|
|
boolean b = deviceAssetContractService.updateDeviceContract(deviceAssetContractEntity);
|
|
if (b){
|
|
return ResultVOUtils.success("修改成功");
|
|
}else {
|
|
return ResultVOUtils.error("修改失败!");
|
|
}
|
|
|
|
}
|
|
|
|
|
|
}
|