Browse Source

新增:【服务项目】服务记录列表查询

feature/teamB_zz_wgh
wangxianzhang 3 years ago
parent
commit
39b123f0e2
  1. 2
      epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java
  2. 28
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/ServiceProjectRecordFormDTO.java
  3. 17
      epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/ServiceProjectRecordResultDTO.java
  4. 17
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcServiceProjectController.java
  5. 13
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceRecordDao.java
  6. 8
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceRecordService.java
  7. 39
      epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceRecordServiceImpl.java
  8. 39
      epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceRecordDao.xml

2
epmet-commons/epmet-commons-tools/src/main/java/com/epmet/commons/tools/enums/DictTypeEnum.java

@ -23,7 +23,7 @@ public enum DictTypeEnum {
PATROL_WORK_TYPE("patrol_work_type", "例行工作分类", 13), PATROL_WORK_TYPE("patrol_work_type", "例行工作分类", 13),
GRID_TYPE("grid_type", "网格类型", 12), GRID_TYPE("grid_type", "网格类型", 12),
ITEM_TYPE_QUERY("item_type_query","居民信息组件查询方式",14), ITEM_TYPE_QUERY("item_type_query","居民信息组件查询方式",14),
IC_SERVICE_TYPE("ic_service_type","居民信息组件查询方式",20), IC_SERVICE_TYPE("ic_service_type","服务类别",20),
; ;
private final String code; private final String code;

28
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/form/ServiceProjectRecordFormDTO.java

@ -0,0 +1,28 @@
package com.epmet.dto.form;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
@Data
public class ServiceProjectRecordFormDTO {
private String serviceCategoryKey;
private String serviceProjectName;
private String serviceOrgName;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date serviceTimeStart;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date serviceTimeEnd;
private String serviceStatus;
private String satisfaction;
private Integer pageNo = 1;
private Integer pageSize = 20;
}

17
epmet-module/epmet-heart/epmet-heart-client/src/main/java/com/epmet/dto/result/ServiceProjectRecordResultDTO.java

@ -0,0 +1,17 @@
package com.epmet.dto.result;
import lombok.Data;
@Data
public class ServiceProjectRecordResultDTO {
private String serviceCategoryKey;
private String serviceCategoryName;
private String serviceProjectId;
private String serviceProjectName;
private String serviceOrgId;
private String serviceOrgName;
private String serviceTimeStart;
private String serviceTimeEnd;
private String serviceStatus;
private String servicePeopleNumber;
}

17
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/controller/IcServiceProjectController.java

@ -14,8 +14,10 @@ import com.epmet.dto.IcServiceProjectDTO;
import com.epmet.dto.form.IcServiceEditFormDTO; import com.epmet.dto.form.IcServiceEditFormDTO;
import com.epmet.dto.form.ServiceProjectFormDTO; import com.epmet.dto.form.ServiceProjectFormDTO;
import com.epmet.dto.form.ServiceProjectListFormDTO; import com.epmet.dto.form.ServiceProjectListFormDTO;
import com.epmet.dto.form.ServiceProjectRecordFormDTO;
import com.epmet.dto.result.IcServiceRecDetailRes; import com.epmet.dto.result.IcServiceRecDetailRes;
import com.epmet.dto.result.ServiceProjectListResultDTO; import com.epmet.dto.result.ServiceProjectListResultDTO;
import com.epmet.dto.result.ServiceProjectRecordResultDTO;
import com.epmet.service.IcServiceProjectService; import com.epmet.service.IcServiceProjectService;
import com.epmet.service.IcServiceRecordService; import com.epmet.service.IcServiceRecordService;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
@ -180,4 +182,19 @@ public class IcServiceProjectController {
icServiceRecordService.updateServiceRecord(formDTO); icServiceRecordService.updateServiceRecord(formDTO);
return new Result(); return new Result();
} }
/**
* 服务列表
* @param input
* @return
*/
@PostMapping("/service/recordList")
public Result listServiceRecords(@RequestBody ServiceProjectRecordFormDTO input) {
PageData<ServiceProjectRecordResultDTO> page = icServiceRecordService.listServiceRecords(
input.getServiceCategoryKey(), input.getServiceProjectName(), input.getServiceOrgName(), input.getServiceTimeStart(),
input.getServiceTimeEnd(), input.getServiceStatus(), input.getSatisfaction(), input.getPageNo(), input.getPageSize());
return new Result().ok(page);
}
} }

13
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/dao/IcServiceRecordDao.java

