Quellcode durchsuchen

git-svn-id: https://192.168.57.71/svn/jsgkj@1691 931142cf-59ea-a443-aa0e-51397b428577

ld_xuhx vor 8 Jahren
Ursprung
Commit
5e1811b75b

+ 12 - 4
gkjsjy/trunk/WebContent/WEB-INF/pages/gkyxtjyfx/hxhbtj/hxhbtjStat.jsp

@@ -12,7 +12,10 @@
 	<script type="text/javascript" src="${app }/static/biz/js/gkyxtjyfx/hxhbtj/hxhbtjdetail.js"></script>
 	<script type="text/javascript">
 		$(document).ready(function () {
-			initgkSelect('szgksel','${szgkid }','','showgq','80%');
+			$('.dqztselectpicker').selectpicker({
+     			width:'80%'
+     		});
+			//initgkSelect('szgksel','${szgkid }','','showgq','80%');
 			iFrameHeightIframe('${menuid}');//自适应高度
 		});
 	</script>
@@ -46,13 +49,18 @@
  					<input type="hidden" name="id" value="${record.id }">
 					<table class="apply" cellpadding="0" cellspacing="0">
 						<tr>
-							<th><span class="needwrite">*</span>所在港口:&nbsp;</th>
+							<th><span class="needwrite">*</span>所在地区:&nbsp;</th>
 							<td >
-								<span id="szgksel"></span>
+								<select  class='dqztselectpicker' id="dq" name="dq">
+				            				<option ></option>
+										<c:forEach items="${dqlist}" var="list" varStatus="status">	
+											<option value="${list.id }" <c:if test="${dq ==list.id }">selected</c:if>>${list.text }</option>	
+										</c:forEach>	            	
+				            	</select>
 							</td>
 							<th><span class="needwrite">*</span>日期:&nbsp;</th>
 							<td >
-								<input class="Wdate" id="rq" name="rq" type="text" onFocus="WdatePicker({lang:'zh-cn',skin:'default',dateFmt:'yyyy-MM'})" value="${record.rq }">
+								<input class="Wdate" id="rq" name="rq" type="text" onFocus="WdatePicker({lang:'zh-cn',skin:'default',dateFmt:'yyyy-MM'})" value="${rq }">
 							</td>
 						</tr>
 	                </table>

+ 1 - 1
gkjsjy/trunk/WebContent/static/biz/js/gkyxtjyfx/hxhbtj/hxhbtjdetail.js

