Commit 4f85151d by liujing

字典码的读取,并且显示在前端页面

parent 95bc0951
......@@ -35,9 +35,9 @@
<!-- 数据库驱动包 -->
<dependency>
<groupId>com.oracle</groupId>
<groupId>org.oracle</groupId>
<artifactId>ojdbc6</artifactId>
<version>11.2.0</version>
<version>10</version>
</dependency>
<!-- alibaba的druid数据库连接池 -->
......@@ -89,18 +89,40 @@
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<!-- 热部署配置, 改完直接生效, 不用重启服务 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>fastjson</artifactId>
<version>1.2.60</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>dom4j</groupId>
<artifactId>dom4j</artifactId>
</dependency>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<scope>compile</scope>
</dependency>
<!--<dependency>
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.5.RELEASE</version>
</dependency>-->
<groupId>org.springframework</groupId>
<artifactId>springloaded</artifactId>
<version>1.2.5.RELEASE</version>
</dependency>-->
<!--<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
......
This diff is collapsed. Click to expand it.
......@@ -56,4 +56,9 @@ public class DemoController {
Set<String> dictitemKeys = redisTemplate.keys(keys);
return dictitemKeys;
}
@RequestMapping("index")
public String hello() {
return "/test.html";
}
}
package com.founder.business.model;
import java.util.Date;
/**
* @author yanru
* @careate 2018-06-22 上午 10:43
* TODO :
*/
@SuppressWarnings("serial")
public class BaseModel{
protected String modelName;
protected String id = null;
protected String lrr = null;
protected String lrrLxdh = null;
protected String lrsj = null;
protected String gxr = null;
protected String gxrLxdh = null;
protected String gxsj = null;
protected Date gxsj_d = null;
protected String lrdwdm = null;
protected String lrdwmc = null;
private String scbz = "0";
protected String deleteFlag = "0";
protected String secrecy = null;
protected int functionLevel;
protected int startNum = 0;
protected int endNum = 0;
protected String conditionString = null;
protected String orderString = null;
protected String flag = null;
protected String ip = null;
protected String starttime = "";
protected String endtime = "";
protected String gxdwdm = null;
protected String gxdwmc = null;
private String gxdwdm_text = null;
protected String xxscPdbz = null;
protected String xxdjdwGajgjgdm = null;
protected String xxdjdwGajgmc = null;
protected String xxdjryXm = null;
protected String xxdjryGmsfhm = null;
protected String xxdjryLxdh = null;
protected String djsj = null;
protected Date djsj_d = null;
protected String xxczdwGajgjgdm = null;
protected String xxczdwGajgmc = null;
protected String xxczryXm = null;
protected String xxczryGmsfhm = null;
protected String xxlyms = "刑侦信息专业应用系统";
protected String xxrsksj = null;
protected String xxrbksj = null;
protected String xxrskPdbz = null;
protected String xxrbkPdbz = null;
//查询分页开始结束
protected Integer begin = null;
protected Integer end = null;
protected String typeFlag = null;
public String getModelName() {
return modelName;
}
public void setModelName(String modelName) {
this.modelName = modelName;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getLrr() {
return lrr;
}
public void setLrr(String lrr) {
this.lrr = lrr;
}
public String getLrrLxdh() {
return lrrLxdh;
}
public void setLrrLxdh(String lrrLxdh) {
this.lrrLxdh = lrrLxdh;
}
public String getLrsj() {
return lrsj;
}
public void setLrsj(String lrsj) {
this.lrsj = lrsj;
}
public String getGxr() {
return gxr;
}
public void setGxr(String gxr) {
this.gxr = gxr;
}
public String getGxrLxdh() {
return gxrLxdh;
}
public void setGxrLxdh(String gxrLxdh) {
this.gxrLxdh = gxrLxdh;
}
public String getGxsj() {
return gxsj;
}
public void setGxsj(String gxsj) {
this.gxsj = gxsj;
}
public String getLrdwdm() {
return lrdwdm;
}
public void setLrdwdm(String lrdwdm) {
this.lrdwdm = lrdwdm;
}
public String getLrdwmc() {
return lrdwmc;
}
public void setLrdwmc(String lrdwmc) {
this.lrdwmc = lrdwmc;
}
public String getScbz() {
return scbz;
}
public void setScbz(String scbz) {
this.scbz = scbz;
}
public String getDeleteFlag() {
return deleteFlag;
}
public void setDeleteFlag(String deleteFlag) {
this.deleteFlag = deleteFlag;
}
public String getSecrecy() {
return secrecy;
}
public void setSecrecy(String secrecy) {
this.secrecy = secrecy;
}
public int getFunctionLevel() {
return functionLevel;
}
public void setFunctionLevel(int functionLevel) {
this.functionLevel = functionLevel;
}
public int getStartNum() {
return startNum;
}
public void setStartNum(int startNum) {
this.startNum = startNum;
}
public int getEndNum() {
return endNum;
}
public void setEndNum(int endNum) {
this.endNum = endNum;
}
public String getConditionString() {
return conditionString;
}
public void setConditionString(String conditionString) {
this.conditionString = conditionString;
}
public String getOrderString() {
return orderString;
}
public void setOrderString(String orderString) {
this.orderString = orderString;
}
public String getFlag() {
return flag;
}
public void setFlag(String flag) {
this.flag = flag;
}
public String getIp() {
return ip;
}
public void setIp(String ip) {
this.ip = ip;
}
public String getStarttime() {
return starttime;
}
public void setStarttime(String starttime) {
this.starttime = starttime;
}
public String getEndtime() {
return endtime;
}
public void setEndtime(String endtime) {
this.endtime = endtime;
}
public String getGxdwdm() {
return gxdwdm;
}
public void setGxdwdm(String gxdwdm) {
this.gxdwdm = gxdwdm;
}
public String getGxdwmc() {
return gxdwmc;
}
public void setGxdwmc(String gxdwmc) {
this.gxdwmc = gxdwmc;
}
public String getGxdwdm_text() {
return gxdwdm_text;
}
public void setGxdwdm_text(String gxdwdm_text) {
this.gxdwdm_text = gxdwdm_text;
}
public String getXxscPdbz() {
return xxscPdbz;
}
public void setXxscPdbz(String xxscPdbz) {
this.xxscPdbz = xxscPdbz;
}
public String getXxdjdwGajgjgdm() {
return xxdjdwGajgjgdm;
}
public void setXxdjdwGajgjgdm(String xxdjdwGajgjgdm) {
this.xxdjdwGajgjgdm = xxdjdwGajgjgdm;
}
public String getXxdjdwGajgmc() {
return xxdjdwGajgmc;
}
public void setXxdjdwGajgmc(String xxdjdwGajgmc) {
this.xxdjdwGajgmc = xxdjdwGajgmc;
}
public String getXxdjryXm() {
return xxdjryXm;
}
public void setXxdjryXm(String xxdjryXm) {
this.xxdjryXm = xxdjryXm;
}
public String getXxdjryGmsfhm() {
return xxdjryGmsfhm;
}
public void setXxdjryGmsfhm(String xxdjryGmsfhm) {
this.xxdjryGmsfhm = xxdjryGmsfhm;
}
public String getXxdjryLxdh() {
return xxdjryLxdh;
}
public void setXxdjryLxdh(String xxdjryLxdh) {
this.xxdjryLxdh = xxdjryLxdh;
}
public String getDjsj() {
return djsj;
}
public void setDjsj(String djsj) {
this.djsj = djsj;
}
public String getXxczdwGajgjgdm() {
return xxczdwGajgjgdm;
}
public void setXxczdwGajgjgdm(String xxczdwGajgjgdm) {
this.xxczdwGajgjgdm = xxczdwGajgjgdm;
}
public String getXxczdwGajgmc() {
return xxczdwGajgmc;
}
public void setXxczdwGajgmc(String xxczdwGajgmc) {
this.xxczdwGajgmc = xxczdwGajgmc;
}
public String getXxczryXm() {
return xxczryXm;
}
public void setXxczryXm(String xxczryXm) {
this.xxczryXm = xxczryXm;
}
public String getXxczryGmsfhm() {
return xxczryGmsfhm;
}
public void setXxczryGmsfhm(String xxczryGmsfhm) {
this.xxczryGmsfhm = xxczryGmsfhm;
}
public String getXxlyms() {
return xxlyms;
}
public void setXxlyms(String xxlyms) {
this.xxlyms = xxlyms;
}
public String getXxrsksj() {
return xxrsksj;
}
public void setXxrsksj(String xxrsksj) {
this.xxrsksj = xxrsksj;
}
public String getXxrbksj() {
return xxrbksj;
}
public void setXxrbksj(String xxrbksj) {
this.xxrbksj = xxrbksj;
}
public String getXxrskPdbz() {
return xxrskPdbz;
}
public void setXxrskPdbz(String xxrskPdbz) {
this.xxrskPdbz = xxrskPdbz;
}
public String getXxrbkPdbz() {
return xxrbkPdbz;
}
public void setXxrbkPdbz(String xxrbkPdbz) {
this.xxrbkPdbz = xxrbkPdbz;
}
public Integer getBegin() {
return begin;
}
public void setBegin(Integer begin) {
this.begin = begin;
}
public Integer getEnd() {
return end;
}
public void setEnd(Integer end) {
this.end = end;
}
public String getTypeFlag() {
return typeFlag;
}
public void setTypeFlag(String typeFlag) {
this.typeFlag = typeFlag;
}
public Date getGxsj_d() {
return gxsj_d;
}
public void setGxsj_d(Date gxsj_d) {
this.gxsj_d = gxsj_d;
}
public Date getDjsj_d() {
return djsj_d;
}
public void setDjsj_d(Date djsj_d) {
this.djsj_d = djsj_d;
}
}
package com.founder.business.model;
import java.io.Serializable;
public class SysDictitem implements Serializable {
private static final long serialVersionUID = 1L;
protected String id;
protected String code;
protected String codeStr;
protected String name;
protected String groupid;
protected String levelid;
protected String spell;
protected String wbzx;
protected String simple;
protected String groupname;
protected String yycj1;
protected String yycj2;
protected String yycj3;
protected String yycj4;
protected String pid;
protected String isparent;
protected String yycj7;
protected String yycj5;
protected String yycj6;
protected String description;
protected String endcode;
protected String startcode;
protected String yycj8;
protected String sfqybmpdbz;
protected String dmmcbm;
protected String gabxf;
protected long scbz;
protected String lrr;
protected String yycj9;
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getCode() {
return code;
}
public void setCode(String code) {
this.code = code;
}
public String getCodeStr() {
return codeStr;
}
public void setCodeStr(String codeStr) {
this.codeStr = codeStr;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getGroupid() {
return groupid;
}
public void setGroupid(String groupid) {
this.groupid = groupid;
}
public String getLevelid() {
return levelid;
}
public void setLevelid(String levelid) {
this.levelid = levelid;
}
public String getSpell() {
return spell;
}
public void setSpell(String spell) {
this.spell = spell;
}
public String getWbzx() {
return wbzx;
}
public void setWbzx(String wbzx) {
this.wbzx = wbzx;
}
public String getSimple() {
return simple;
}
public void setSimple(String simple) {
this.simple = simple;
}
public String getGroupname() {
return groupname;
}
public void setGroupname(String groupname) {
this.groupname = groupname;
}
public String getYycj1() {
return yycj1;
}
public void setYycj1(String yycj1) {
this.yycj1 = yycj1;
}
public String getYycj2() {
return yycj2;
}
public void setYycj2(String yycj2) {
this.yycj2 = yycj2;
}
public String getYycj3() {
return yycj3;
}
public void setYycj3(String yycj3) {
this.yycj3 = yycj3;
}
public String getYycj4() {
return yycj4;
}
public void setYycj4(String yycj4) {
this.yycj4 = yycj4;
}
public String getPid() {
return pid;
}
public void setPid(String pid) {
this.pid = pid;
}
public String getIsparent() {
return isparent;
}
public void setIsparent(String isparent) {
this.isparent = isparent;
}
public String getYycj7() {
return yycj7;
}
public void setYycj7(String yycj7) {
this.yycj7 = yycj7;
}
public String getYycj5() {
return yycj5;
}
public void setYycj5(String yycj5) {
this.yycj5 = yycj5;
}
public String getYycj6() {
return yycj6;
}
public void setYycj6(String yycj6) {
this.yycj6 = yycj6;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getEndcode() {
return endcode;
}
public void setEndcode(String endcode) {
this.endcode = endcode;
}
public String getStartcode() {
return startcode;
}
public void setStartcode(String startcode) {
this.startcode = startcode;
}
public String getYycj8() {
return yycj8;
}
public void setYycj8(String yycj8) {
this.yycj8 = yycj8;
}
public String getSfqybmpdbz() {
return sfqybmpdbz;
}
public void setSfqybmpdbz(String sfqybmpdbz) {
this.sfqybmpdbz = sfqybmpdbz;
}
public String getDmmcbm() {
return dmmcbm;
}
public void setDmmcbm(String dmmcbm) {
this.dmmcbm = dmmcbm;
}
public String getGabxf() {
return gabxf;
}
public void setGabxf(String gabxf) {
this.gabxf = gabxf;
}
public long getScbz() {
return scbz;
}
public void setScbz(long scbz) {
this.scbz = scbz;
}
public String getLrr() {
return lrr;
}
public void setLrr(String lrr) {
this.lrr = lrr;
}
public String getYycj9() {
return yycj9;
}
public void setYycj9(String yycj9) {
this.yycj9 = yycj9;
}
@Override
public String toString() {
return "SysDictitem{" +
"id='" + id + '\'' +
", code='" + code + '\'' +
", codeStr='" + codeStr + '\'' +
", name='" + name + '\'' +
", groupid='" + groupid + '\'' +
", levelid='" + levelid + '\'' +
", spell='" + spell + '\'' +
", wbzx='" + wbzx + '\'' +
", simple='" + simple + '\'' +
", groupname='" + groupname + '\'' +
", yycj1='" + yycj1 + '\'' +
", yycj2='" + yycj2 + '\'' +
", yycj3='" + yycj3 + '\'' +
", yycj4='" + yycj4 + '\'' +
", pid='" + pid + '\'' +
", isparent='" + isparent + '\'' +
", yycj7='" + yycj7 + '\'' +
", yycj5='" + yycj5 + '\'' +
", yycj6='" + yycj6 + '\'' +
", description='" + description + '\'' +
", endcode='" + endcode + '\'' +
", startcode='" + startcode + '\'' +
", yycj8='" + yycj8 + '\'' +
", sfqybmpdbz='" + sfqybmpdbz + '\'' +
", dmmcbm='" + dmmcbm + '\'' +
", gabxf='" + gabxf + '\'' +
", scbz=" + scbz +
", lrr='" + lrr + '\'' +
", yycj9='" + yycj9 + '\'' +
'}';
}
}
package com.founder.business.model;
public class ZTreeNode {
private Object ids;
private String name;
private String codeType;
private String text;
private String pId;
private String id;
private String yycj1;
private String yycj2;
private String yycj3;
private String yycj4;
private String yycj5;
private String yycj6;
private String yycj7;
private String yycj8;
private String yycj9;
private Boolean isParent=false;
private Boolean open=false;
private String parentFlag = "";
private String startcode;
private String endcode;
private String description;
private String state;
public ZTreeNode(Object ids, String text, String pId, String description){
this.ids=ids;
this.text=text;
this.pId=pId;
this.description=description;
}
public ZTreeNode(Object ids, String text, String pId, boolean open, boolean isParent, String yycj1, String yycj2, String yycj3, String yycj4, String yycj5, String yycj6, String yycj7, String yycj8, String yycj9, String description){
this.ids=ids;
this.text=text;
this.pId=pId;
this.open=open;
this.isParent=isParent;
this.yycj1=yycj1;
this.yycj2=yycj2;
this.yycj3=yycj3;
this.yycj4=yycj4;
this.yycj5=yycj5;
this.yycj6=yycj6;
this.yycj7=yycj7;
this.yycj8=yycj8;
this.yycj9=yycj9;
this.description=description;
}
public ZTreeNode(){}
public Object getIds() {
return ids;
}
public void setIds(Object ids) {
this.ids = ids;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
public String getpId() {
return pId;
}
public void setpId(String pId) {
this.pId = pId;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public boolean isIsParent() {
if("true".equals(this.getParentFlag())){
this.isParent = true;
}
return isParent;
}
public void setIsParent(boolean isParent) {
if(this.getParentFlag().equals("true")){
this.isParent = true;
}
}
public boolean isOpen() {
return open;
}
public void setOpen(boolean open) {
this.open = open;
}
public String getParentFlag() {
return parentFlag;
}
public void setParentFlag(String parentFlag) {
this.parentFlag = parentFlag;
}
public String getYycj1() {
return yycj1;
}
public void setYycj1(String yycj1) {
this.yycj1 = yycj1;
}
public String getYycj2() {
return yycj2;
}
public void setYycj2(String yycj2) {
this.yycj2 = yycj2;
}
public String getYycj3() {
return yycj3;
}
public void setYycj3(String yycj3) {
this.yycj3 = yycj3;
}
public String getYycj4() {
return yycj4;
}
public void setYycj4(String yycj4) {
this.yycj4 = yycj4;
}
public String getStartcode() {
return startcode;
}
public void setStartcode(String startcode) {
this.startcode = startcode;
}
public String getEndcode() {
return endcode;
}
public void setEndcode(String endcode) {
this.endcode = endcode;
}
public String getDescription() {
return description;
}
public void setDescription(String description) {
this.description = description;
}
public String getYycj5() {
return yycj5;
}
public void setYycj5(String yycj5) {
this.yycj5 = yycj5;
}
public String getYycj6() {
return yycj6;
}
public void setYycj6(String yycj6) {
this.yycj6 = yycj6;
}
public String getYycj7() {
return yycj7;
}
public void setYycj7(String yycj7) {
this.yycj7 = yycj7;
}
public String getYycj8() {
return yycj8;
}
public void setYycj8(String yycj8) {
this.yycj8 = yycj8;
}
public String getYycj9() {
return yycj9;
}
public void setYycj9(String yycj9) {
this.yycj9 = yycj9;
}
public String getState() {
return state;
}
public void setState(String state) {
this.state = state;
}
public String getCodeType() {
return codeType;
}
public void setCodeType(String codeType) {
this.codeType = codeType;
}
@Override
public String toString() {
return "ZTreeNode{" +
"ids=" + ids +
", name='" + name + '\'' +
", codeType='" + codeType + '\'' +
", text='" + text + '\'' +
", pId='" + pId + '\'' +
", id='" + id + '\'' +
", yycj1='" + yycj1 + '\'' +
", yycj2='" + yycj2 + '\'' +
", yycj3='" + yycj3 + '\'' +
", yycj4='" + yycj4 + '\'' +
", yycj5='" + yycj5 + '\'' +
", yycj6='" + yycj6 + '\'' +
", yycj7='" + yycj7 + '\'' +
", yycj8='" + yycj8 + '\'' +
", yycj9='" + yycj9 + '\'' +
", isParent=" + isParent +
", open=" + open +
", parentFlag='" + parentFlag + '\'' +
", startcode='" + startcode + '\'' +
", endcode='" + endcode + '\'' +
", description='" + description + '\'' +
", state='" + state + '\'' +
'}';
}
}
package com.founder.business.redis.controller;
import com.alibaba.fastjson.JSONArray;
import com.founder.business.model.ZTreeNode;
import com.founder.business.redis.service.IDicItemService;
import com.founder.business.redis.service.impl.ImportCode;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
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.ResponseBody;
import java.util.ArrayList;
import java.util.Collections;
import java.util.Comparator;
import java.util.List;
@Controller
public class DictController {
@Autowired
private ImportCode importCode;
@Autowired
private IDicItemService dicItemService;
@RequestMapping(value = "/queryTypeCode", method = RequestMethod.GET)
@ResponseBody
public List<ZTreeNode> queryTypeCode(String type, String id,String startId, String yycj, String name,String codes) {
List<ZTreeNode> ZTreeNodeList = new ArrayList<ZTreeNode>();
if (type != null && !"".equals(type)) {
if(type.equals("CODE_JY")){//添加警员查询的字典
ZTreeNodeList = dicItemService.queryTypeUsercode(startId,name);//查询警员字典
}else{
if(codes!=null&&!"".equals(codes)){
ZTreeNodeList=dicItemService.queryCodes(type,codes,name);
}else{
// 立案单位走这条路
ZTreeNodeList = dicItemService.queryTypeCode(type,id,startId,yycj,name);
}
}
}
ZTreeNodeList=Sort(ZTreeNodeList);
return ZTreeNodeList;
}
private List<ZTreeNode> Sort(List<ZTreeNode> ZTreeNodeList){
Collections.sort(ZTreeNodeList, new Comparator<ZTreeNode>() {
@Override
public int compare(ZTreeNode o1, ZTreeNode o2) {
if(o1.getCodeType().equals(o2.getCodeType())){
String code1str=o1.getId();
String code2str=o2.getId();
code1str=code1str.trim();
code2str=code2str.trim();
if(code1str.matches("[0-9]+")&&code2str.matches("[0-9]+")){
Long code1= Long.parseLong(code1str);
Long code2= Long.parseLong(code2str);
return code1.compareTo(code2);
}else{
Object ids1str=o1.getIds();
Object ids2str=o2.getIds();
int hascode1=ids1str.hashCode();
int hascode2=ids2str.hashCode();
Integer hascode1_=Integer.valueOf(hascode1);
Integer hascode2_=Integer.valueOf(hascode2);
return hascode1_.compareTo(hascode2_);
}
}else{
Object ids1str=o1.getIds();
Object ids2str=o2.getIds();
int hascode1=ids1str.hashCode();
int hascode2=ids2str.hashCode();
Integer hascode1_=Integer.valueOf(hascode1);
Integer hascode2_=Integer.valueOf(hascode2);
return hascode1_.compareTo(hascode2_);
}
}
});
return ZTreeNodeList;
}
@RequestMapping(value = "/queryZTreeDataByName", method = RequestMethod.GET)
@ResponseBody
public List<ZTreeNode> queryZTreeDataByName(@RequestParam(value = "type" , required = false) String code_type, String startId, String id, String yycj, String unitcode, String name) {
List<ZTreeNode> ZTreeNodeList = new ArrayList<ZTreeNode>();
if (code_type != null && !"".equals(code_type)) {
if("CODE_JY".equals(code_type)){
ZTreeNodeList = dicItemService.queryTypeUsercode(startId,name);//查询警员字典
}else{
ZTreeNodeList = dicItemService.getZtreeNodeByName(code_type,id,yycj,unitcode,name);
}
}
return ZTreeNodeList;
}
/**
* 根据类别重新刷新redis缓存
*/
@RequestMapping("/refreshCodeCache")
@ResponseBody
public String refreshCodeCache(String type){
String result="";
try {
importCode.insertIntoRedis(type);
type = (null==type || "null"==type)?"":type;
result="字典"+type+"成功加入缓存";
} catch (Exception e) {
e.printStackTrace();
result="刷新字典发生异常!"+"\n"+e.getMessage();
}
return result;
}
}
\ No newline at end of file
package com.founder.business.redis.dao;
import com.founder.business.model.SysDictitem;
import com.founder.business.model.User;
import org.apache.ibatis.annotations.Mapper;
import org.springframework.stereotype.Component;
import java.util.List;
import java.util.Map;
@Component
@Mapper
public interface IDictitemDao {
List<SysDictitem> findCodeAllByType(String value);
List<User> queryAllUnitUser(Map m);
}
package com.founder.business.redis.service;
import com.founder.business.model.SysDictitem;
import com.founder.business.model.ZTreeNode;
import java.util.List;
public interface IDicItemService {
public List<ZTreeNode> queryTypeCode(String code_type, String id, String startId, String yycj, String name);
/**
* 查询指定节点的代码
* @param code_type
* @param codes
* @return
*/
public List<ZTreeNode> queryCodes(String code_type, String codes, String name);
/**
* 根据条件查询代码
* @param code_type
* @param id 父级id
* @param yycj 应用场景
* @param unitcode 单位
* @param name 搜索条件
* @return
*/
public List<ZTreeNode> getZtreeNodeByName(String code_type, String id, String yycj, String unitcode, String name);
List<ZTreeNode> queryTypeUsercode(String startId, String name);
}
package com.founder.business.redis.service.impl;
import com.alibaba.fastjson.JSON;
import com.founder.business.model.SysDictitem;
import com.founder.business.redis.dao.IDictitemDao;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.data.redis.core.StringRedisTemplate;
import org.springframework.stereotype.Service;
import redis.clients.jedis.exceptions.JedisConnectionException;
import java.util.List;
import java.util.Set;
/**
* Created by Administrator on 2018/4/18.
*/
@Service
public class ImportCode {
@Autowired
private IDictitemDao iDictitemDao;
@Value("${ssdw}")
private String ssdw; //所属单位
@Autowired
private StringRedisTemplate redisTemplate;
public void insertIntoRedis(String type)throws Exception{
if (null != ssdw && !"".equals(ssdw) && ssdw.length() >= 2) {
ssdw = ssdw.substring(0, 2);
}
//先删除指定key缓存,再加入缓存
String keys=ssdw+":*";
if(null!=type && "null"!=type){
keys=ssdw+":"+type+"*";
}
System.out.println("ssdw="+ssdw);
System.out.println("keys="+keys);
Set<String> dictitemKeys = redisTemplate.keys(keys);
redisTemplate.delete(dictitemKeys);
List<SysDictitem> zTreeNodeList = iDictitemDao.findCodeAllByType(type);
for(SysDictitem node:zTreeNodeList){
String nodeStr= JSON.toJSONString(node);
String key = ssdw+":"+node.getGroupid()+":"+node.getPid()+":"+node.getCode()+":"+node.getName()+":"+node.getId()+"|"+node.getName();
redisTemplate.opsForValue().set(key,nodeStr);
}
type = (null==type || "null"==type)?"":type;
System.out.println("字典"+type+"成功加入缓存---------------------------------------------");
}
}
package com.founder.business.util;
import com.founder.business.model.User;
import org.springframework.util.StringUtils;
import javax.servlet.http.HttpServletResponse;
import java.io.*;
import java.net.URLEncoder;
import java.text.DateFormat;
import java.text.SimpleDateFormat;
import java.util.*;
public class Utils {
/**
* @param unitCode 用户单位代码
* @return 根据用户单位代码,返回截取的单位长度
*/
public static String getDwlikeByUnitCode(String unitCode) {
if (!StringUtils.isEmpty(unitCode)) {
if (unitCode.endsWith("0000000000")) {
unitCode = unitCode.substring(0, 2);
} else if (unitCode.endsWith("00000000")) {
unitCode = unitCode.substring(0, 4);
} else if (unitCode.endsWith("000000")) {
unitCode = unitCode.substring(0, 6);
} else if (unitCode.endsWith("0000")) {
unitCode = unitCode.substring(0, 8);
} else if (unitCode.endsWith("00")) {
unitCode = unitCode.substring(0, 10);
}
}
return unitCode;
}
public static String countryCode(String unitCode, String grade) {
if (!StringUtils.isEmpty(unitCode)) {
if (grade.equals("T") || grade.equals("S")) {
unitCode = unitCode.substring(0, 2);
} else if (grade.equals("D")) {
unitCode = unitCode.substring(0, 4);
} else if (grade.equals("X")) {
unitCode = unitCode.substring(0, 6);
} else if (grade.equals("K")) {
unitCode = unitCode.substring(0, 8);
}
}
return unitCode;
}
/**
* 以占位符的形式获取当前用户下级所有立案单位
*/
public static Map<String,String> getLadwCode(User user){
Map<String, String> map = new HashMap<>();
String unitcode = user.getUnitcode();
String userGrade = user.getGrade();
String ladwdm;
String myCode;
String fpaCode;//发破案code,用不统计发破案数量的
if ("S".equals(userGrade) || "T".equals(userGrade)) {
ladwdm = unitcode.substring(0, 2);
myCode = ladwdm + "__00000000";
fpaCode = ladwdm + "__";
} else if ("D".equals(userGrade)) {
ladwdm = unitcode.substring(0, 4);//原理地基单位下面去四位,但为了排除无效单位取两位即可
//myCode = ladwdm + "____0000";
myCode = ladwdm + "__000000";
fpaCode = ladwdm + "__";
} else if ("X".equals(userGrade)){
ladwdm = unitcode.substring(0, 6);
myCode = ladwdm + "__0000";
fpaCode = ladwdm + "__";
} else{
ladwdm = unitcode.substring(0, 8);
myCode = ladwdm + "__00";
fpaCode = ladwdm + "__";
}
map.put("myCode",myCode);
map.put("fpaCode",fpaCode);
return map;
}
/**
* 以占位符的形式获取当前用户下级所有立案单位
*/
public static Map<String,String> getHNLadwCode(User user){
Map<String, String> map = new HashMap<>();
String unitcode = user.getUnitcode();
String userGrade = user.getGrade();
String ladwdm="";
String myCode="";
String fpaCode="";//发破案code,用不统计发破案数量的
ladwdm = unitcode.substring(0, 4);
if("4690".equals(ladwdm)){//直属县
if ("D".equals(userGrade)) {
ladwdm = unitcode.substring(0, 6);//原理地基单位下面去四位,但为了排除无效单位取两位即可
myCode = ladwdm + "__0000";
fpaCode = ladwdm + "__";
}else if ("X".equals(userGrade)){
ladwdm = unitcode.substring(0, 8);
myCode = ladwdm + "__00";
fpaCode = ladwdm + "__";
}
map.put("myCode",myCode);
map.put("fpaCode",fpaCode);
}else{//直属市
map=getLadwCode(user);
}
return map;
}
//没有时分秒的时间转换
public static Date StoDate(String num){
Date date = null;
try{
if(num != null && !"".equals(num)){
DateFormat fmt =new SimpleDateFormat("yyyy-MM-dd");
date = fmt.parse(num);
}
}catch(Exception e){
System.out.println("StoDate(A)方法执行异常:"+e.getMessage());
}
return date;
}
//转换加上时分秒
public static Date StoDateSFM(String num){
Date date = null;
try{
if(num != null && !"".equals(num)){
DateFormat fmt =new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
date = fmt.parse(num);
}
}catch(Exception e){
System.out.println("StoDate(A)方法执行异常:"+e.getMessage());
}
return date;
}
//获取系统的前后n天时间
public static String afterNDay(int n){
DateFormat df=new SimpleDateFormat("yyyy-MM-dd");
Calendar c=Calendar.getInstance();
c.setTime(new Date());
c.add(Calendar.DATE,n);
Date d2=c.getTime();
String date=df.format(d2);
return date;
}
public static void writeRow(List<Object> row, BufferedWriter csvWriter) throws IOException {
// 写入文件头部
for (Object data : row) {
StringBuffer sb = new StringBuffer();
String rowStr = sb.append("\"").append(data).append("\",").toString();
csvWriter.write(rowStr);
}
csvWriter.newLine();
}
public static void downFile(HttpServletResponse response, String filename,
String filepath) {
try {
File file = new File(filepath);
if (file.exists()) {
InputStream ins = new FileInputStream(filepath);
BufferedInputStream bins = new BufferedInputStream(ins);// 放到缓冲流里面
OutputStream outs = response.getOutputStream();// 获取文件输出IO流
BufferedOutputStream bouts = new BufferedOutputStream(outs);
response.setContentType("application/x-download");// 设置response内容的类型
response.setHeader(
"Content-disposition",
"attachment;filename="
+ URLEncoder.encode(filename, "UTF-8"));// 设置头部信息
int bytesRead = 0;
byte[] buffer = new byte[8192];
// 开始向网络传输文件流
while ((bytesRead = bins.read(buffer, 0, 8192)) != -1) {
bouts.write(buffer, 0, bytesRead);
}
bouts.flush();// 这里一定要调用flush()方法
ins.close();
bins.close();
outs.close();
bouts.close();
} else {
System.out.println("文件不存在,无法下载");
}
} catch (IOException e) {
e.printStackTrace();
}
}
/**
* 删除单个文件
*
* @param fileName
* 要删除的文件的文件名
* @return 单个文件删除成功返回true,否则返回false
*/
public static boolean deleteFile(String fileName) {
File file = new File(fileName);
// 如果文件路径所对应的文件存在,并且是一个文件,则直接删除
if (file.exists() && file.isFile()) {
if (file.delete()) {
System.out.println("删除单个文件" + fileName + "成功!");
return true;
} else {
System.out.println("删除单个文件" + fileName + "失败!");
return false;
}
} else {
System.out.println("删除单个文件失败:" + fileName + "不存在!");
return false;
}
}
}
......@@ -10,4 +10,9 @@ spring.datasource.shcedb.type: com.alibaba.druid.pool.DruidDataSource
spring.redis.database=0
spring.redis.host=127.0.0.1
spring.redis.port=6379
spring.redis.pass=
\ No newline at end of file
spring.redis.pass=
#\u6240\u5C5E\u5355\u4F4D
ssdw=650000000000
spring.cache.type=redis
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="com.founder.business.redis.dao.IDictitemDao">
<select id="queryAllUnitUser" resultType="com.founder.business.model.User" parameterType="java.util.Map" >
select
ID as id,
TRUE_NAME as trueName,
POLICEMANID as policemanid
from sys_user where scbz='0' and UNITCODE = #{unitcode } and OPEN_FLAG='1'
<if test="true_name!=null and true_name!=''">and TRUE_NAME like '%'||#{true_name, jdbcType=VARCHAR}||'%'</if>
</select>
<select id="findCodeAllByType" parameterType="java.lang.String" resultType="com.founder.business.model.SysDictitem">
select distinct
id,
isparent,
groupid,
code ,
name,
groupname,
pid,
description,
yycj1,
yycj2,
yycj3,
yycj4,
yycj5,
yycj6,
yycj7,
yycj8,
yycj9,
startcode,
endcode
from SYS_DICTITEM
where 1=1
and scbz = '0'
<if test="value != null">
and groupid=#{value}
</if>
order by code asc
</select>
</mapper>
\ No newline at end of file
body {
font-family:verdana,helvetica,arial,sans-serif;
padding:20px;
font-size:12px;
margin:0;
}
h2 {
font-size:18px;
font-weight:bold;
margin:0;
margin-bottom:15px;
}
.demo-info{
padding:0 0 12px 0;
}
.demo-tip{
display:none;
}
.label-top{
display: block;
height: 22px;
line-height: 22px;
vertical-align: middle;
}
\ No newline at end of file
.icon-blank{
background:url('icons/blank.gif') no-repeat center center;
}
.icon-add{
background:url('icons/edit_add.png') no-repeat center center;
}
.icon-edit{
background:url('icons/pencil.png') no-repeat center center;
}
.icon-clear{
background:url('icons/clear.png') no-repeat center center;
}
.icon-remove{
background:url('icons/edit_remove.png') no-repeat center center;
}
.icon-save{
background:url('icons/filesave.png') no-repeat center center;
}
.icon-cut{
background:url('icons/cut.png') no-repeat center center;
}
.icon-ok{
background:url('icons/ok.png') no-repeat center center;
}
.icon-no{
background:url('icons/no.png') no-repeat center center;
}
.icon-cancel{
background:url('icons/cancel.png') no-repeat center center;
}
.icon-reload{
background:url('icons/reload.png') no-repeat center center;
}
.icon-search{
background:url('icons/search.png') no-repeat center center;
}
.icon-print{
background:url('icons/print.png') no-repeat center center;
}
.icon-help{
background:url('icons/help.png') no-repeat center center;
}
.icon-undo{
background:url('icons/undo.png') no-repeat center center;
}
.icon-redo{
background:url('icons/redo.png') no-repeat center center;
}
.icon-back{
background:url('icons/back.png') no-repeat center center;
}
.icon-sum{
background:url('icons/sum.png') no-repeat center center;
}
.icon-tip{
background:url('icons/tip.png') no-repeat center center;
}
.icon-filter{
background:url('icons/filter.png') no-repeat center center;
}
.icon-man{
background:url('icons/man.png') no-repeat center center;
}
.icon-lock{
background:url('icons/lock.png') no-repeat center center;
}
.icon-mini-add{
background:url('icons/mini_add.png') no-repeat center center;
}
.icon-mini-edit{
background:url('icons/mini_edit.png') no-repeat center center;
}
.icon-mini-refresh{
background:url('icons/mini_refresh.png') no-repeat center center;
}
.icon-large-picture{
background:url('icons/large_picture.png') no-repeat center center;
}
.icon-large-clipart{
background:url('icons/large_clipart.png') no-repeat center center;
}
.icon-large-shapes{
background:url('icons/large_shapes.png') no-repeat center center;
}
.icon-large-smartart{
background:url('icons/large_smartart.png') no-repeat center center;
}
.icon-large-chart{
background:url('icons/large_chart.png') no-repeat center center;
}
@charset "utf-8";
html,body{width:100%;height:100%;}
html,body,p,div,h1,h2,h3,h4,h5{margin:0;padding:0;}
.lf{float: left;}
.rg{float:right;}
.container-box{width:900px;height:600px;border-radius: 5px;box-shadow: 2px 2px 23px #909090;}
.tong-h2{/* width:100%; */padding-left:20px;height:40px;line-height:40px;color:#fff;background:#000;}
.box-shadow{box-shadow: 2px 2px 23px #909090;margin:20px 8px;padding:10px;height:500px;}
.content-tong{}
.lf-box{width:250px;}
.rg-box{width:575px;}
.a_demo_one {
background-color:#3bb3e0;
padding:10px;
position:relative;
font-family: 'Open Sans', sans-serif;
font-size:12px;
text-decoration:none;
color:#fff;
border: solid 1px #186f8f;
background-image: linear-gradient(bottom, rgb(44,160,202) 0%, rgb(62,184,229) 100%);
background-image: -o-linear-gradient(bottom, rgb(44,160,202) 0%, rgb(62,184,229) 100%);
background-image: -moz-linear-gradient(bottom, rgb(44,160,202) 0%, rgb(62,184,229) 100%);
background-image: -webkit-linear-gradient(bottom, rgb(44,160,202) 0%, rgb(62,184,229) 100%);
background-image: -ms-linear-gradient(bottom, rgb(44,160,202) 0%, rgb(62,184,229) 100%);
background-image: -webkit-gradient(
linear,
left bottom,
left top,
color-stop(0, rgb(44,160,202)),
color-stop(1, rgb(62,184,229))
);
-webkit-box-shadow: inset 0px 1px 0px #7fd2f1, 0px 1px 0px #fff;
-moz-box-shadow: inset 0px 1px 0px #7fd2f1, 0px 1px 0px #fff;
box-shadow: inset 0px 1px 0px #7fd2f1, 0px 1px 0px #fff;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
-o-border-radius: 5px;
border-radius: 5px;
}
.a_demo_one::before {
content:"";
display:block;
position:absolute;
width:100%;
height:100%;
padding:8px;
left:-8px;
top:-8px;
z-index:-1;
-webkit-border-radius: 5px;
-moz-border-radius: 5px;
-o-border-radius: 5px;
border-radius: 5px;
}
.a_demo_one:active {
padding-bottom:9px;
padding-left:10px;
padding-right:10px;
padding-top:11px;
top:1px;
background-image: linear-gradient(bottom, rgb(62,184,229) 0%, rgb(44,160,202) 100%);
background-image: -o-linear-gradient(bottom, rgb(62,184,229) 0%, rgb(44,160,202) 100%);
background-image: -moz-linear-gradient(bottom, rgb(62,184,229) 0%, rgb(44,160,202) 100%);
background-image: -webkit-linear-gradient(bottom, rgb(62,184,229) 0%, rgb(44,160,202) 100%);
background-image: -ms-linear-gradient(bottom, rgb(62,184,229) 0%, rgb(44,160,202) 100%);
background-image: -webkit-gradient(
linear,
left bottom,
left top,
color-stop(0, rgb(62,184,229)),
color-stop(1, rgb(44,160,202))
);
}
.serach-box{width:400px;height:26px;line-height: 26px;padding:2px 5px;border-radius: 5px;margin-right:20px;}
\ No newline at end of file
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
This source diff could not be displayed because it is too large. You can view the blob instead.
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