@ -1,8 +1,13 @@
package com.epmet.dao; package com.epmet.dao;
import com.epmet.commons.mybatis.dao.BaseDao; import com.epmet.commons.mybatis.dao.BaseDao;
import com.epmet.dto.result.ServiceProjectRecordResultDTO;
import com.epmet.entity.IcServiceRecordEntity; import com.epmet.entity.IcServiceRecordEntity;
import org.apache.ibatis.annotations.Mapper; import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;
import java.util.Date;
import java.util.List;
/** /**
* *
@ -13,4 +18,12 @@ import org.apache.ibatis.annotations.Mapper;
@Mapper @Mapper
public interface IcServiceRecordDao extends BaseDao<IcServiceRecordEntity> { public interface IcServiceRecordDao extends BaseDao<IcServiceRecordEntity> {
List<ServiceProjectRecordResultDTO> listServiceRecords(
@Param("serviceCategoryKey") String serviceCategoryKey,
@Param("serviceProjectName") String serviceProjectName,
@Param("serviceOrgName") String serviceOrgName,
@Param("serviceTimeStart") Date serviceTimeStart,
@Param("serviceTimeEnd") Date serviceTimeEnd,
@Param("serviceStatus") String serviceStatus,
@Param("satisfaction") String satisfaction);
} }

8
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/IcServiceRecordService.java

@ -1,10 +1,14 @@
package com.epmet.service; package com.epmet.service;
import com.epmet.commons.mybatis.service.BaseService; import com.epmet.commons.mybatis.service.BaseService;
import com.epmet.commons.tools.page.PageData;
import com.epmet.dto.form.IcServiceEditFormDTO; import com.epmet.dto.form.IcServiceEditFormDTO;
import com.epmet.dto.result.IcServiceRecDetailRes; import com.epmet.dto.result.IcServiceRecDetailRes;
import com.epmet.dto.result.ServiceProjectRecordResultDTO;
import com.epmet.entity.IcServiceRecordEntity; import com.epmet.entity.IcServiceRecordEntity;
import java.util.Date;
/** /**
* *
* *
@ -32,4 +36,8 @@ public interface IcServiceRecordService extends BaseService<IcServiceRecordEntit
* @param formDTO * @param formDTO
*/ */
void updateServiceRecord(IcServiceEditFormDTO formDTO); void updateServiceRecord(IcServiceEditFormDTO formDTO);
PageData<ServiceProjectRecordResultDTO> listServiceRecords(String serviceCategoryKey, String serviceProjectName, String serviceOrgName,
Date serviceTimeStart, Date serviceTimeEnd, String serviceStatus,
String satisfaction, Integer pageNo, Integer pageSize);
} }

39
epmet-module/epmet-heart/epmet-heart-server/src/main/java/com/epmet/service/impl/IcServiceRecordServiceImpl.java

