增加编辑功能

This commit is contained in:
pengjie 2023-10-12 16:47:51 +08:00
parent 7ea97dfb7e
commit 2cf24c26c5
9 changed files with 115 additions and 50 deletions

View File

@ -1,12 +1,16 @@
package com.zhgd.xmgl.modules.basicdata.controller.government;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.xmgl.modules.basicdata.dto.ProjectDto;
import com.zhgd.xmgl.modules.basicdata.entity.Enterprise;
import com.zhgd.xmgl.modules.basicdata.entity.Project;
import com.zhgd.xmgl.modules.basicdata.entity.SystemUser;
import com.zhgd.xmgl.modules.basicdata.service.IProjectService;
import com.zhgd.xmgl.modules.basicdata.service.ISystemUserService;
import com.zhgd.xmgl.modules.basicdata.vo.ProjectVo;
import com.zhgd.xmgl.modules.wisdom.dto.MapAiAlarmDto;
import com.zhgd.xmgl.modules.wisdom.dto.MapEnvironAlarmDto;
import com.zhgd.xmgl.modules.wisdom.service.IAiMonitorAlarmService;
@ -45,6 +49,9 @@ public class GovProjectController {
@Autowired
private IProjectService projectService;
@Autowired
private ISystemUserService systemUserService;
@Autowired
private IAiMonitorAlarmService aiMonitorAlarmService;
@ -131,6 +138,31 @@ public class GovProjectController {
return result;
}
@OperLog(operModul = "项目管理", operType = "修改", operDesc = "项目修改")
@ApiOperation(value = "项目修改", notes = "项目修改", httpMethod = "POST")
@PostMapping(value = "/update")
public Result<Object> update(@ApiIgnore @RequestBody ProjectVo projectVo) {
Result<Object> result = new Result<Object>();
Project project = projectService.getById(projectVo.getProjectId());
if (project == null) {
result.error500("未找到对应实体");
} else {
// 检验项目账号是否已存在
SystemUser systemUser = systemUserService.getOne(Wrappers.<SystemUser>lambdaQuery().eq(SystemUser::getAccount, projectVo.getAccount())
.ne(SystemUser::getSn, project.getProjectSn()));
if (systemUser != null) {
result.error500("该用户账号已被使用");
return result;
}
projectVo.setProjectSn(project.getProjectSn());
boolean ok = projectService.updateInfo(projectVo);
if (ok) {
result.success("修改成功!");
}
}
return result;
}
/**
* 通过项目SN查询项目详细信息
*

View File

@ -13,6 +13,7 @@ import com.zhgd.xmgl.modules.basicdata.entity.EngineeringSingle;
import com.zhgd.xmgl.modules.basicdata.service.IEngineeringService;
import com.zhgd.xmgl.modules.basicdata.statistics.EngineeringStat;
import com.zhgd.xmgl.modules.basicdata.vo.EngineeringVo;
import com.zhgd.xmgl.security.SecurityUtil;
import com.zhgd.xmgl.valid.AddGroup;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
@ -21,10 +22,7 @@ import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.annotation.Validated;
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 org.springframework.web.bind.annotation.*;
import springfox.documentation.annotations.ApiIgnore;
import java.util.List;
@ -87,6 +85,22 @@ public class EngineeringController {
return result;
}
/**
* 查询是否有未提交的报监信息
* @param
* @return
*/
@OperLog(operModul = "工程管理", operType = "新增", operDesc = "查询是否有未提交的报监信息")
@ApiOperation(value = "查询是否有未提交的报监信息", notes = "查询是否有未提交的报监信息", httpMethod = "GET")
@GetMapping(value = "/queryUnAdd")
public Result<Engineering> queryUnAdd() {
Result<Engineering> result = new Result<Engineering>();
Engineering engineering = engineeringService.getOne(Wrappers.<Engineering>lambdaQuery()
.eq(Engineering::getExamineState, 0).eq(Engineering::getProjectSn, SecurityUtil.getUser().getSn()));
result.data(engineering == null ? null : engineeringService.queryDetailById(engineering.getId()));
return result;
}
/**
* 再次申请
*

View File

@ -270,9 +270,9 @@ public class Engineering implements Serializable {
@ApiModelProperty(value = "项目报监时间")
private Date createTime;
/**
* 工程审核状态(1:待审批;2:审批驳回;3:审批通过;)
* 工程审核状态(0:保存不提交;1:待审批;2:审批驳回;3:审批通过;)
*/
@ApiModelProperty(value = "工程审核状态(1:待审批;2:审批驳回;3:审批通过;)")
@ApiModelProperty(value = "工程审核状态(0:保存不提交;1:待审批;2:审批驳回;3:审批通过;)")
private Integer examineState;
/**
* 审核时间

View File

@ -2,7 +2,7 @@
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.zhgd.xmgl.modules.basicdata.mapper.ProjectMapper">
<sql id="detailInfo">
p.project_sn, p.project_id, p.project_name, p.state, p.project_manage, p.project_address, p.project_tel, u.account, u.show_password, u.email, u.user_tel, g.government_name,
p.project_sn, p.project_id, p.project_name, p.state, p.project_manage, p.project_address, p.government_sn, p.project_tel, u.account, u.show_password, u.email, u.user_tel, g.government_name,
p.longitude, p.latitude
</sql>

View File

@ -26,6 +26,8 @@ public interface IProjectService extends IService<Project> {
boolean saveInfo(ProjectVo projectVo);
boolean updateInfo(ProjectVo projectVo);
boolean examine(Project project, Integer suggest);
List<String> getSnListForGov(String governmentSn);

View File

@ -99,10 +99,7 @@ public class EngineeringServiceImpl extends ServiceImpl<EngineeringMapper, Engin
@Override
public boolean updateInfo(EngineeringVo engineeringVo) {
if (engineeringVo.getExamineState() != 3) {
engineeringVo.setExamineState(1);
engineeringVo.setRejectReason("");
}
engineeringVo.setRejectReason("");
this.updateById(engineeringVo);
engineeringSingleService.delDetail(engineeringVo.getEngineeringSn());
return engineeringSingleService.saveDetail(engineeringVo);
@ -111,11 +108,9 @@ public class EngineeringServiceImpl extends ServiceImpl<EngineeringMapper, Engin
@Override
public boolean saveInfo(EngineeringVo engineeringVo) {
SecurityUser user = SecurityUtil.getUser();
engineeringVo.setState(1);
engineeringVo.setCreateTime(new Date());
engineeringVo.setProjectSn(user.getSn());
engineeringVo.setEngineeringSn(CommonUtil.getUUid());
engineeringVo.setExamineState(1);
this.save(engineeringVo);
return engineeringSingleService.saveDetail(engineeringVo);
}

View File

@ -1,22 +1,20 @@
package com.zhgd.xmgl.modules.basicdata.service.impl;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.zhgd.xmgl.modules.basicdata.entity.*;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.xmgl.modules.basicdata.entity.AnnexFile;
import com.zhgd.xmgl.modules.basicdata.entity.EngineeringMain;
import com.zhgd.xmgl.modules.basicdata.entity.EngineeringMainPerson;
import com.zhgd.xmgl.modules.basicdata.entity.EngineeringSingle;
import com.zhgd.xmgl.modules.basicdata.mapper.EngineeringSingleMapper;
import com.zhgd.xmgl.modules.basicdata.service.*;
import com.zhgd.xmgl.modules.basicdata.vo.EngineeringVo;
import com.zhgd.xmgl.modules.safety.entity.EnterpriseScore;
import com.zhgd.xmgl.modules.safety.service.IEnterpriseScoreService;
import com.zhgd.xmgl.security.SecurityUtil;
import com.zhgd.xmgl.util.ParamEnum;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.stream.Collectors;
@ -51,29 +49,35 @@ public class EngineeringSingleServiceImpl extends ServiceImpl<EngineeringSingleM
engineeringSingle.setEngineeringSn(engineeringVo.getEngineeringSn());
}
this.saveBatch(engineeringVo.getEngineeringSingles());
for (AnnexFile annexFile : engineeringVo.getAnnexFiles()) {
annexFile.setRelevanceId(engineeringVo.getEngineeringSn());
annexFile.setFileType(ParamEnum.AnnexFileType.ENGINEERING.getValue());
}
annexFileService.saveBatch(engineeringVo.getAnnexFiles());
List<EnterpriseScore> scoreList = new ArrayList<>();
for (EngineeringMain engineeringMain : engineeringVo.getEngineeringMains()) {
engineeringMain.setEngineeringSn(engineeringVo.getEngineeringSn());
engineeringMainService.save(engineeringMain);
for (EngineeringMainPerson engineeringMainPerson : engineeringMain.getEngineeringMainPersonList()) {
engineeringMainPerson.setMainId(engineeringMain.getId());
engineeringMainPerson.setEngineeringSn(engineeringVo.getEngineeringSn());
if (engineeringVo.getAnnexFiles() != null) {
for (AnnexFile annexFile : engineeringVo.getAnnexFiles()) {
annexFile.setRelevanceId(engineeringVo.getEngineeringSn());
annexFile.setFileType(ParamEnum.AnnexFileType.ENGINEERING.getValue());
}
engineeringMainPersonService.saveBatch(engineeringMain.getEngineeringMainPersonList());
EnterpriseScore enterpriseScore = new EnterpriseScore();
enterpriseScore.setEnterpriseSn(engineeringMain.getEnterpriseSn());
enterpriseScore.setEngineeringSn(engineeringVo.getEngineeringSn());
enterpriseScore.setEnterpriseType(engineeringMain.getType());
enterpriseScore.setCreateBy(projectService.getOne(Wrappers.<Project>lambdaQuery().eq(Project::getProjectSn, SecurityUtil.getUser().getSn())).getGovernmentSn());
enterpriseScore.setCreateTime(new Date());
scoreList.add(enterpriseScore);
annexFileService.saveBatch(engineeringVo.getAnnexFiles());
}
enterpriseScoreService.saveBatch(scoreList);
if (engineeringVo.getEngineeringMains() != null) {
// List<EnterpriseScore> scoreList = new ArrayList<>();
for (EngineeringMain engineeringMain : engineeringVo.getEngineeringMains()) {
engineeringMain.setEngineeringSn(engineeringVo.getEngineeringSn());
engineeringMainService.save(engineeringMain);
for (EngineeringMainPerson engineeringMainPerson : engineeringMain.getEngineeringMainPersonList()) {
engineeringMainPerson.setMainId(engineeringMain.getId());
engineeringMainPerson.setEngineeringSn(engineeringVo.getEngineeringSn());
}
engineeringMainPersonService.saveBatch(engineeringMain.getEngineeringMainPersonList());
// EnterpriseScore enterpriseScore = new EnterpriseScore();
// enterpriseScore.setEnterpriseSn(engineeringMain.getEnterpriseSn());
// enterpriseScore.setEngineeringSn(engineeringVo.getEngineeringSn());
// enterpriseScore.setEnterpriseType(engineeringMain.getType());
// enterpriseScore.setCreateBy(projectService.getOne(Wrappers.<Project>lambdaQuery().eq(Project::getProjectSn, SecurityUtil.getUser().getSn())).getGovernmentSn());
// enterpriseScore.setCreateTime(new Date());
// scoreList.add(enterpriseScore);
}
// enterpriseScoreService.saveBatch(scoreList);
}
return true;
}
@ -86,9 +90,11 @@ public class EngineeringSingleServiceImpl extends ServiceImpl<EngineeringSingleM
List<EngineeringMain> engineeringMains = engineeringMainService.list(Wrappers.<EngineeringMain>lambdaQuery()
.eq(EngineeringMain::getEngineeringSn, engineeringSn));
List<Long> mainIds = engineeringMains.stream().map(m -> m.getId()).collect(Collectors.toList());
engineeringMainPersonService.remove(Wrappers.<EngineeringMainPerson>lambdaQuery()
.in(EngineeringMainPerson::getMainId, mainIds));
engineeringMainService.removeByIds(mainIds);
if (mainIds.size() > 0) {
engineeringMainPersonService.remove(Wrappers.<EngineeringMainPerson>lambdaQuery()
.in(EngineeringMainPerson::getMainId, mainIds));
engineeringMainService.removeByIds(mainIds);
}
return true;
}

View File

@ -9,6 +9,7 @@ import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.jeecg.common.util.PageUtil;
import com.zhgd.mybatis.Aes;
import com.zhgd.xmgl.async.AsyncEmail;
import com.zhgd.xmgl.modules.basicdata.dto.ProjectDto;
import com.zhgd.xmgl.modules.basicdata.dto.ProjectPageDto;
@ -95,16 +96,16 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
public boolean saveInfo(ProjectVo projectVo) {
projectVo.setProjectSn(CommonUtil.getUUid());
projectVo.setCreateTime(new Date());
projectVo.setProjectTel(projectVo.getPhone());
projectVo.setProjectTel(projectVo.getUserTel());
boolean flag = this.save(projectVo);
if (flag) {
SystemUser systemUser = new SystemUser();
systemUser.setAccount(projectVo.getAccount());
systemUser.setPassword(Sm4Util.encrypt(projectVo.getPassword()));
systemUser.setShowPassword(projectVo.getPassword());
systemUser.setPassword(Sm4Util.encrypt(projectVo.getShowPassword()));
systemUser.setShowPassword(projectVo.getShowPassword());
systemUser.setIsManager(true);
systemUser.setState(0);
systemUser.setUserTel(projectVo.getPhone());
systemUser.setUserTel(projectVo.getUserTel());
systemUser.setSn(projectVo.getProjectSn());
systemUser.setAccountType(4);
systemUser.setEmail(projectVo.getEmail());
@ -115,6 +116,21 @@ public class ProjectServiceImpl extends ServiceImpl<ProjectMapper, Project> impl
return flag;
}
@Override
public boolean updateInfo(ProjectVo projectVo) {
this.updateById(projectVo);
SystemUser systemUser = systemUserMapper.selectOne(Wrappers.<SystemUser>lambdaQuery().eq(SystemUser::getSn, projectVo.getProjectSn()).eq(SystemUser::getIsManager, 1));
systemUser.setAccount(projectVo.getAccount());
systemUser.setPassword(Aes.encrypt(projectVo.getShowPassword()));
systemUser.setShowPassword(projectVo.getShowPassword());
systemUser.setUserTel(projectVo.getUserTel());
systemUser.setSn(projectVo.getProjectSn());
systemUser.setEmail(projectVo.getEmail());
systemUser.setRealName(projectVo.getProjectName());
systemUserMapper.updateById(systemUser);
return true;
}
@Override
public boolean examine(Project project, Integer suggest) {
SystemUser systemUser = systemUserMapper.selectOne(Wrappers.<SystemUser>lambdaQuery()

View File

@ -14,7 +14,7 @@ public class ProjectVo extends Project {
@NotBlank(message = "手机号码不能为空", groups = {AddGroup.class})
@ApiModelProperty(value="手机号")
private String phone;
private String userTel;
@NotBlank(message = "登录账号不能为空", groups = {AddGroup.class})
@ApiModelProperty(value="账号")
@ -22,7 +22,7 @@ public class ProjectVo extends Project {
@NotBlank(message = "密码不能为空", groups = {AddGroup.class})
@ApiModelProperty(value="密码")
private String password;
private String showPassword;
@NotBlank(message = "邮箱不能为空", groups = {AddGroup.class})
@ApiModelProperty(value="邮箱")