This commit is contained in:
pengjie 2023-10-07 18:11:40 +08:00
parent aba5531f9b
commit c057ac24e9
12 changed files with 215 additions and 8 deletions

View File

@ -0,0 +1,81 @@
package com.zhgd.xmgl.modules.basicdata.controller.government;
import com.alibaba.fastjson.JSONArray;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.gexin.fastjson.JSON;
import com.zhgd.annotation.OperLog;
import com.zhgd.jeecg.common.api.vo.Result;
import com.zhgd.jeecg.common.system.query.QueryGenerator;
import com.zhgd.xmgl.modules.basicdata.entity.AcceptDataScope;
import com.zhgd.xmgl.modules.basicdata.service.IAcceptDataScopeService;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.springframework.beans.factory.annotation.Autowired;
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 springfox.documentation.annotations.ApiIgnore;
import java.util.List;
import java.util.Map;
/**
* @Title: Controller
* @Description: 分配监督项目
* @author pengj
* @date 2023-10-07
* @version V1.0
*/
@RestController
@RequestMapping("/gov/acceptDataScope")
@Slf4j
@Api(tags = "分配监督项目管理")
public class GovAcceptDataScopeController {
@Autowired
private IAcceptDataScopeService acceptDataScopeService;
/**
* 获取用户监管项目
* @param acceptDataScope
* @return
*/
@OperLog(operModul = "用户监管项目管理", operType = "列表查询", operDesc = "获取用户监管项目")
@ApiOperation(value = " 获取用户监管项目", notes = "获取用户监管项目", httpMethod="POST")
@ApiImplicitParam(name = "userId", value = "用户ID", paramType = "body", dataType = "String")
@PostMapping(value = "/list")
public Result<List<AcceptDataScope>> queryList(@ApiIgnore @RequestBody AcceptDataScope acceptDataScope) {
QueryWrapper<AcceptDataScope> queryWrapper = QueryGenerator.initQueryWrapper(acceptDataScope);
return Result.success(acceptDataScopeService.list(queryWrapper));
}
/**
* 编辑
* @return
*/
@ApiImplicitParams({
@ApiImplicitParam(name = "userId", value = "用户ID", paramType = "body", dataType = "String"),
@ApiImplicitParam(name = "acceptDataScopes", value = "监管项目", paramType = "body", dataType = "List"),
})
@OperLog(operModul = "用户监管项目管理", operType = "修改", operDesc = "编辑用户监管项目信息")
@ApiOperation(value = "编辑用户监管项目信息", notes = "编辑用户监管项目信息" , httpMethod="POST")
@PostMapping(value = "/edit")
public Result<AcceptDataScope> edit(@ApiIgnore @RequestBody Map<String, Object> map) {
Result<AcceptDataScope> result = new Result<AcceptDataScope>();
acceptDataScopeService.remove(Wrappers.<AcceptDataScope>lambdaQuery().eq(AcceptDataScope::getUserId, MapUtils.getString(map, "userId")));
Object dataScopes = MapUtils.getObject(map, "acceptDataScopes");
if (dataScopes != null) {
acceptDataScopeService.saveBatch(JSONArray.parseArray(JSON.toJSONString(dataScopes), AcceptDataScope.class));
}
result.success("操作成功!");
return result;
}
}

View File

@ -0,0 +1,43 @@
package com.zhgd.xmgl.modules.basicdata.entity;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import org.jeecgframework.poi.excel.annotation.Excel;
import java.io.Serializable;
/**
* @Description: 分配监督项目
* @author pengj
* @date 2023-10-07
* @version V1.0
*/
@Data
@TableName("accept_data_scope")
@ApiModel(value = "AcceptDataScope实体类", description = "AcceptDataScope")
public class AcceptDataScope implements Serializable {
private static final long serialVersionUID = 1L;
/**
* 主键
*/
@TableId(type = IdType.AUTO)
@ApiModelProperty(value = "主键")
private Integer id;
/**
* 用户Id
*/
@Excel(name = "用户Id", width = 15)
@ApiModelProperty(value = "用户Id")
private Long userId;
/**
* 关联项目SN
*/
@Excel(name = "关联项目SN", width = 15)
@ApiModelProperty(value = "关联项目SN")
private String projectSn;
}

View File

@ -0,0 +1,16 @@
package com.zhgd.xmgl.modules.basicdata.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.zhgd.xmgl.modules.basicdata.entity.AcceptDataScope;
import org.apache.ibatis.annotations.Mapper;
/**
* @Description: 分配监督项目
* @author pengj
* @date 2023-10-07
* @version V1.0
*/
@Mapper
public interface AcceptDataScopeMapper extends BaseMapper<AcceptDataScope> {
}

View File

@ -0,0 +1,5 @@
<?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.zhgd.xmgl.modules.basicdata.mapper.AcceptDataScopeMapper">
</mapper>

View File

