Commit e772df67 authored by tianyiming's avatar tianyiming

feat: 改造/维修/移装列表查询增加监管单位查看逻辑

parent afa00d87
......@@ -31,8 +31,9 @@ public interface JgMaintainNoticeMapper extends CustomBaseMapper<JgMaintainNotic
@Param("sort") SortVo sortMap,
@Param("param") JgMaintainNoticeDto model,
@Param("type") String type,
@Param("orgCode") String orgCode,
@Param("userId") String userId);
@Param("companyCode") String companyCode,
@Param("userId") String userId,
@Param("orgCode") String orgCode);
/**
* 根据维修告知编号查询设备、设计、制造等信息
......
......@@ -28,9 +28,11 @@ public interface JgReformNoticeMapper extends CustomBaseMapper<JgReformNotice> {
*/
Page<Map<String,Object>> queryForPage(Page<JgReformNotice> page,
@Param("sort") SortVo sortMap,
@Param ("param") JgReformNoticeDto model,
@Param("type") String type, @Param("orgCode") String orgCode,
@Param("currentUserId") String currentUserId);
@Param("param") JgReformNoticeDto model,
@Param("type") String type,
@Param("companyCode") String companyCode,
@Param("currentUserId") String currentUserId,
@Param("orgCode") String orgCode);
Map<String, Object> queryEquipInformation(@Param("sequenceNbr") long sequenceNbr);
......
......@@ -20,10 +20,11 @@ import java.util.Map;
*/
public interface JgTransferNoticeMapper extends CustomBaseMapper<JgTransferNotice> {
Page<Map<String,Object>> queryForPage(Page<JgTransferNotice> page,
Page<Map<String, Object>> queryForPage(Page<JgTransferNotice> page,
@Param("sort") SortVo sortMap,
@Param("param") JgTransferNoticeDto model,
@Param("type") String type,
@Param("companyCode") String companyCode,
@Param("orgCode") String orgCode);
@MapKey("sequenceNbr")
......
......@@ -43,7 +43,7 @@ public interface IJgMaintainNoticeService extends IService<JgMaintainNotice> {
* @param model 查询参数
* @return 维修告知列表
*/
Page<Map<String,Object>> queryForJgMaintainNoticePage(Page<JgMaintainNotice> page,String sort, JgMaintainNoticeDto model, ReginParams reginParams);
Page<Map<String, Object>> queryForJgMaintainNoticePage(Page<JgMaintainNotice> page, String sort, JgMaintainNoticeDto model, ReginParams reginParams, String client);
/**
* 保存维修告知单
......
......@@ -43,7 +43,7 @@ public interface IJgReformNoticeService extends IService<JgReformNotice> {
* @param type 类型:enterprise-企业端、supervision-监管端
* @return 改造告知列表
*/
Page<Map<String, Object>> queryForJgReformNoticePage(Page<JgReformNotice> page,String sort, JgReformNoticeDto model, String type, ReginParams reginParams);
Page<Map<String, Object>> queryForJgReformNoticePage(Page<JgReformNotice> page, String sort, JgReformNoticeDto model, String type, ReginParams reginParams, String client);
/**
* 批量删除
......
......@@ -7,7 +7,6 @@ import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.module.jg.api.dto.JgTransferNoticeDto;
import com.yeejoin.amos.boot.module.jg.api.entity.JgTransferNotice;
import jdk.nashorn.api.scripting.JSObject;
import javax.servlet.http.HttpServletResponse;
import java.util.List;
......@@ -25,7 +24,7 @@ public interface IJgTransferNoticeService extends IService<JgTransferNotice> {
JgTransferNoticeDto updateTransferNotice(String submitType, JgTransferNoticeDto noticeDto, String op);
Page<Map<String,Object>> queryForJgTransferNoticePage(Page<JgTransferNotice> page,String sort, JgTransferNoticeDto model, String type, ReginParams reginParams);
Page<Map<String,Object>> queryForJgTransferNoticePage(Page<JgTransferNotice> page,String sort, JgTransferNoticeDto model, String type, ReginParams reginParams,String client);
Boolean deleteForBatch(Long[] sequenceNbrs);
......
......@@ -7,6 +7,17 @@
where sequence_nbr = #{id}
</update>
<sql id="page_list">
<![CDATA[/*+ set(query_dop 16)*/ ]]>
WITH equip_data as (
SELECT
equip_transfer_id,
equ_id,
group_concat(distinct si."ORG_BRANCH_CODE") as orgBranchCodes
FROM
tzs_jg_maintain_notice_eq mneq
LEFT JOIN idx_biz_jg_supervision_info si ON si.record = mneq.equ_id
GROUP BY equip_transfer_id
)
select
isn.sequence_nbr AS sequenceNbr,
isn.apply_no AS applyNo,
......@@ -74,6 +85,7 @@
<select id="queryForPage" resultType="java.util.Map">
<include refid="page_list"/>
FROM tzs_jg_maintain_notice isn
LEFT JOIN equip_data ed on ed.equip_transfer_id = isn.sequence_nbr
<where>
isn.is_delete = 0
<if test="param != null ">
......@@ -117,7 +129,7 @@
AND isn.create_date LIKE concat(DATE_FORMAT(#{param.createDate},'%Y-%m-%d'),'%')
</if>
</if>
<if test="type != 'company'">
<if test="type != 'company' and type != null">
AND isn.instance_id <![CDATA[<>]]> ''
AND (isn.receive_company_code = #{orgCode} or isn.transfer_to_user_ids like concat('%',#{userId},'%'))
</if>
......@@ -125,6 +137,13 @@
AND (isn.install_unit_credit_code = #{orgCode} or isn.transfer_to_user_ids like
concat('%',#{userId},'%'))
</if>
<if test="orgCode != null and orgCode != ''">
AND isn.instance_id <![CDATA[<>]]> ''
AND EXISTS (
SELECT 1
FROM unnest(string_to_array(ed.orgBranchCodes, ',')) AS elem
WHERE elem LIKE concat(#{orgCode},'%' ) )
</if>
</where>
ORDER BY
<if test="sort != null">
......
......@@ -3,6 +3,17 @@
<mapper namespace="com.yeejoin.amos.boot.module.jg.api.mapper.JgReformNoticeMapper">
<sql id="page_list">
<![CDATA[/*+ set(query_dop 16)*/ ]]>
WITH equip_data as (
SELECT
equip_transfer_id,
equ_id,
group_concat(distinct si."ORG_BRANCH_CODE") as orgBranchCodes
FROM
tzs_jg_reform_notice_eq rneq
LEFT JOIN idx_biz_jg_supervision_info si ON si.record = rneq.equ_id
GROUP BY equip_transfer_id
)
select
isn.province,
isn.city,
......@@ -39,12 +50,14 @@
DATE_FORMAT(isn.plan_date,'%Y-%m-%d') AS planDate,
DATE_FORMAT(isn.notice_date,'%Y-%m-%d') AS noticeDate,
DATE_FORMAT(isn.accept_date,'%Y-%m-%d') AS acceptDate,
DATE_FORMAT(isn.create_date,'%Y-%m-%d') AS createDate
DATE_FORMAT(isn.create_date,'%Y-%m-%d') AS createDate,
ed.orgBranchCodes
</sql>
<select id="queryForPage" resultType="java.util.Map">
<include refid="page_list"/>
FROM
tzs_jg_reform_notice isn
LEFT JOIN equip_data ed on ed.equip_transfer_id = isn.sequence_nbr
<where>
isn.is_delete = false
<if test="param != null ">
......@@ -90,11 +103,19 @@
</if>
<if test="type == 'supervision'">
AND (isn.notice_status in ('6612', '6613', '6614', '6616','6617') )
AND (isn.receive_org_code = #{orgCode} or isn.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' ))
AND (isn.receive_org_code = #{companyCode} or isn.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' ))
AND isn.instance_id <![CDATA[<>]]> ''
</if>
<if test="type == 'company'">
AND (isn.install_unit_credit_code = #{orgCode} or isn.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' ))
AND (isn.install_unit_credit_code = #{companyCode} or isn.transfer_to_user_ids LIKE concat ( '%', #{currentUserId}, '%' ))
</if>
<if test="orgCode != null and orgCode != ''">
AND isn.instance_id <![CDATA[<>]]> ''
AND (isn.notice_status in ('6612', '6613', '6614', '6616','6617') )
AND EXISTS (
SELECT 1
FROM unnest(string_to_array(ed.orgBranchCodes, ',')) AS elem
WHERE elem LIKE concat(#{orgCode},'%' ) )
</if>
</where>
ORDER BY
......
......@@ -3,8 +3,19 @@
<mapper namespace="com.yeejoin.amos.boot.module.jg.api.mapper.JgTransferNoticeMapper">
<sql id="page_list">
<![CDATA[/*+ set(query_dop 16)*/ ]]>
WITH equip_data as (
SELECT
equip_transfer_id,
equ_id,
group_concat(distinct si."ORG_BRANCH_CODE") as orgBranchCodes
FROM
tzs_jg_transfer_notice_eq tjtneq
LEFT JOIN idx_biz_jg_supervision_info si ON si.record = tjtneq.equ_id
GROUP BY equip_transfer_id
)
select
tjtn.sequence_nbr AS sequenceNbr,
DISTINCT tjtn.sequence_nbr AS sequenceNbr,
tjtn.apply_no AS applyNo,
tjtn.use_unit_name AS useUnitName,
tjtn.receive_org_name AS receiveOrgName,
......@@ -30,11 +41,13 @@
DATE_FORMAT(tjtn.notice_date,'%Y-%m-%d') AS noticeDate,
DATE_FORMAT(tjtn.handle_date,'%Y-%m-%d') AS handleDate,
DATE_FORMAT(tjtn.plan_date,'%Y-%m-%d') AS planDate,
DATE_FORMAT(tjtn.create_date,'%Y-%m-%d') AS createDate
DATE_FORMAT(tjtn.create_date,'%Y-%m-%d') AS createDate,
ed.orgBranchCodes
</sql>
<select id="queryForPage" resultType="java.util.Map">
<include refid="page_list"/>
FROM tzs_jg_transfer_notice tjtn
LEFT JOIN equip_data ed on ed.equip_transfer_id = tjtn.sequence_nbr
<where>
tjtn.is_delete = false
<if test="param != null ">
......@@ -98,6 +111,13 @@
or
AND tjtn.install_unit_credit_code = #{orgCode})
</if>
<if test="orgCode != null and orgCode != ''">
AND tjtn.instance_id <![CDATA[<>]]> ''
AND EXISTS (
SELECT 1
FROM unnest(string_to_array(ed.orgBranchCodes, ',')) AS elem
WHERE elem LIKE concat(#{orgCode},'%' ) )
</if>
</where>
ORDER BY
<if test="sort != null">
......
......@@ -128,11 +128,12 @@ public class JgMaintainNoticeController extends BaseController {
@ApiParam(value = "当前页码", required = true) @RequestParam(value = "current", defaultValue = "1") int current,
@ApiParam(value = "每页大小", required = true) @RequestParam(value = "size", defaultValue = "20") int size,
@ApiParam(value = "排序字段",required = false) @RequestParam(value = "sort",required = false) String sort,
@RequestBody(required = false) JgMaintainNoticeDto model
@RequestBody(required = false) JgMaintainNoticeDto model,
@ApiParam(value = "客户端类型: jgAudit-监管审核;jgLook-监管查看") @RequestParam(value = "client", required = false, defaultValue = "jgAudit") String client
) {
Page<JgMaintainNotice> page = new Page<>(current, size);
ReginParams reginParams = getSelectedOrgInfo();
return ResponseHelper.buildResponse(iJgMaintainNoticeService.queryForJgMaintainNoticePage(page, sort, model, reginParams));
return ResponseHelper.buildResponse(iJgMaintainNoticeService.queryForJgMaintainNoticePage(page, sort, model, reginParams, client));
}
/**
......
......@@ -124,12 +124,13 @@ public class JgReformNoticeController extends BaseController {
@ApiParam(value = "当前页码", required = true) @RequestParam(value = "current", defaultValue = "1") int current,
@ApiParam(value = "每页大小", required = true) @RequestParam(value = "size", defaultValue = "20") int size,
@ApiParam(value = "排序字段",required = false) @RequestParam(value = "sort",required = false) String sort,
@RequestBody(required = false) JgReformNoticeDto model
@RequestBody(required = false) JgReformNoticeDto model,
@ApiParam(value = "客户端类型: jgAudit-监管审核;jgLook-监管查看") @RequestParam(value = "client", required = false, defaultValue = "jgAudit") String client
) {
Page<JgReformNotice> page = new Page<>(current, size);
ReginParams reginParams = getSelectedOrgInfo();
String type = (String) iJgInstallationNoticeService.getCompanyType().get("companyLevel");
return ResponseHelper.buildResponse(jgReformNoticeService.queryForJgReformNoticePage(page,sort, model, type, reginParams));
return ResponseHelper.buildResponse(jgReformNoticeService.queryForJgReformNoticePage(page, sort, model, type, reginParams, client));
}
/**
......
......@@ -139,12 +139,13 @@ public class JgTransferNoticeController extends BaseController {
@ApiParam(value = "每页大小", required = true) @RequestParam(value = "size", defaultValue = "20") int size,
@ApiParam(value = "排序字段", required = false) @RequestParam(value = "sort", required = false) String sort,
@ApiParam(value = "类型:enterprise-企业端、supervision-监管端", required = true) @RequestParam(value = "type", defaultValue = "enterprise") String type,
@RequestBody(required = false) JgTransferNoticeDto model
@RequestBody(required = false) JgTransferNoticeDto model,
@ApiParam(value = "客户端类型: jgAudit-监管审核;jgLook-监管查看") @RequestParam(value = "client", required = false, defaultValue = "jgAudit") String client
) {
Page<JgTransferNotice> page = new Page<>(current, size);
ReginParams reginParams = getSelectedOrgInfo();
type = (String) iJgInstallationNoticeService.getCompanyType().get("companyLevel");
return ResponseHelper.buildResponse(jgTransferNoticeService.queryForJgTransferNoticePage(page, sort, model, type, reginParams));
return ResponseHelper.buildResponse(jgTransferNoticeService.queryForJgTransferNoticePage(page, sort, model, type, reginParams, client));
}
/**
......
......@@ -489,13 +489,14 @@ public class JgMaintainNoticeServiceImpl extends BaseService<JgMaintainNoticeDto
* @return 维修告知列表
*/
@Override
public Page<Map<String, Object>> queryForJgMaintainNoticePage(Page<JgMaintainNotice> page, String sort, JgMaintainNoticeDto model, ReginParams reginParams) {
String orgCode = reginParams.getCompany().getCompanyCode();
String type = reginParams.getCompany().getLevel();
public Page<Map<String, Object>> queryForJgMaintainNoticePage(Page<JgMaintainNotice> page, String sort, JgMaintainNoticeDto model, ReginParams reginParams, String client) {
String companyCode = reginParams.getCompany().getCompanyCode();
String userId = reginParams.getUserModel().getUserId();
String type = "jgLook".equals(client) ? null : reginParams.getCompany().getLevel();
String orgCode = "jgLook".equals(client) ? reginParams.getCompany().getOrgCode() : null;
SortVo sortMap = commonService.sortFieldConversion(sort);
List<DataDictionary> dictionaries = dataDictionaryService.getByType("WXLX");
Page<Map<String, Object>> noticePage = jgMaintainNoticeMapper.queryForPage(page, sortMap, model, type, orgCode, userId);
Page<Map<String, Object>> noticePage = jgMaintainNoticeMapper.queryForPage(page, sortMap, model, type, companyCode, userId, orgCode);
List<Map<String, Object>> mappedRecords = noticePage.getRecords().stream().peek(notice -> {
Optional<Long> noticeStatusOpt = Optional.ofNullable((String) notice.get("noticeStatus")).map(Long::valueOf);
......
......@@ -383,12 +383,12 @@ public class JgReformNoticeServiceImpl extends BaseService<JgReformNoticeDto, Jg
* @return 改造告知列表
*/
@Override
public Page<Map<String, Object>> queryForJgReformNoticePage(Page<JgReformNotice> page, String sort, JgReformNoticeDto model, String type, ReginParams reginParams) {
String orgCode = reginParams.getCompany().getCompanyCode();
public Page<Map<String, Object>> queryForJgReformNoticePage(Page<JgReformNotice> page, String sort, JgReformNoticeDto model, String type, ReginParams reginParams, String client) {
String companyCode = reginParams.getCompany().getCompanyCode();
SortVo sortMap = commonService.sortFieldConversion(sort);
Page<Map<String, Object>> noticePage = jgReformNoticeMapper.queryForPage(page, sortMap, model, type, orgCode, reginParams.getUserModel().getUserId());
type = "jgLook".equals(client) ? null : type;
String orgCode = "jgLook".equals(client) ? reginParams.getCompany().getOrgCode() : null;
Page<Map<String, Object>> noticePage = jgReformNoticeMapper.queryForPage(page, sortMap, model, type, companyCode, reginParams.getUserModel().getUserId(),orgCode);
List<Map<String, Object>> mappedRecords = noticePage.getRecords().stream().peek(notice -> {
Optional<Long> noticeStatusOpt = Optional.ofNullable((String) notice.get("noticeStatus")).map(Long::valueOf);
noticeStatusOpt.ifPresent(status -> {
......
......@@ -17,7 +17,6 @@ import com.yeejoin.amos.boot.biz.common.utils.RedisUtils;
import com.yeejoin.amos.boot.module.common.api.dao.ESEquipmentCategory;
import com.yeejoin.amos.boot.module.common.api.dto.ESEquipmentCategoryDto;
import com.yeejoin.amos.boot.module.jg.api.dto.*;
import com.yeejoin.amos.boot.module.jg.api.entity.JgInstallationNoticeEq;
import com.yeejoin.amos.boot.module.jg.api.entity.JgRegistrationHistory;
import com.yeejoin.amos.boot.module.jg.api.entity.JgTransferNotice;
import com.yeejoin.amos.boot.module.jg.api.entity.JgTransferNoticeEq;
......@@ -486,12 +485,14 @@ public class JgTransferNoticeServiceImpl extends BaseService<JgTransferNoticeDto
* 分页查询
*/
@Override
public Page<Map<String, Object>> queryForJgTransferNoticePage(Page<JgTransferNotice> page, String sort, JgTransferNoticeDto model, String type, ReginParams reginParams) {
public Page<Map<String, Object>> queryForJgTransferNoticePage(Page<JgTransferNotice> page, String sort, JgTransferNoticeDto model, String type, ReginParams reginParams, String client) {
String orgCode = reginParams.getCompany().getCompanyCode();
String companyCode = reginParams.getCompany().getCompanyCode();
SortVo sortMap = commonService.sortFieldConversion(sort);
model.setTransferToUserIds(reginParams.getUserModel().getUserId());
Page<Map<String, Object>> noticePage = jgTransferNoticeMapper.queryForPage(page, sortMap, model, type, orgCode);
type = "jgLook".equals(client) ? null : type;
String orgCode = "jgLook".equals(client) ? reginParams.getCompany().getOrgCode() : null;
Page<Map<String, Object>> noticePage = jgTransferNoticeMapper.queryForPage(page, sortMap, model, type, companyCode,orgCode);
List<Map<String, Object>> mappedRecords = noticePage.getRecords().stream().peek(notice -> {
Optional<Long> noticeStatusOpt = Optional.ofNullable((String) notice.get("noticeStatus")).map(Long::valueOf);
noticeStatusOpt.ifPresent(status -> {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment