Commit 654ca68c authored by gaodongdong's avatar gaodongdong

修复bug

parent d31da58e
......@@ -17,6 +17,8 @@ import org.apache.ibatis.annotations.Param;
*/
public interface OrgUsrMapper extends BaseMapper<OrgUsr> {
String selectUpUnitByParam(@Param("id")String biz_org_code);
int selectPersonListCount(Map<String, Object> map);
List<Map<String, Object>> selectPersonList(Map<String, Object> map);
......
......@@ -15,7 +15,38 @@
</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">
......@@ -46,6 +77,9 @@
<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>
LIMIT #{pageNum}, #{pageSize}
</select>
......
......@@ -16,6 +16,7 @@ import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
import org.typroject.tyboot.core.foundation.enumeration.UserType;
import org.typroject.tyboot.core.restful.doc.TycloudOperation;
......@@ -157,8 +158,8 @@ public class OrgPersonController {
@TycloudOperation(needAuth = false, ApiLevel = UserType.AGENCY)
@RequestMapping(value = "/list", method = RequestMethod.GET)
@ApiOperation(httpMethod = "GET", value = "列表分页查询", notes = "列表分页查询")
public ResponseModel<Object> listPage(String pageNum, String pageSize, OrgUsr orgUsr) {
return ResponseHelper.buildResponse(iOrgUsrService.pagePerson(pageNum, pageSize, orgUsr));
public ResponseModel<Object> listPage(@RequestParam Map<String, Object> requestBody) {
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
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;
if (StringUtils.isBlank(pageNum) || StringUtils.isBlank(pageSize)) {
pageBean = new Page<>(0, Long.MAX_VALUE);
} else {
pageBean = new Page<>(Integer.parseInt(pageNum), Integer.parseInt(pageSize));
}
QueryWrapper<OrgUsr> orgUsrQueryWrapper = new QueryWrapper<>();
orgUsr.setBizOrgType(OrgPersonEnum.人员.getKey());
Class<? extends OrgUsr> aClass = orgUsr.getClass();
Arrays.stream(aClass.getDeclaredFields()).forEach(field -> {
try {
field.setAccessible(true);
Object o = field.get(orgUsr);
if (o != null) {
Class<?> type = field.getType();
String name = NameUtils.camel2Underline(field.getName());
if (type.equals(Integer.class)) {
Integer fileValue = (Integer) field.get(orgUsr);
orgUsrQueryWrapper.eq(name, fileValue);
} 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<String, Object> map = new HashMap<>();
map.put("bizOrgType", OrgPersonEnum.人员.getKey());
if (!ObjectUtils.isEmpty(req.get("bizOrgName"))) {
map.put("bizOrgName", req.get("bizOrgName"));
}
map.put("parentId", req.get("parentId"));
req.remove("bizOrgName");
req.remove("pageSize");
req.remove("pageNum");
req.remove("parentId");
map.put("fieldsValue", req);
map.put("fields", alertFormServiceImpl.queryListByFormId(OrgPersonEnum.人员.getCode()));
pageBean.setTotal(this.baseMapper.selectPersonListCount(map));
map.put("pageNum", (pageBean.getCurrent() - 1) * 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);
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