@ -16,7 +16,6 @@
SELECT <include refid="userInfo"></include>, d.dept_name, ur.role_id FROM system_user u
LEFT JOIN system_dept d ON u.department = d.dept_id
LEFT JOIN system_user_role ur ON u.user_id = ur.user_id
LEFT JOIN system_role r ON r.role_id = ur.role_id
${ew.customSqlSegment}
</select>
</mapper>

View File

@ -0,0 +1,14 @@
package com.zhgd.xmgl.modules.basicdata.service;
import com.zhgd.xmgl.modules.basicdata.entity.AcceptDataScope;
import com.baomidou.mybatisplus.extension.service.IService;
/**
* @Description: 分配监督项目
* @author pengj
* @date 2023-10-07
* @version V1.0
*/
public interface IAcceptDataScopeService extends IService<AcceptDataScope> {
}

View File

@ -0,0 +1,19 @@
package com.zhgd.xmgl.modules.basicdata.service.impl;
import com.zhgd.xmgl.modules.basicdata.entity.AcceptDataScope;
import com.zhgd.xmgl.modules.basicdata.mapper.AcceptDataScopeMapper;
import com.zhgd.xmgl.modules.basicdata.service.IAcceptDataScopeService;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
/**
* @Description: 分配监督项目
* @author pengj
* @date 2023-10-07
* @version V1.0
*/
@Service
public class AcceptDataScopeServiceImpl extends ServiceImpl<AcceptDataScopeMapper, AcceptDataScope> implements IAcceptDataScopeService {
}

View File

@ -10,8 +10,10 @@ 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.xmgl.async.AsyncEmail;
import com.zhgd.xmgl.modules.basicdata.dto.AppIndexTopStatDto;
import com.zhgd.xmgl.modules.basicdata.dto.EngineeringPageDto;
import com.zhgd.xmgl.modules.basicdata.dto.ProjectDto;
import com.zhgd.xmgl.modules.basicdata.entity.*;
import com.zhgd.xmgl.modules.basicdata.mapper.EngineeringMapper;
import com.zhgd.xmgl.modules.basicdata.service.*;
@ -65,6 +67,12 @@ public class EngineeringServiceImpl extends ServiceImpl<EngineeringMapper, Engin
@Autowired
private IEnvironmentAlarmService environmentAlarmService;
@Autowired
private AsyncEmail asyncEmail;
@Autowired
private IProjectService projectService;
@Override
public Page<Engineering> getPageList(Page page, Wrapper<Engineering> wrapper) {
Page<Engineering> pageList = this.page(page, wrapper);
@ -117,16 +125,24 @@ public class EngineeringServiceImpl extends ServiceImpl<EngineeringMapper, Engin
String id = MapUtils.getString(map, "id");
Integer examineState = MapUtils.getInteger(map, "suggest");
String rejectReason = MapUtils.getString(map, "rejectReason");
Engineering engineering = this.getById(id);
ProjectDto projectDto = projectService.getDetailBySn(engineering.getProjectSn());
LambdaUpdateWrapper<Engineering> wrapper = Wrappers.<Engineering>lambdaUpdate();
wrapper.set(Engineering::getExamineState, examineState);
wrapper.set(Engineering::getExamineTime, new Date());
wrapper.set(Engineering::getRejectReason, rejectReason);
String content = "工程报监审批已驳回; 工程名称:"+ engineering.getEngineeringName() + "; 驳回原因:" + rejectReason;
// 项目报监审核通过
if (examineState == 3) {
wrapper.set(Engineering::getState, 2);
content = "工程报监审批已通过; 工程名称:"+ engineering.getEngineeringName();
}
wrapper.eq(Engineering::getId, id);
return this.update(wrapper);
boolean flag = this.update(wrapper);
if (flag) {
asyncEmail.sendEmail(projectDto.getGovernmentSn(), projectDto.getEmail(), "工程报监审批结果通知", content);
}
return flag;
}
@Override

View File

