Commit 2a5ed293 by Java - 段鹏举

论证成功的航线修改后发布时开航指令号会重新生成的bug

parent 359cc261
...@@ -359,85 +359,95 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -359,85 +359,95 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
public Boolean update(SailingCmUpdateBean bean) { public Boolean update(SailingCmUpdateBean bean) {
String verifType = ""; String verifType = "";
String routeNo = ""; String routeNo = "";
String plan=""; String plan = "";
Map<String, String> map1=verifyDao.getDetail(bean.getVerifId()); Map<String, String> map1 = verifyDao.getDetail(bean.getVerifId());
String depName= map1.get("depName"); String depName = map1.get("depName");
if(StringUtils.isNoneBlank(depName)&&!depName.contains("=")&&!depName.contains("-")){ if (StringUtils.isNoneBlank(depName) && !depName.contains("=") && !depName.contains("-")) {
map1.put("depName", PlanUtil.GetLine(map1.get("depName"),map1.get("arrName"),map1.get("roundtripType"),map1.get("vertype"))); map1.put("depName", PlanUtil.GetLine(map1.get("depName"), map1.get("arrName"), map1.get("roundtripType"), map1.get("vertype")));
map1.put("depIata", PlanUtil.GetLine(map1.get("depIata"),map1.get("arrIata"),map1.get("roundtripType"),map1.get("vertype"))); map1.put("depIata", PlanUtil.GetLine(map1.get("depIata"), map1.get("arrIata"), map1.get("roundtripType"), map1.get("vertype")));
} }
String CommandStatus=dao.CommandStatus(bean); String CommandStatus = dao.CommandStatus(bean);
if("02".equals(CommandStatus)){ if ("02".equals(CommandStatus)) {
return false; return false;
} }
if("01".equals(CommandStatus)&&"01".equals(bean.getCommandStatus())){ if ("01".equals(CommandStatus) && "01".equals(bean.getCommandStatus())) {
return false; return false;
} }
if("01".equals(bean.getCommandStatus())||"02".equals(bean.getCommandStatus())){ if ("01".equals(bean.getCommandStatus()) || "02".equals(bean.getCommandStatus())) {
//commandStatus为’01’时,以verifId找到foc_airline_verify对应数据中的verif_status设置为02 //commandStatus为’01’时,以verifId找到foc_airline_verify对应数据中的verif_status设置为02
bean.setVerifStatus("02"); bean.setVerifStatus("02");
dao.updateVerifStatys(bean); dao.updateVerifStatys(bean);
} }
if(!"00".equals(bean.getCommandStatus())){ if (!"00".equals(bean.getCommandStatus())) {
Pattern pattern = Pattern.compile("(?<=routeNo\" value=\")(.+?)(?=\"/>)"); Pattern pattern = Pattern.compile("(?<=routeNo\" value=\")(.+?)(?=\"/>)");
Matcher matcher = pattern.matcher(bean.getSailingText()); Matcher matcher = pattern.matcher(bean.getSailingText());
while(matcher.find()){ while (matcher.find()) {
routeNo=matcher.group(); routeNo = matcher.group();
break; break;
} }
if(StringUtils.isBlank(routeNo)){ // 该input标签不一定以 / 结尾
if (StringUtils.isBlank(routeNo)) {
pattern = Pattern.compile("(?<=routeNo\" value=\")(.+?)(?=\">)");
matcher = pattern.matcher(bean.getSailingText());
while (matcher.find()) {
routeNo = matcher.group();
break;
}
}
if (StringUtils.isBlank(routeNo)) {
verifType = dao.getVerifType(bean); verifType = dao.getVerifType(bean);
if(!StringUtils.isEmpty(verifType)){ if (!StringUtils.isEmpty(verifType)) {
routeNo = updateAndrGenertRouteNo(verifType); routeNo = updateAndrGenertRouteNo(verifType);
} }
} }
//
bean.setRouteNo(routeNo); bean.setRouteNo(routeNo);
// if(bean.getFormText()!=null&&!"".equals(bean.getFormText())){ // if(bean.getFormText()!=null&&!"".equals(bean.getFormText())){
try { try {
// 完成审核通知置灰 // 完成审核通知置灰
NotifyAddBean addbean=new NotifyAddBean(); NotifyAddBean addbean = new NotifyAddBean();
addbean.setVerifId(bean.getVerifId()); addbean.setVerifId(bean.getVerifId());
addbean.setType("10"); addbean.setType("10");
notifyDao.NotifyComplete(addbean); notifyDao.NotifyComplete(addbean);
AssessmentFindListBean bn=new AssessmentFindListBean(); AssessmentFindListBean bn = new AssessmentFindListBean();
bn.setVerifId(bean.getVerifId()); bn.setVerifId(bean.getVerifId());
List<AssessmentFindListEntity> riskList=assessmentDao.getAssessmentFindList(bn); List<AssessmentFindListEntity> riskList = assessmentDao.getAssessmentFindList(bn);
StringBuffer sb=new StringBuffer(); StringBuffer sb = new StringBuffer();
AirlineVerifyDetailBean airBean=new AirlineVerifyDetailBean(); AirlineVerifyDetailBean airBean = new AirlineVerifyDetailBean();
airBean.setVerifId(bean.getVerifId()); airBean.setVerifId(bean.getVerifId());
SailingCmDetailBean bean1=new SailingCmDetailBean(); SailingCmDetailBean bean1 = new SailingCmDetailBean();
bean1.setVerifId(bean.getVerifId()); bean1.setVerifId(bean.getVerifId());
SailingCdDeatailEntity entity = dao.getSailingDetail(bean1); SailingCdDeatailEntity entity = dao.getSailingDetail(bean1);
List<Map<String, String>> listm= verifyDao.getverifyFileList(airBean); List<Map<String, String>> listm = verifyDao.getverifyFileList(airBean);
StringBuffer sb1=new StringBuffer(); StringBuffer sb1 = new StringBuffer();
String col="1"; String col = "1";
sb1.append("<h2>航线计划如下:</h2>"); sb1.append("<h2>航线计划如下:</h2>");
sb1.append("<table border=\"1\" width=\"80%\" style=\"text-align:center\"><tbody>"); sb1.append("<table border=\"1\" width=\"80%\" style=\"text-align:center\"><tbody>");
if("01".equals(entity.getVerifType())||"02".equals(entity.getVerifType()) if ("01".equals(entity.getVerifType()) || "02".equals(entity.getVerifType())
||"03".equals(entity.getVerifType())||"04".equals(entity.getVerifType())){ || "03".equals(entity.getVerifType()) || "04".equals(entity.getVerifType())) {
sb1.append("<tr><td> 航班号</td> <td>执飞航线起飞地</td> <td>执飞航线目的地</td> <td>拟用机型</td> <td>执行开始时间</td> <td>执行结束时间</td></tr>"); sb1.append("<tr><td> 航班号</td> <td>执飞航线起飞地</td> <td>执飞航线目的地</td> <td>拟用机型</td> <td>执行开始时间</td> <td>执行结束时间</td></tr>");
for(Map<String,String> map:verifyDao.getConnectList(bean.getVerifId())){ for (Map<String, String> map : verifyDao.getConnectList(bean.getVerifId())) {
sb1.append("<tr>"); sb1.append("<tr>");
sb1.append("<td>").append(map.get("flightNo")).append("</td>"); sb1.append("<td>").append(map.get("flightNo")).append("</td>");
sb1.append("<td>").append(map.get("depName")).append("</td>"); sb1.append("<td>").append(map.get("depName")).append("</td>");
sb1.append("<td>").append(map.get("arrName")).append("</td>"); sb1.append("<td>").append(map.get("arrName")).append("</td>");
sb1.append("<td>").append(entity.getTypeName()).append("</td>"); sb1.append("<td>").append(entity.getTypeName()).append("</td>");
sb1.append("<td>").append(entity.getStartTime()).append("</td>"); sb1.append("<td>").append(entity.getStartTime()).append("</td>");
sb1.append("<td>").append(entity.getEndTime()==null?"":entity.getEndTime()).append("</td>"); sb1.append("<td>").append(entity.getEndTime() == null ? "" : entity.getEndTime()).append("</td>");
sb1.append("</tr>"); sb1.append("</tr>");
} }
col="6"; col = "6";
}else if("05".equals(entity.getVerifType())){ } else if ("05".equals(entity.getVerifType())) {
sb1.append("<tr><td> 航班号</td> <td>执飞航线起飞地</td> <td>执飞航线目的地</td> <td>往返类型</td><td>拟用机型</td> <td>执行开始时间</td> <td>执行结束时间</td></tr>"); sb1.append("<tr><td> 航班号</td> <td>执飞航线起飞地</td> <td>执飞航线目的地</td> <td>往返类型</td><td>拟用机型</td> <td>执行开始时间</td> <td>执行结束时间</td></tr>");
for(Map<String,String> map:verifyDao.getConnectList(bean.getVerifId())){ for (Map<String, String> map : verifyDao.getConnectList(bean.getVerifId())) {
sb1.append("<tr>"); sb1.append("<tr>");
sb1.append("<td>").append(map.get("flightNo")).append("</td>"); sb1.append("<td>").append(map.get("flightNo")).append("</td>");
sb1.append("<td>").append(map.get("depName")).append("</td>"); sb1.append("<td>").append(map.get("depName")).append("</td>");
...@@ -445,14 +455,13 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -445,14 +455,13 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
sb1.append("<td>").append(entity.getRoundtripType()).append("</td>"); sb1.append("<td>").append(entity.getRoundtripType()).append("</td>");
sb1.append("<td>").append(entity.getTypeName()).append("</td>"); sb1.append("<td>").append(entity.getTypeName()).append("</td>");
sb1.append("<td>").append(entity.getStartTime()).append("</td>"); sb1.append("<td>").append(entity.getStartTime()).append("</td>");
sb1.append("<td>").append(entity.getEndTime()==null?"":entity.getEndTime()).append("</td>"); sb1.append("<td>").append(entity.getEndTime() == null ? "" : entity.getEndTime()).append("</td>");
sb1.append("</tr>"); sb1.append("</tr>");
} }
col="7"; col = "7";
}else if("06".equals(entity.getVerifType())){ } else if ("06".equals(entity.getVerifType())) {
sb1.append("<tr><td> 备用机场名称</td> <td>拟用机型</td> <td>执行开始时间</td> </tr>"); sb1.append("<tr><td> 备用机场名称</td> <td>拟用机型</td> <td>执行开始时间</td> </tr>");
sb1.append("<tr>"); sb1.append("<tr>");
sb1.append("<td>").append(entity.getAirportName()).append("</td>"); sb1.append("<td>").append(entity.getAirportName()).append("</td>");
...@@ -460,11 +469,10 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -460,11 +469,10 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
sb1.append("<td>").append(entity.getStartTime()).append("</td>"); sb1.append("<td>").append(entity.getStartTime()).append("</td>");
sb1.append("</tr>"); sb1.append("</tr>");
col="3"; col = "3";
}else if("07".equals(entity.getVerifType())){ } else if ("07".equals(entity.getVerifType())) {
sb1.append("<tr><td> 过夜机场名称</td> <td>拟用机型</td> <td>执行开始时间</td> </tr>"); sb1.append("<tr><td> 过夜机场名称</td> <td>拟用机型</td> <td>执行开始时间</td> </tr>");
sb1.append("<tr>"); sb1.append("<tr>");
sb1.append("<td>").append(entity.getAirportName()).append("</td>"); sb1.append("<td>").append(entity.getAirportName()).append("</td>");
...@@ -472,11 +480,10 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -472,11 +480,10 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
sb1.append("<td>").append(entity.getStartTime()).append("</td>"); sb1.append("<td>").append(entity.getStartTime()).append("</td>");
sb1.append("</tr>"); sb1.append("</tr>");
col="3"; col = "3";
}else if("08".equals(entity.getVerifType())){ } else if ("08".equals(entity.getVerifType())) {
sb1.append("<tr><td> 航班号</td> <td>训练场名称</td> <td>拟用机型</td> <td>执行开始时间</td> </tr>"); sb1.append("<tr><td> 航班号</td> <td>训练场名称</td> <td>拟用机型</td> <td>执行开始时间</td> </tr>");
sb1.append("<tr>"); sb1.append("<tr>");
sb1.append("<td>").append(entity.getFlightNo()).append("</td>"); sb1.append("<td>").append(entity.getFlightNo()).append("</td>");
sb1.append("<td>").append(entity.getAirportName()).append("</td>"); sb1.append("<td>").append(entity.getAirportName()).append("</td>");
...@@ -484,20 +491,20 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -484,20 +491,20 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
sb1.append("<td>").append(entity.getStartTime()).append("</td>"); sb1.append("<td>").append(entity.getStartTime()).append("</td>");
sb1.append("</tr>"); sb1.append("</tr>");
col="4"; col = "4";
} }
if(listm!=null&&listm.size()>0){ if (listm != null && listm.size() > 0) {
Map<String, String> map=listm.get(0); Map<String, String> map = listm.get(0);
String fileName = map.get("fileName"); String fileName = map.get("fileName");
String filePath = map.get("filePath"); String filePath = map.get("filePath");
List<ConnectionPlan> lst= planlist( fileName, filePath); List<ConnectionPlan> lst = planlist(fileName, filePath);
sb1.append("<tr><td colspan=\"").append(col).append("\">"); sb1.append("<tr><td colspan=\"").append(col).append("\">");
sb1.append("<table border=\"1\" width=\"100%\" style=\"text-align:center\"><tbody><tr><th rowspan=\"2\">航班号</th><th colspan=\"7\">班期</th><th rowspan=\"2\">航站</th><th rowspan=\"2\">起飞</th><th rowspan=\"2\">落地</th><th rowspan=\"2\">航站</th><th rowspan=\"2\">起飞</th><th rowspan=\"2\">落地</th><th rowspan=\"2\">航站</th><th rowspan=\"2\">备注</th><th colspan=\"2\">计划时间</th></tr>"); sb1.append("<table border=\"1\" width=\"100%\" style=\"text-align:center\"><tbody><tr><th rowspan=\"2\">航班号</th><th colspan=\"7\">班期</th><th rowspan=\"2\">航站</th><th rowspan=\"2\">起飞</th><th rowspan=\"2\">落地</th><th rowspan=\"2\">航站</th><th rowspan=\"2\">起飞</th><th rowspan=\"2\">落地</th><th rowspan=\"2\">航站</th><th rowspan=\"2\">备注</th><th colspan=\"2\">计划时间</th></tr>");
sb1.append("<tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>航段1</th><th>航段2</th></tr>"); sb1.append("<tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>航段1</th><th>航段2</th></tr>");
for(ConnectionPlan pan:lst){ for (ConnectionPlan pan : lst) {
sb1.append("<tr>"); sb1.append("<tr>");
sb1.append("<td>").append(pan.getField1()).append("</td>"); sb1.append("<td>").append(pan.getField1()).append("</td>");
sb1.append("<td>").append(pan.getField2()).append("</td>"); sb1.append("<td>").append(pan.getField2()).append("</td>");
...@@ -523,17 +530,17 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -523,17 +530,17 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
} }
sb1.append("</tbody></table>"); sb1.append("</tbody></table>");
plan=sb1.toString(); plan = sb1.toString();
String sailingText = bean.getSailingText(); String sailingText = bean.getSailingText();
if(StringUtils.isBlank(sailingText)){ if (StringUtils.isBlank(sailingText)) {
SailingCmDetailBean sBean=new SailingCmDetailBean(); SailingCmDetailBean sBean = new SailingCmDetailBean();
sBean.setUserCode(bean.getUserCode()); sBean.setUserCode(bean.getUserCode());
sBean.setVerifId(bean.getVerifId()); sBean.setVerifId(bean.getVerifId());
SailingCdDeatailEntity sentity = updateAndGetCommandDetail(sBean); SailingCdDeatailEntity sentity = updateAndGetCommandDetail(sBean);
sailingText = updateAndGetSailingText(sentity,map1); sailingText = updateAndGetSailingText(sentity, map1);
} }
sailingText=sailingText.replaceAll("发布后生成", routeNo); sailingText = sailingText.replaceAll("发布后生成", routeNo);
String regEx_style = "<input style=\"width:100%\" id=\"routeNo\"[^>]*?>"; String regEx_style = "<input style=\"width:100%\" id=\"routeNo\"[^>]*?>";
Pattern p_script = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE); Pattern p_script = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);
Matcher m_script = p_script.matcher(sailingText); Matcher m_script = p_script.matcher(sailingText);
...@@ -542,26 +549,26 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -542,26 +549,26 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
sb.append(plan); sb.append(plan);
sb.append("<br>"); sb.append("<br>");
sb.append(bean.getConRemarks().replaceAll("<table","<table width=\"80%\" ")); sb.append(bean.getConRemarks().replaceAll("<table", "<table width=\"80%\" "));
// sb.append(bean.getConRemarks()); // sb.append(bean.getConRemarks());
/* sb.append("<br/><h2>开航指令:</h2>"); /* sb.append("<br/><h2>开航指令:</h2>");
sb.append(bean.getFormText());*/ sb.append(bean.getFormText());*/
sb.append("<br/><h2>各部门论证单:</h2>"); sb.append("<br/><h2>各部门论证单:</h2>");
String text=bean.getVerifyText().replaceAll("<table","<table width=\"80%\" "); String text = bean.getVerifyText().replaceAll("<table", "<table width=\"80%\" ");
text=text.replaceAll("100%","80%"); text = text.replaceAll("100%", "80%");
sb.append(text); sb.append(text);
sb.append("<br>"); sb.append("<br>");
if(riskList!=null&&riskList.size()>0){ if (riskList != null && riskList.size() > 0) {
sb.append("<h2>风险评估结果:</h2>"); sb.append("<h2>风险评估结果:</h2>");
sb.append("<table width=\"100%\" border=\"1\" cellpadding=\"2\" cellspacing=\"1\">"); sb.append("<table width=\"100%\" border=\"1\" cellpadding=\"2\" cellspacing=\"1\">");
sb.append("<tr>").append("<th>部门名称</th>").append("<th>评估结果</th>").append("<th>风险描述</th>").append("</tr>"); sb.append("<tr>").append("<th>部门名称</th>").append("<th>评估结果</th>").append("<th>风险描述</th>").append("</tr>");
for(AssessmentFindListEntity risk:riskList){ for (AssessmentFindListEntity risk : riskList) {
sb.append("<tr>"); sb.append("<tr>");
sb.append("<td>").append(risk.getDepartName()).append("</td>"); sb.append("<td>").append(risk.getDepartName()).append("</td>");
sb.append("<td>").append(risk.getRemarks()).append("</td>"); sb.append("<td>").append(risk.getRemarks()).append("</td>");
switch(risk.getAssessmentStatus()){ switch (risk.getAssessmentStatus()) {
case "00": case "00":
sb.append("<td>未评估</td>"); sb.append("<td>未评估</td>");
break; break;
...@@ -580,22 +587,21 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -580,22 +587,21 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
} }
sb.append("</table>"); sb.append("</table>");
} }
StringBuffer sb2=new StringBuffer(); StringBuffer sb2 = new StringBuffer();
sb2.append("<br/><h2>组织协调单元论证总结:</h2>"); sb2.append("<br/><h2>组织协调单元论证总结:</h2>");
sb2.append(entity.getVerifRemarks()==null?"":entity.getVerifRemarks()); sb2.append(entity.getVerifRemarks() == null ? "" : entity.getVerifRemarks());
// 发送邮件 // 发送邮件
sendMail(bean.getVerifId(), plan+sb2.toString(),routeNo); sendMail(bean.getVerifId(), plan + sb2.toString(), routeNo);
UploadFileBean uploadFileBean=Html2File.convertHtml2Word(sb.toString()); UploadFileBean uploadFileBean = Html2File.convertHtml2Word(sb.toString());
SailingCmFileBean sailingFileBean=new SailingCmFileBean(); SailingCmFileBean sailingFileBean = new SailingCmFileBean();
sailingFileBean.setId(IdWorker.getNextId()); sailingFileBean.setId(IdWorker.getNextId());
sailingFileBean.setFileName("北京首都航空关于使用"+map1.get("aircraftLabel")+"机型执行"+map1.get("depName")+map1.get("verifType")+"航线的开航指令("+routeNo+").doc"); sailingFileBean.setFileName("北京首都航空关于使用" + map1.get("aircraftLabel") + "机型执行" + map1.get("depName") + map1.get("verifType") + "航线的开航指令(" + routeNo + ").doc");
// sailingFileBean.setFileName(map1.get("verifType")+map1.get("depName")+"开航指令.doc"); // sailingFileBean.setFileName(map1.get("verifType")+map1.get("depName")+"开航指令.doc");
sailingFileBean.setExtesion(uploadFileBean.getExtesion()); sailingFileBean.setExtesion(uploadFileBean.getExtesion());
sailingFileBean.setMd5(uploadFileBean.getMd5()); sailingFileBean.setMd5(uploadFileBean.getMd5());
sailingFileBean.setFilePath(uploadFileBean.getPath()); sailingFileBean.setFilePath(uploadFileBean.getPath());
sailingFileBean.setFileSize(String.valueOf(uploadFileBean.getSize()) ); sailingFileBean.setFileSize(String.valueOf(uploadFileBean.getSize()));
sailingFileBean.setVerifId(bean.getVerifId()); sailingFileBean.setVerifId(bean.getVerifId());
sailingFileBean.setCreateBy(bean.getUserCode()); sailingFileBean.setCreateBy(bean.getUserCode());
//dao.deleteSailingFile(sailingFileBean); //dao.deleteSailingFile(sailingFileBean);
...@@ -608,17 +614,15 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -608,17 +614,15 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
dao.updateAirlineverify(bean); dao.updateAirlineverify(bean);
// 获取论证全部参与部门 // 获取论证全部参与部门
List<String> lst=dao.getVerifDeparts(bean.getVerifId()); List<String> lst = dao.getVerifDeparts(bean.getVerifId());
for(String departId:lst){ for (String departId : lst) {
NotifyAddBean addbean = new NotifyAddBean(); NotifyAddBean addbean = new NotifyAddBean();
StringBuffer sb = new StringBuffer(); StringBuffer sb = new StringBuffer();
sb.append("论证单号为").append(map1.get("verifNo")) sb.append("论证单号为").append(map1.get("verifNo"))
.append(map1.get("verifType")).append(map1.get("depName")).append("的航线已生成开航指令。"); .append(map1.get("verifType")).append(map1.get("depName")).append("的航线已生成开航指令。");
StringBuffer url=new StringBuffer(); StringBuffer url = new StringBuffer();
url.append("<<<a href='airway-argument-details.htm?verifId=").append(bean.getVerifId()); url.append("<<<a href='airway-argument-details.htm?verifId=").append(bean.getVerifId());
url.append("&verifNo=").append(map1.get("verifNo")); url.append("&verifNo=").append(map1.get("verifNo"));
url.append("&sailingDate=").append(map1.get("startTime")); url.append("&sailingDate=").append(map1.get("startTime"));
...@@ -652,12 +656,12 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -652,12 +656,12 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
public Boolean updateFile(SailingCmUpdateBean bean) { public Boolean updateFile(SailingCmUpdateBean bean) {
String verifType = ""; String verifType = "";
String routeNo = ""; String routeNo = "";
String plan=""; String plan = "";
Map<String, String> map1=verifyDao.getDetail(bean.getVerifId()); Map<String, String> map1 = verifyDao.getDetail(bean.getVerifId());
String depName= map1.get("depName"); String depName = map1.get("depName");
if(StringUtils.isNoneBlank(depName)&&!depName.contains("=")&&!depName.contains("-")){ if (StringUtils.isNoneBlank(depName) && !depName.contains("=") && !depName.contains("-")) {
map1.put("depName", PlanUtil.GetLine(map1.get("depName"),map1.get("arrName"),map1.get("roundtripType"),map1.get("vertype"))); map1.put("depName", PlanUtil.GetLine(map1.get("depName"), map1.get("arrName"), map1.get("roundtripType"), map1.get("vertype")));
map1.put("depIata", PlanUtil.GetLine(map1.get("depIata"),map1.get("arrIata"),map1.get("roundtripType"),map1.get("vertype"))); map1.put("depIata", PlanUtil.GetLine(map1.get("depIata"), map1.get("arrIata"), map1.get("roundtripType"), map1.get("vertype")));
} }
// String CommandStatus=dao.CommandStatus(bean); // String CommandStatus=dao.CommandStatus(bean);
// if("02".equals(CommandStatus)){ // if("02".equals(CommandStatus)){
...@@ -674,63 +678,73 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -674,63 +678,73 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
// if(!"00".equals(bean.getCommandStatus())){ // if(!"00".equals(bean.getCommandStatus())){
Pattern pattern = Pattern.compile("(?<=routeNo\" value=\")(.+?)(?=\"/>)"); Pattern pattern = Pattern.compile("(?<=routeNo\" value=\")(.+?)(?=\"/>)");
Matcher matcher = pattern.matcher(bean.getSailingText()); Matcher matcher = pattern.matcher(bean.getSailingText());
while(matcher.find()){ while (matcher.find()) {
routeNo=matcher.group(); routeNo = matcher.group();
break; break;
} }
if(StringUtils.isBlank(routeNo)){ // 该input标签不一定以 / 结尾
if (StringUtils.isBlank(routeNo)) {
pattern = Pattern.compile("(?<=routeNo\" value=\")(.+?)(?=\">)");
matcher = pattern.matcher(bean.getSailingText());
while (matcher.find()) {
routeNo = matcher.group();
break;
}
}
if (StringUtils.isBlank(routeNo)) {
verifType = dao.getVerifType(bean); verifType = dao.getVerifType(bean);
if(!StringUtils.isEmpty(verifType)){ if (!StringUtils.isEmpty(verifType)) {
routeNo = updateAndrGenertRouteNo(verifType); routeNo = updateAndrGenertRouteNo(verifType);
} }
} }
//
bean.setRouteNo(routeNo); bean.setRouteNo(routeNo);
// if(bean.getFormText()!=null&&!"".equals(bean.getFormText())){ // if(bean.getFormText()!=null&&!"".equals(bean.getFormText())){
try { try {
// 完成审核通知置灰 // 完成审核通知置灰
NotifyAddBean addbean=new NotifyAddBean(); NotifyAddBean addbean = new NotifyAddBean();
addbean.setVerifId(bean.getVerifId()); addbean.setVerifId(bean.getVerifId());
addbean.setType("10"); addbean.setType("10");
notifyDao.NotifyComplete(addbean); notifyDao.NotifyComplete(addbean);
AssessmentFindListBean bn=new AssessmentFindListBean(); AssessmentFindListBean bn = new AssessmentFindListBean();
bn.setVerifId(bean.getVerifId()); bn.setVerifId(bean.getVerifId());
List<AssessmentFindListEntity> riskList=assessmentDao.getAssessmentFindList(bn); List<AssessmentFindListEntity> riskList = assessmentDao.getAssessmentFindList(bn);
StringBuffer sb=new StringBuffer(); StringBuffer sb = new StringBuffer();
AirlineVerifyDetailBean airBean=new AirlineVerifyDetailBean(); AirlineVerifyDetailBean airBean = new AirlineVerifyDetailBean();
airBean.setVerifId(bean.getVerifId()); airBean.setVerifId(bean.getVerifId());
SailingCmDetailBean bean1=new SailingCmDetailBean(); SailingCmDetailBean bean1 = new SailingCmDetailBean();
bean1.setVerifId(bean.getVerifId()); bean1.setVerifId(bean.getVerifId());
SailingCdDeatailEntity entity = dao.getSailingDetail(bean1); SailingCdDeatailEntity entity = dao.getSailingDetail(bean1);
List<Map<String, String>> listm= verifyDao.getverifyFileList(airBean); List<Map<String, String>> listm = verifyDao.getverifyFileList(airBean);
StringBuffer sb1=new StringBuffer(); StringBuffer sb1 = new StringBuffer();
String col="1"; String col = "1";
sb1.append("<h2>航线计划如下:</h2>"); sb1.append("<h2>航线计划如下:</h2>");
sb1.append("<table border=\"1\" width=\"80%\" style=\"text-align:center\"><tbody>"); sb1.append("<table border=\"1\" width=\"80%\" style=\"text-align:center\"><tbody>");
if("01".equals(entity.getVerifType())||"02".equals(entity.getVerifType()) if ("01".equals(entity.getVerifType()) || "02".equals(entity.getVerifType())
||"03".equals(entity.getVerifType())||"04".equals(entity.getVerifType())){ || "03".equals(entity.getVerifType()) || "04".equals(entity.getVerifType())) {
sb1.append("<tr><td> 航班号</td> <td>执飞航线起飞地</td> <td>执飞航线目的地</td> <td>拟用机型</td> <td>执行开始时间</td> <td>执行结束时间</td></tr>"); sb1.append("<tr><td> 航班号</td> <td>执飞航线起飞地</td> <td>执飞航线目的地</td> <td>拟用机型</td> <td>执行开始时间</td> <td>执行结束时间</td></tr>");
for(Map<String,String> map:verifyDao.getConnectList(bean.getVerifId())){ for (Map<String, String> map : verifyDao.getConnectList(bean.getVerifId())) {
sb1.append("<tr>"); sb1.append("<tr>");
sb1.append("<td>").append(map.get("flightNo")).append("</td>"); sb1.append("<td>").append(map.get("flightNo")).append("</td>");
sb1.append("<td>").append(map.get("depName")).append("</td>"); sb1.append("<td>").append(map.get("depName")).append("</td>");
sb1.append("<td>").append(map.get("arrName")).append("</td>"); sb1.append("<td>").append(map.get("arrName")).append("</td>");
sb1.append("<td>").append(entity.getTypeName()).append("</td>"); sb1.append("<td>").append(entity.getTypeName()).append("</td>");
sb1.append("<td>").append(entity.getStartTime()).append("</td>"); sb1.append("<td>").append(entity.getStartTime()).append("</td>");
sb1.append("<td>").append(entity.getEndTime()==null?"":entity.getEndTime()).append("</td>"); sb1.append("<td>").append(entity.getEndTime() == null ? "" : entity.getEndTime()).append("</td>");
sb1.append("</tr>"); sb1.append("</tr>");
} }
col="6"; col = "6";
}else if("05".equals(entity.getVerifType())){ } else if ("05".equals(entity.getVerifType())) {
sb1.append("<tr><td> 航班号</td> <td>执飞航线起飞地</td> <td>执飞航线目的地</td> <td>往返类型</td><td>拟用机型</td> <td>执行开始时间</td> <td>执行结束时间</td></tr>"); sb1.append("<tr><td> 航班号</td> <td>执飞航线起飞地</td> <td>执飞航线目的地</td> <td>往返类型</td><td>拟用机型</td> <td>执行开始时间</td> <td>执行结束时间</td></tr>");
for(Map<String,String> map:verifyDao.getConnectList(bean.getVerifId())){ for (Map<String, String> map : verifyDao.getConnectList(bean.getVerifId())) {
sb1.append("<tr>"); sb1.append("<tr>");
sb1.append("<td>").append(map.get("flightNo")).append("</td>"); sb1.append("<td>").append(map.get("flightNo")).append("</td>");
sb1.append("<td>").append(map.get("depName")).append("</td>"); sb1.append("<td>").append(map.get("depName")).append("</td>");
...@@ -738,11 +752,11 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -738,11 +752,11 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
sb1.append("<td>").append(entity.getRoundtripType()).append("</td>"); sb1.append("<td>").append(entity.getRoundtripType()).append("</td>");
sb1.append("<td>").append(entity.getTypeName()).append("</td>"); sb1.append("<td>").append(entity.getTypeName()).append("</td>");
sb1.append("<td>").append(entity.getStartTime()).append("</td>"); sb1.append("<td>").append(entity.getStartTime()).append("</td>");
sb1.append("<td>").append(entity.getEndTime()==null?"":entity.getEndTime()).append("</td>"); sb1.append("<td>").append(entity.getEndTime() == null ? "" : entity.getEndTime()).append("</td>");
sb1.append("</tr>"); sb1.append("</tr>");
} }
col="7"; col = "7";
}else if("06".equals(entity.getVerifType())){ } else if ("06".equals(entity.getVerifType())) {
sb1.append("<tr><td> 备用机场名称</td> <td>拟用机型</td> <td>执行开始时间</td> </tr>"); sb1.append("<tr><td> 备用机场名称</td> <td>拟用机型</td> <td>执行开始时间</td> </tr>");
...@@ -753,8 +767,8 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -753,8 +767,8 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
sb1.append("<td>").append(entity.getStartTime()).append("</td>"); sb1.append("<td>").append(entity.getStartTime()).append("</td>");
sb1.append("</tr>"); sb1.append("</tr>");
col="3"; col = "3";
}else if("07".equals(entity.getVerifType())){ } else if ("07".equals(entity.getVerifType())) {
sb1.append("<tr><td> 过夜机场名称</td> <td>拟用机型</td> <td>执行开始时间</td> </tr>"); sb1.append("<tr><td> 过夜机场名称</td> <td>拟用机型</td> <td>执行开始时间</td> </tr>");
...@@ -765,8 +779,8 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -765,8 +779,8 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
sb1.append("<td>").append(entity.getStartTime()).append("</td>"); sb1.append("<td>").append(entity.getStartTime()).append("</td>");
sb1.append("</tr>"); sb1.append("</tr>");
col="3"; col = "3";
}else if("08".equals(entity.getVerifType())){ } else if ("08".equals(entity.getVerifType())) {
sb1.append("<tr><td> 航班号</td> <td>训练场名称</td> <td>拟用机型</td> <td>执行开始时间</td> </tr>"); sb1.append("<tr><td> 航班号</td> <td>训练场名称</td> <td>拟用机型</td> <td>执行开始时间</td> </tr>");
...@@ -777,20 +791,20 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -777,20 +791,20 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
sb1.append("<td>").append(entity.getStartTime()).append("</td>"); sb1.append("<td>").append(entity.getStartTime()).append("</td>");
sb1.append("</tr>"); sb1.append("</tr>");
col="4"; col = "4";
} }
if(listm!=null&&listm.size()>0){ if (listm != null && listm.size() > 0) {
Map<String, String> map=listm.get(0); Map<String, String> map = listm.get(0);
String fileName = map.get("fileName"); String fileName = map.get("fileName");
String filePath = map.get("filePath"); String filePath = map.get("filePath");
List<ConnectionPlan> lst= planlist( fileName, filePath); List<ConnectionPlan> lst = planlist(fileName, filePath);
sb1.append("<tr><td colspan=\"").append(col).append("\">"); sb1.append("<tr><td colspan=\"").append(col).append("\">");
sb1.append("<table border=\"1\" width=\"100%\" style=\"text-align:center\"><tbody><tr><th rowspan=\"2\">航班号</th><th colspan=\"7\">班期</th><th rowspan=\"2\">航站</th><th rowspan=\"2\">起飞</th><th rowspan=\"2\">落地</th><th rowspan=\"2\">航站</th><th rowspan=\"2\">起飞</th><th rowspan=\"2\">落地</th><th rowspan=\"2\">航站</th><th rowspan=\"2\">备注</th><th colspan=\"2\">计划时间</th></tr>"); sb1.append("<table border=\"1\" width=\"100%\" style=\"text-align:center\"><tbody><tr><th rowspan=\"2\">航班号</th><th colspan=\"7\">班期</th><th rowspan=\"2\">航站</th><th rowspan=\"2\">起飞</th><th rowspan=\"2\">落地</th><th rowspan=\"2\">航站</th><th rowspan=\"2\">起飞</th><th rowspan=\"2\">落地</th><th rowspan=\"2\">航站</th><th rowspan=\"2\">备注</th><th colspan=\"2\">计划时间</th></tr>");
sb1.append("<tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>航段1</th><th>航段2</th></tr>"); sb1.append("<tr><th>1</th><th>2</th><th>3</th><th>4</th><th>5</th><th>6</th><th>7</th><th>航段1</th><th>航段2</th></tr>");
for(ConnectionPlan pan:lst){ for (ConnectionPlan pan : lst) {
sb1.append("<tr>"); sb1.append("<tr>");
sb1.append("<td>").append(pan.getField1()).append("</td>"); sb1.append("<td>").append(pan.getField1()).append("</td>");
sb1.append("<td>").append(pan.getField2()).append("</td>"); sb1.append("<td>").append(pan.getField2()).append("</td>");
...@@ -816,17 +830,17 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -816,17 +830,17 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
} }
sb1.append("</tbody></table>"); sb1.append("</tbody></table>");
plan=sb1.toString(); plan = sb1.toString();
String sailingText = bean.getSailingText(); String sailingText = bean.getSailingText();
if(StringUtils.isBlank(sailingText)){ if (StringUtils.isBlank(sailingText)) {
SailingCmDetailBean sBean=new SailingCmDetailBean(); SailingCmDetailBean sBean = new SailingCmDetailBean();
sBean.setUserCode(bean.getUserCode()); sBean.setUserCode(bean.getUserCode());
sBean.setVerifId(bean.getVerifId()); sBean.setVerifId(bean.getVerifId());
SailingCdDeatailEntity sentity = updateAndGetCommandDetail(sBean); SailingCdDeatailEntity sentity = updateAndGetCommandDetail(sBean);
sailingText = updateAndGetSailingText(sentity,map1); sailingText = updateAndGetSailingText(sentity, map1);
} }
sailingText=sailingText.replaceAll("发布后生成", routeNo); sailingText = sailingText.replaceAll("发布后生成", routeNo);
String regEx_style = "<input style=\"width:100%\" id=\"routeNo\"[^>]*?>"; String regEx_style = "<input style=\"width:100%\" id=\"routeNo\"[^>]*?>";
Pattern p_script = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE); Pattern p_script = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);
Matcher m_script = p_script.matcher(sailingText); Matcher m_script = p_script.matcher(sailingText);
...@@ -835,26 +849,26 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -835,26 +849,26 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
sb.append(plan); sb.append(plan);
sb.append("<br>"); sb.append("<br>");
sb.append(bean.getConRemarks().replaceAll("<table","<table width=\"80%\" ")); sb.append(bean.getConRemarks().replaceAll("<table", "<table width=\"80%\" "));
// sb.append(bean.getConRemarks()); // sb.append(bean.getConRemarks());
/* sb.append("<br/><h2>开航指令:</h2>"); /* sb.append("<br/><h2>开航指令:</h2>");
sb.append(bean.getFormText());*/ sb.append(bean.getFormText());*/
sb.append("<br/><h2>各部门论证单:</h2>"); sb.append("<br/><h2>各部门论证单:</h2>");
String text=bean.getVerifyText().replaceAll("<table","<table width=\"80%\" "); String text = bean.getVerifyText().replaceAll("<table", "<table width=\"80%\" ");
text=text.replaceAll("100%","80%"); text = text.replaceAll("100%", "80%");
sb.append(text); sb.append(text);
sb.append("<br>"); sb.append("<br>");
if(riskList!=null&&riskList.size()>0){ if (riskList != null && riskList.size() > 0) {
sb.append("<h2>风险评估结果:</h2>"); sb.append("<h2>风险评估结果:</h2>");
sb.append("<table width=\"100%\" border=\"1\" cellpadding=\"2\" cellspacing=\"1\">"); sb.append("<table width=\"100%\" border=\"1\" cellpadding=\"2\" cellspacing=\"1\">");
sb.append("<tr>").append("<th>部门名称</th>").append("<th>评估结果</th>").append("<th>风险描述</th>").append("</tr>"); sb.append("<tr>").append("<th>部门名称</th>").append("<th>评估结果</th>").append("<th>风险描述</th>").append("</tr>");
for(AssessmentFindListEntity risk:riskList){ for (AssessmentFindListEntity risk : riskList) {
sb.append("<tr>"); sb.append("<tr>");
sb.append("<td>").append(risk.getDepartName()).append("</td>"); sb.append("<td>").append(risk.getDepartName()).append("</td>");
sb.append("<td>").append(risk.getRemarks()).append("</td>"); sb.append("<td>").append(risk.getRemarks()).append("</td>");
switch(risk.getAssessmentStatus()){ switch (risk.getAssessmentStatus()) {
case "00": case "00":
sb.append("<td>未评估</td>"); sb.append("<td>未评估</td>");
break; break;
...@@ -875,20 +889,20 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -875,20 +889,20 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
} }
StringBuffer sb2=new StringBuffer(); StringBuffer sb2 = new StringBuffer();
sb2.append("<br/><h2>组织协调单元论证总结:</h2>"); sb2.append("<br/><h2>组织协调单元论证总结:</h2>");
sb2.append(entity.getVerifRemarks()==null?"":entity.getVerifRemarks()); sb2.append(entity.getVerifRemarks() == null ? "" : entity.getVerifRemarks());
// 发送邮件 // 发送邮件
// sendMail(bean.getVerifId(), plan+sb2.toString(),routeNo); // sendMail(bean.getVerifId(), plan+sb2.toString(),routeNo);
UploadFileBean uploadFileBean=Html2File.convertHtml2Word(sb.toString()); UploadFileBean uploadFileBean = Html2File.convertHtml2Word(sb.toString());
SailingCmFileBean sailingFileBean=new SailingCmFileBean(); SailingCmFileBean sailingFileBean = new SailingCmFileBean();
sailingFileBean.setId(IdWorker.getNextId()); sailingFileBean.setId(IdWorker.getNextId());
sailingFileBean.setFileName("北京首都航空关于使用"+map1.get("aircraftLabel")+"机型执行"+map1.get("depName")+map1.get("verifType")+"航线的开航指令("+routeNo+").doc"); sailingFileBean.setFileName("北京首都航空关于使用" + map1.get("aircraftLabel") + "机型执行" + map1.get("depName") + map1.get("verifType") + "航线的开航指令(" + routeNo + ").doc");
// sailingFileBean.setFileName(map1.get("verifType")+map1.get("depName")+"开航指令.doc"); // sailingFileBean.setFileName(map1.get("verifType")+map1.get("depName")+"开航指令.doc");
sailingFileBean.setExtesion(uploadFileBean.getExtesion()); sailingFileBean.setExtesion(uploadFileBean.getExtesion());
sailingFileBean.setMd5(uploadFileBean.getMd5()); sailingFileBean.setMd5(uploadFileBean.getMd5());
sailingFileBean.setFilePath(uploadFileBean.getPath()); sailingFileBean.setFilePath(uploadFileBean.getPath());
sailingFileBean.setFileSize(String.valueOf(uploadFileBean.getSize()) ); sailingFileBean.setFileSize(String.valueOf(uploadFileBean.getSize()));
sailingFileBean.setVerifId(bean.getVerifId()); sailingFileBean.setVerifId(bean.getVerifId());
sailingFileBean.setCreateBy(bean.getUserCode()); sailingFileBean.setCreateBy(bean.getUserCode());
//dao.deleteSailingFile(sailingFileBean); //dao.deleteSailingFile(sailingFileBean);
...@@ -902,7 +916,6 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -902,7 +916,6 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
dao.updateAirlineverify(bean); dao.updateAirlineverify(bean);
// 获取论证全部参与部门 // 获取论证全部参与部门
// List<String> lst=dao.getVerifDeparts(bean.getVerifId()); // List<String> lst=dao.getVerifDeparts(bean.getVerifId());
// for(String departId:lst){ // for(String departId:lst){
...@@ -935,11 +948,9 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin ...@@ -935,11 +948,9 @@ public class SailingCommandService extends CurdService<SailingCommandDao, Sailin
return true; return true;
} }
public static void main(String[] args) {
public static void main(String[] args) {
System.out.println(getLastDate("2017-08")); System.out.println(getLastDate("2017-08"));
} }
private static String getLastDate(String datestr) { private static String getLastDate(String datestr) {
......
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