diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovAcceptDataScopeController.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovAcceptDataScopeController.java new file mode 100644 index 0000000..c3d8d5a --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/controller/government/GovAcceptDataScopeController.java @@ -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> queryList(@ApiIgnore @RequestBody AcceptDataScope acceptDataScope) { + QueryWrapper 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 edit(@ApiIgnore @RequestBody Map map) { + Result result = new Result(); + acceptDataScopeService.remove(Wrappers.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; + } +} diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/AcceptDataScope.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/AcceptDataScope.java new file mode 100644 index 0000000..7f6c6a2 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/entity/AcceptDataScope.java @@ -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; +} diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/AcceptDataScopeMapper.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/AcceptDataScopeMapper.java new file mode 100644 index 0000000..ddc4276 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/AcceptDataScopeMapper.java @@ -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 { + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/AcceptDataScopeMapper.xml b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/AcceptDataScopeMapper.xml new file mode 100644 index 0000000..40910a6 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/AcceptDataScopeMapper.xml @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml index f87812a..4293938 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/mapper/xml/SystemUserMapper.xml @@ -16,7 +16,6 @@ SELECT , 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} \ No newline at end of file diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/IAcceptDataScopeService.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/IAcceptDataScopeService.java new file mode 100644 index 0000000..216dd39 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/IAcceptDataScopeService.java @@ -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 { + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/AcceptDataScopeServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/AcceptDataScopeServiceImpl.java new file mode 100644 index 0000000..2fe6476 --- /dev/null +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/AcceptDataScopeServiceImpl.java @@ -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 implements IAcceptDataScopeService { + +} diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/EngineeringServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/EngineeringServiceImpl.java index 6b161dd..4daa0b6 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/EngineeringServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/EngineeringServiceImpl.java @@ -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 getPageList(Page page, Wrapper wrapper) { Page pageList = this.page(page, wrapper); @@ -117,16 +125,24 @@ public class EngineeringServiceImpl extends ServiceImpl wrapper = Wrappers.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 diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/EnterpriseServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/EnterpriseServiceImpl.java index 85c42aa..63109dd 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/EnterpriseServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/EnterpriseServiceImpl.java @@ -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 pageList(Map map) { Integer mainType = MapUtils.getInteger(map, "mainType"); @@ -122,6 +126,9 @@ public class EnterpriseServiceImpl extends ServiceImpllambdaQuery() + .eq(SystemUser::getSn, enterprise.getEnterpriseSn()).eq(SystemUser::getIsManager, true)); + String content = ""; if (suggest == 1) { // 修改企业状态为可用 LambdaUpdateWrapper enterpriseWrapper = Wrappers.lambdaUpdate(); @@ -135,6 +142,7 @@ public class EnterpriseServiceImpl extends ServiceImpllambdaQuery() @@ -143,7 +151,9 @@ public class EnterpriseServiceImpl extends ServiceImpllambdaQuery().eq(EnterpriseMain::getEnterpriseSn, enterprise.getEnterpriseSn())); this.removeById(enterprise.getEnterpriseId()); + content = "企业审批已驳回; 企业名称:"+ enterprise.getEnterpriseName(); } + asyncEmail.sendEmail(enterprise.getGovernmentSn(), systemUser.getEmail(), "企业审批结果通知", content); return true; } diff --git a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java index e8d17ca..810e7e5 100644 --- a/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java +++ b/src/main/java/com/zhgd/xmgl/modules/basicdata/service/impl/SystemUserServiceImpl.java @@ -76,7 +76,6 @@ public class SystemUserServiceImpl extends ServiceImpl pageListForSuperior(Map map) { return engineeringService.pageListForSuperior(map); @@ -167,7 +169,9 @@ public class CheckAcceptApplyServiceImpl extends ServiceImpl userList = acceptDataScopeService.list(Wrappers.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()); diff --git a/src/main/java/com/zhgd/xmgl/util/EmailsUtil.java b/src/main/java/com/zhgd/xmgl/util/EmailsUtil.java index f61f24a..b523c3c 100644 --- a/src/main/java/com/zhgd/xmgl/util/EmailsUtil.java +++ b/src/main/java/com/zhgd/xmgl/util/EmailsUtil.java @@ -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();