add 功能安全中心-企业端-分页列表查询

This commit is contained in:
lijiarao
2024-07-04 16:46:52 +08:00
parent 3009127bdf
commit e2a4a230b1
5 changed files with 99 additions and 0 deletions
@@ -85,6 +85,41 @@ public class SafetyCenterController extends JeroController<SafetyCenter, SafetyC
return Result.OK(pageList);
}
/**
* 功能安全中心-企业端-分页列表查询
* @param pageNo 页数
* @param pageSize 条数
* @return
*/
@ApiOperation(value="功能安全中心-企业端-分页列表查询")
@GetMapping(value = "/queryCompanyPageList")
public Result<?> queryCompanyPageList(SafetyCenter safetyCenter,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
Page<SafetyCenter> page = new Page<>(pageNo, pageSize);
IPage<SafetyCenter> pageList = safetyCenterService.queryCompanyPageList(page, safetyCenter);
return Result.OK(pageList);
}
/**
* 功能安全中心-企业端-分页列表查询
* @param pageNo 页数
* @param pageSize 条数
* @return
*/
@ApiOperation(value="功能安全中心-企业端-项目组分页列表查询")
@GetMapping(value = "/queryCompanyProjectGroupPageList")
public Result<?> queryCompanyProjectGroupPageList(SafetyCenter safetyCenter,
@RequestParam(name="pageNo", defaultValue="1") Integer pageNo,
@RequestParam(name="pageSize", defaultValue="10") Integer pageSize,
HttpServletRequest req) {
Page<SafetyCenter> page = new Page<>(pageNo, pageSize);
safetyCenter.setProjectType(SafetyCenterCommon.PROJECT_TYPE_3);
IPage<SafetyCenter> pageList = safetyCenterService.queryCompanyPageList(page, safetyCenter);
return Result.OK(pageList);
}
/**
* 列表查询
*/
@@ -60,6 +60,16 @@ public class SafetyCenter {
@Dict(dictTable = "sys_user",dicText = "realname",dicCode = "id")
private String principalId;
/**负责人联系电话*/
@TableField(exist = false)
@ApiModelProperty(value = "负责人联系电话")
private String principalPhone;
/**负责人邮箱*/
@TableField(exist = false)
@ApiModelProperty(value = "负责人邮箱")
private String principalEmail;
/**
* 任务及目标
*/
@@ -1,7 +1,10 @@
package com.jero.functionalsafetycenter.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.functionalsafetycenter.entity.SafetyCenter;
import org.apache.ibatis.annotations.Param;
/**
*
@@ -9,4 +12,5 @@ import com.jero.functionalsafetycenter.entity.SafetyCenter;
*@date 2024-06-12 15:13
*/
public interface SafetyCenterMapper extends BaseMapper<SafetyCenter> {
IPage<SafetyCenter> queryCompanyPageList(Page<SafetyCenter> page, @Param("safetyCenter") SafetyCenter safetyCenter, @Param("userId") String userId);
}
@@ -21,4 +21,30 @@
id, parent_id, project_type, project_name, principal_id, mission_and_objectives,
remarks, create_by, create_time, update_by, update_time
</sql>
<select id="queryCompanyPageList" resultMap="BaseResultMap">
select *
from pay_functional_safety_center pfsc
left join pay_functional_safety_center_subitem pfscs on pfsc.id = pfscs.project_id
left join pay_functional_safety_center_subitem_contacts pfscsc on pfscs.id = pfscsc.subitem_id
<where>
<choose>
<when test="safetyCenter.projectType == 3">
pfsc.project_type = 3
</when>
<otherwise>
and pfsc.project_type in (1,2)
</otherwise>
</choose>
<if test="safetyCenter.parentId != null and safetyCenter.parentId != ''">
and pfsc.parent_id = #{safetyCenter.parentId}
</if>
<if test="safetyCenter.projectName != null and safetyCenter.projectName != ''">
<bind name="likeSafetyCenter.projectName" value="'%'+safetyCenter.projectName+'%'"/>
and pfsc.project_name like #{likeSafetyCenter.projectName}
</if>
and pfscsc.contacts_id = #{userId}
</where>
order by pfsc.create_time desc
</select>
</mapper>
@@ -1,8 +1,14 @@
package com.jero.functionalsafetycenter.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.jero.common.exception.JeroBootException;
import com.jero.common.system.api.ISysBaseAPI;
import com.jero.common.system.vo.LoginUser;
import com.jero.common.util.PasswordUtil;
import com.jero.functionalsafetycenter.common.SafetyCenterCommon;
import com.jero.functionalsafetycenter.vo.SafetyCenterEditVO;
import org.apache.shiro.SecurityUtils;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
@@ -10,6 +16,9 @@ import java.util.List;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.jero.functionalsafetycenter.entity.SafetyCenter;
import com.jero.functionalsafetycenter.mapper.SafetyCenterMapper;
import javax.annotation.Resource;
/**
*
*@author liJiaRao
@@ -17,6 +26,8 @@ import com.jero.functionalsafetycenter.mapper.SafetyCenterMapper;
*/
@Service
public class SafetyCenterService extends ServiceImpl<SafetyCenterMapper, SafetyCenter> {
@Resource
private ISysBaseAPI sysBaseAPI;
public void add(SafetyCenter safetyCenter) {
Integer projectType = safetyCenter.getProjectType();
if (projectType == null){
@@ -49,4 +60,17 @@ public class SafetyCenterService extends ServiceImpl<SafetyCenterMapper, SafetyC
SafetyCenter safetyCenter = this.getById(id);
return safetyCenter;
}
public IPage<SafetyCenter> queryCompanyPageList(Page<SafetyCenter> page, SafetyCenter safetyCenter) {
LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
IPage<SafetyCenter> safetyCenterIPage = baseMapper.queryCompanyPageList(page, safetyCenter, sysUser.getId());
List<SafetyCenter> records = safetyCenterIPage.getRecords();
for (SafetyCenter record : records) {
String principalId = record.getPrincipalId();
LoginUser user = sysBaseAPI.getUserById(principalId);
record.setPrincipalPhone(PasswordUtil.decrypt(user.getPhone()));
record.setPrincipalEmail(PasswordUtil.decrypt(user.getEmail()));
}
return safetyCenterIPage;
}
}