Commit 8eeb8f89 authored by suhuiguang's avatar suhuiguang

1.检验检测申请列及业务全过程统计 不正确

parent d2c076f1
package com.yeejoin.amos.boot.biz.common.dto;
import com.fasterxml.jackson.annotation.JsonFormat;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.typroject.tyboot.core.rdbms.model.BaseModel;
import java.util.Date;
import java.util.List;
import java.util.Map;
/**
* @author system_generator
* @date 2023-12-14
*/
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(value = "JyjcInspectionApplicationDto", description = "")
public class JyjcInspectionApplicationDto extends BaseModel {
private static final long serialVersionUID = 1L;
@ApiModelProperty(value = "检验检测单位编码")
private String inspectionUnitCode;
@ApiModelProperty(value = "检验检测单位名称")
private String inspectionUnitName;
@ApiModelProperty(value = "检验检测类型")
private String inspectionType;
@ApiModelProperty(value = "检验检测类型名称")
private String inspectionTypeName;
@ApiModelProperty(value = "设备种类")
private String equipClassify;
@ApiModelProperty(value = "报检单号")
private String applicationNo;
@ApiModelProperty(value = "申请日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date applicationDate;
@ApiModelProperty(value = "检验检测类别")
private String inspectionClassify;
@ApiModelProperty(value = "申请联系人")
private String applicationContactName;
@ApiModelProperty(value = "申请联系人电话")
private String applicationContactPhone;
@ApiModelProperty(value = "申请说明")
private String applicationRemark;
@ApiModelProperty(value = "项目负责人(检验员)")
private String inspectionChargePerson;
@ApiModelProperty(value = "项目负责人(检验员)")
private String inspectionChargePersonName;
@ApiModelProperty(value = "项目负责人联系电话(检验员联系电话)")
private String inspectionChargePhone;
@ApiModelProperty(value = "说明(受理说明、退回原因、转办说明)")
private String processDescription;
@ApiModelProperty(value = "原始报检单号")
private String originalApplicationNo;
@ApiModelProperty(value = "受理日期")
@JsonFormat(pattern = "yyyy-MM-dd")
private Date acceptDate;
@ApiModelProperty(value = "报检单位编号")
private String applicationUnitCode;
@ApiModelProperty(value = "报检单位名称")
private String applicationUnitName;
@ApiModelProperty(value = "报检单位地址")
private String address;
@ApiModelProperty(value = "监管单位名称")
private String superviseOrgName;
@ApiModelProperty(value = "包含设备数量(冗余)")
private Integer numberOfEquip;
@ApiModelProperty(value = "工作流执行角色")
private String workflowRole;
@ApiModelProperty(value = "工作流实例ID")
private String processInstanceId;
@ApiModelProperty(value = "工作流key")
private String processKey;
@ApiModelProperty(value = "申请单二维码")
private String applicationQrcode;
@ApiModelProperty(value = "状态")
private String status;
@ApiModelProperty(value = "状态名称")
private String statusName;
@ApiModelProperty(value = "备注(无用预留)")
private String remark;
@ApiModelProperty(value = "业务类型(与菜单对应拆表使用)")
private String bizType;
@ApiModelProperty(value = "操作类型 0 新增 2 编辑 1 暂存")
private String operationType;
@ApiModelProperty(value = "操作类型 0 新增 2 编辑 1 暂存")
private String workflowNode;
@ApiModelProperty(value = "内部人员代码")
private String innerPersonCode;
@ApiModelProperty("检验结果方式")
private String resultType;
@ApiModelProperty(value = "下一执行节点ids")
private String nextExecuteIds;
@ApiModelProperty(value = "发起人id用于撤回操作")
private String promoter;
@ApiModelProperty(value = "创建人ID")
private String createUserId;
@ApiModelProperty(value = "下一步任务id")
private String nextTaskId;
@ApiModelProperty(value = "下一步执行人Ids")
private String nextExecuteUserIds;
@ApiModelProperty(value = "下一步任务名称")
private String nextTaskName;
@ApiModelProperty(value = "设备分类")
private String equList;
@ApiModelProperty(value = "设备类别code")
private String equCategory;
@ApiModelProperty(value = "监管码")
private String supervisoryCode;
private String instanceId;
@ApiModelProperty(value = "是否已经进行计划排期")
private Boolean isExistPlanData;
@ApiModelProperty(value = "计划下发日期,统计办理时效使用,来源JyjcInspectionApplication.planCreateDate")
private Date planCreateDate;
/**
* 是否必须处理: true-必须处理,false-可不予受理
*/
private Boolean isMustAccept;
@ApiModelProperty(value = "区域信息")
private String cityCode;
public String getProcessInstanceId() {
return this.instanceId != null ? this.instanceId : this.processInstanceId;
}
public void setProcessInstanceId(String processInstanceId) {
this.processInstanceId = processInstanceId;
}
}
......@@ -1035,7 +1035,7 @@
select sum(num) from (
select count(1) as num from tzs_jg_change_registration_name a, privilege_company b where a.receive_org_code= b.company_code and b.org_code like CONCAT(#{orgCode}, '%') and a.audit_status != '使用单位已撤回' and a.audit_status != '使用单位待提交' and a.audit_status !='已作废' and a.audit_status !='已完成' and date_ge(CAST(a.apply_date as date),#{dto.beginDate}) and date_le(CAST(a.apply_date as date),#{dto.endDate})
union all
SELECT count(1) as num FROM "tzs_jg_change_registration_reform" where receive_company_org_code like CONCAT(#{orgCode}, '%') and audit_status != '使用单位待提交' and audit_status != '使用单位已撤回' and audit_status != '已作废' and date_ge(CAST(reg_date as date),#{dto.beginDate}) and date_le(CAST(reg_date as date),#{dto.endDate})
SELECT count(1) as num FROM "tzs_jg_change_registration_reform" where receive_company_org_code like CONCAT(#{orgCode}, '%') and audit_status != '使用单位待提交' and audit_status != '使用单位已撤回' and audit_status != '已作废' and audit_status != '已完成' and date_ge(CAST(reg_date as date),#{dto.beginDate}) and date_le(CAST(reg_date as date),#{dto.endDate})
union all
SELECT count(1) as num FROM "tzs_jg_change_registration_transfer" where receive_company_org_code like CONCAT(#{orgCode}, '%') and audit_status != '使用单位待提交' and audit_status != '使用单位已撤回' and audit_status != '已作废' and audit_status != '已完成' and date_ge(CAST(reg_date as date),#{dto.beginDate}) and date_le(CAST(reg_date as date),#{dto.endDate})
union all
......
package com.yeejoin.amos.boot.module.statistics.api.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.dto.JyjcInspectionApplicationDto;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import org.springframework.security.core.parameters.P;
import java.util.List;
......@@ -11,8 +15,7 @@ import java.util.List;
* @author system_generator
* @date 2023-12-13
*/
@Mapper
public interface JYJCStatisticsMapper {
public interface JYJCStatisticsMapper extends BaseMapper {
/**
* 检验机构总量统计
......@@ -41,4 +44,13 @@ public interface JYJCStatisticsMapper {
* @return 检验机构总量
*/
Long countAllOpenBizInspectCompany(@Param("orgCode") String orgCode, @Param("regionCode") String regionCode);
/**
* 按照地区过滤检验检测信息
* @param page 分页信息
* @param dto 过滤条件
* @param orgCode 区域
* @return 按照所选区域过滤报检信息
*/
Page<JyjcInspectionApplicationDto> queryForInspectAppPageList(@Param("page") Page<JyjcInspectionApplicationDto> page, @Param("dto") JyjcInspectionApplicationDto dto,@Param("orgCode") String orgCode);
}
......@@ -39,6 +39,64 @@
(( b.supervise_org_code != '50' AND b.supervise_org_code LIKE CONCAT ( #{orgCode}, '%' ) )
OR ( b.supervise_org_code = '50' AND b.office_region LIKE CONCAT ( '%', #{regionCode}, '%' )))
</select>
<select id="queryForInspectAppPageList" resultType="com.yeejoin.amos.boot.biz.common.dto.JyjcInspectionApplicationDto">
SELECT
tzjia.*,
case
when tzjia.plan_data <![CDATA[<>]]> '' then TRUE
else false END as isExistPlanData,
(SELECT cdd1.NAME from cb_data_dictionary cdd1 where cdd1.code = tzjia.inspection_classify AND cdd1.TYPE = 'JYJCLB' limit 1) as inspectionClassify,
(SELECT cdd2.NAME from cb_data_dictionary cdd2 where cdd2.code = tzjia.status and cdd2.type = 'JYLCZT' limit 1) AS statusName,
(SELECT cdd3.NAME from cb_data_dictionary cdd3 where cdd3.code = tzjia.status and cdd3.type = 'JYJC' limit 1) AS inspectionType,
(SELECT name FROM "tz_equipment_category" ca where ca.code = tzjia.equip_classify) AS equipClassify
FROM
tz_jyjc_inspection_application AS tzjia,
tz_base_enterprise_info b
<where>
tzjia.inspection_unit_code= b.use_unit_code
and ((b.supervise_org_code != '50' and b.supervise_org_code LIKE CONCAT (#{orgCode}, '%')) or (b.supervise_org_code = '50' and b.office_region LIKE CONCAT ('%', #{dto.cityCode}, '%')))
<if test="dto.applicationNo != null and dto.applicationNo != ''">
and tzjia.application_no like concat('%',#{dto.applicationNo},'%')
</if>
<if test="dto.inspectionType != null and dto.inspectionType != ''">
and tzjia.inspection_type = #{dto.inspectionType}
</if>
<if test="dto.equipClassify != null and dto.equipClassify != ''">
and tzjia.equip_classify = #{dto.equipClassify}
</if>
<if test="dto.applicationDate != null">
and date_eq(tzjia.application_date, #{dto.applicationDate})
</if>
<if test="dto.acceptDate != null">
and tzjia.accept_date = #{dto.acceptDate}
</if>
<if test="dto.inspectionChargePerson != null and dto.inspectionChargePerson != ''">
and tzjia.inspection_charge_person like concat('%',#{dto.inspectionChargePerson},'%')
</if>
<if test="dto.inspectionChargePersonName != null and dto.inspectionChargePersonName != ''">
and tzjia.inspection_charge_person_name like concat('%',#{dto.inspectionChargePersonName},'%')
</if>
<if test="dto.status != null and dto.status != ''">
and tzjia.status = #{dto.status}
</if>
<if test="dto.bizType != null and dto.bizType != ''">
and tzjia.biz_type = #{dto.bizType}
</if>
<if test="dto.inspectionUnitName != null and dto.inspectionUnitName != ''">
and tzjia.inspection_unit_name like concat('%',#{dto.inspectionUnitName},'%')
</if>
<if test="dto.applicationUnitName != null and dto.applicationUnitName != ''">
and tzjia.application_unit_name like concat('%',#{dto.applicationUnitName},'%')
</if>
<if test="dto.inspectionUnitCode != null and dto.inspectionUnitCode != ''">
and tzjia.inspection_unit_code = #{dto.inspectionUnitCode} and tzjia.status != '6610'
</if>
<if test="dto.applicationUnitCode != null and dto.applicationUnitCode != ''">
and tzjia.application_unit_code = #{dto.applicationUnitCode}
</if>
</where>
order by tzjia.application_no desc
</select>
</mapper>
package com.yeejoin.amos.boot.module.statistcs.biz.config;
import com.baomidou.mybatisplus.annotation.DbType;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
@Configuration(value = "MybatisPlusConfig")
public class MybatisPlusConfig {
@Bean
public PaginationInterceptor paginationInterceptor() {
PaginationInterceptor paginationInterceptor = new PaginationInterceptor();
paginationInterceptor.setLimit(50000);
paginationInterceptor.setDialectType(DbType.POSTGRE_SQL.getDb());
return paginationInterceptor;
}
}
package com.yeejoin.amos.boot.module.statistcs.biz.controller;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.dto.JyjcInspectionApplicationDto;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.jyjc.api.dto.InspectionTimelinesDto;
import com.yeejoin.amos.boot.module.jyjc.api.dto.PublicityInspectOrgInfoDto;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication;
import com.yeejoin.amos.boot.module.jyjc.api.model.JyjcInspectionApplicationModel;
import com.yeejoin.amos.boot.module.statistcs.biz.service.impl.JYJCDPStatisticsServiceImpl;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang3.StringUtils;
import org.springframework.validation.BindingResult;
import org.springframework.validation.FieldError;
import org.springframework.validation.annotation.Validated;
......@@ -158,6 +163,21 @@ public class JYJCDPStatisticsController {
return ResponseHelper.buildResponse(statisticsService.equipInspectTimeCountByEquList(dpFilterParamDto));
}
@TycloudOperation(ApiLevel = UserType.AGENCY)
@PostMapping(value = "/inspectApplication/pageList")
@ApiOperation(httpMethod = "POST", value = "检验检测报检申请列表分页,按照区域过滤", notes = "检验检测报检申请列表分页,按照区域过滤")
public ResponseModel<Page<JyjcInspectionApplicationDto>> queryForPageList(@RequestParam(value = "current") int current,
@RequestParam(value = "size") int size,
@RequestBody JyjcInspectionApplicationDto model) {
if(StringUtils.isEmpty(model.getCityCode())){
model.setCityCode("610000");
}
Page<JyjcInspectionApplicationDto> page = new Page<>();
page.setCurrent(current);
page.setSize(size);
return ResponseHelper.buildResponse(statisticsService.queryForInspectAppPageList(page, model));
}
}
......
......@@ -619,10 +619,11 @@ public class JGDPStatisticsServiceImpl {
for (int i = 0; i < everyInFlow.size(); i++) {
Long flowIng = everyInFlow.get(i);
Long finished = everyFinished.get(i);
BigDecimal finishedBig = new BigDecimal(finished.toString());
BigDecimal flowIngBig = new BigDecimal(flowIng.toString());
BigDecimal all = flowIngBig.add(new BigDecimal(finished.toString()));
BigDecimal all = flowIngBig.add(finishedBig);
if (all.compareTo(BigDecimal.ZERO) > 0) {
BigDecimal percent = flowIngBig.divide(all, 2, RoundingMode.HALF_UP);
BigDecimal percent = finishedBig.divide(all, 2, RoundingMode.HALF_UP);
BigDecimal percentX100 = percent.multiply(new BigDecimal("100")).setScale(0, RoundingMode.HALF_UP);
percentArray.add(percentX100.toPlainString());
} else {
......
package com.yeejoin.amos.boot.module.statistcs.biz.service.impl;
import cn.hutool.core.date.DateUtil;
import com.alibaba.fastjson.JSON;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.yeejoin.amos.boot.biz.common.bo.ReginParams;
import com.yeejoin.amos.boot.biz.common.dto.CountDto;
import com.yeejoin.amos.boot.biz.common.dto.JyjcInspectionApplicationDto;
import com.yeejoin.amos.boot.biz.common.utils.RedisKey;
import com.yeejoin.amos.boot.module.common.api.dto.DPFilterParamDto;
import com.yeejoin.amos.boot.module.jyjc.api.dto.InspectTimeCountDto;
import com.yeejoin.amos.boot.module.jyjc.api.dto.InspectionTimelinesDto;
import com.yeejoin.amos.boot.module.jyjc.api.dto.PublicityInspectOrgInfoDto;
import com.yeejoin.amos.boot.module.jyjc.api.entity.JyjcInspectionApplication;
import com.yeejoin.amos.boot.module.jyjc.api.enums.BizTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.enums.JYJCTypeEnum;
import com.yeejoin.amos.boot.module.jyjc.api.mapper.JyjcInspectionApplicationEquipMapper;
......@@ -35,6 +41,8 @@ import org.elasticsearch.search.aggregations.bucket.terms.TermsAggregationBuilde
import org.elasticsearch.search.builder.SearchSourceBuilder;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import org.typroject.tyboot.core.foundation.context.RequestContext;
import org.typroject.tyboot.core.foundation.utils.ValidationUtil;
import javax.validation.constraints.NotBlank;
import java.io.IOException;
......@@ -553,4 +561,15 @@ public class JYJCDPStatisticsServiceImpl {
item2.put("value", "超期");
return Arrays.asList(item1, item2);
}
public Page<JyjcInspectionApplicationDto> queryForInspectAppPageList(Page<JyjcInspectionApplicationDto> page, JyjcInspectionApplicationDto model) {
String orgCode = stCommonService.getAndSetOrgCode(model.getCityCode());
if(orgCode == null){
page.setTotal(0);
return page;
}
return jyjcStatisticsMapper.queryForInspectAppPageList(page, model, orgCode);
}
}
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