Browse Source

mingwen buquan

dev
zxc 3 years ago
parent
commit
4ac4e9bfe8
  1. 21
      epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/ComplementLogOperationDTO.java
  2. 6
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/LogOperationDao.java
  3. 30
      epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java
  4. 26
      epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml
  5. 17
      epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml

21
epmet-admin/epmet-admin-client/src/main/java/com/epmet/dto/ComplementLogOperationDTO.java

@ -0,0 +1,21 @@
package com.epmet.dto;
import lombok.Data;
import java.io.Serializable;
/**
* @Author zxc
* @DateTime 2022/10/20 14:21
* @DESC
*/
@Data
public class ComplementLogOperationDTO implements Serializable {
private static final long serialVersionUID = 7563210356670229204L;
private String staffId;
private String orgId;
private String orgIdPath;
}

6
epmet-admin/epmet-admin-server/src/main/java/com/epmet/dao/LogOperationDao.java

@ -18,12 +18,14 @@
package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.ComplementLogOperationDTO;
import com.epmet.dto.region.LogOperationResultDTO;
import com.epmet.entity.LogOperationEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;
/**
* 操作日指标
@ -41,6 +43,8 @@ public interface LogOperationDao extends BaseDao<LogOperationEntity> {
@Param("operatorMobile")String operatorMobile,
@Param("category")String category);
List<String> getStaffId();
Map<String,String> getStaffId();
void updateBatchLog(@Param("list") List<ComplementLogOperationDTO> list);
}

30
epmet-admin/epmet-admin-server/src/main/java/com/epmet/service/impl/LogOperationServiceImpl.java

@ -6,11 +6,14 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.epmet.commons.tools.constant.NumConstant;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.dto.result.CustomerStaffInfoCacheResult;
import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.redis.common.CustomerStaffRedis;
import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.LogOperationDao;
import com.epmet.dto.ComplementLogOperationDTO;
import com.epmet.dto.CustomerStaffDTO;
import com.epmet.dto.form.CustomerStaffFormDTO;
import com.epmet.dto.region.LogOperationResultDTO;
@ -22,6 +25,7 @@ import com.github.pagehelper.PageInfo;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.util.CollectionUtils;
import java.util.*;
@ -214,10 +218,32 @@ public class LogOperationServiceImpl implements LogOperationService, ResultDataR
Integer no = NumConstant.ONE;
Integer size;
do {
PageInfo<String> pageInfo = PageHelper.startPage(no, NumConstant.ONE_HUNDRED).doSelectPageInfo(() -> logOperationDao.getStaffId());
PageInfo<Map<String,String>> pageInfo = PageHelper.startPage(no, NumConstant.ONE_HUNDRED).doSelectPageInfo(() -> logOperationDao.getStaffId());
size = pageInfo.getList().size();
if (!CollectionUtils.isEmpty(pageInfo.getList())){
List<ComplementLogOperationDTO> needUpdate = new ArrayList<>();
for (Map<String, String> m : pageInfo.getList()) {
CustomerStaffInfoCacheResult staffInfo = CustomerStaffRedis.getStaffInfo(m.get("CUSTOMER_ID"), m.get("OPERATOR_ID"));
if (null == staffInfo){
logger.warn("未查询到工作人员信息"+m.get("OPERATOR_ID"));
continue;
}
ComplementLogOperationDTO dto = new ComplementLogOperationDTO();
dto.setStaffId(staffInfo.getStaffId());
dto.setOrgId(staffInfo.getAgencyId());
dto.setOrgIdPath(StringUtils.isBlank(staffInfo.getAgencyPIds()) ? staffInfo.getAgencyId() : staffInfo.getAgencyPIds().concat(":").concat(staffInfo.getAgencyId()));
needUpdate.add(dto);
}
if (!CollectionUtils.isEmpty(needUpdate)){
updateLog(needUpdate);
}
}
no++;
}while (size == NumConstant.ONE_HUNDRED);
}
@Transactional(rollbackFor = Exception.class)
public void updateLog(List<ComplementLogOperationDTO> list){
logOperationDao.updateBatchLog(list);
}
}

26
epmet-admin/epmet-admin-server/src/main/resources/mapper/LogOperationDao.xml

@ -26,6 +26,27 @@
<result property="updatedTime" column="UPDATED_TIME"/>
</resultMap>
<update id="updateBatchLog">
update log_operation
<trim prefix="set" suffixOverrides=",">
<trim prefix="ORG_ID =(case" suffix="end),">
<foreach collection="list" item="item">
when OPERATOR_ID = #{item.staffId} then #{item.orgId}
</foreach>
</trim>
<trim prefix="ORG_ID_PATH =(case" suffix="end),">
<foreach collection="list" item="item">
when OPERATOR_ID = #{item.staffId} then #{item.orgIdPath}
</foreach>
</trim>
UPDATED_TIME = NOW()
</trim>
where 1=1
<foreach collection="list" item="item" open="AND( " separator=" OR " index="index" close=")">
OPERATOR_ID = #{item.staffId}
</foreach>
</update>
<select id="pageList" parameterType="map" resultType="com.epmet.dto.region.LogOperationResultDTO">
SELECT
lo.CATEGORY as category,
@ -60,9 +81,10 @@
</if>
ORDER BY lo.OPERATING_TIME DESC
</select>
<select id="getStaffId" resultType="java.lang.String">
<select id="getStaffId" resultType="java.util.Map">
SELECT
OPERATOR_ID
OPERATOR_ID,
CUSTOMER_ID
FROM log_operation
GROUP BY OPERATOR_ID
</select>

17
epmet-module/data-aggregator/data-aggregator-server/src/main/resources/mapper/epmetuser/IcResiUserDao.xml

@ -287,22 +287,25 @@
<select id="getTripReportRecordInfo" resultType="java.util.Map">
select
MOBILE,
ID_CARD
ID_CARD,
NAME
from ic_trip_report_record
where id = #{id}
</select>
<select id="getVaccineRecordInfo" resultType="java.util.Map">
select
MOBILE,
ID_CARD
ID_CARD,
NAME
from ic_vaccine
where id = #{id}
</select>
<select id="getVaccineSpecialAttentionInfo" resultType="java.util.Map">
<select id="getSpecialAttentionInfo" resultType="java.util.Map">
select
MOBILE,
ID_CARD
ID_CARD,
NAME
from ic_epidemic_special_attention
where id = #{id}
</select>
@ -310,14 +313,16 @@
<select id="getNoNatCompareInfo" resultType="java.util.Map">
select
MOBILE,
ID_CARD
ID_CARD,
NAME
from ic_nat_compare_record
where id = #{id}
</select>
<select id="getNatInfo" resultType="java.util.Map">
select
MOBILE,
ID_CARD
ID_CARD,
NAME
from ic_nat
where id = #{id}
</select>

Loading…
Cancel
Save