package org.jeecg.modules.eam.controller;
|
|
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
|
import com.baomidou.mybatisplus.core.metadata.IPage;
|
import com.baomidou.mybatisplus.core.toolkit.CollectionUtils;
|
import com.baomidou.mybatisplus.core.toolkit.ObjectUtils;
|
import com.baomidou.mybatisplus.core.toolkit.StringUtils;
|
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
import io.swagger.annotations.Api;
|
import io.swagger.annotations.ApiOperation;
|
import lombok.extern.slf4j.Slf4j;
|
import org.apache.poi.ss.usermodel.*;
|
import org.apache.poi.xssf.usermodel.XSSFWorkbook;
|
import org.apache.poi.xwpf.usermodel.*;
|
import org.apache.shiro.SecurityUtils;
|
import org.jeecg.common.api.dto.message.MessageDTO;
|
import org.jeecg.common.api.vo.Result;
|
import org.jeecg.common.aspect.annotation.AutoLog;
|
import org.jeecg.common.constant.CommonConstant;
|
import org.jeecg.common.system.api.ISysBaseAPI;
|
import org.jeecg.common.system.base.controller.JeecgController;
|
import org.jeecg.common.system.query.QueryGenerator;
|
import org.jeecg.common.system.vo.LoginUser;
|
import org.jeecg.modules.eam.entity.*;
|
import org.jeecg.modules.eam.model.MaintenanceCycleVo;
|
import org.jeecg.modules.eam.service.*;
|
import org.jeecg.modules.system.entity.*;
|
import org.jeecg.modules.system.service.*;
|
import org.jeecgframework.poi.excel.entity.ImportParams;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.context.annotation.Lazy;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.web.bind.annotation.*;
|
import org.springframework.web.multipart.MultipartFile;
|
import org.springframework.web.multipart.MultipartHttpServletRequest;
|
import org.springframework.web.servlet.ModelAndView;
|
|
import javax.annotation.Resource;
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.math.BigDecimal;
|
import java.util.Arrays;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
|
/**
|
* @Description: mom_eam_maintenance_standard
|
* @Author: jeecg-boot
|
* @Date: 2023-03-10
|
* @Version: V1.0
|
*/
|
@Api(tags = "预防性-保养标准")
|
@RestController
|
@RequestMapping("/eam/maintenanceStandard")
|
@Slf4j
|
public class MaintenanceStandardController extends JeecgController<MaintenanceStandard, IMaintenanceStandardService> {
|
@Autowired
|
private IMaintenanceStandardService maintenanceStandardService;
|
|
@Autowired
|
private IEamEquipmentService equipmentService;
|
|
@Autowired
|
private IMaintenanceStandardDetailService maintenanceStandardDetailService;
|
|
@Autowired
|
@Lazy
|
private IMaintenanceStandardPlanningMaterialService maintenanceStandardPlanningMaterialService;
|
|
@Autowired
|
@Lazy
|
private IMaintenanceStandardSafetyRequirementService maintenanceStandardSafetyRequirementService;
|
|
@Autowired
|
@Lazy
|
private IMaintenanceStandardWorkInstructionService maintenanceStandardWorkInstructionService;
|
|
@Autowired
|
private IMaintenanceProjectService maintenanceProjectService;
|
|
@Autowired
|
@Lazy
|
private IdentityService sysIdentityService;
|
@Autowired
|
@Lazy
|
private IMaintenanceProjectCategoryService maintenanceProjectCategoryService;
|
@Lazy
|
@Autowired
|
private IMaintenanceCycleService maintenanceCycleService;
|
|
|
|
// @Autowired
|
// private IUploadRelaService uploadRelaService;
|
//
|
// @Autowired
|
// private IUploadService uploadService;
|
@Autowired
|
private ISysBaseAPI sysBaseApi;
|
@Autowired
|
private ISysUserService sysUserService;
|
@Resource
|
private ISysRoleService sysRoleService;
|
@Resource
|
private ISysDictService sysDictService;
|
@Resource
|
private ISysDictItemService sysDictItemService;
|
@Resource
|
private ISysUserRoleService sysUserRoleService;
|
|
/**
|
* 分页列表查询
|
*
|
* @param maintenanceStandard
|
* @param pageNo
|
* @param pageSize
|
* @param req
|
* @return
|
*/
|
@ApiOperation(value = "预防性-保养标准-分页列表查询", notes = "预防性-保养标准-分页列表查询")
|
@GetMapping(value = "/list")
|
public Result<IPage<MaintenanceStandard>> queryPageList(MaintenanceStandard maintenanceStandard, @RequestParam(name = "pageNo", defaultValue = "1") Integer pageNo, @RequestParam(name = "pageSize", defaultValue = "10") Integer pageSize, HttpServletRequest req) {
|
QueryWrapper<MaintenanceStandard> queryWrapper = QueryGenerator.initQueryWrapper(maintenanceStandard, req.getParameterMap());
|
Page<MaintenanceStandard> page = new Page<MaintenanceStandard>(pageNo, pageSize);
|
IPage<MaintenanceStandard> pageList = maintenanceStandardService.page(page, queryWrapper);
|
return Result.OK(pageList);
|
}
|
|
/**
|
* 日常保养
|
* qsw 2023-4-26
|
*/
|
@GetMapping("getMaintenanceStandardList")
|
public Result<?> getMaintenanceStandardList(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) {
|
if(ObjectUtils.isNull(params.get("versionStatus"))|| StringUtils.isBlank((String)params.get("versionStatus"))){
|
params.put("versionStatus","2");
|
}
|
IPage<Map<String, Object>> maintenanceStandardList = maintenanceStandardService.getMaintenanceStandardList(pageNo, pageSize, params);
|
List<Map<String, Object>> records = maintenanceStandardList.getRecords();
|
for (Map<String, Object> record : records) {
|
String maintenanceStandardId = (String) record.get("id");
|
String equipmentId = (String) record.get("equipmentId");
|
List<Map<String, Object>> maintenanceStandardDetaillist = maintenanceStandardDetailService.getMaintenanceStandardDetailList(maintenanceStandardId,equipmentId);
|
record.put("maintenanceStandardDetaillist", maintenanceStandardDetaillist);
|
}
|
return Result.ok(maintenanceStandardList);
|
}
|
|
|
/**
|
* 二保 组件通过使用部门过滤获取保养标准
|
* qsw 2023-4-26
|
*/
|
@GetMapping("getMaintenanceStandard2List")
|
public Result<?> getMaintenanceStandard2List(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) {
|
IPage<Map<String, Object>> maintenanceStandardList = maintenanceStandardService.getMaintenanceStandard2List(pageNo, pageSize, params);
|
return Result.ok(maintenanceStandardList);
|
}
|
|
/**
|
* 三保 组件通过使用部门过滤获取保养标准
|
* qsw 2023-12-12
|
*/
|
@GetMapping("getMaintenanceStandard3List")
|
public Result<?> getMaintenanceStandard3List(@RequestParam("pageNo") Integer pageNo, @RequestParam("pageSize") Integer pageSize, @RequestParam Map<String, Object> params) {
|
IPage<Map<String, Object>> maintenanceStandardList = maintenanceStandardService.getMaintenanceStandard3List(pageNo, pageSize, params);
|
return Result.ok(maintenanceStandardList);
|
}
|
|
|
/**
|
* 添加
|
*
|
* @param maintenanceStandard
|
* @return
|
*/
|
@AutoLog(value = "日常保养标准-添加")
|
@ApiOperation(value = "日常保养标准-添加", notes = "日常保养标准-添加")
|
@PostMapping(value = "/add")
|
@Transactional(rollbackFor = {Exception.class})
|
public Result<String> add(@RequestBody MaintenanceStandard maintenanceStandard) {
|
// maintenanceStandard.setType("daily");
|
|
String maintenanceType = maintenanceStandard.getMaintenanceType();
|
String equipmentId = maintenanceStandard.getEquipmentId();
|
List<MaintenanceStandard> maintenanceStandards = maintenanceStandardService.lambdaQuery()
|
.eq(MaintenanceStandard::getEquipmentId, equipmentId)
|
.eq(MaintenanceStandard::getMaintenanceType, maintenanceType)
|
.eq(MaintenanceStandard::getDelFlag, "0")
|
.eq(MaintenanceStandard::getVersionStatus, "2").list();
|
if(maintenanceStandards.size() > 0){
|
return Result.error("保养标准已存在不允许重复提交!");
|
}
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
maintenanceStandard.setWritePerson(sysUser.getRealname());
|
maintenanceStandard.setAssignMode("1");
|
maintenanceStandardService.save(maintenanceStandard);
|
|
Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId());
|
List<MaintenanceCycleVo> maintenanceCycle = maintenanceStandardService.getPeriodicMaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType());
|
List<MaintenanceStandardDetail> maintenanceStandardDetaillist = maintenanceStandard.getMaintenanceStandardDetaillist();
|
for (MaintenanceStandardDetail maintenanceStandardDetail : maintenanceStandardDetaillist) {
|
if(maintenanceCycle.size() > 0){
|
maintenanceStandardDetail.setMaintenanceCycleId(maintenanceCycle.get(0).getValue());
|
}
|
maintenanceStandardDetail.setMaintenanceStandardId(maintenanceStandard.getId());
|
maintenanceStandardDetail.setPhoto(maintenanceStandardDetail.getPhoto());
|
maintenanceStandardDetailService.saveOrUpdate(maintenanceStandardDetail);
|
}
|
if("2".equals(maintenanceType)){
|
this.maintenance2StandardAlert(maintenanceStandard.getApprovalStatus(),maintenanceStandard.getNum());
|
}else{
|
this.maintenance3StandardAlert(maintenanceStandard.getApprovalStatus(),maintenanceStandard.getNum());
|
}
|
return Result.OK("添加成功!");
|
}
|
|
/**
|
* 编辑
|
*
|
* @param maintenanceStandard
|
* @return
|
*/
|
@AutoLog(value = "保养标准-编辑")
|
@ApiOperation(value = "保养标准-编辑", notes = "保养标准-编辑")
|
@RequestMapping(value = "/edit", method = {RequestMethod.PUT, RequestMethod.POST})
|
@Transactional(rollbackFor = {Exception.class})
|
public Result<String> edit(@RequestBody MaintenanceStandard maintenanceStandard) {
|
maintenanceStandard.setApprovalStatus("1");
|
maintenanceStandardService.updateById(maintenanceStandard);
|
//1.删除原保养项目
|
List<MaintenanceStandardDetail> maintenanceStandardDetailList = maintenanceStandardDetailService.lambdaQuery().eq(MaintenanceStandardDetail::getMaintenanceStandardId, maintenanceStandard.getId()).eq(MaintenanceStandardDetail::getDelFlag, 0).eq(MaintenanceStandardDetail::getStatus, "1").list();
|
for (MaintenanceStandardDetail dailyInspectionStandardDetail : maintenanceStandardDetailList) {
|
dailyInspectionStandardDetail.setDelFlag(1);
|
maintenanceStandardDetailService.updateById(dailyInspectionStandardDetail);
|
}
|
//2.重新持久保养项目
|
Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId());
|
List<MaintenanceCycleVo> maintenanceCycle = maintenanceStandardService.getPeriodicMaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType());
|
List<MaintenanceStandardDetail> maintenanceStandardDetails = maintenanceStandard.getMaintenanceStandardDetaillist();
|
for (MaintenanceStandardDetail maintenanceStandardDetail : maintenanceStandardDetails) {
|
if(maintenanceCycle.size() > 0){
|
maintenanceStandardDetail.setMaintenanceCycleId(maintenanceCycle.get(0).getValue());
|
}
|
maintenanceStandardDetail.setMaintenanceStandardId(maintenanceStandard.getId());
|
maintenanceStandardDetailService.saveOrUpdate(maintenanceStandardDetail);
|
}
|
if("2".equals(maintenanceStandard.getMaintenanceType())){
|
this.maintenance2StandardAlert(maintenanceStandard.getApprovalStatus(),maintenanceStandard.getNum());
|
}else{
|
this.maintenance3StandardAlert(maintenanceStandard.getApprovalStatus(),maintenanceStandard.getNum());
|
}
|
return Result.OK("编辑成功!");
|
}
|
|
/**
|
* 通过id删除
|
*
|
* @param id
|
* @return
|
*/
|
@AutoLog(value = "保养标准-通过id删除")
|
@ApiOperation(value = "保养标准-通过id删除", notes = "保养标准-通过id删除")
|
@DeleteMapping(value = "/delete")
|
public Result<String> delete(@RequestParam(name = "id", required = true) String id) {
|
MaintenanceStandard maintenanceStandard = maintenanceStandardService.getById(id);
|
maintenanceStandard.setDelFlag(1);
|
maintenanceStandardService.updateById(maintenanceStandard);
|
List<MaintenanceStandardDetail> maintenanceStandardDetails = maintenanceStandardDetailService.lambdaQuery().eq(MaintenanceStandardDetail::getMaintenanceStandardId, id).eq(MaintenanceStandardDetail::getDelFlag, 0).eq(MaintenanceStandardDetail::getStatus, "1").list();
|
for (MaintenanceStandardDetail maintenanceStandardDetail : maintenanceStandardDetails) {
|
maintenanceStandardDetail.setDelFlag(1);
|
maintenanceStandardDetailService.updateById(maintenanceStandardDetail);
|
}
|
return Result.OK("删除成功!");
|
}
|
|
/**
|
* 批量删除
|
*
|
* @param ids
|
* @return
|
*/
|
@AutoLog(value = "保养标准-批量删除")
|
@ApiOperation(value = "保养标准-批量删除", notes = "保养标准-批量删除")
|
@DeleteMapping(value = "/deleteBatch")
|
public Result<String> deleteBatch(@RequestParam(name = "ids", required = true) String ids) {
|
List<String> idList = Arrays.asList(ids.split(","));
|
for (String id : idList) {
|
MaintenanceStandard maintenanceStandard = maintenanceStandardService.getById(id);
|
maintenanceStandard.setDelFlag(1);
|
maintenanceStandardService.updateById(maintenanceStandard);
|
}
|
return Result.OK("批量删除成功!");
|
}
|
|
/**
|
* 通过id查询
|
*
|
* @param id
|
* @return
|
*/
|
@ApiOperation(value = "保养标准-通过id查询", notes = "保养标准-通过id查询")
|
@GetMapping(value = "/queryById")
|
public Result<MaintenanceStandard> queryById(@RequestParam(name = "id", required = true) String id) {
|
MaintenanceStandard maintenanceStandard = maintenanceStandardService.getById(id);
|
if (maintenanceStandard == null) {
|
return Result.error("未找到对应数据");
|
}
|
return Result.OK(maintenanceStandard);
|
}
|
|
/**
|
* 导出excel
|
*
|
* @param request
|
* @param maintenanceStandard
|
*/
|
@RequestMapping(value = "/exportXls")
|
public ModelAndView exportXls(HttpServletRequest request, MaintenanceStandard maintenanceStandard) {
|
return super.exportXls(request, maintenanceStandard, MaintenanceStandard.class, "mom_eam_maintenance_standard");
|
}
|
|
/**
|
* 通过excel导入数据
|
*
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping(value = "/importExcelOfTwoMaintenance", method = RequestMethod.POST)
|
public Result<?> importExcelOfTwoMaintenance(HttpServletRequest request, HttpServletResponse response) {
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
String exceptionInfo = "";
|
String msgInfo = "";
|
int exceptionNum = 0;
|
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
MultipartFile file = entity.getValue();
|
try {
|
InputStream fis = file.getInputStream();
|
XWPFDocument document = new XWPFDocument(fis);
|
XWPFParagraph mainTitleParagraph = document.getParagraphs().get(0);
|
if (mainTitleParagraph != null) {
|
// 获取主标题文本内容
|
String mainTitle = mainTitleParagraph.getText();
|
if(mainTitle.equals("生产设备二级保养规范")){
|
for (XWPFTable table : document.getTables()) {
|
// 遍历表格中的所有行
|
int rowNumber = 0;
|
String equipmentNum = "";
|
Equipment equipment = null;
|
MaintenanceStandard maintenanceStandard = null;
|
XWPFTableRow row0= table.getRow(0);
|
if(ObjectUtils.isNotNull(row0)){
|
XWPFTableCell cellEquipmentNum = row0.getCell(3);
|
if(ObjectUtils.isNotNull(cellEquipmentNum)){
|
equipmentNum =cellEquipmentNum.getText();
|
equipment = equipmentService.getOne(new QueryWrapper<Equipment>().eq("num",equipmentNum).eq("del_flag",0),false);
|
if(ObjectUtils.isNotNull(equipment)){
|
maintenanceStandard = maintenanceStandardService.getOne(new QueryWrapper<MaintenanceStandard>().eq("maintenance_type","2").eq("version_status","2").eq("del_flag",0).eq("equipment_id",equipment.getId()),false);
|
if(ObjectUtils.isNull(maintenanceStandard)){
|
maintenanceStandard = new MaintenanceStandard();
|
maintenanceStandard.setNum(sysIdentityService.getNumByTypeAndLength("DailyMaintenanceStandard",4));
|
maintenanceStandard.setEquipmentId(equipment.getId());
|
maintenanceStandard.setAssignMode("1");
|
maintenanceStandard.setVersion("1.0");
|
maintenanceStandard.setType("daily");
|
maintenanceStandard.setMaintenanceType("2");
|
maintenanceStandard.setVersionStatus("2");
|
maintenanceStandard.setDelFlag(0);
|
maintenanceStandard.setApprovalStatus("5");
|
maintenanceStandardService.save(maintenanceStandard);
|
}
|
else {
|
msgInfo += equipment.getNum()+ ",";
|
continue;
|
}
|
}
|
else {
|
|
continue;
|
}
|
}
|
else {
|
continue;
|
}
|
}
|
else {
|
continue;
|
}
|
String role0 = "";
|
for (XWPFTableRow row : table.getRows()) {
|
XWPFTableCell cell0 = row.getCell(0);
|
XWPFTableCell cell2 = row.getCell(2);
|
if(rowNumber>1){
|
String role = cell0.getText();
|
if(StringUtils.isNotBlank(role)){
|
role0=role;
|
}
|
}
|
if(rowNumber>2){
|
String projectName = cell2.getText();
|
MaintenanceStandardDetail maintenanceStandardDetail = new MaintenanceStandardDetail();
|
MaintenanceProjectCategory maintenanceProjectCategory = maintenanceProjectCategoryService.getOne(new QueryWrapper<MaintenanceProjectCategory>().eq("name","二级保养").eq("del_flag",0),false);
|
if(ObjectUtils.isNotNull(maintenanceProjectCategory)){
|
MaintenanceProject maintenanceProject = maintenanceProjectService.getOne(new QueryWrapper<MaintenanceProject>().eq("name",projectName).eq("del_flag",0).eq("maintenance_project_category_id",maintenanceProjectCategory.getId()),false);
|
MaintenanceCycle maintenanceCycle = maintenanceCycleService.getOne(new QueryWrapper<MaintenanceCycle>().eq("name","6月").eq("version_status",2).eq("del_flag",0),false);
|
if (!ObjectUtils.isNotNull(maintenanceProject)) {
|
maintenanceProject = new MaintenanceProject();
|
maintenanceProject.setNum(sysIdentityService.getNumByTypeAndLength("MainOfTwo", 4));
|
maintenanceProject.setName(projectName);
|
maintenanceProject.setMaintenanceProjectCategoryId(maintenanceProjectCategory.getId());
|
maintenanceProject.setDelFlag(0);
|
maintenanceProjectService.save(maintenanceProject);
|
}
|
maintenanceStandardDetail.setMaintenanceProjectId(maintenanceProject.getId());
|
if(role0.equals("维修人员保养内容")){
|
maintenanceStandardDetail.setMaintenanceRole("maintenance");
|
} else if(role0.equals("操作人员保养内容")){
|
maintenanceStandardDetail.setMaintenanceRole("operator");
|
}
|
if(ObjectUtils.isNotNull(maintenanceCycle)){
|
maintenanceStandardDetail.setMaintenanceCycleId(maintenanceCycle.getId());
|
}
|
maintenanceStandardDetail.setDelFlag(0);
|
maintenanceStandardDetail.setMaintenanceStandardId(maintenanceStandard.getId());
|
maintenanceStandardDetailService.save(maintenanceStandardDetail);
|
|
}
|
|
}
|
rowNumber++;
|
}
|
}
|
}
|
if(mainTitle.equals("生产设备三级保养规范")){
|
|
for (XWPFTable table : document.getTables()) {
|
// 遍历表格中的所有行
|
int rowNumber = 0;
|
String equipmentNum = "";
|
Equipment equipment = null;
|
MaintenanceStandard maintenanceStandard = null;
|
MaintenanceCycle maintenanceCycle = null;
|
XWPFTableRow row0= table.getRow(0);
|
if(ObjectUtils.isNotNull(row0)){
|
XWPFTableCell cellEquipmentNum = row0.getCell(3);
|
if(ObjectUtils.isNotNull(cellEquipmentNum)){
|
equipmentNum =cellEquipmentNum.getText();
|
equipment = equipmentService.getOne(new QueryWrapper<Equipment>().eq("num",equipmentNum).eq("del_flag",0),false);
|
if(ObjectUtils.isNotNull(equipment)){
|
maintenanceStandard = maintenanceStandardService.getOne(new QueryWrapper<MaintenanceStandard>().eq("maintenance_type","3").eq("version_status",2).eq("del_flag",0).eq("equipment_id",equipment.getId()),false);
|
String abc = equipment.getEquipmentImportanceId();
|
if(StringUtils.isNotBlank(abc)){
|
if(abc.equals("A")){
|
maintenanceCycle = maintenanceCycleService.getOne(new QueryWrapper<MaintenanceCycle>().eq("name","3年").eq("version_status",2).eq("del_flag",0),false);
|
}else {
|
maintenanceCycle = maintenanceCycleService.getOne(new QueryWrapper<MaintenanceCycle>().eq("name","4年").eq("version_status",2).eq("del_flag",0),false);
|
}
|
}
|
else{
|
return Result.error("导入失败,该设备没有维护ABC标识");
|
}
|
if(ObjectUtils.isNull(maintenanceStandard)){
|
maintenanceStandard = new MaintenanceStandard();
|
maintenanceStandard.setNum(sysIdentityService.getNumByTypeAndLength("DailyMaintenanceStandard",4));
|
maintenanceStandard.setEquipmentId(equipment.getId());
|
maintenanceStandard.setAssignMode("1");
|
maintenanceStandard.setVersion("1.0");
|
maintenanceStandard.setVersionStatus("2");
|
maintenanceStandard.setType("daily");
|
maintenanceStandard.setMaintenanceType("3");
|
maintenanceStandard.setApprovalStatus("5");
|
maintenanceStandardService.save(maintenanceStandard);
|
}
|
else {
|
msgInfo += equipment.getNum()+ ",";
|
continue;
|
}
|
}
|
else {
|
continue;
|
}
|
}
|
else {
|
continue;
|
}
|
}
|
else {
|
continue;
|
}
|
String location0 = "";
|
for (XWPFTableRow row : table.getRows()) {
|
XWPFTableCell cell0 = row.getCell(0);
|
XWPFTableCell cell1 = row.getCell(1);
|
XWPFTableCell cell2 = row.getCell(2);
|
if(rowNumber>2){
|
String location = cell0.getText();
|
if(StringUtils.isNotBlank(location)){
|
location0=location;
|
}
|
String projectName = cell1.getText();
|
String projectStandard = cell2.getText();
|
MaintenanceStandardDetail maintenanceStandardDetail = new MaintenanceStandardDetail();
|
MaintenanceProjectCategory maintenanceProjectCategory = maintenanceProjectCategoryService.getOne(new QueryWrapper<MaintenanceProjectCategory>().eq("name","三级保养").eq("del_flag",0),false);
|
if(ObjectUtils.isNotNull(maintenanceProjectCategory)){
|
MaintenanceProject maintenanceProject = maintenanceProjectService.getOne(new QueryWrapper<MaintenanceProject>().eq("name",projectName).eq("standard",projectStandard).eq("del_flag",0).eq("maintenance_project_category_id",maintenanceProjectCategory.getId()),false);
|
if (!ObjectUtils.isNotNull(maintenanceProject)) {
|
maintenanceProject = new MaintenanceProject();
|
maintenanceProject.setNum(sysIdentityService.getNumByTypeAndLength("MainOfTwo", 4));
|
maintenanceProject.setName(projectName);
|
maintenanceProject.setStandard(projectStandard);
|
maintenanceProject.setLocation(location0);
|
maintenanceProject.setMaintenanceProjectCategoryId(maintenanceProjectCategory.getId());
|
maintenanceProject.setDelFlag(0);
|
maintenanceProjectService.save(maintenanceProject);
|
}
|
maintenanceStandardDetail.setMaintenanceProjectId(maintenanceProject.getId());
|
maintenanceStandardDetail.setLocation(location0);
|
maintenanceStandardDetail.setMaintenanceCycleId(maintenanceCycle.getId());
|
maintenanceStandardDetail.setMaintenanceStandardId(maintenanceStandard.getId());
|
maintenanceStandardDetailService.save(maintenanceStandardDetail);
|
}
|
|
}
|
rowNumber++;
|
}
|
}
|
}
|
if(msgInfo == ""){
|
return Result.OK("导入成功");
|
}else{
|
return Result.OK("统一编码是:"+msgInfo+"的保养标准已存在,请先手动失效再重新导入!");
|
}
|
} else {
|
System.out.println("无法解析该文件");
|
}
|
|
fis.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
|
}
|
return Result.error("文件导入失败!");
|
}
|
/**
|
* 通过excel导入数据
|
*
|
* @param request
|
* @param response
|
* @return
|
*/
|
@RequestMapping(value = "/importExcelOfThreeMaintenance", method = RequestMethod.POST)
|
public Result<?> importExcelOfThreeMaintenance(HttpServletRequest request, HttpServletResponse response) {
|
MultipartHttpServletRequest multipartRequest = (MultipartHttpServletRequest) request;
|
LoginUser user= (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
Map<String, MultipartFile> fileMap = multipartRequest.getFileMap();
|
String exceptionInfo = "";
|
int exceptionNum = 0;
|
for (Map.Entry<String, MultipartFile> entity : fileMap.entrySet()) {
|
MultipartFile file = entity.getValue();
|
try {
|
InputStream fis = file.getInputStream();
|
XWPFDocument document = new XWPFDocument(fis);
|
XWPFParagraph mainTitleParagraph = document.getParagraphs().get(0);
|
if (mainTitleParagraph != null) {
|
// 获取主标题文本内容
|
String mainTitle = mainTitleParagraph.getText();
|
|
} else {
|
System.out.println("无法解析该文件");
|
}
|
|
fis.close();
|
} catch (IOException e) {
|
e.printStackTrace();
|
}
|
|
}
|
return Result.error("文件导入失败!");
|
}
|
|
/**
|
* 版本升级
|
*/
|
@PostMapping(value = "/revise")
|
@Transactional(rollbackFor = { Exception.class })
|
public Result<String> revise(@RequestBody MaintenanceStandard maintenanceStandard) {
|
//计划用料
|
List<MaintenanceStandardPlanningMaterial> maintenanceStandardPlanningMaterialList = maintenanceStandardPlanningMaterialService.lambdaQuery().eq(MaintenanceStandardPlanningMaterial::getMaintenanceStandardId,maintenanceStandard.getId())
|
.eq(MaintenanceStandardPlanningMaterial::getDelFlag, CommonConstant.DEL_FLAG_0).list();
|
//危险防控
|
List<MaintenanceStandardSafetyRequirement> maintenanceStandardSafetyRequirementList = maintenanceStandardSafetyRequirementService.lambdaQuery().eq(MaintenanceStandardSafetyRequirement::getMaintenanceStandardId,maintenanceStandard.getId())
|
.eq(MaintenanceStandardSafetyRequirement::getDelFlag, CommonConstant.DEL_FLAG_0).list();
|
//作业指导书
|
List<MaintenanceStandardWorkInstruction> maintenanceStandardWorkInstructionList = maintenanceStandardWorkInstructionService.lambdaQuery().eq(MaintenanceStandardWorkInstruction::getMaintenanceStandardId,maintenanceStandard.getId())
|
.eq(MaintenanceStandardWorkInstruction::getDelFlag, CommonConstant.DEL_FLAG_0).list();
|
|
maintenanceStandard.setId("");
|
maintenanceStandard.setCreateTime(new Date());
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
maintenanceStandard.setWritePerson(sysUser.getRealname());
|
maintenanceStandard.setApprovalStatus("1");
|
maintenanceStandard.setTakeEffectTime(null);
|
maintenanceStandard.setLoseEfficacyTime(null);
|
maintenanceStandard.setApprovalFeedback(null);
|
maintenanceStandard.setAuditFeedback(null);
|
maintenanceStandard.setAuditPerson(null);
|
maintenanceStandard.setApprovalPerson(null);
|
maintenanceStandardService.save(maintenanceStandard);
|
//明细信息
|
List<MaintenanceStandardDetail> maintenanceStandardDetailList = maintenanceStandard.getMaintenanceStandardDetaillist();
|
MaintenanceStandardDetail isd = null;
|
Equipment equipment = equipmentService.getById(maintenanceStandard.getEquipmentId());
|
List<MaintenanceCycleVo> maintenanceCycle = maintenanceStandardService.getPeriodicMaintenanceCycle(equipment.getEquipmentImportanceId(), maintenanceStandard.getMaintenanceType());
|
for (MaintenanceStandardDetail maintenanceStandardDetail : maintenanceStandardDetailList) {
|
isd = new MaintenanceStandardDetail();
|
isd.setMaintenanceStandardId(maintenanceStandard.getId());
|
isd.setLocation(maintenanceStandardDetail.getLocation());
|
isd.setPhoto(maintenanceStandardDetail.getPhoto());
|
isd.setMaintenanceProjectId(maintenanceStandardDetail.getMaintenanceProjectId());
|
// isd.setMaintenanceCycleId(maintenanceStandardDetail.getMaintenanceCycleId());
|
isd.setMaintenanceMode(maintenanceStandardDetail.getMaintenanceMode());
|
isd.setMaintenanceRequire(maintenanceStandardDetail.getMaintenanceRequire());
|
isd.setMaintenanceRole(maintenanceStandardDetail.getMaintenanceRole());
|
if(maintenanceCycle.size() > 0){
|
isd.setMaintenanceCycleId(maintenanceCycle.get(0).getValue());
|
}
|
maintenanceStandardDetailService.save(isd);
|
}
|
if(CollectionUtils.isNotEmpty(maintenanceStandardPlanningMaterialList)){
|
for(MaintenanceStandardPlanningMaterial maintenanceStandardPlanningMaterial : maintenanceStandardPlanningMaterialList){
|
MaintenanceStandardPlanningMaterial mspm = new MaintenanceStandardPlanningMaterial();
|
mspm.setMaintenanceStandardId(maintenanceStandard.getId());
|
mspm.setSparePartId(maintenanceStandardPlanningMaterial.getSparePartId());
|
mspm.setQuantity(maintenanceStandardPlanningMaterial.getQuantity());
|
mspm.setRemark(maintenanceStandardPlanningMaterial.getRemark());
|
maintenanceStandardPlanningMaterialService.save(mspm);
|
}
|
}
|
if(CollectionUtils.isNotEmpty(maintenanceStandardSafetyRequirementList)){
|
for(MaintenanceStandardSafetyRequirement maintenanceStandardSafetyRequirement : maintenanceStandardSafetyRequirementList){
|
MaintenanceStandardSafetyRequirement mssr = new MaintenanceStandardSafetyRequirement();
|
mssr.setMaintenanceStandardId(maintenanceStandard.getId());
|
mssr.setRiskPreventionId(maintenanceStandardSafetyRequirement.getRiskPreventionId());
|
maintenanceStandardSafetyRequirementService.save(mssr);
|
}
|
}
|
if(CollectionUtils.isNotEmpty(maintenanceStandardWorkInstructionList)){
|
for(MaintenanceStandardWorkInstruction maintenanceStandardWorkInstruction : maintenanceStandardWorkInstructionList){
|
MaintenanceStandardWorkInstruction mswi = new MaintenanceStandardWorkInstruction();
|
mswi.setMaintenanceStandardId(maintenanceStandard.getId());
|
mswi.setWorkInstructionId(maintenanceStandardWorkInstruction.getWorkInstructionId());
|
mswi.setNum(maintenanceStandardWorkInstruction.getNum());
|
maintenanceStandardWorkInstructionService.save(mswi);
|
}
|
}
|
return Result.OK("添加成功!");
|
}
|
|
/**
|
* 日常保养标准升版
|
*
|
*/
|
@RequestMapping("/getReviseVersion")
|
public Result<?> getReviseVersion(@RequestBody MaintenanceStandard maintenanceStandard) {
|
List<MaintenanceStandard> maintenanceStandardList = maintenanceStandardService.lambdaQuery().eq(MaintenanceStandard::getNum, maintenanceStandard.getNum())
|
.orderByDesc(MaintenanceStandard::getVersion).list();
|
String version = maintenanceStandardList.get(0).getVersion();
|
BigDecimal versionB = null;
|
if(StringUtils.isBlank(version)){
|
versionB = new BigDecimal(0);
|
}else{
|
versionB = new BigDecimal(version);
|
}
|
BigDecimal versionCode = versionB.add(new BigDecimal(1));
|
return Result.ok(versionCode.toString());
|
}
|
|
/**
|
* 版本生效
|
*/
|
@RequestMapping(value = "/versionTakeEffect", method = {RequestMethod.PUT,RequestMethod.POST})
|
@Transactional(rollbackFor = { Exception.class })
|
public Result<String> versionTakeEffect(@RequestBody MaintenanceStandard maintenanceStandard) {
|
|
// List<MaintenanceStandard> maintenanceStandardList = maintenanceStandardService.lambdaQuery()
|
// .eq(MaintenanceStandard::getNum, maintenanceStandard.getNum())
|
// .eq(MaintenanceStandard::getVersionStatus, "2").list();
|
// for (MaintenanceStandard standard : maintenanceStandardList) {
|
// standard.setVersionStatus("3");
|
// standard.setLoseEfficacyTime(new Date());
|
// maintenanceStandardService.updateById(standard);
|
// }
|
// maintenanceStandard.setTakeEffectTime(new Date());
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
maintenanceStandard.setLoseEfficacyPerson(sysUser.getRealname());
|
maintenanceStandard.setLoseEfficacyTime(new Date());
|
boolean b = maintenanceStandardService.updateById(maintenanceStandard);
|
if (b){
|
return Result.OK("失效成功!");
|
}else{
|
return Result.error("失效失败!");
|
}
|
}
|
|
/**
|
* 签审流程
|
* qsw 2023-11-16
|
*/
|
@RequestMapping(value = "/auditApproval", method = {RequestMethod.PUT,RequestMethod.POST})
|
@Transactional(rollbackFor = { Exception.class })
|
public Result<String> auditApproval(@RequestBody MaintenanceStandard maintenanceStandard) {
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
String approvalStatus = maintenanceStandard.getApprovalStatus();
|
if("5".equals(approvalStatus)){//审核通过后,版本生效
|
List<MaintenanceStandard> dailyMaintenanceStandards = maintenanceStandardService.lambdaQuery()
|
.eq(MaintenanceStandard::getNum, maintenanceStandard.getNum())
|
.eq(MaintenanceStandard::getVersionStatus, "2").list();
|
for (MaintenanceStandard dailyMaintenanceStandard : dailyMaintenanceStandards) {
|
dailyMaintenanceStandard.setVersionStatus("3");
|
dailyMaintenanceStandard.setLoseEfficacyTime(new Date());
|
dailyMaintenanceStandard.setLoseEfficacyPerson(sysUser.getRealname());
|
maintenanceStandardService.updateById(dailyMaintenanceStandard);
|
}
|
maintenanceStandard.setApprovalPerson(sysUser.getRealname());
|
maintenanceStandard.setVersionStatus("2");
|
maintenanceStandard.setTakeEffectTime(new Date());
|
}else if("3".equals(approvalStatus)){
|
maintenanceStandard.setAuditPerson(sysUser.getRealname());
|
}
|
boolean b = maintenanceStandardService.updateById(maintenanceStandard);
|
if (b){
|
//签审流程消息通知
|
if(!"5".equals(approvalStatus)){//已编制
|
if("2".equals(maintenanceStandard.getMaintenanceType())){
|
this.maintenance2StandardAlert(approvalStatus,maintenanceStandard.getNum());
|
}else{
|
this.maintenance3StandardAlert(approvalStatus,maintenanceStandard.getNum());
|
}
|
}
|
return Result.OK("审核成功!");
|
}else{
|
return Result.error("审核失败!");
|
}
|
}
|
|
/**
|
*二级保养标准签审流程消息提醒
|
* qsw 2024-3-11
|
*/
|
void maintenance2StandardAlert(String approvalStatus,String standardNum){
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false);
|
SysDictItem sysDictItem = null;
|
String roleDictItem = "";
|
if("1".equals(approvalStatus)){//已编制
|
roleDictItem = "二级保养标准审核";
|
sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
|
.eq("item_text","二级保养标准审核")
|
.eq("dict_id",sysDict.getId()),false);
|
}else if("2".equals(approvalStatus)){//驳回编制
|
roleDictItem = "二级保养标准编制";
|
sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
|
.eq("item_text","二级保养标准编制")
|
.eq("dict_id",sysDict.getId()),false);
|
}else if("3".equals(approvalStatus)){//已审核
|
roleDictItem = "二级保养标准审批";
|
sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
|
.eq("item_text","二级保养标准审批")
|
.eq("dict_id",sysDict.getId()),false);
|
}else if("4".equals(approvalStatus)){//驳回审核
|
roleDictItem = "二级保养标准审核";
|
sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
|
.eq("item_text","二级保养标准审核")
|
.eq("dict_id",sysDict.getId()),false);
|
}
|
String roleCode = sysDictItem.getItemValue();
|
SysRole sysRole = sysRoleService.getOne(new QueryWrapper<SysRole>().eq("role_code",roleCode),false);
|
List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>().eq("role_id",sysRole.getId()));
|
for(SysUserRole sysUserRole:sysUserRoles){
|
SysUser user = sysUserService.getById(sysUserRole.getUserId());
|
String msg = "";
|
if("1".equals(approvalStatus)){
|
msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的二级保养标准编制成功,请到二级保养标准页面审核!";
|
}else if("2".equals(approvalStatus)){
|
msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的二级保养标准已驳回,请到二级保养标准页面查看!";
|
}else if("3".equals(approvalStatus)){
|
msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的二级保养标准审核通过,请到二级保养标准页面审批!";
|
}else if("4".equals(approvalStatus)){
|
msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的二级保养标准已驳回,请到二级保养标准页面查看!";
|
}
|
MessageDTO messageDTO = new MessageDTO();
|
messageDTO.setTitle("二级保养标准签审消息提醒!");
|
messageDTO.setContent(msg);
|
messageDTO.setCategory(roleDictItem);
|
messageDTO.setFromUser("二级保养标准签审消息提醒提醒小助手");
|
messageDTO.setToUser(user.getUsername());
|
sysBaseApi.sendSysAnnouncement(messageDTO);
|
}
|
}
|
|
/**
|
*三级保养标准签审流程消息提醒
|
* qsw 2024-3-11
|
*/
|
void maintenance3StandardAlert(String approvalStatus,String standardNum){
|
|
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
SysDict sysDict = sysDictService.getOne(new QueryWrapper<SysDict>().eq("dict_code","info_type"),false);
|
SysDictItem sysDictItem = null;
|
String roleDictItem = "";
|
if("1".equals(approvalStatus)){//已编制
|
roleDictItem = "三级保养标准审核";
|
sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
|
.eq("item_text","三级保养标准审核")
|
.eq("dict_id",sysDict.getId()),false);
|
}else if("2".equals(approvalStatus)){//驳回编制
|
roleDictItem = "三级保养标准编制";
|
sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
|
.eq("item_text","三级保养标准编制")
|
.eq("dict_id",sysDict.getId()),false);
|
}else if("3".equals(approvalStatus)){//已审核
|
roleDictItem = "三级保养标准审批";
|
sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
|
.eq("item_text","三级保养标准审批")
|
.eq("dict_id",sysDict.getId()),false);
|
}else if("4".equals(approvalStatus)){//驳回审核
|
roleDictItem = "三级保养标准审核";
|
sysDictItem = sysDictItemService.getOne(new QueryWrapper<SysDictItem>()
|
.eq("item_text","三级保养标准审核")
|
.eq("dict_id",sysDict.getId()),false);
|
}
|
String roleCode = sysDictItem.getItemValue();
|
SysRole sysRole = sysRoleService.getOne(new QueryWrapper<SysRole>().eq("role_code",roleCode),false);
|
List<SysUserRole> sysUserRoles = sysUserRoleService.list(new QueryWrapper<SysUserRole>().eq("role_id",sysRole.getId()));
|
for(SysUserRole sysUserRole:sysUserRoles){
|
SysUser user = sysUserService.getById(sysUserRole.getUserId());
|
String msg = "";
|
if("1".equals(approvalStatus)){
|
msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的三级保养标准编制成功,请到三级保养标准页面审核!";
|
}else if("2".equals(approvalStatus)){
|
msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的三级保养标准已驳回,请到三级保养标准页面查看!";
|
}else if("3".equals(approvalStatus)){
|
msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的三级保养标准审核通过,请到三级保养标准页面审批!";
|
}else if("4".equals(approvalStatus)){
|
msg = "【"+sysUser.getRealname()+"】"+"将【"+standardNum+"】的三级保养标准已驳回,请到三级保养标准页面查看!";
|
}
|
MessageDTO messageDTO = new MessageDTO();
|
messageDTO.setTitle("三级保养标准签审消息提醒!");
|
messageDTO.setContent(msg);
|
messageDTO.setCategory(roleDictItem);
|
messageDTO.setFromUser("三级保养标准签审消息提醒提醒小助手");
|
messageDTO.setToUser(user.getUsername());
|
sysBaseApi.sendSysAnnouncement(messageDTO);
|
}
|
}
|
|
|
// 获取合并单元格的值
|
private String getMergedCellValue(XWPFTableCell cell) {
|
// 对于合并单元格,获取第一个段落的文本作为合并单元格的值
|
return cell.getParagraphs().get(0).getText();
|
}
|
|
|
}
|