@ -1,24 +1,32 @@
package com.epmet.service.impl; package com.epmet.service.impl;
import com.epmet.commons.mybatis.service.impl.BaseServiceImpl; import com.epmet.commons.mybatis.service.impl.BaseServiceImpl;
import com.epmet.commons.tools.constant.ServiceConstant;
import com.epmet.commons.tools.enums.DictTypeEnum; import com.epmet.commons.tools.enums.DictTypeEnum;
import com.epmet.commons.tools.exception.EpmetErrorCode; import com.epmet.commons.tools.exception.EpmetErrorCode;
import com.epmet.commons.tools.exception.EpmetException; import com.epmet.commons.tools.exception.EpmetException;
import com.epmet.commons.tools.feign.ResultDataResolver;
import com.epmet.commons.tools.page.PageData;
import com.epmet.commons.tools.utils.ConvertUtils; import com.epmet.commons.tools.utils.ConvertUtils;
import com.epmet.commons.tools.utils.Result; import com.epmet.commons.tools.utils.Result;
import com.epmet.dao.IcServiceRecordDao; import com.epmet.dao.IcServiceRecordDao;
import com.epmet.dao.IcServiceScopeDao; import com.epmet.dao.IcServiceScopeDao;
import com.epmet.dto.form.IcServiceEditFormDTO; import com.epmet.dto.form.IcServiceEditFormDTO;
import com.epmet.dto.result.IcServiceRecDetailRes; import com.epmet.dto.result.IcServiceRecDetailRes;
import com.epmet.dto.result.ServiceProjectRecordResultDTO;
import com.epmet.entity.IcServiceRecordEntity; import com.epmet.entity.IcServiceRecordEntity;
import com.epmet.feign.EpmetAdminOpenFeignClient; import com.epmet.feign.EpmetAdminOpenFeignClient;
import com.epmet.service.IcServiceRecordService; import com.epmet.service.IcServiceRecordService;
import com.github.pagehelper.PageHelper;
import com.github.pagehelper.PageInfo;
import org.apache.commons.collections4.MapUtils; import org.apache.commons.collections4.MapUtils;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.Date;
import java.util.List;
import java.util.Map; import java.util.Map;
/** /**
@ -28,11 +36,12 @@ import java.util.Map;
* @since v1.0.0 2022-05-30 * @since v1.0.0 2022-05-30
*/ */
@Service @Service
public class IcServiceRecordServiceImpl extends BaseServiceImpl<IcServiceRecordDao, IcServiceRecordEntity> implements IcServiceRecordService { public class IcServiceRecordServiceImpl extends BaseServiceImpl<IcServiceRecordDao, IcServiceRecordEntity> implements IcServiceRecordService, ResultDataResolver {
@Autowired @Autowired
private IcServiceScopeDao icServiceScopeDao; private IcServiceScopeDao icServiceScopeDao;
@Autowired @Autowired
private EpmetAdminOpenFeignClient adminOpenFeignClient; private EpmetAdminOpenFeignClient adminOpenFeignClient;
/** /**
* http://yapi.elinkservice.cn/project/245/interface/api/7820 * http://yapi.elinkservice.cn/project/245/interface/api/7820
* *
@ -101,4 +110,32 @@ public class IcServiceRecordServiceImpl extends BaseServiceImpl<IcServiceRecordD
} }
@Override
public PageData<ServiceProjectRecordResultDTO> listServiceRecords(String serviceCategoryKey, String serviceProjectName,
String serviceOrgName, Date serviceTimeStart,
Date serviceTimeEnd, String serviceStatus,
String satisfaction, Integer pageNo,
Integer pageSize) {
String msg = "【服务列表】查询服务类别失败";
Map<String, String> categories = getResultDataOrThrowsException(adminOpenFeignClient.dictMap(DictTypeEnum.IC_SERVICE_TYPE.getCode()),
ServiceConstant.EPMET_ADMIN_SERVER,
EpmetErrorCode.SERVER_ERROR.getCode(), msg, msg);
if (categories == null || categories.size() == 0) {
throw new EpmetException(EpmetErrorCode.SERVER_ERROR.getCode(), msg, msg);
}
PageHelper.startPage(pageNo, pageSize);
List<ServiceProjectRecordResultDTO> records = baseDao.listServiceRecords(serviceCategoryKey, serviceProjectName, serviceOrgName, serviceTimeStart, serviceTimeEnd, serviceStatus, satisfaction);
PageInfo<ServiceProjectRecordResultDTO> pi = new PageInfo<>(records);
// 补充信息
records.forEach(r->{
String categoryKey = r.getServiceCategoryKey();
r.setServiceCategoryName(categories.get(categoryKey));
});
return new PageData<>(records, pi.getTotal());
}
} }

39
epmet-module/epmet-heart/epmet-heart-server/src/main/resources/mapper/IcServiceRecordDao.xml

@ -5,7 +5,7 @@
<resultMap type="com.epmet.entity.IcServiceRecordEntity" id="icServiceRecordMap"> <resultMap type="com.epmet.entity.IcServiceRecordEntity" id="icServiceRecordMap">
<result property="id" column="ID"/> <result property="id" column="ID"/>
<result property="serviceCategoryId" column="SERVICE_CATEGORY_ID"/> <result property="serviceCategoryKey" column="SERVICE_CATEGORY_KEY"/>
<result property="serviceProjectId" column="SERVICE_PROJECT_ID"/> <result property="serviceProjectId" column="SERVICE_PROJECT_ID"/>
<result property="serviceProjectName" column="SERVICE_PROJECT_NAME"/> <result property="serviceProjectName" column="SERVICE_PROJECT_NAME"/>
<result property="serviceOrgId" column="SERVICE_ORG_ID"/> <result property="serviceOrgId" column="SERVICE_ORG_ID"/>
@ -23,6 +23,43 @@
<result property="updatedTime" column="UPDATED_TIME"/> <result property="updatedTime" column="UPDATED_TIME"/>
<result property="delFlag" column="DEL_FLAG"/> <result property="delFlag" column="DEL_FLAG"/>
</resultMap> </resultMap>
<select id="listServiceRecords" resultType="com.epmet.dto.result.ServiceProjectRecordResultDTO">
select record.SERVICE_CATEGORY_KEY,
record.SERVICE_PROJECT_ID,
record.SERVICE_PROJECT_NAME,
record.SERVICE_ORG_ID,
record.SERVICE_ORG_NAME,
record.SERVICE_TIME_START,
record.SERVICE_TIME_END,
record.SERVICE_STATUS,
feedback.SERVICE_PEOPLE_NUMBER
from ic_service_record record
left join ic_service_feedback feedback on (record.ID = feedback.SERVICE_RECORD_ID)
<where>
<if test="serviceCategoryKey != null and serviceCategoryKey != ''">
and record.SERVICE_CATEGORY_KEY = #{serviceCategoryKey}
</if>
<if test="serviceProjectName != null and serviceProjectName != ''">
and record.SERVICE_PROJECT_NAME like CONCAT('%',#{serviceProjectName},'%')
</if>
<if test="serviceOrgName != null and serviceOrgName != ''">
and record.SERVICE_ORG_NAME like CONCAT('%',#{serviceOrgName},'%')
</if>
<if test="serviceTimeStart != null and serviceTimeEnd != null">
and (
(record.SERVICE_TIME_START between #{serviceTimeStart} and #{serviceTimeEnd})
or (record.SERVICE_TIME_END between #{serviceTimeStart} and #{serviceTimeEnd})
)
</if>
<if test="serviceStatus != null and serviceStatus != ''">
and record.SERVICE_STATUS = #{serviceStatus}
</if>
<if test="satisfaction != null and satisfaction != ''">
and feedback.SATISFACTION = #{satisfaction}
</if>
</where>
order by record.CREATED_TIME desc
</select>
</mapper> </mapper>
Loading…
Cancel
Save