@@ -82,7 +82,7 @@ hxhbtj.detail.stat=function(){
 	if(vae($('#dq'), "所在地区")==false){return false;}
 	if(vae($('#rq'), "日期")==false){return false;}
 	
-	location.href=$.app+"/hxhbtj/stat?szgkid="+$('#szgkid').val()+"&rq="+$('#rq').val();
+	location.href=$.app+"/hxhbtj/stat?dq="+$('#dq').val()+"&rq="+$('#rq').val();
 };
 
 hxhbtj.detail.saveTbzt=function(data){

+ 5 - 0
gkjsjy/trunk/src/com/xt/jygl/ggfwxxgl/hxgl/service/HxglService.java

@@ -43,4 +43,9 @@ public interface HxglService {
 
 	// 停航
 	public void tingHang(String id);
+
+	// 根据年月查总计
+	public List<Object[]> findByRq(String rq, String szd, String szgq, String szgk, String jyr);
+
+	List<Object> tjnf(String rq, String szd, String szgq, String szgk, String jyr);
 }

+ 65 - 4
gkjsjy/trunk/src/com/xt/jygl/ggfwxxgl/hxgl/service/impl/HxglServiceImpl.java

@@ -1,17 +1,18 @@
 package com.xt.jygl.ggfwxxgl.hxgl.service.impl;
 
+import java.util.HashMap;
 import java.util.List;
+import java.util.Map;
 
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.xt.jygl.common.service.JyglBaseService;
-import com.xt.jygl.ggfwxxgl.hxgl.dao.HxcqglDao;
 import com.xt.jygl.ggfwxxgl.hxgl.dao.HxglDao;
 import com.xt.jygl.ggfwxxgl.hxgl.entity.HxglEntity;
 import com.xt.jygl.ggfwxxgl.hxgl.service.HxglService;
-import com.xt.jygl.ggfwxxgl.hxhbgl.entity.HxhbglEntity;
 import com.xtframe.sec.common.SecRepository;
+import com.xtframe.util.StringUtils;
 
 @Service
 public class HxglServiceImpl extends JyglBaseService<HxglEntity, String> implements HxglService {
@@ -19,10 +20,8 @@ public class HxglServiceImpl extends JyglBaseService<HxglEntity, String> impleme
 	@Autowired
 	private HxglDao dao;
 
-	
 	@Override
 	protected SecRepository<HxglEntity, String> getDao() {
-		// TODO Auto-generated method stub
 		return this.dao;
 	}
 
@@ -76,4 +75,66 @@ public class HxglServiceImpl extends JyglBaseService<HxglEntity, String> impleme
 		dao.tingHang(id);
 	}
 
+	@Override
+	public List<Object[]> findByRq(String rq, String szd, String szgq, String szgk, String jyr) {
+
+		Map<String, Object> params = new HashMap<String, Object>();
+		StringBuilder sb = new StringBuilder();
+		sb.append("select nvl(sum(nmjzxttl) + sum(wmjzxttl),0),nvl(sum(nmjzxttl),0),nvl( sum(wmjzxttl),0),nvl(sum(t.yyhxts),0),nvl( sum(t.yyhxhbs),0),nvl( sum(t.jyhxts),0),nvl( sum(t.jyhxhbs),0),nvl( sum(t.nzxts),0), nvl( sum(t.nzxhbs),0), nvl( sum(t.nmhxts),0), nvl( sum(t.nmhxhbs),0)from GK_OPERATION_JSJY_HXHBGL t where t.year||'-'||t.month =:rq  and t.RECORD_STATUS <> 9 ");
+
+		params.put("rq", rq);
+
+		if (!StringUtils.isEmpty(szd)) {
+			sb.append(" and t.szd = :szd");
+			params.put("szd", szd);
+		}
+		if (!StringUtils.isEmpty(szgk)) {
+			sb.append(" and t.szgk = :szgk");
+			params.put("szgk", szgk);
+		}
+		if (!StringUtils.isEmpty(szgq)) {
+			sb.append(" and t.szgq = :szgq");
+			params.put("szgq", szgq);
+		}
+
+		if (!StringUtils.isEmpty(jyr)) {
+			sb.append(" and t.ssjyr = :jyr");
+			params.put("jyr", jyr);
+		}
+
+		System.out.println(sb.toString());
+		return (List<Object[]>) dao.nativeQuery(sb.toString(), params);
+	}
+
+	@Override
+	public List<Object> tjnf(String rq, String szd, String szgq, String szgk, String jyr) {
+
+		Map<String, Object> params = new HashMap<String, Object>();
+		StringBuilder sb = new StringBuilder();
+		sb.append("select sum(t1.a + t1.b), sum(t1.a), sum(t1.b) from ");
+		sb.append(" (SELECT t.nmjzxttl a, t.wmjzxttl b from GK_OPERATION_JSJY_HXHBGL t  where t.year =:rq ");
+		params.put("rq", rq);
+
+		if (!StringUtils.isEmpty(szd)) {
+			sb.append(" and t.szd = :szd");
+			params.put("szd", szd);
+		}
+		if (!StringUtils.isEmpty(szgk)) {
+			sb.append(" and t.szgk = :szgk");
+			params.put("szgk", szgk);
+		}
+		if (!StringUtils.isEmpty(szgq)) {
+			sb.append(" and t.szgq = :szgq");
+			params.put("szgq", szgq);
+		}
+		if (!StringUtils.isEmpty(jyr)) {
+			sb.append(" and t.ssjyr = :jyr");
+			params.put("jyr", jyr);
+		}
+		sb.append(" and t.RECORD_STATUS <> 9) t1 ");
+
+		System.out.println(sb.toString());
+		return (List<Object>) dao.nativeQuery(sb.toString(), params);
+	}
+
 }

+ 228 - 126
gkjsjy/trunk/src/com/xt/jygl/gkyxtjyfx/hxhbtj/ctl/HxhbtjCtl.java

@@ -1,5 +1,7 @@
 package com.xt.jygl.gkyxtjyfx.hxhbtj.ctl;
 
+import java.math.BigDecimal;
+import java.text.ParseException;
 import java.text.SimpleDateFormat;
 import java.util.ArrayList;
 import java.util.Calendar;
