Commit 654ca68c authored by gaodongdong's avatar gaodongdong

修复bug

parent d31da58e
...@@ -18,6 +18,8 @@ import org.apache.ibatis.annotations.Param; ...@@ -18,6 +18,8 @@ import org.apache.ibatis.annotations.Param;
public interface OrgUsrMapper extends BaseMapper<OrgUsr> { public interface OrgUsrMapper extends BaseMapper<OrgUsr> {
String selectUpUnitByParam(@Param("id")String biz_org_code); String selectUpUnitByParam(@Param("id")String biz_org_code);
int selectPersonListCount(Map<String, Object> map);
List<Map<String, Object>> selectPersonList(Map<String, Object> map); List<Map<String, Object>> selectPersonList(Map<String, Object> map);
List<OrgUsr> selectCompanyDepartmentMsg(); List<OrgUsr> selectCompanyDepartmentMsg();
......
...@@ -15,7 +15,38 @@ ...@@ -15,7 +15,38 @@
</select> </select>
<select id="selectPersonListCount" resultType="Integer">
select count(1) from (
SELECT
DISTINCT
u.sequence_nbr sequenceNbr,
u.biz_org_name bizOrgName,
u.biz_org_code bizOrgCode,
<if test="fields != null">
<foreach collection="fields" item="item" separator=",">MAX(case f.field_code when #{item} then v.field_value end) ${item}</foreach>
</if>
FROM
cb_org_usr u LEFT JOIN
jc_alert_form_value v on u.sequence_nbr = v.alert_called_id
LEFT JOIN jc_alert_form f ON f.sequence_nbr = v.alert_form_id
where u.parent_id = #{parentId}
AND u.biz_org_type = #{bizOrgType}
AND U.is_delete = 0
GROUP BY
u.sequence_nbr ,
u.biz_org_name ,
u.biz_org_code
)a where a.sequenceNbr is not null
<if test="bizOrgName != null">
AND u.bizOrgName = #{bizOrgName}
</if>
<if test="bizOrgCode != null">
AND u.bizOrgName = #{bizOrgCode}
</if>
<if test="fieldsValue != null">
<foreach collection="fieldsValue.keys" item="item"> AND a.${item} = #{fieldsValue[${item}]} </foreach>
</if>
</select>
<select id="selectPersonList" resultType="Map"> <select id="selectPersonList" resultType="Map">
...@@ -46,6 +77,9 @@ ...@@ -46,6 +77,9 @@
<if test="bizOrgCode != null"> <if test="bizOrgCode != null">
AND u.bizOrgName = #{bizOrgCode} AND u.bizOrgName = #{bizOrgCode}
</if> </if>
<if test="fieldsValue != null">
<foreach collection="fieldsValue.keys" item="item" > AND a.${item} = #{fieldsValue[${item}]} </foreach>
</if>
LIMIT #{pageNum}, #{pageSize} LIMIT #{pageNum}, #{pageSize}
</select> </select>
......
...@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.PathVariable; ...@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod; import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType; import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation; import org.typroject.tyboot.core.restful.doc.TycloudOperation;
...@@ -157,8 +158,8 @@ public class OrgPersonController { ...@@ -157,8 +158,8 @@ public class OrgPersonController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY) @TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/list", method = RequestMethod.GET) @RequestMapping(value = "/list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询") @ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
public ResponseModel<Object> listPage(String pageNum, String pageSize, OrgUsr orgUsr) { public ResponseModel<Object> listPage(@RequestParam Map<String, Object> requestBody) {
return ResponseHelper.buildResponse(iOrgUsrService.pagePerson(pageNum, pageSize, orgUsr)); return ResponseHelper.buildResponse(iOrgUsrService.pagePerson(requestBody.get("pageNum").toString(), requestBody.get("pageSize").toString(), requestBody));
} }
/** /**
......
...@@ -246,46 +246,29 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp ...@@ -246,46 +246,29 @@ public class OrgUsrServiceImpl extends BaseService<OrgUsrDto, OrgUsr, OrgUsrMapp
return list == null ? new ArrayList<Map<String, Object>>() : list; return list == null ? new ArrayList<Map<String, Object>>() : list;
} }
public IPage<Map<String, Object>> pagePerson(String pageNum, String pageSize, OrgUsr orgUsr) { public IPage<Map<String, Object>> pagePerson(String pageNum, String pageSize, Map<String, Object> req) {
IPage<Map<String, Object>> pageBean = null; IPage<Map<String, Object>> pageBean = null;
if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) { if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) {
pageBean = new Page<>(0, Long.MAX_VALUE); pageBean = new Page<>(0, Long.MAX_VALUE);
} else { } else {
pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize)); pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
} }
QueryWrapper<OrgUsr> orgUsrQueryWrapper = new QueryWrapper<>(); Map<String, Object> map = new HashMap<>();
orgUsr.setBizOrgType(OrgPersonEnum.人员.getKey()); map.put("bizOrgType", OrgPersonEnum.人员.getKey());
Class<? extends OrgUsr> aClass = orgUsr.getClass(); if (!ObjectUtils.isEmpty(req.get("bizOrgName"))) {
Arrays.stream(aClass.getDeclaredFields()).forEach(field -> { map.put("bizOrgName", req.get("bizOrgName"));
try { }
field.setAccessible(true); map.put("parentId", req.get("parentId"));
Object o = field.get(orgUsr); req.remove("bizOrgName");
if (o != null) { req.remove("pageSize");
Class<?> type = field.getType(); req.remove("pageNum");
String name = NameUtils.camel2Underline(field.getName()); req.remove("parentId");
if (type.equals(Integer.class)) { map.put("fieldsValue", req);
Integer fileValue = (Integer) field.get(orgUsr); map.put("fields", alertFormServiceImpl.queryListByFormId(OrgPersonEnum.人员.getCode()));
orgUsrQueryWrapper.eq(name, fileValue); pageBean.setTotal(this.baseMapper.selectPersonListCount(map));
} else if (type.equals(Long.class)) {
Long fileValue = (Long) field.get(orgUsr);
orgUsrQueryWrapper.eq(name, fileValue);
} else if (type.equals(String.class)) {
String fileValue = (String) field.get(orgUsr);
orgUsrQueryWrapper.like(name, fileValue);
} else {
String fileValue = (String) field.get(orgUsr);
orgUsrQueryWrapper.eq(name, fileValue);
}
}
} catch (Exception e) {
}
});
pageBean.setTotal(this.baseMapper.selectCount(orgUsrQueryWrapper));
Map<String, Object> map = Bean.BeantoMap(orgUsr);
map.put("pageNum", (pageBean.getCurrent() - 1) * pageBean.getSize()); map.put("pageNum", (pageBean.getCurrent() - 1) * pageBean.getSize());
map.put("pageSize", pageBean.getSize()); map.put("pageSize", pageBean.getSize());
map.put("fields", alertFormServiceImpl.queryListByFormId(OrgPersonEnum.人员.getCode()));
map.put("bizOrgType", OrgPersonEnum.人员.getKey());
List<Map<String, Object>> list = this.baseMapper.selectPersonList(map); List<Map<String, Object>> list = this.baseMapper.selectPersonList(map);
pageBean.setRecords(list); pageBean.setRecords(list);
......
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