Commit 5b6a1a47 authored by suhuiguang's avatar suhuiguang

reafact(jyjc): 报检规则4.0开发

1.单据数据权限过滤
parent 4dcb5573
......@@ -42,7 +42,15 @@ public interface JyjcInspectionApplicationMapper extends BaseMapper<JyjcInspecti
@Param("sort") SortVo sortMap,
@Param("orgCode") String orgCode);
/**
Page<JyjcInspectionApplicationModel> selectForPage2(@Param("page") Page<JyjcInspectionApplication> page,
@Param("jyjcInspectionApplicationModel") JyjcInspectionApplicationModel jyjcInspectionApplicationModel,
@Param("client") String client,
@Param("companyCode") String companyCode,
@Param("sort") SortVo sortMap,
@Param("orgCode") String orgCode,@Param("agencyClassify") String agencyClassify);
/**
* 查询待受理流流程状态的设备
*
* @return Set<String>
......
......@@ -15,7 +15,6 @@
GROUP BY application_seq
)
SELECT
DISTINCT tzjia.sequence_nbr AS sequenceNbr,
tzjia.*,
case
when tzjia.plan_data<![CDATA[ <>]]> '' then TRUE
......@@ -36,7 +35,7 @@
</sql>
<select id="selectForPage" resultType="com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel">
<include refid="page-list"/>
<include refid="validStatusList" />
<include refid="validStatusList"/>
<where>
<if test="jyjcInspectionApplicationModel.applicationNo != null and jyjcInspectionApplicationModel.applicationNo != ''">
and tzjia.application_no like concat('%',#{jyjcInspectionApplicationModel.applicationNo},'%')
......@@ -73,9 +72,6 @@
1=1
</otherwise>
</choose>
)
</if>
<if test="jyjcInspectionApplicationModel.bizType != null and jyjcInspectionApplicationModel.bizType != ''">
......@@ -115,6 +111,94 @@
tzjia.application_no desc
</select>
<select id="selectForPage2" resultType="com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel">
<include refid="page-list"/>
<include refid="validStatusList"/>
<where>
<if test="jyjcInspectionApplicationModel.applicationNo != null and jyjcInspectionApplicationModel.applicationNo != ''">
and tzjia.application_no like concat('%',#{jyjcInspectionApplicationModel.applicationNo},'%')
</if>
<if test="jyjcInspectionApplicationModel.inspectionType != null and jyjcInspectionApplicationModel.inspectionType != ''">
and tzjia.inspection_type = #{jyjcInspectionApplicationModel.inspectionType}
</if>
<if test="jyjcInspectionApplicationModel.equipClassify != null and jyjcInspectionApplicationModel.equipClassify != ''">
and tzjia.equip_classify = #{jyjcInspectionApplicationModel.equipClassify}
</if>
<if test="jyjcInspectionApplicationModel.applicationDate != null">
and date_eq(tzjia.application_date, #{jyjcInspectionApplicationModel.applicationDate})
</if>
<if test="jyjcInspectionApplicationModel.acceptDate != null">
and tzjia.accept_date = #{jyjcInspectionApplicationModel.acceptDate}
</if>
<if test="jyjcInspectionApplicationModel.status != null and jyjcInspectionApplicationModel.status != ''">
and (
<choose>
<when test="statusList.contains(jyjcInspectionApplicationModel.status)">
tzjia.status = #{jyjcInspectionApplicationModel.status}
</when>
<when test='jyjcInspectionApplicationModel.status == "66190"'>
(tzjia.inspection_charge_person is null and tzjia.status = '6616')
</when>
<when test='jyjcInspectionApplicationModel.status == "66191"'>
(tzjia.inspection_charge_person <![CDATA[<>]]> '' and tzjia.plan_inspection_date is null and tzjia.status = '6616')
</when>
<when test='jyjcInspectionApplicationModel.status == "66192"'>
(tzjia.plan_inspection_date is not null and tzjia.status = '6616')
</when>
<otherwise>
1=1
</otherwise>
</choose>
)
</if>
<if test="jyjcInspectionApplicationModel.bizType != null and jyjcInspectionApplicationModel.bizType != ''">
and tzjia.biz_type = #{jyjcInspectionApplicationModel.bizType}
</if>
<if test="jyjcInspectionApplicationModel.inspectionUnitName != null and jyjcInspectionApplicationModel.inspectionUnitName != ''">
and tzjia.inspection_unit_name like concat('%',#{jyjcInspectionApplicationModel.inspectionUnitName},'%')
</if>
<if test="jyjcInspectionApplicationModel.applicationUnitName != null and jyjcInspectionApplicationModel.applicationUnitName != ''">
and tzjia.application_unit_name like concat('%',#{jyjcInspectionApplicationModel.applicationUnitName},'%')
</if>
<choose>
<when test="client == 'company'">
<choose>
<when test="companyCode == '126100004352004822'">
and (tzjia.inspection_unit_code = #{companyCode} or tzjia.inspection_unit_code = '12100000400001774F')
</when>
<otherwise>
<choose>
<when test="agencyClassify == 'JYJGFL_SBGY'">
and (
tzjia.inspection_unit_code = #{companyCode}
or EXISTS (select 1 from tz_base_enterprise_info e where e.regulatory_labels like '%一级管控(承压)%' and e.use_unit_code = tzjia.inspection_unit_code and tzjia.equip_classify in ('1000','2000','8000'))
or EXISTS (select 1 from tz_base_enterprise_info e where e.regulatory_labels like '%一级管控(承压)%' and e.use_unit_code = tzjia.use_unit_credit_code and tzjia.equip_classify in ('1000','2000','8000'))
)
</when>
<otherwise>
and (tzjia.inspection_unit_code = #{companyCode})
</otherwise>
</choose>
</otherwise>
</choose>
</when>
<otherwise>
AND tzjia.instance_id <![CDATA[<>]]> ''
AND EXISTS (
SELECT 1
FROM unnest(string_to_array(ed.orgBranchCodes, ',')) AS elem
WHERE elem LIKE concat(#{orgCode},'%' ) )
</otherwise>
</choose>
</where>
order by
<if test="sort != null">
tzjia.${sort.field} ${sort.sortType},
</if>
tzjia.application_no desc
</select>
<select id="listByCategory"
resultType="com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipModel">
select
......
......@@ -6,8 +6,8 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.module.common.biz.utils.CommonResponseUtil;
import com.yeejoin.amos.boot.module.common.api.dto.ContraptionQueryParams;
import com.yeejoin.amos.boot.module.common.biz.utils.CommonResponseUtil;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationEquipModel;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel;
......@@ -147,11 +147,11 @@ public class JyjcInspectionApplicationController extends BaseController {
@RequestParam(value = "sort", required = false) String sort,
@RequestBody JyjcInspectionApplicationModel model,
@ApiParam(value = "客户端类型: jgAudit-监管审核;jgLook-监管查看") @RequestParam(value = "client", required = false, defaultValue = "jgAudit") String client
) {
) {
Page<JyjcInspectionApplication> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.queryForPageList(page, model, sort,client));
return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.queryForPageList(page, model, sort, client));
}
/**
......@@ -289,7 +289,7 @@ public class JyjcInspectionApplicationController extends BaseController {
@GetMapping(value = "/jgAllProConPage")
@ApiOperation(value = "查询单位下的所有工程装置(父ID为空)的数据")
public ResponseModel<IPage<IdxBizJgProjectContraption>> getJgAllProConPage(@RequestParam(value = "useUnitCreditCode") String useUnitCreditCode,
@RequestParam(value = "projectContraption",required = false) String projectContraption,
@RequestParam(value = "projectContraption", required = false) String projectContraption,
@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size) {
Page<IdxBizJgProjectContraption> page = new Page<>();
......@@ -314,16 +314,16 @@ public class JyjcInspectionApplicationController extends BaseController {
@TycloudOperation(ApiLevel = UserType.AGENCY)
@ApiOperation(httpMethod = "GET", value = "检验类型-按照业务查询", notes = "检验类型-按照业务查询")
@GetMapping(value = "/{bizType}/inspectType/list")
public ResponseModel<List<DictionarieModel>> inspectTypeListByBizType(@PathVariable String bizType){
public ResponseModel<List<DictionarieModel>> inspectTypeListByBizType(@PathVariable String bizType) {
return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.inspectTypeListByBizType(bizType));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@GetMapping(value = "/{bizType}/export")
@ApiOperation(httpMethod = "GET", value = "定(首)检验列表(企业)/电梯检测/监督检验 列表数据导出", notes = "定(首)检验列表(企业)/电梯检测/监督检验 列表数据导出")
public void export(@PathVariable(value = "bizType")String bizType, HttpServletResponse response, String ids) {
Assert.hasText(ids,"未选择导出数据");
jyjcInspectionApplicationServiceImpl.export(bizType,response, Arrays.asList(ids.split(",")));
public void export(@PathVariable(value = "bizType") String bizType, HttpServletResponse response, String ids) {
Assert.hasText(ids, "未选择导出数据");
jyjcInspectionApplicationServiceImpl.export(bizType, response, Arrays.asList(ids.split(",")));
}
......@@ -337,7 +337,7 @@ public class JyjcInspectionApplicationController extends BaseController {
Page<IdxBizJgProjectContraption> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
IPage<IdxBizJgProjectContraption> re = jyjcInspectionApplicationServiceImpl.getJgProjectContraptionPage(queryParams, page, selectedOrgInfo.getCompany().getCompanyCode());
IPage<IdxBizJgProjectContraption> re = jyjcInspectionApplicationServiceImpl.getJgProjectContraptionPage(queryParams, page, selectedOrgInfo.getCompany().getCompanyCode());
return ResponseHelper.buildResponse(re);
}
......@@ -363,4 +363,19 @@ public class JyjcInspectionApplicationController extends BaseController {
public ResponseModel<Object> fileTest(String appSeq) {
return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.genDocPath(appSeq));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/pageList2")
@ApiOperation(httpMethod = "POST", value = "检验业务查询-分页列表页面(检验检测单位、监管审核)", notes = "检验业务查询-分页列表页面(检验检测单位、监管审核共用)")
public ResponseModel<Page<JyjcInspectionApplicationModel>> queryForPageList2(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
@RequestParam(value = "sort", required = false) String sort,
@RequestBody JyjcInspectionApplicationModel model
) {
Page<JyjcInspectionApplication> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(jyjcInspectionApplicationServiceImpl.queryForPageList2(page, model, sort));
}
}
......@@ -12,6 +12,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.CompanyBo;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.controller.BaseController;
import com.yeejoin.amos.boot.biz.common.entity.DataDictionary;
import com.yeejoin.amos.boot.biz.common.excel.ExcelUtil;
import com.yeejoin.amos.boot.biz.common.service.impl.DataDictionaryServiceImpl;
......@@ -574,6 +575,30 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
return result;
}
public Page<JyjcInspectionApplicationModel> queryForPageList2(Page<JyjcInspectionApplication> page, JyjcInspectionApplicationModel model, String sort) {
ReginParams reginParams = JSON.parseObject(redisUtils.get(RedisKey.buildReginKey(RequestContext.getExeUserId(), RequestContext.getToken())).toString(), ReginParams.class);
String client;
if (reginParams.getCompany().getLevel().equals(BaseController.COMPANY_TYPE_COMPANY)) { // 检验检测机构
client = BaseController.COMPANY_TYPE_COMPANY;
} else { // 监管端
client = BaseController.COMPANY_TYPE_SUPERVISION;
}
SortVo sortMap = commonService.sortFieldConversion(sort);
String companyCode = CommonServiceImpl.getUnitCode(reginParams.getCompany());
String agencyClassify = this.getAgencyClassify(companyCode);
Page<JyjcInspectionApplicationModel> result = this.getBaseMapper().selectForPage2(page, model, client, companyCode, sortMap, reginParams.getCompany().getOrgCode(), agencyClassify);
result.getRecords().forEach(r -> {
r.setLoginPersonCompanyCode(companyCode);
this.addPlanAndConfirmStatus(r, model);
});
return result;
}
private String getAgencyClassify(String companyCode) {
JyjcOpeningApplication openingApplication = getOpeningApplication(companyCode);
return Optional.ofNullable(openingApplication).map(JyjcOpeningApplication::getAgencyClassify).orElse("none");
}
private void addPlanAndConfirmStatus(JyjcInspectionApplicationModel r, JyjcInspectionApplicationModel filter) {
// 全部时,设置计划状态
if (String.valueOf(FlowStatusEnum.TO_BE_FINISHED.getCode()).equals(r.getStatus()) && StringUtils.isEmpty(filter.getStatus())) {
......@@ -906,6 +931,17 @@ public class JyjcInspectionApplicationServiceImpl extends BaseService<JyjcInspec
}
}
private JyjcOpeningApplication getOpeningApplication(String inspectionUnitCode) {
LambdaQueryWrapper<JyjcOpeningApplication> queryWrapper = new LambdaQueryWrapper<>();
queryWrapper.eq(JyjcOpeningApplication::getUnitCode, inspectionUnitCode);
queryWrapper.eq(JyjcOpeningApplication::getStatus, FlowStatusEnum.TO_BE_FINISHED.getName());
queryWrapper.select(JyjcOpeningApplication::getResultType, BaseEntity::getSequenceNbr, JyjcOpeningApplication::getDockingUnitCode, JyjcOpeningApplication::getAgencyClassify);
queryWrapper.orderByDesc(JyjcOpeningApplication::getRecDate);
queryWrapper.last("limit 1");
return jyjcOpeningApplicationService.getOne(queryWrapper);
}
public void createHisAfterReceive(JyjcInspectionApplicationModel model) {
if (model.getEquipClassify().equals(EquipmentClassifityEnum.YLGD.getCode())) {
......
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