|
@ -14,6 +14,8 @@ import com.yihu.jw.entity.base.org.BaseOrgSaasDO;
|
|
|
import com.yihu.jw.entity.base.org.BaseOrgUserDO;
|
|
|
import com.yihu.jw.entity.base.user.UserDO;
|
|
|
import com.yihu.jw.org.dao.BaseOrgDao;
|
|
|
import com.yihu.jw.restmodel.base.wx.WxGraphicMessageVO;
|
|
|
import com.yihu.jw.restmodel.base.wx.WxReplySceneVO;
|
|
|
import com.yihu.jw.utils.hibernate.HibenateUtils;
|
|
|
import com.yihu.mysql.query.BaseJpaService;
|
|
|
import org.springframework.beans.factory.annotation.Autowired;
|
|
@ -26,6 +28,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
import org.springframework.util.StringUtils;
|
|
|
|
|
|
import java.util.*;
|
|
|
import java.util.logging.Logger;
|
|
|
|
|
|
/**
|
|
|
*
|
|
@ -76,26 +79,100 @@ public class BaseOrgService extends BaseJpaService<BaseOrgDO, BaseOrgDao> {
|
|
|
* @param orgStatus
|
|
|
* @return
|
|
|
*/
|
|
|
public JSONObject queryOrgBaseInfoList(String codeOrName,String orgStatus,int page,int size) throws Exception {
|
|
|
public JSONObject queryOrgBaseInfoList(String codeOrName,String orgStatus,int page,int size,String wechatId) throws Exception {
|
|
|
JSONObject result = new JSONObject();
|
|
|
int start = 0 == page ? page++ : (page - 1) * size;
|
|
|
int end = 0 == size ? 15 : page * size;
|
|
|
String codeOrNameValue = null == codeOrName ? "" : codeOrName;
|
|
|
String sql = "select id as \"id\",code as \"code\",name as \"name\",case del when 1 then '有效' else '失效' end as status as \"del\",concat(province_name,city_name,town_name,address) as \"address\" " +
|
|
|
" from base_org " +
|
|
|
" where " +
|
|
|
" ((code like '{code}' or ''='{code}') and (del = '{orgStatus}' or ''='{orgStatus}'))" +
|
|
|
" or " +
|
|
|
" ((name like '{name}' or ''='{name}') and (del = '{orgStatus}' or ''='{orgStatus}'))" +
|
|
|
" and" +
|
|
|
" (del = '{orgStatus}' or ''='{orgStatus}')" +
|
|
|
" order by create_time desc ";
|
|
|
String finalSql = sql
|
|
|
|
|
|
// String sql = "select id as \"id\",code as \"code\",name as \"name\",case del when 1 then '有效' else '失效' end as status as \"del\",concat(province_name,city_name,town_name,address) as \"address\" " +
|
|
|
// " from base_org " +
|
|
|
// " where " +
|
|
|
// " ((code like '{code}' or ''='{code}') and (del = '{orgStatus}' or ''='{orgStatus}'))" +
|
|
|
// " or " +
|
|
|
// " ((name like '{name}' or ''='{name}') and (del = '{orgStatus}' or ''='{orgStatus}'))" +
|
|
|
// " and" +
|
|
|
// " (del = '{orgStatus}' or ''='{orgStatus}')" +
|
|
|
// " order by create_time desc ";
|
|
|
// String finalSql = sql
|
|
|
//
|
|
|
// .replace("{code}", "%" + codeOrNameValue + "%")
|
|
|
// .replace("{name}", "%" + codeOrNameValue + "%")
|
|
|
// .replace("{orgStatus}", null == orgStatus ? "" : orgStatus);
|
|
|
//
|
|
|
// String countSql = "SELECT count(id)" +
|
|
|
// " FROM base_org " +
|
|
|
// " WHERE " +
|
|
|
// " ((code like '{code}' or ''='{code}') and (del = '{orgStatus}' or ''='{orgStatus}'))" +
|
|
|
// " OR " +
|
|
|
// " ((name like '{name}' or ''='{name}') and (del = '{orgStatus}' or ''='{orgStatus}'))" +
|
|
|
// " AND" +
|
|
|
// " (del = '{orgStatus}' OR ''='{orgStatus}')";
|
|
|
// String finalCountSql = countSql
|
|
|
// .replace("{code}", "%" + codeOrNameValue + "%")
|
|
|
// .replace("{name}", "%" + codeOrNameValue + "%")
|
|
|
// .replace("{orgStatus}", null == orgStatus ? "" : orgStatus);
|
|
|
// Logger.getAnonymousLogger().info("finalSql="+finalSql);
|
|
|
// List<Map<String, Object>> list = hibenateUtils.createSQLQuery(finalSql,page,size);
|
|
|
// Logger.getAnonymousLogger().info("finalCountSql="+finalCountSql);
|
|
|
|
|
|
|
|
|
String sql = "SELECT\n" +
|
|
|
"\tID AS \"id\",\n" +
|
|
|
"\tcode AS \"code\",\n" +
|
|
|
"\tNAME AS \"name\",\n" +
|
|
|
"\tCASE \n" +
|
|
|
"WHEN del=1 THEN\n" +
|
|
|
"\t'有效'\n" +
|
|
|
"ELSE\n" +
|
|
|
"\t'失效'\n" +
|
|
|
"END AS \"del\",\n" +
|
|
|
" province_name || city_name || town_name || address AS \"address\"\n" +
|
|
|
"FROM\n" +
|
|
|
"\tbase_org\n" +
|
|
|
"WHERE\n" +
|
|
|
"\t(\n" +
|
|
|
"\t\t(code LIKE '%%' OR '' = '%%')\n" +
|
|
|
"\t\tAND (del = '' OR '' = '')\n" +
|
|
|
"\t)\n" +
|
|
|
"OR (\n" +
|
|
|
"\t(NAME LIKE '%%' OR '' = '%%')\n" +
|
|
|
"\tAND (del = '' OR '' = '')\n" +
|
|
|
")\n" +
|
|
|
"AND (del = '' OR '' = '')\n" +
|
|
|
"ORDER BY\n" +
|
|
|
"\tcreate_time DESC";
|
|
|
|
|
|
String finalSql = sql
|
|
|
.replace("{code}", "%" + codeOrNameValue + "%")
|
|
|
.replace("{name}", "%" + codeOrNameValue + "%")
|
|
|
.replace("{orgStatus}", null == orgStatus ? "" : orgStatus);
|
|
|
|
|
|
|
|
|
List<Map<String, Object>> list=null;
|
|
|
if ("xm_ykyy_wx".equalsIgnoreCase(wechatId)){
|
|
|
String oracleSql="SELECT\n" +
|
|
|
"\t*\n" +
|
|
|
"FROM\n" +
|
|
|
"\t(\n" +
|
|
|
"\t\tSELECT\n" +
|
|
|
"\t\t\tA .*\n" +
|
|
|
"\t\tFROM\n" +
|
|
|
"\t\t\t(";
|
|
|
|
|
|
oracleSql+=finalSql;
|
|
|
|
|
|
oracleSql+="\t\t\t) A\n" +
|
|
|
"\t\tWHERE\n" +
|
|
|
" ROWNUM <="+page*size +
|
|
|
"\t) \n" +
|
|
|
"WHERE\n" +
|
|
|
"\tROWNUM >= "+(page-1)*size;
|
|
|
list = jdbcTemplate.queryForList(oracleSql);
|
|
|
}else {
|
|
|
finalSql+=" LIMIT " + (page - 1) * size + "," + size + "";
|
|
|
list = jdbcTemplate.queryForList(finalSql);
|
|
|
}
|
|
|
|
|
|
String countSql = "SELECT count(id)" +
|
|
|
" FROM base_org " +
|
|
|
" WHERE " +
|
|
@ -108,7 +185,7 @@ public class BaseOrgService extends BaseJpaService<BaseOrgDO, BaseOrgDao> {
|
|
|
.replace("{code}", "%" + codeOrNameValue + "%")
|
|
|
.replace("{name}", "%" + codeOrNameValue + "%")
|
|
|
.replace("{orgStatus}", null == orgStatus ? "" : orgStatus);
|
|
|
List<Map<String, Object>> list = hibenateUtils.createSQLQuery(finalSql,page,size);
|
|
|
Logger.getAnonymousLogger().info("finalCountSql="+finalCountSql);
|
|
|
Integer count = jdbcTemplate.queryForObject(finalCountSql, Integer.class);
|
|
|
result.put("count", count);
|
|
|
result.put("msg", JavaBeanUtils.getInstance().mapListJson(list));
|