@ -7,6 +7,7 @@ import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.jeecg.common.util.PageUtil;
import com.zhgd.xmgl.async.AsyncEmail;
import com.zhgd.xmgl.modules.basicdata.entity.*;
import com.zhgd.xmgl.modules.basicdata.mapper.EnterpriseMapper;
import com.zhgd.xmgl.modules.basicdata.mapper.ProjectMapper;
@ -51,6 +52,9 @@ public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper, Enterpr
@Autowired
private IEnterpriseMainLicenseService enterpriseMainLicenseService;
@Autowired
private AsyncEmail asyncEmail;
@Override
public Page<Enterprise> pageList(Map<String, Object> map) {
Integer mainType = MapUtils.getInteger(map, "mainType");
@ -122,6 +126,9 @@ public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper, Enterpr
@Override
public boolean updateInfo(Enterprise enterprise, Integer suggest) {
SystemUser systemUser = systemUserService.getOne(Wrappers.<SystemUser>lambdaQuery()
.eq(SystemUser::getSn, enterprise.getEnterpriseSn()).eq(SystemUser::getIsManager, true));
String content = "";
if (suggest == 1) {
// 修改企业状态为可用
LambdaUpdateWrapper<Enterprise> enterpriseWrapper = Wrappers.<Enterprise>lambdaUpdate();
@ -135,6 +142,7 @@ public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper, Enterpr
userWrapper.eq(SystemUser::getSn, enterprise.getEnterpriseSn());
userWrapper.eq(SystemUser::getIsManager, true);
systemUserService.update(userWrapper);
content = "企业审批已通过; 企业名称:"+ enterprise.getEnterpriseName() + "; 企业账号:" + systemUser.getAccount() + ",密码:" + systemUser.getShowPassword();
} else {
// 审批不通过,删除企业以及企业账号信息
systemUserService.remove(Wrappers.<SystemUser>lambdaQuery()
@ -143,7 +151,9 @@ public class EnterpriseServiceImpl extends ServiceImpl<EnterpriseMapper, Enterpr
.eq(EnterpriseMainLicense::getEnterpriseSn, enterprise.getEnterpriseSn()));
enterpriseMainService.remove(Wrappers.<EnterpriseMain>lambdaQuery().eq(EnterpriseMain::getEnterpriseSn, enterprise.getEnterpriseSn()));
this.removeById(enterprise.getEnterpriseId());
content = "企业审批已驳回; 企业名称:"+ enterprise.getEnterpriseName();
}
asyncEmail.sendEmail(enterprise.getGovernmentSn(), systemUser.getEmail(), "企业审批结果通知", content);
return true;
}

View File

@ -76,7 +76,6 @@ public class SystemUserServiceImpl extends ServiceImpl<SystemUserMapper, SystemU
SecurityUser user = SecurityUtil.getUser();
wrapper.eq("u.account_type", user.getAccountType());
wrapper.eq("u.state", 1);
wrapper.eq("r.state", 1);
if (systemUser.getSn() == null) {
wrapper.eq("u.sn", user.getSn());
} else {

View File

@ -8,12 +8,10 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.xmgl.handler.exception.CustomException;
import com.zhgd.xmgl.modules.basicdata.dto.EngineeringPageDto;
import com.zhgd.xmgl.modules.basicdata.dto.ProjectPageDto;
import com.zhgd.xmgl.modules.basicdata.entity.AcceptDataScope;
import com.zhgd.xmgl.modules.basicdata.entity.AnnexFile;
import com.zhgd.xmgl.modules.basicdata.entity.SystemDictData;
import com.zhgd.xmgl.modules.basicdata.service.IAnnexFileService;
import com.zhgd.xmgl.modules.basicdata.service.IEngineeringService;
import com.zhgd.xmgl.modules.basicdata.service.IProjectService;
import com.zhgd.xmgl.modules.basicdata.service.ISystemDictDataService;
import com.zhgd.xmgl.modules.basicdata.service.*;
import com.zhgd.xmgl.modules.quality.dto.CheckAcceptApplyDto;
import com.zhgd.xmgl.modules.quality.entity.AcceptInspectRecord;
import com.zhgd.xmgl.modules.quality.entity.CheckAcceptApply;
@ -29,6 +27,7 @@ import com.zhgd.xmgl.security.SecurityUser;
import com.zhgd.xmgl.security.SecurityUtil;
import com.zhgd.xmgl.util.CommonUtil;
import com.zhgd.xmgl.util.ParamEnum;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
@ -70,6 +69,9 @@ public class CheckAcceptApplyServiceImpl extends ServiceImpl<CheckAcceptApplyMap
@Autowired
private IAcceptInspectRecordService acceptInspectRecordService;
@Autowired
private IAcceptDataScopeService acceptDataScopeService;
@Override
public Page<EngineeringPageDto> pageListForSuperior(Map<String, Object> map) {
return engineeringService.pageListForSuperior(map);
@ -167,7 +169,9 @@ public class CheckAcceptApplyServiceImpl extends ServiceImpl<CheckAcceptApplyMap
// 下发验收检查整改单信息
AcceptInspectRecord acceptInspectRecord = new AcceptInspectRecord();
acceptInspectRecord.setCheckAcceptId(acceptApply.getId());
acceptInspectRecord.setInspectUser(user.getUserId());
List<Long> userList = acceptDataScopeService.list(Wrappers.<AcceptDataScope>lambdaQuery().eq(AcceptDataScope::getProjectSn, checkAcceptApply.getProjectSn()))
.stream().map(a -> a.getUserId()).collect(Collectors.toList());
acceptInspectRecord.setInspectUser(userList.size() == 0 ? user.getUserId() : StringUtils.join(userList.toArray(), ","));
acceptInspectRecord.setCreateBy(user.getUserId());
acceptInspectRecord.setCreateTime(new Date());
acceptInspectRecord.setType(acceptApply.getType());

View File

@ -30,6 +30,7 @@ public class EmailsUtil {
return isSucc;
}
try {
mp = new MimeMultipart();
//JavaMail需要Properties来创建一个session对象它将寻找字符串"mail.smtp.host"属性值就是发送邮件的主机.
//Properties对象获取诸如邮件服务器用户名密码等信息以及其他可在整个应用程序中 共享的信息
Properties props = new Properties();//也可用Properties props = System.getProperties();