Commit bc49b956 by caoyin

消息中心添加直接定位到回报详情界面的功能

parent cdce579d
......@@ -2923,6 +2923,138 @@ public class ZczlController {
public String toGetDwZlxx(){ return "dwZlxx";}
/**
* 跳转本辖区侦查指令详情界面
* @param request
* @return
*/
@RequestMapping("/toGetBxqZczlDetail")
public ModelAndView toGetBxqZczlDetail(HttpServletRequest request,@RequestParam(value = "zczlbh") String zczlbh){
User user = (User)request.getSession().getAttribute("user");
ModelAndView model = new ModelAndView();
//通过侦查指令编号拿到侦查指令信息
TbYwZczl tbYwZczl = zczlService.getZczlxxByZczlbh(zczlbh);
String zljsdwdm = tbYwZczl.getZljsdwdm();
String zjjsdwdm_name = null;
String[] dwdms = zljsdwdm.split(",");
if(dwdms!=null&&dwdms.length>0){
for(int i=0;i<dwdms.length;i++){
String dwdm = dwdms[i];
//根据单位代码拿到单位名称
String dwmc = zczlService.getUnitnameByUnitcode(dwdm);
if(i==0){
zjjsdwdm_name = dwmc;
}else{
zjjsdwdm_name += ","+dwmc;
}
}
}
tbYwZczl.setZjjsdwdm_name(zjjsdwdm_name);
//通过侦查指令编号拿到指令的附件信息
List<TbYwZczlFj> fjlist = zczlService.getFjListByZczlbh(zczlbh);
if(fjlist!=null&&fjlist.size()>0){
for(int i=0;i<fjlist.size();i++){
TbYwZczlFj file = fjlist.get(i);
if(file.getDzwjwz()!=null){
byte[] nr = file.getDzwjnr();
//对于没有存的文件名,自己定义为临时文件
String fileUrl = file.getDzwjwz();
if(nr!=null){
try {
//判断文件是否存在,若不存在新建文件并返回true
String trueUrl = creatFileByUrl(nr, fileUrl,request,zczlbh);
//两个位置不相同,更新电子文件的位置
if(!fileUrl.equals(trueUrl)){
TbYwZczlFj fileFj = new TbYwZczlFj();
fileFj.setXxzjbh(file.getXxzjbh());
fileFj.setDzwjwz(trueUrl);
fileFj.setXxscpdbz("0");
zczlService.updateZczlFj(fileFj);
file.setDzwjwz(trueUrl);
}
}catch(Exception e){
e.printStackTrace();
}
}
}
}
model.addObject("fjlist",fjlist);//附件
}
//通过侦查指令编号拿到本辖区所有的分派信息-根据时间倒序排序
List<TbYwZczlFp> tbYwZczlFps = zczlService.getBxqAllFpxxOrderByFpsj(zczlbh,user.getUnitcode());
List<TbYwZczlHb> tbYwZczlHbs = new ArrayList<>();
if(tbYwZczlFps!=null){
for(int i=0;i<tbYwZczlFps.size();i++) {
TbYwZczlFp fpxx = tbYwZczlFps.get(i);
fpxx.setBlgcxh(i);
Date nowDate = new Date();
//判断签收是否超期签收
Date qssj = tbYwZczlFps.get(i).getQssj();
Date fpsj = tbYwZczlFps.get(i).getFpsj();
long qssjc = getTimesByFpsj(fpsj);
if (qssj != null) {
//超期签收 24小时
if (qssj.getTime() - fpsj.getTime() > qssjc) {
fpxx.setSfcqqs("1");
}
} else {
//超期未签收
if (nowDate.getTime() - fpsj.getTime() > qssjc) {
fpxx.setSfcqqs("1");
}
}
//通过分派编号拿到首次回报信息
boolean sfczhbxx = true;
TbYwZczlHb hbxx = zczlService.getFirstHbxxByFpbhForBlgc(fpxx.getFpbh());
if (hbxx == null) {
hbxx = new TbYwZczlHb();
sfczhbxx = false;
}
hbxx.setBlgcxh(i);
//判断回报是否超期
Date hbsj = hbxx.getHbsj_date();
if (hbsj != null) {
if (hbsj.getTime() > tbYwZczl.getHbqx_date().getTime() + 24 * 60 * 60 * 1000) {
//超期回报
hbxx.setSfcqhb("1");
}
} else {
if (nowDate.getTime() > tbYwZczl.getHbqx_date().getTime() + 24 * 60 * 60 * 1000) {
//超期未回报
hbxx.setSfcqhb("1");
}
}
//存在首次回报信息且评价等级不合格,查询续报信息
if (!sfczhbxx && "0".equals(hbxx.getPjdj())) {
List<TbYwZczlHb> xbList = zczlService.getXbxxByFpbh(fpxx.getFpbh());
if (xbList != null) {
hbxx.setXbcs(xbList.size());//续报次数
//拿到最后的评价
for (int t = 0; t < xbList.size(); t++) {
String xbpj = xbList.get(t).getPjdj();//续报评价
if (t == 0) {
hbxx.setZhxbpj(xbpj);
break;
}
}
}
}
tbYwZczlHbs.add(hbxx);
}
}
model.setViewName("zczlxxxq");
model.addObject("tbYwZczl",tbYwZczl);
model.addObject("tbYwZczlFps",tbYwZczlFps);
model.addObject("tbYwZczlHbs",tbYwZczlHbs);
return model;
}
}
......
......@@ -125,4 +125,6 @@ public interface IZczlService {
Integer toQueryWqqfbdzczlsForTotal(TbYwZczl tbYwZczl, User user);
TbXwJjr sfjjr(Map map);
List<TbYwZczlFp> getBxqAllFpxxOrderByFpsj(String zczlbh, String unitcode);
}
......@@ -1625,4 +1625,41 @@ public class ZczlService implements IZczlService {
public TbXwJjr sfjjr(Map map) {
return zczlDao.sfjjr(map);
}
/**
* 通过侦查指令编号与单位代码拿到本辖区所有的分派信息-根据时间倒序排序
* @param zczlbh
* @param unitcode
* @return
*/
@Override
public List<TbYwZczlFp> getBxqAllFpxxOrderByFpsj(String zczlbh, String unitcode) {
List<TbYwZczlFp> bxqAllFpxx = new ArrayList<>();
List<TbYwZczlFp> allFpxx = zczlDao.getAllFpxxOrderByFpsj(zczlbh);//通过侦查指令编号拿到所有的分派信息
String dwdmStr = unitcode;
List<String> xycxList = new ArrayList<>();//需要查询的单位
xycxList.add(unitcode);
boolean bool = true;//是否还存在子节点
//通过单位代码拿到其子节点
while(bool){
xycxList = zczlDao.getChilds(xycxList);
if(xycxList==null||xycxList.size()==0){
bool = false;//没有子节点
}else{
for(int i=0;i<xycxList.size();i++){
dwdmStr = dwdmStr+","+xycxList.get(i);
}
}
}
//遍历所有的分派信息的接收单位,判断是否存在于所有单位拼接的字符串中
for(int i=0;i<allFpxx.size();i++){
TbYwZczlFp fpxx = allFpxx.get(i);
String jsdwdm = fpxx.getQsrgajgdm();
if(dwdmStr.indexOf(jsdwdm)!=-1){
bxqAllFpxx.add(fpxx);
}
}
return bxqAllFpxx;
}
}
......@@ -22,9 +22,9 @@ function getCzColumn(row){
return str;
}
//跳转侦查指令的详情界面
//跳转本辖区侦查指令的详情界面
function toZczlDetail(zczlbh){
var url = "/toGetZczlDetail?zczlbh="+zczlbh;
var url = "/toGetBxqZczlDetail?zczlbh="+zczlbh;
window.open(url);
}
......
......@@ -42,5 +42,6 @@ version=@project.version@
#22.添加需要我审批的指令模块中指令接收单位检索功能 01:添加指令接收单位的检索
#23.添加指令统计的图表展示 01:添加指令统计的图表展示
#24.消息中心添加直接定位到回报详情界面的功能 01:消息中心添加直接定位到回报详情界面的功能
#25.本辖区接收的侦查指令详情界面办理过程调整 01:办理过程调整为本辖区只能看到本辖区的回报签收信息不能查看本省的信息
————————————————————@project.version@-——————————————————————————
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