@@ -42,6 +44,7 @@ import com.xtframe.sec.code.entity.CodeEntity;
 import com.xtframe.sec.common.BaseEntity;
 import com.xtframe.sec.common.QueryService;
 import com.xtframe.sec.common.SimplePageRequest;
+import com.xtframe.sec.user.entity.UserEntity;
 import com.xtframe.sec.utils.SecUtils;
 import com.xtframe.util.StringUtils;
 
@@ -63,7 +66,7 @@ public class HxhbtjCtl extends BaseWebCtl {
 	@RequestMapping(value = "/main")
 	// @RequiresPermissions("hxhbtj:main")
 	public String main(SimplePageRequest page, Model model, final HttpServletRequest request, final String rq, final String dq, final String menuid) throws JsonProcessingException {
-		final Map<String, Object> cacheSCmap = CacheSearchCondition.cacheSCmap(request,"hxhbtj");
+		final Map<String, Object> cacheSCmap = CacheSearchCondition.cacheSCmap(request, "hxhbtj");
 		// 查询条件
 		Specification<HxhbtjEntity> spec = new Specification<HxhbtjEntity>() {
 			@Override
@@ -161,7 +164,8 @@ public class HxhbtjCtl extends BaseWebCtl {
 		HxhbtjEntity entity = hxhbtjService.findOne(id);
 		HxhbtjVo vo = new HxhbtjVo();
 		BeanUtils.copyProperties(entity, vo);
-		//vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
+		// vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() :
+		// "");
 		vo.setBywcl(entity.getBywcl() != null ? entity.getBywcl().toString() : "");
 		vo.setBnljl(entity.getBnljl() != null ? entity.getBnljl().toString() : "");
 		vo.setTbzzs(entity.getTbzzs() != null ? entity.getTbzzs().toString() : "");
@@ -394,143 +398,241 @@ public class HxhbtjCtl extends BaseWebCtl {
 	}
 
 	@RequestMapping(value = "/stat")
-	public String stat(Model model, String rq, String szgkid) {
-		// 取到所在地下第一个所在港口
-		List<GkEntity> list = gkService.findBySzd(securityMgr.getCurrUser().getSzd() != null ? securityMgr.getCurrUser().getSzd().getId() : "");
-		String dftszgk = "";
-		if (list.size() > 0) {
-			dftszgk = list.get(0).getId();
+	public String stat(Model model, String rq, String szgkid, String dq) throws ParseException {
+		String szd = GlobalData.CITY_CODE;
+		if (!StringUtils.isEmpty(szd)) {
+			List<CodeEntity> codelist = securityMgr.codeService().findByBz(szd);
+			model.addAttribute("dqlist", codelist);
 		}
-		Date date = new Date();
-		SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
-		String benyue = sdf.format(date);
-		Object[] ob = (Object[]) hxglService.bywcltj(StringUtils.isEmpty(rq) ? benyue : rq, StringUtils.isEmpty(szgkid) ? dftszgk : szgkid);
-		HxhbtjVo vo = new HxhbtjVo();
 
-		vo.setRq(rq);
-
-		// 本月数据
-		vo.setBywcl(ob[0] != null ? (ob[0].toString()) : "");
-		vo.setBynmwcl(ob[1] != null ? (ob[1].toString()) : "");
-		vo.setBywmwcl(ob[2] != null ? (ob[2].toString()) : "");
-		// 本年数据
-		SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy");
-		String bennian = sdf2.format(date);
-		String rq2 = "";
-		if (!StringUtils.isEmpty(rq)) {
-			rq2 = rq.substring(0, 4);
-		}
-		Object[] ob2 = (Object[]) hxglService.bnljltj(StringUtils.isEmpty(rq2) ? bennian : rq2, StringUtils.isEmpty(szgkid) ? dftszgk : szgkid);
-		vo.setBnljl(ob2[0] != null ? (ob2[0].toString()) : "");
-		vo.setBnnmljl(ob2[1] != null ? (ob2[1].toString()) : "");
-		vo.setBnwmljl(ob2[2] != null ? (ob2[2].toString()) : "");
-		// 同比增长数
-		String lastyear = "";
-		if (StringUtils.isEmpty(rq)) {
-			Integer i = Integer.parseInt(benyue.substring(0, 4)) - 1;
-			lastyear = i + benyue.substring(4, 7);
-		} else {
-			Integer i = Integer.parseInt(rq.substring(0, 4)) - 1;
-			lastyear = i + rq.substring(4, 7);
+		String szgq = "";
+		String szgk = "";
+		String jyr = "";
+		UserEntity user = securityMgr.getCurrUser();
+
+		if (isJyr()) {
+			jyr = user.getSsjyr().getId();
 		}
-		Object[] ob3 = (Object[]) hxglService.tbzzs(StringUtils.isEmpty(rq) ? benyue : rq, lastyear, StringUtils.isEmpty(szgkid) ? dftszgk : szgkid);
-		vo.setTbzzs(ob3[0] != null ? (String.format("%.2f", ob3[0]) + "%") : "- -");
-		vo.setNmtbzzs(ob3[1] != null ? (String.format("%.2f", ob3[1]) + "%") : "- -");
-		vo.setWmtbzzs(ob3[2] != null ? (String.format("%.2f", ob3[2]) + "%") : "- -");
-		// 集装箱航线航班开辟情况
-		Calendar cal = Calendar.getInstance();
-		if (StringUtils.isNotEmpty(rq)) {
-			String year = rq.substring(0, 4);
-			String month = rq.substring(5, 7);
-			cal.set(Calendar.YEAR, Integer.parseInt(year));
-			cal.set(Calendar.MONTH, Integer.parseInt(month));
+		// 太仓
+		if ("8202".equals(dq)) {
+			szgk = "9CB496AD12DF4C899086AFC1D8A95B13";
+			szgq = "A65FA0C300E1483189F4DCF827B0F8D5";
+		} else if ("8202".equals(dq)) {// 常熟
+			szgk = "9CB496AD12DF4C899086AFC1D8A95B13";
+			szgq = "90C57373CAD04A8C9A211EBD9820E89A";
+		} else if ("8202".equals(dq)) {// 张家港
+			szgk = "9CB496AD12DF4C899086AFC1D8A95B13";
+			szgq = "F3B0EE42BC8D46818D30071A357C768C";
+		} else if ("8214".equals(dq)) {// 无锡
+			szgk = "7D6837A76EF240658CCBBAC01C970862";
+		} else if ("8209".equals(dq)) {// 江阴
+			szgk = "B79F862FE3EB4C769D25B5DB0FB0B7BC";
 		}
-		String bn = cal.get(Calendar.YEAR) + "";
-		String by = (cal.get(Calendar.MONTH) + 1) + "";
-		cal.add(Calendar.MONTH, -1);
-		String sn = cal.get(Calendar.YEAR) + "";
-		String sy = (cal.get(Calendar.MONTH) + 1) + "";
-		List<Object[]> list1 = hxglService.kbxk(bn, by, sn, sy, StringUtils.isEmpty(szgkid) ? dftszgk : szgkid);
-		if (list1 != null && list1.size() > 0) {
-			for (Object[] obj : list1) {
-				Object[] data = (Object[]) obj;
-				if (data[0].equals(bn + by)) {
-
-					vo.setByyyhxzs1(Integer.parseInt(data[1] + ""));
-					vo.setByyyhbzs1(Integer.parseInt(data[2] + ""));
-					vo.setByyyhxzs2(Integer.parseInt(data[3] + ""));
-					vo.setByyyhbzs2(Integer.parseInt(data[4] + ""));
-					vo.setByyyhxzs3(Integer.parseInt(data[5] + ""));
-					vo.setByyyhbzs3(Integer.parseInt(data[6] + ""));
-					vo.setByyyhxzs4(Integer.parseInt(data[7] + ""));
-					vo.setByyyhbzs4(Integer.parseInt(data[8] + ""));
-
-					vo.setYyhxts(data[1] + "");
-					vo.setYyhxhbs(data[2] + "");
-					vo.setJyhxts(data[3] + "");
-					vo.setJyhxhbs(data[4] + "");
-					vo.setNzxts(data[5] + "");
-					vo.setNzxhbs(data[6] + "");
-					vo.setNmhxts(data[7] + "");
-					vo.setNmhxhbs(data[8] + "");
-					// 默认新开辟航线数为本月数量
-					vo.setYyxkphxs(vo.getYyhxts());
-					vo.setJyxkphxs(vo.getJyhxts());
-					vo.setNzxxkphxs(vo.getNzxts());
-					vo.setNmxkphxs(vo.getNmhxts());
-				} else if (data[0].equals(sn + sy)) {
-					int t1 = Integer.parseInt(data[1] + "");
-					vo.setYyxkphxs(vo.getByyyhxzs1() - t1 < 0 ? "0" : vo.getByyyhxzs1() - t1 + "");
-					vo.setYytkhxs(t1 - vo.getByyyhxzs1() < 0 ? "0" : t1 - vo.getByyyhxzs1() + "");
-					int t2 = Integer.parseInt(data[3] + "");
-					vo.setJyxkphxs(vo.getByyyhxzs2() - t2 < 0 ? "0" : vo.getByyyhxzs2() - t2 + "");
-					vo.setJytkhxs(t2 - vo.getByyyhxzs2() < 0 ? "0" : t2 - vo.getByyyhxzs2() + "");
-					int t3 = Integer.parseInt(data[5] + "");
-					vo.setNzxxkphxs(vo.getByyyhxzs3() - t3 < 0 ? "0" : vo.getByyyhxzs3() - t3 + "");
-					vo.setNzxtkhxs(t3 - vo.getByyyhxzs3() < 0 ? "0" : t3 - vo.getByyyhxzs3() + "");
-					int t4 = Integer.parseInt(data[7] + "");
-					vo.setNmxkphxs(vo.getByyyhxzs4() - t4 < 0 ? "0" : vo.getByyyhxzs4() - t4 + "");
-					vo.setNmtkhxs(t4 - vo.getByyyhxzs4() < 0 ? "0" : t4 - vo.getByyyhxzs4() + "");
-
-					/*
-					 * int t1 = Integer.parseInt(data[1] + "");
-					 * vo.setYyxkphxs(Integer.parseInt(vo.getYyhxts()) - t1 < 0
-					 * ? "0" : vo.getByyyhxzs1() - t1 +""); vo.setYytkhxs(t1 -
-					 * Integer.parseInt(vo.getYyhxts()) < 0 ? "0" : t1 -
-					 * Integer.parseInt(vo.getYyhxts()) +""); int t2 =
-					 * Integer.parseInt(data[3] + "");
-					 * vo.setJyxkphxs(Integer.parseInt(vo.getJyhxts()) - t2 < 0
-					 * ? "0" : Integer.parseInt(vo.getJyhxts()) - t2 +"");
-					 * vo.setJytkhxs(t2 - Integer.parseInt(vo.getJyhxts()) < 0 ?
-					 * "0" : t2 - Integer.parseInt(vo.getJyhxts()) +""); int t3
-					 * = Integer.parseInt(data[5] + "");
-					 * vo.setNzxxkphxs(Integer.parseInt(vo.getNzxts()) - t3 < 0
-					 * ? "0" : Integer.parseInt(vo.getNzxts()) - t3 +"");
-					 * vo.setNzxtkhxs(t3 - Integer.parseInt(vo.getNzxts()) < 0 ?
-					 * "0" : t3 - Integer.parseInt(vo.getNzxts()) +""); int t4 =
-					 * Integer.parseInt(data[7] + "");
-					 * vo.setNmxkphxs(Integer.parseInt(vo.getNmhxts()) - t4 < 0
-					 * ? "0" : Integer.parseInt(vo.getNmhxts()) +"");
-					 * vo.setNmtkhxs(t4 - Integer.parseInt(vo.getNmhxts()) < 0 ?
-					 * "0" : t4 - Integer.parseInt(vo.getNmhxts()) +"");
-					 */
-				}
+
+		// 本月统计数
+		List<Object[]> sums = hxglService.findByRq(rq, szd, szgq, szgk, jyr);
+		HxhbtjVo vo = new HxhbtjVo();
+		if (!StringUtils.isEmpty(sums) && sums.size() > 0) {
+			Object[] sum = sums.get(0);
+			// 本年统计
+			List<Object> bntj = hxglService.tjnf(rq.substring(0, 4), szd, szgq, szgk, jyr);
+			if (bntj != null && bntj.size() > 0) {
+				Object[] b = (Object[]) bntj.get(0);
+				vo.setBnljl(b[0] != null ? (b[0].toString()) : "");
+				vo.setNwmjzxttl(b[1] != null ? (b[1].toString()) : "");
+				vo.setNnmjzxttl(b[2] != null ? (b[2].toString()) : "");
+			}
+
+			// 上月统计量
+			SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM");
+			String syrq = sdf.format(getLastDate(sdf.parse(rq)));
+
+			List<Object[]> sysums = hxglService.findByRq(syrq, szd, szgq, szgk, jyr);
+			Object[] sysum = null;
+			if (sysums != null && sysums.size() > 0) {
+				sysum = sysums.get(0);
+			}
+
+			// 上年统计量
+			String snrq = sdf.format(getLastYear(sdf.parse(rq)));
+
+			List<Object[]> snsums = hxglService.findByRq(snrq, szd, szgq, szgk, jyr);
+			Object[] snsum = null;
+			if (snsums != null && snsums.size() > 0) {
+				snsum = snsums.get(0);
+			}
+
+			BigDecimal a = new BigDecimal(0);
+			BigDecimal b = new BigDecimal(0);
+			BigDecimal c = new BigDecimal(0.00);
+			BigDecimal d = new BigDecimal(0);
+
+			vo.setBywcl(sum[0].toString());
+			vo.setNmjzxttl(sum[1].toString());
+			vo.setWmjzxttl(sum[2].toString());
+
+			a = (BigDecimal) sum[0];
+			b = (BigDecimal) snsum[0];
+			if (b.compareTo(new BigDecimal(0)) == 0) {
+
+				vo.setTbzzs("0");
+			} else {
+				c = a.subtract(b);
+				c = c.divide(b, 4, BigDecimal.ROUND_HALF_EVEN).multiply(new BigDecimal(100));
+				vo.setTbzzs(c.toString());
 			}
+
+			a = (BigDecimal) sum[1];
+			b = (BigDecimal) snsum[1];
+			if (b.compareTo(new BigDecimal(0)) == 0) {
+				vo.setNmtbzzs("0");
+			} else {
+				c = a.subtract(b);
+				c = c.divide(b, 4, BigDecimal.ROUND_HALF_EVEN).multiply(new BigDecimal(100));
+				vo.setNmtbzzs(c.toString());
+			}
+			a = (BigDecimal) sum[2];
+			b = (BigDecimal) snsum[2];
+			if (b.compareTo(new BigDecimal(0)) == 0) {
+				vo.setWmtbzzs("0");
+			} else {
+				c = a.subtract(b);
+				c = c.divide(b, 4, BigDecimal.ROUND_HALF_EVEN).multiply(new BigDecimal(100));
+				vo.setWmtbzzs(c.toString());
+			}
+			// 远洋航线本月营远洋航线
+			vo.setYyhxts(sum[3].toString());
+			// 远洋航线航班
+			vo.setYyhxhbs(sum[4].toString());
+
+			a = (BigDecimal) sum[3];
+			b = (BigDecimal) sysum[3];
+
+			d = a.subtract(b);
+			if (d.compareTo(new BigDecimal(0)) == 0) {
+				// 远洋航线本月新开辟航线数
+				vo.setYyxkphxs(d.toString());
+				// 远洋航线本月停开航线数
+				vo.setYytkhxs(d.toString());
+			} else if (d.compareTo(new BigDecimal(0)) > 0) {
+				// 远洋航线本月新开辟航线数
+				vo.setYyxkphxs(d.toString());
+				// 远洋航线本月停开航线数
+				vo.setYytkhxs("0");
+			} else {
+				// 远洋航线本月新开辟航线数
+				vo.setYyxkphxs("0");
+				// 远洋航线本月停开航线数
+				vo.setYytkhxs(b.subtract(a).toString());
+			}
+
+			// 近洋航线本月营远洋航线
+			vo.setJyhxts(sum[5].toString());
+			// 近洋航线航班
+			vo.setJyhxhbs(sum[6].toString());
+
+			a = (BigDecimal) sum[5];
+			b = (BigDecimal) sysum[5];
+
+			d = a.subtract(b);
+			if (d.compareTo(new BigDecimal(0)) == 0) {
+				// 近洋航线本月新开辟航线数
+				vo.setJyxkphxs("0");
+				// 近洋航线本月停开航线数
+				vo.setJytkhxs("0");
+			} else if (d.compareTo(new BigDecimal(0)) > 0) {
+				// 近洋航线本月新开辟航线数
+				vo.setJyxkphxs(d.toString());
+				// 近洋航线本月停开航线数
+				vo.setJytkhxs("0");
+			} else {
+				// 近洋航线本月新开辟航线数
+				vo.setJyxkphxs("0");
+				// 近洋航线本月停开航线数
+				vo.setJytkhxs(b.subtract(a).toString());
+			}
+
+			// 外贸内支线本月营远洋航线
+			vo.setNzxts(sum[7].toString());
+			// 外贸内支线航班
+			vo.setNzxhbs(sum[8].toString());
+			a = (BigDecimal) sum[5];
+			b = (BigDecimal) sysum[5];
+
+			d = a.subtract(b);
+			if (d.compareTo(new BigDecimal(0)) == 0) {
+				// 外贸内支线本月新开辟航线数
+				vo.setNzxxkphxs("0");
+				// 外贸内支线本月停开航线数
+				vo.setNzxtkhxs("0");
+			} else if (d.compareTo(new BigDecimal(0)) > 0) {
+				// 外贸内支线本月新开辟航线数
+				vo.setNzxxkphxs(d.toString());
+				// 外贸内支线本月停开航线数
+				vo.setNzxtkhxs("0");
+			} else {
+				// 外贸内支线本月新开辟航线数
+				vo.setNzxxkphxs("0");
+				// 外贸内支线本月停开航线数
+				vo.setNzxtkhxs(b.subtract(a).toString());
+			}
+
+			// 内贸航线本月营远洋航线
+			vo.setNmhxts(sum[9].toString());
+			// 内贸航线航班
+			vo.setNmhxhbs(sum[10].toString());
+			a = (BigDecimal) sum[5];
+			b = (BigDecimal) sysum[5];
+
+			d = a.subtract(b);
+			if (d.compareTo(new BigDecimal(0)) == 0) {
+				// 内贸航线本月新开辟航线数
+				vo.setNmxkphxs("0");
+				// 内贸航线本月停开航线数
+				vo.setNmtkhxs("0");
+			} else if (d.compareTo(new BigDecimal(0)) > 0) {
+				// 内贸航线本月新开辟航线数
+				vo.setNmxkphxs(d.toString());
+				// 内贸航线本月停开航线数
+				vo.setNmtkhxs("0");
+			} else {
+				// 内贸航线本月新开辟航线数
+				vo.setNmxkphxs("0");
+				// 内贸航线本月停开航线数
+				vo.setNmtkhxs(b.subtract(a).toString());
+			}
+
 		}
 		// 填表人跟联系电话
-		vo.setTbr(securityMgr.getCurrUser().getName());
-		if (securityMgr.getCurrUser().getSfjyr().getText().equals("是")) {
-			vo.setLxdh(securityMgr.getCurrUser().getSsjyr().getLxdh());
+		vo.setTbr(user.getName());
+		if (isJyr()) {
+			vo.setLxdh(user.getSsjyr().getLxdh());
 		} else {
-			vo.setLxdh(securityMgr.getCurrUser().getSsglbm() != null ? securityMgr.getCurrUser().getSsglbm().getLxdh() : "");
+			vo.setLxdh(user.getSsglbm() != null ? user.getSsglbm().getLxdh() : "");
 		}
-
 		model.addAttribute("record", vo);
-		model.addAttribute("szgkid", StringUtils.isEmpty(szgkid) ? dftszgk : szgkid);
-		model.addAttribute("rq", rq != null ? rq : benyue);
+		model.addAttribute("dq", dq);
+		model.addAttribute("rq", rq);
+
 		return "gkyxtjyfx/hxhbtj/hxhbtjStat";
 	}
 
+	// 上一月份
+	public static Date getLastDate(Date date) {
+		Calendar cal = Calendar.getInstance();
+		cal.setTime(date);
+		cal.add(Calendar.MONTH, -1);
+		return cal.getTime();
+	}
+
+	// 上一年份
+	public static Date getLastYear(Date date) {
+		Calendar cal = Calendar.getInstance();
+		cal.setTime(date);
+		cal.add(Calendar.YEAR, -1);
+		return cal.getTime();
+	}
+
 	// 同步省级数据
 	@RequestMapping(value = "/saveTbzt")
 	@ResponseBody