Browse Source

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

ld_zhangdong 8 years ago
parent
commit
bfad235bbb

+ 4 - 0
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/IAxxxService.java

@@ -4,10 +4,14 @@ import javax.jws.WebMethod;
 import javax.jws.WebResult;
 import javax.jws.WebService;
 
+import com.xt.jygl.gkjcxx.ax.entity.AxEntity;
+
 @WebService(targetNamespace = "http://service.web.jsjty.com/", portName = "axWebServicePort", serviceName = "axWebService")
 public interface IAxxxService {
 	@WebMethod(operationName = "findAx",action="http://service.web.jsjty.com/findAx")
 	@WebResult(name = "result",targetNamespace = "http://service.web.jsjty.com/")
 	public String findAx(int page,int rows, String szdid,String szgkid,String szgqid,String axmc,String lyztid,String ssjyr);
 	public String findOne(String id);
+	public String save(AxEntity code, String szdid, String szgkid, String szgqid, String ssjyrid, String axlxid, String axgnid, String lyztid,String nbaid);
+	public String delete(String id);
 }

+ 7 - 0
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/IFbdxxService.java

@@ -3,10 +3,17 @@ package com.cxfws.gkjcxx.service;
 import javax.jws.WebMethod;
 import javax.jws.WebResult;
 import javax.jws.WebService;
+
+import org.springframework.ui.Model;
+
+import com.xt.jygl.gkjcxx.ax.entity.AxEntity;
+import com.xt.jygl.gkjcxx.fbd.entity.FbdEntity;
 @WebService(targetNamespace = "http://service.web.jsjty.com/", portName = "fbdWebServicePort", serviceName = "fbdWebService")
 public interface IFbdxxService {
 	@WebMethod(operationName = "findFbd",action="http://service.web.jsjty.com/findFbd")
 	@WebResult(name = "result",targetNamespace = "http://service.web.jsjty.com/")
 	public String findFbd(int page,int rows,String szdid,String szgkid,String szgqid,String fbdmc,String fbdlx);
 	public String findOne(String id);
+	public String save(FbdEntity code, String szdid, String szgkid, String szgqid, String ssjyrid);
+	public String delete(String id);
 }

+ 4 - 1
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/IGkxxService.java

@@ -3,10 +3,13 @@ package com.cxfws.gkjcxx.service;
 import javax.jws.WebMethod;
 import javax.jws.WebResult;
 import javax.jws.WebService;
+
+import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
 @WebService(targetNamespace = "http://service.web.jsjty.com/", portName = "gkWebServicePort", serviceName = "gkWebService")
 public interface IGkxxService {
 	@WebMethod(operationName = "findGk",action="http://service.web.jsjty.com/findGk")
 	@WebResult(name = "result",targetNamespace = "http://service.web.jsjty.com/")
 	public String findGk(int page,int rows,String szd,String ssgkglbm,String gkmc);
-
+	public String save(GkEntity code, String szdid, String ssgkglbmid, String sfhbid, String ghsfpfid);
+	public String delete(String id);
 }

+ 4 - 0
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/IGqxxService.java

@@ -4,10 +4,14 @@ import javax.jws.WebMethod;
 import javax.jws.WebResult;
 import javax.jws.WebService;
 
+import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
+
 @WebService(targetNamespace = "http://service.web.jsjty.com/", portName = "gqWebServicePort", serviceName = "gqWebService")
 public interface IGqxxService {
 	@WebMethod(operationName = "findGq",action="http://service.web.jsjty.com/findGq")
 	@WebResult(name = "result",targetNamespace = "http://service.web.jsjty.com/")
 	public String findGq(int pages, int rows,String szd,String ssgkglbm,String szgkid,String gqszsylx,String gqmc);
 	public String findOne(String id);
+	public String save(GqEntity code, String szdid, String szgkid, String ssgkglbmid, String gqszsylxid);
+	public String delete(String id);
 }

+ 4 - 0
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/IJghdxxService.java

@@ -4,10 +4,14 @@ import javax.jws.WebMethod;
 import javax.jws.WebResult;
 import javax.jws.WebService;
 
+import com.xt.jygl.gkjcxx.jghd.entity.JghdEntity;
+
 @WebService(targetNamespace = "http://service.web.jsjty.com/", portName = "jghdWebServicePort", serviceName = "jghdWebService")
 public interface IJghdxxService {
 	@WebMethod(operationName = "findJxhd",action="http://service.web.jsjty.com/findJxhd")
 	@WebResult(name = "result",targetNamespace = "http://service.web.jsjty.com/")
 	public String findJxhd(int pages, int rows,String szdid,String szgkid,String hdmc);
 	public String findOne(String id);
+	public String save(JghdEntity code, String szdid, String szgkid);
+	public String delete(String id);
 }

+ 4 - 0
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/IMdxxService.java

@@ -4,10 +4,14 @@ import javax.jws.WebMethod;
 import javax.jws.WebResult;
 import javax.jws.WebService;
 
+import com.xt.jygl.gkjcxx.md.entity.MdEntity;
+
 @WebService(targetNamespace = "http://service.web.jsjty.com/", portName = "mdWebServicePort", serviceName = "mdWebService")
 public interface IMdxxService {
 	@WebMethod(operationName = "findMd",action="http://service.web.jsjty.com/findMd")
 	@WebResult(name = "result",targetNamespace = "http://service.web.jsjty.com/")
 	public String findMd(int pages, int rows,String szdid,String szgkid,String mdmc,String xzhghid);
 	public String findOne(String id);
+	public String save(MdEntity code, String szdid, String szgkid, String xzhghid);
+	public String delete(String id);
 }

+ 4 - 0
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/IXzdwryxxService.java

@@ -4,9 +4,13 @@ import javax.jws.WebMethod;
 import javax.jws.WebResult;
 import javax.jws.WebService;
 
+import com.xt.jygl.gkjcxx.xzdwxxgl.xzglryxx.entity.XzglryEntity;
+
 @WebService(targetNamespace = "http://service.web.jsjty.com/", portName = "xzglryWebServicePort", serviceName = "xzglryWebService")
 public interface IXzdwryxxService {
 	@WebMethod(operationName = "findXzglry",action="http://service.web.jsjty.com/findXzglry")
 	@WebResult(name = "result",targetNamespace = "http://service.web.jsjty.com/")
 	public String findXzglry(String ssbm);
+	public String save(XzglryEntity xzglry, String xbid, String ssbmid);
+	public String delete(String id);
 }

+ 5 - 0
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/IXzdwxxService.java

@@ -3,9 +3,14 @@ package com.cxfws.gkjcxx.service;
 import javax.jws.WebMethod;
 import javax.jws.WebResult;
 import javax.jws.WebService;
+
+import com.xt.jygl.gkjcxx.xzdwxxgl.xzglbmxx.entity.XzglbmxxEntity;
 @WebService(targetNamespace = "http://service.web.jsjty.com/", portName = "xzbmWebServicePort", serviceName = "xzbmWebService")
 public interface IXzdwxxService {
 	@WebMethod(operationName = "findXzbm",action="http://service.web.jsjty.com/findXzbm")
 	@WebResult(name = "result",targetNamespace = "http://service.web.jsjty.com/")
 	public String findXzbm(String pid,String szd);
+	
+	public String save(XzglbmxxEntity xzglbmxx, String szdid, String lxid);
+	public String delete(String id);
 }

+ 4 - 0
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/IZyqxxService.java

@@ -4,10 +4,14 @@ import javax.jws.WebMethod;
 import javax.jws.WebResult;
 import javax.jws.WebService;
 
+import com.xt.jygl.gkjcxx.zyq.entity.ZyqEntity;
+
 @WebService(targetNamespace = "http://service.web.jsjty.com/", portName = "zyqWebServicePort", serviceName = "zyqWebService")
 public interface IZyqxxService {
 	@WebMethod(operationName = "findZyq",action="http://service.web.jsjty.com/findZyq")
 	@WebResult(name = "result",targetNamespace = "http://service.web.jsjty.com/")
 	public String findZyq(int pages,int rows,String zyqmc,String szgkid,String szgqid,String szdid);
 	public String findOne(String id);
+	public String save(ZyqEntity code, String szdid, String szgkid, String szgqid);
+	public String delete(String id);
 }

+ 145 - 4
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/impl/AxxxService.java

@@ -11,9 +11,6 @@ import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 
-import net.sf.json.JSONArray;
-import net.sf.json.JSONObject;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -22,15 +19,25 @@ import org.springframework.stereotype.Service;
 
 import com.cxfws.gkjcxx.service.IAxxxService;
 import com.xt.jygl.common.BaseWebCtl;
+import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.GlobalData;
+import com.xt.jygl.gkjcxx.ax.client.AxWebService;
 import com.xt.jygl.gkjcxx.ax.dao.AxDao;
 import com.xt.jygl.gkjcxx.ax.entity.AxEntity;
+import com.xt.jygl.gkjcxx.ax.service.AxService;
 import com.xt.jygl.gkjcxx.ax.vo.AxVo;
+import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
+import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
+import com.xt.jygl.gkjcxx.gq.service.GqService;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.GkjyrEntity;
+import com.xtframe.core.base.ctl.WebJsonResult;
+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.util.StringUtils;
 
-import cache.CacheSearchCondition;
+import net.sf.json.JSONArray;
 /**
  * 岸线信息查询
  */
@@ -41,6 +48,10 @@ public class AxxxService extends BaseWebCtl  implements IAxxxService{
 	private QueryService query;
 	@Autowired
 	private AxDao dao;
+	@Autowired
+	private AxService axService;
+	@Autowired
+	private GqService gqService;
 	/**
 	 * 根据条件查询岸线信息
 	 */
@@ -128,5 +139,135 @@ public class AxxxService extends BaseWebCtl  implements IAxxxService{
 		JSONArray jsons=JSONArray.fromObject(ax);
 		return jsons.toString();
 	}
+	@Override
+	public String save(AxEntity code, String szdid, String szgkid, String szgqid, String ssjyrid, String axlxid, String axgnid, String lyztid, String nbaid) {
+
+		// how:如果是新增直接保存,如果更新,先取出数据库中记录,然后更新页面传过来的字段
+		// why:这样的话一些在前台无需显示的字段保证不会丢失,同时一个个字段设置有助于bug排查
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		// 必填字段的后台验证
+		if (StringUtils.isEmpty(szdid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在地");
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(szgkid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在港口");
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(szgqid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在港区");
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(ssjyrid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所属经营人");
+			return Object2JsonStr(wr);
+		}
+
+		AxEntity axEntity = new AxEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				// 修改
+				axEntity = axService.findOne(code.getId());
+				axEntity.setTbzt(Constants.NO);
+			}
+			axEntity.setAxcd(code.getAxcd());
+			axEntity.setAxmc(code.getAxmc());
+
+			GkEntity szgk = new GkEntity();
+			szgk.setId(szgkid);
+			axEntity.setSzgk(szgk);
+
+			GqEntity szgq = new GqEntity();
+			szgq.setId(szgqid);
+			axEntity.setSzgq(szgq);
+
+			GkjyrEntity ssjyr = new GkjyrEntity();
+			ssjyr.setId(ssjyrid);
+			axEntity.setSsjyr(ssjyr);
+
+			// 非必填字段的验证,如为空则不验证,不为空则验证
+			if (!StringUtils.isEmpty(axlxid)) {
+				CodeEntity axlx = new CodeEntity(axlxid);
+				axEntity.setAxlx(axlx);
+			}
+			if (!StringUtils.isEmpty(axgnid)) {
+				CodeEntity axgn = new CodeEntity(axgnid);
+				axEntity.setAxgn(axgn);
+			}
+			if (!StringUtils.isEmpty(lyztid)) {
+				CodeEntity lyzt = new CodeEntity(lyztid);
+				axEntity.setLyzt(lyzt);
+			}
+			if (!StringUtils.isEmpty(nbaid)) {
+				CodeEntity nba = new CodeEntity(nbaid);
+				axEntity.setNba(nba);
+			}
+			axEntity.setZyid(code.getZyid());
+			axEntity.setJzrq(code.getJzrq());
+			axEntity.setAxcd(code.getAxcd());
+			axEntity.setQdzb(code.getQdzb());
+			axEntity.setZdzb(code.getZdzb());
+			axEntity.setAxpb(code.getAxpb());
+			axEntity.setBz(code.getBz());
+			axEntity.setWaterarea(code.getWaterarea());
+			axEntity.setLandarea(code.getLandarea());
+			axEntity.setLinelength(code.getLinelength());
+			axEntity.setQdzby(code.getQdzby());
+			axEntity.setZdzby(code.getZdzby());
+			axEntity.setAxwzms(code.getAxwzms());
+			GqEntity gq = gqService.findOne(szgqid);
+			axEntity.setSsgkglbm(gq != null ? gq.getSsgkglbm() : null);
+
+			CodeEntity szd = new CodeEntity(szdid);
+			axEntity.setSzd(szd);
+			axService.save(axEntity);
+			
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	}
+	@Override
+	public String delete(String id) {
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		try {
+			// 逻辑删除
+			axService.logicDelete(id);
+			// 如果是市级删除,省级也删除
+			AxEntity ax = axService.findOne(id);
+			try {
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY) && needWS()) {
+					AxWebService webService = axService.getWebService(null);
+					webService.delete(id);
+					ax.setTbzt(Constants.NO);
+					axService.save(ax);
+				}
+			} catch (Exception e) {
+				ax.setTbzt(Constants.NO);
+				axService.save(ax);
+			}
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	}
 
 }

+ 109 - 3
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/impl/FbdxxService.java

@@ -11,8 +11,6 @@ import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 
-import net.sf.json.JSONArray;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -21,15 +19,25 @@ import org.springframework.stereotype.Service;
 
 import com.cxfws.gkjcxx.service.IFbdxxService;
 import com.xt.jygl.common.BaseWebCtl;
+import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.GlobalData;
+import com.xt.jygl.gkjcxx.fbd.client.FbdWebService;
 import com.xt.jygl.gkjcxx.fbd.dao.FbdDao;
 import com.xt.jygl.gkjcxx.fbd.entity.FbdEntity;
+import com.xt.jygl.gkjcxx.fbd.service.FbdService;
 import com.xt.jygl.gkjcxx.fbd.vo.FbdVo;
+import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
+import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
+import com.xt.jygl.gkjcxx.gq.service.GqService;
+import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.entity.GkjyrEntity;
+import com.xtframe.core.base.ctl.WebJsonResult;
+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.util.StringUtils;
 
-import cache.CacheSearchCondition;
+import net.sf.json.JSONArray;
 /**
  * 防波堤信息查询
  * 
@@ -41,6 +49,10 @@ public class FbdxxService extends BaseWebCtl  implements IFbdxxService{
 	private QueryService query;
 	@Autowired
 	private FbdDao dao;
+	@Autowired
+	private FbdService fbdService;
+	@Autowired
+	private GqService gqService;
 	/**
 	 * 根据查询条件查询防波堤信息
 	 */
@@ -109,5 +121,99 @@ public class FbdxxService extends BaseWebCtl  implements IFbdxxService{
 		JSONArray jsons=JSONArray.fromObject(fbd);
 		return jsons.toString();
 	}
+	@Override
+	public String save(FbdEntity code, String szdid, String szgkid, String szgqid, String ssjyrid) {
+
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(szdid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在地");
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(szgkid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在港口");
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(szgqid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在港区");
+			return Object2JsonStr(wr);
+		}
+
+		FbdEntity fbdEntity = new FbdEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				// 修改
+				fbdEntity = fbdService.findOne(code.getId());
+				fbdEntity.setTbzt(Constants.NO);
+			}
+			fbdEntity.setFbdmc(code.getFbdmc());
+			fbdEntity.setFbdlx(code.getFbdlx());
+			GkEntity szgk = new GkEntity();
+			szgk.setId(szgkid);
+			fbdEntity.setSzgk(szgk);
+
+			GqEntity szgq = new GqEntity();
+			szgq.setId(szgqid);
+			fbdEntity.setSzgq(szgq);
+
+			if (!StringUtils.isEmpty(ssjyrid)) {
+				GkjyrEntity ssjyr = new GkjyrEntity();
+				ssjyr.setId(ssjyrid);
+				fbdEntity.setSsjyr(ssjyr);
+			}
+
+			GqEntity gq = gqService.findOne(szgqid);
+			fbdEntity.setSsgkglbm(gq != null ? gq.getSsgkglbm() : null);
+
+			CodeEntity szd = new CodeEntity(szdid);
+			fbdEntity.setSzd(szd);
+			fbdService.save(fbdEntity);
+
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	
+	}
+	@Override
+	public String delete(String id) {
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		try {
+			// 子类一并删除
+			fbdService.logicDelete(id);
+			// 如果是市级删除,省级也删除
+			FbdEntity fbd = fbdService.findOne(id);
+			try {
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY) && needWS()) {
+					FbdWebService webService = fbdService.getWebService(null);
+					webService.delete(id);
+					fbd.setTbzt(Constants.YES);
+					fbdService.save(fbd);
+				}
+			} catch (Exception e) {
+				fbd.setTbzt(Constants.NO);
+				fbdService.save(fbd);
+			}
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("删除失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	}
 
 }

+ 123 - 6
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/impl/GkxxService.java

@@ -11,8 +11,6 @@ import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 
-import net.sf.json.JSONArray;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -21,15 +19,21 @@ import org.springframework.stereotype.Service;
 
 import com.cxfws.gkjcxx.service.IGkxxService;
 import com.xt.jygl.common.BaseWebCtl;
-import com.xt.jygl.gkjcxx.gk.dao.GkDao;
+import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.GlobalData;
+import com.xt.jygl.gkjcxx.gk.client.GkWebService;
 import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
+import com.xt.jygl.gkjcxx.gk.service.GkService;
 import com.xt.jygl.gkjcxx.gk.vo.GkVo;
+import com.xt.jygl.gkjcxx.xzdwxxgl.xzglbmxx.entity.XzglbmxxEntity;
+import com.xtframe.core.base.ctl.WebJsonResult;
+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.util.StringUtils;
 
-import cache.CacheSearchCondition;
+import net.sf.json.JSONArray;
 /**
  * 根据查询条件所在地,所属部门,港口名称查询
  *
@@ -38,9 +42,9 @@ import cache.CacheSearchCondition;
 @WebService(targetNamespace = "http://service.web.jsjty.com/", portName = "gkWebServicePort", serviceName = "gkWebService")
 public class GkxxService  extends BaseWebCtl implements IGkxxService{
 	@Autowired
-	private GkDao dao;
-	@Autowired
 	private QueryService query;
+	@Autowired
+	private GkService gkService;
 	@Override
 	@WebMethod(operationName = "findGk", action = "http://service.web.jsjty.com/findGk")
 	@WebResult(name = "result", targetNamespace = "http://service.web.jsjty.com/")
@@ -88,5 +92,118 @@ public class GkxxService  extends BaseWebCtl implements IGkxxService{
 				}
 				return JSONArray.fromObject(voList).toString();
 	}
+	@Override
+	public String save(GkEntity code, String szdid, String ssgkglbmid, String sfhbid, String ghsfpfid) {
+
+		// how:如果是新增直接保存,如果更新,先取出数据库中记录,然后更新页面传过来的字段
+		// why:这样的话一些在前台无需显示的字段保证不会丢失,同时一个个字段设置有助于bug排查
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		// 必填的字段的后台验证
+		if (StringUtils.isEmpty(szdid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在地");
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(ssgkglbmid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择港口所属管理部门");
+			return Object2JsonStr(wr);
+		}
+		// ==============
+		GkEntity entity = new GkEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				entity = gkService.findOne(code.getId());
+				entity.setTbzt(Constants.NO);
+			}
+			entity.setAqgk(code.getAqgk());
+			entity.setSyhg(code.getSyhg());
+			entity.setWhcg(code.getWhcg());
+			entity.setXzqh(code.getXzqh());
+			entity.setWhpz(code.getWhpz());
+			entity.setZdwxy(code.getZdwxy());
+			entity.setPthwcg(code.getPthwcg());
+			entity.setPthwpz(code.getPthwpz());
+			entity.setGkmc(code.getGkmc());
+			entity.setGkdm(code.getGkdm());
+			XzglbmxxEntity ssgkglbm = new XzglbmxxEntity();
+			ssgkglbm.setId(ssgkglbmid);
+			entity.setSsgkglbm(ssgkglbm);
+			entity.setGkszhq(code.getGkszhq());
+			entity.setGkszgw(code.getGkszgw());
+			entity.setHlmc(code.getHlmc());
+			entity.setHgmc(code.getHgmc());
+			entity.setGkmhwz(code.getGkmhwz());
+			entity.setZraxcd(code.getZraxcd());
+			// =========非必填字段的外键关联,如果为空就不设值,不为空设值
+			if (!StringUtils.isEmpty(ghsfpfid)) {
+				CodeEntity ghsfpf = new CodeEntity(ghsfpfid);
+				entity.setGhsfpf(ghsfpf);
+			}
+			if (!StringUtils.isEmpty(sfhbid)) {
+				CodeEntity sfhb = new CodeEntity(sfhbid);
+				entity.setSfhb(sfhb);
+			}
+			entity.setGhpfwh(code.getGhpfwh());
+			entity.setBhbgkmc(code.getBhbgkmc());
+			entity.setBz(code.getBz());
+			CodeEntity szd = new CodeEntity(szdid);
+			entity.setSzd(szd);
+			gkService.save(entity);
+			/*// 如果是市级新增或者修改,保存后同步到省级
+			try {
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY) && needWS()) {
+					GkWebService webService = gkService.getWebService(null);
+					webService.save(code);
+					code.setTbzt(Constants.YES);
+					gkService.save(code);
+				}
+			} catch (Exception e) {
+				code.setTbzt(Constants.NO);
+				gkService.save(code);
+			}*/
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	
+	}
+	@Override
+	public String delete(String id) {
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		try {
+			gkService.logicDelete(id);
+			// 如果是市级删除,省级也删除
+			GkEntity gk = gkService.findOne(id);
+			try {
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY) && needWS()) {
+					GkWebService webService = gkService.getWebService(null);
+					webService.delete(id);
+					gk.setTbzt(Constants.YES);
+					gkService.save(gk);
+				}
+			} catch (Exception e) {
+				gk.setTbzt(Constants.NO);
+				gkService.save(gk);
+			}
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("删除失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	}
 	
 }

+ 130 - 3
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/impl/GqxxService.java

@@ -11,8 +11,6 @@ import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 
-import net.sf.json.JSONArray;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -21,14 +19,23 @@ import org.springframework.stereotype.Service;
 
 import com.cxfws.gkjcxx.service.IGqxxService;
 import com.xt.jygl.common.BaseWebCtl;
-import com.xt.jygl.ggfwxxgl.tzgg.ggxx.vo.GgxxVo;
+import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.Utils;
+import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
+import com.xt.jygl.gkjcxx.gk.service.GkService;
 import com.xt.jygl.gkjcxx.gq.dao.GqDao;
 import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
+import com.xt.jygl.gkjcxx.gq.service.GqService;
 import com.xt.jygl.gkjcxx.gq.vo.GqVo;
+import com.xt.jygl.gkjcxx.xzdwxxgl.xzglbmxx.entity.XzglbmxxEntity;
+import com.xtframe.core.base.ctl.WebJsonResult;
+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.util.StringUtils;
+
+import net.sf.json.JSONArray;
 /**
  * 港区信息查询
  *
@@ -40,6 +47,10 @@ public class GqxxService extends BaseWebCtl  implements IGqxxService{
 	private QueryService query;
 	@Autowired
 	private GqDao dao;
+	@Autowired
+	private GqService gqService;
+	@Autowired
+	private GkService gkService;
 	@Override
 	@WebMethod(operationName = "findGq", action = "http://service.web.jsjty.com/excTable")
 	@WebResult(name = "result", targetNamespace = "http://service.web.jsjty.com/")
@@ -109,5 +120,121 @@ public class GqxxService extends BaseWebCtl  implements IGqxxService{
 		JSONArray jsons=JSONArray.fromObject(vo);
 		return jsons.toString();
 	}
+	@Override
+	public String save(GqEntity code, String szdid, String szgkid, String ssgkglbmid, String gqszsylxid) {
+
+		// how:如果是新增直接保存,如果更新,先取出数据库中记录,然后更新页面传过来的字段
+		// why:这样的话一些在前台无需显示的字段保证不会丢失,同时一个个字段设置有助于bug排查
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(szdid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在地");
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(ssgkglbmid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择港口所属管理部门");
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(szgkid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在港口");
+			return Object2JsonStr(wr);
+		}
+		GqEntity entity = new GqEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				entity = gqService.findOne(code.getId());
+				entity.setTbzt(Constants.NO);
+			}
+			entity.setGqmc(code.getGqmc());
+			if (!StringUtils.isEmpty(gqszsylxid)) {
+				CodeEntity gqszsylx = new CodeEntity(gqszsylxid);
+				entity.setGqszsylx(gqszsylx);
+			}
+			entity.setGqmj(code.getGqmj());
+			entity.setLymj(code.getLymj());
+			entity.setSyfw(code.getSyfw());
+			entity.setSymj(code.getSymj());
+			entity.setGqghmj(code.getGqghmj());
+			entity.setGhlymj(code.getGhlymj());
+			entity.setLymj(code.getLymj());
+			entity.setFgyscydghmj(code.getFgyscydghmj());
+			entity.setGhsymj(code.getGhsymj());
+			entity.setGqzraxcd(code.getGqzraxcd());
+			entity.setGymtaxcd(code.getGymtaxcd());
+			entity.setGqgkaxcd(code.getGqgkaxcd());
+			entity.setGkssysyaxcd(code.getGkssysyaxcd());
+			entity.setGqdmbdzdz(code.getGqdmbdzdz());
+			entity.setBz(code.getBz());
+			GkEntity szgk = new GkEntity();
+			szgk.setId(szgkid);
+			entity.setSzgk(szgk);
+			XzglbmxxEntity ssgkglbm = new XzglbmxxEntity();
+			ssgkglbm.setId(ssgkglbmid);
+			entity.setSsgkglbm(ssgkglbm);
+			entity.setGqdm(code.getGqdm());
+			entity.setGqnhhddm(code.getGqnhhddm());
+			entity.setDlwzwd(code.getDlwzwd());
+			entity.setDlwzjd(code.getDlwzjd());
+			entity.setGqms(code.getGqms());
+			CodeEntity szd = new CodeEntity(szdid);
+			entity.setSzd(szd);
+			entity.setZyid(code.getZyid());
+			gqService.save(entity);
+
+			List<String> gqList = gqService.findGqListByUserId(securityMgr.getCurrUser().getId());
+			Utils.getSession().setAttribute("gqList", gqList);
+			if (gqList != null && gqList.size() > 0) {
+				Utils.getSession().setAttribute("gkList", gkService.findByGqList(gqList));
+			}
+
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	
+	}
+	@Override
+	public String delete(String id) {
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		try {
+			// 子类一并删除
+			gqService.logicDelete(id);
+			// 如果是市级刪除,省级也刪除
+			GqEntity gq = gqService.findOne(id);
+			// 港口管理人员的权限设置,取得有权限的港区
+			List<String> gqList = gqService.findGqListByUserId(securityMgr.getCurrUser().getId());
+			Utils.getSession().setAttribute("gqList", gqList);
+			if (gqList != null && gqList.size() > 0) {
+				Utils.getSession().setAttribute("gkList", gkService.findByGqList(gqList));
+			}
+			/*
+			 * try { if
+			 * (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY) &&
+			 * needWS()) { GqWebService webService =
+			 * gqService.getWebService(null); webService.delete(id);
+			 * gq.setTbzt(Constants.YES); gqService.save(gq); } } catch
+			 * (Exception e) { gq.setTbzt(Constants.NO); gqService.save(gq); }
+			 */
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("删除失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	}
 
 }

+ 87 - 0
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/impl/JghdxxService.java

@@ -19,9 +19,15 @@ import org.springframework.stereotype.Service;
 
 import com.cxfws.gkjcxx.service.IJghdxxService;
 import com.xt.jygl.common.BaseWebCtl;
+import com.xt.jygl.common.Constants;
+import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
+import com.xt.jygl.gkjcxx.gk.service.GkService;
 import com.xt.jygl.gkjcxx.jghd.dao.JghdDao;
 import com.xt.jygl.gkjcxx.jghd.entity.JghdEntity;
+import com.xt.jygl.gkjcxx.jghd.service.JghdService;
 import com.xt.jygl.gkjcxx.jghd.vo.JghdVo;
+import com.xtframe.core.base.ctl.WebJsonResult;
+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;
@@ -38,6 +44,10 @@ public class JghdxxService extends BaseWebCtl  implements IJghdxxService{
 	private QueryService query;
 	@Autowired
 	private JghdDao dao;
+	@Autowired
+	private JghdService jghdService;
+	@Autowired
+	private GkService gkService;
 	/**
 	 * 根据查询条件查询进港航道信息
 	 */
@@ -104,5 +114,82 @@ public class JghdxxService extends BaseWebCtl  implements IJghdxxService{
 		JSONArray jsons=JSONArray.fromObject(vo);
 		return jsons.toString();
 	}
+	@Override
+	public String save(JghdEntity code, String szdid, String szgkid) {
+
+		// how:如果是新增直接保存,如果更新,先取出数据库中记录,然后更新页面传过来的字段
+		// why:这样的话一些在前台无需显示的字段保证不会丢失,同时一个个字段设置有助于bug排查
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(szdid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在地");
+		}
+		if (StringUtils.isEmpty(szgkid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在港口");
+		}
+
+		JghdEntity jghdEntity = new JghdEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				// 修改
+				jghdEntity = jghdService.findOne(code.getId());
+				jghdEntity.setTbzt(Constants.NO);
+			}
+
+			GkEntity szgk = new GkEntity();
+			szgk.setId(szgkid);
+			jghdEntity.setSzgk(szgk);
+			GkEntity gk = gkService.findOne(szgkid);
+			if (gk != null) {
+				jghdEntity.setSsgkglbm(gk.getSsgkglbm());
+			}
+			CodeEntity szd = new CodeEntity(szdid);
+			jghdEntity.setSzd(szd);
+
+			jghdEntity.setBz(code.getBz());
+			jghdEntity.setHdcd(code.getHdcd());
+			jghdEntity.setHddm(code.getHddm());
+			jghdEntity.setHdkd(code.getHdkd());
+			jghdEntity.setHdmc(code.getHdmc());
+			jghdEntity.setHdqdmc(code.getHdqdmc());
+			jghdEntity.setHdqdmm(code.getHdqdmm());
+			jghdEntity.setHdss(code.getHdss());
+			jghdEntity.setHdyxkd(code.getHdyxkd());
+			jghdEntity.setHdzdss(code.getHdzdss());
+			jghdEntity.setHdtgnl(code.getHdtgnl());
+			jghdEntity.setSzgq(code.getSzgq());
+			jghdService.save(jghdEntity);
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	
+	}
+	@Override
+	public String delete(String id) {
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		try {
+			// 逻辑删除
+			jghdService.logicDelete(id);
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	}
 
 }

+ 114 - 0
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/impl/MdxxService.java

@@ -19,9 +19,17 @@ import org.springframework.stereotype.Service;
 
 import com.cxfws.gkjcxx.service.IMdxxService;
 import com.xt.jygl.common.BaseWebCtl;
+import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.GlobalData;
+import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
+import com.xt.jygl.gkjcxx.gk.service.GkService;
 import com.xt.jygl.gkjcxx.md.dao.MdDao;
 import com.xt.jygl.gkjcxx.md.entity.MdEntity;
+import com.xt.jygl.gkjcxx.md.service.MdService;
 import com.xt.jygl.gkjcxx.md.vo.MdVo;
+import com.xt.jygl.gkjcxx.md.webservice.MdWebService;
+import com.xtframe.core.base.ctl.WebJsonResult;
+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;
@@ -38,6 +46,10 @@ public class MdxxService  extends BaseWebCtl implements IMdxxService{
 	private QueryService query;
 	@Autowired
 	private MdDao dao;
+	@Autowired
+	private MdService mdService;
+	@Autowired
+	private GkService gkService;
 	/**
 	 * 根据id查锚地
 	 */
@@ -103,5 +115,107 @@ public class MdxxService  extends BaseWebCtl implements IMdxxService{
 		JSONArray jsons=JSONArray.fromObject(voList);
 		return jsons.toString();
 	}
+	@Override
+	public String save(MdEntity code, String szdid, String szgkid, String xzhghid) {
+
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(szdid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在地");
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(szgkid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在港口");
+			return Object2JsonStr(wr);
+		}
+		MdEntity entity = new MdEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				entity = mdService.findOne(code.getId());
+				entity.setTbzt(Constants.NO);
+			}
+			entity.setMdmc(code.getMdmc());
+			entity.setMdcd(code.getMdcd());
+			entity.setMdkd(code.getMdkd());
+			entity.setMdss(code.getMdss());
+			entity.setMdmj(code.getMdmj());
+			entity.setMdwz(code.getMdwz());
+			entity.setXbnl(code.getXbnl());
+			entity.setZyid(code.getZyid());
+			/*
+			 * GkEntity gk = gkService.findOne(szgkid); if(gk!=null){
+			 * entity.setSsgkglbm(gk.getSsgkglbm()); }
+			 */
+			entity.setSzgq(code.getSzgq());
+			entity.setMddz(code.getMddz());
+			entity.setMwbj(code.getMwbj());
+			entity.setFtgs(code.getFtgs());
+			entity.setMbss(code.getMbss());
+			entity.setBz(code.getBz());
+			entity.setZyyt(code.getZyyt());
+
+			CodeEntity szd = new CodeEntity(szdid);
+			entity.setSzd(szd);
+
+			GkEntity szgk = new GkEntity();
+			szgk.setId(szgkid);
+			entity.setSzgk(szgk);
+
+			GkEntity gk = gkService.findOne(szgkid);
+			entity.setSsgkglbm(gk != null ? gk.getSsgkglbm() : null);
+
+			if (!StringUtils.isEmpty(xzhghid)) {
+				CodeEntity xzhgh = new CodeEntity(xzhghid);
+				entity.setXzhgh(xzhgh);
+			}
+
+			mdService.save(entity);
+
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	
+	}
+	@Override
+	public String delete(String id) {
+
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		try {
+			mdService.logicDelete(id);
+			// 如果是市级刪除,省级也刪除
+			MdEntity md = mdService.findOne(id);
+			try {
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY) && needWS()) {
+					MdWebService webService = mdService.getWebService(null);
+					webService.delete(id);
+					md.setTbzt(Constants.YES);
+					mdService.save(md);
+				}
+			} catch (Exception e) {
+				md.setTbzt(Constants.NO);
+				mdService.save(md);
+			}
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	
+	}
 
 }

+ 103 - 5
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/impl/XzdwryxxService.java

@@ -7,20 +7,25 @@ import javax.jws.WebMethod;
 import javax.jws.WebResult;
 import javax.jws.WebService;
 
-import net.sf.json.JSONArray;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
-import org.springframework.data.domain.Page;
 import org.springframework.stereotype.Service;
 
 import com.cxfws.gkjcxx.service.IXzdwryxxService;
 import com.xt.jygl.common.BaseWebCtl;
+import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.GlobalData;
+import com.xt.jygl.gkjcxx.xzdwxxgl.xzglbmxx.entity.XzglbmxxEntity;
+import com.xt.jygl.gkjcxx.xzdwxxgl.xzglryxx.client.XzglryWebService;
 import com.xt.jygl.gkjcxx.xzdwxxgl.xzglryxx.dao.XzglryDao;
 import com.xt.jygl.gkjcxx.xzdwxxgl.xzglryxx.entity.XzglryEntity;
+import com.xt.jygl.gkjcxx.xzdwxxgl.xzglryxx.service.XzglryService;
 import com.xt.jygl.gkjcxx.xzdwxxgl.xzglryxx.vo.XzglryVo;
-import com.xt.jygl.gkjsgl.xmxxgl.entity.XmxxglEntity;
-import com.xtframe.sec.common.SimplePageRequest;
+import com.xtframe.core.base.ctl.WebJsonResult;
+import com.xtframe.sec.code.entity.CodeEntity;
+import com.xtframe.util.StringUtils;
+
+import net.sf.json.JSONArray;
 /***
  * 行政单位人员信息查询
  *
@@ -30,6 +35,8 @@ import com.xtframe.sec.common.SimplePageRequest;
 public class XzdwryxxService extends BaseWebCtl  implements IXzdwryxxService{
 	@Autowired
 	private XzglryDao dao;
+	@Autowired
+	private XzglryService xzglryService;
 	/***
 	 * 根据人员主键,所在地,所属部门查询
 	 */
@@ -68,5 +75,96 @@ public class XzdwryxxService extends BaseWebCtl  implements IXzdwryxxService{
 		}*/
 		return jsons.toString();
 	}
+	@Override
+	public String save(XzglryEntity xzglry, String xbid, String ssbmid) {
+
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(xbid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择性别");
+			return Object2JsonStr(wr);
+		}
+		try {
+			if (!StringUtils.isEmpty(xzglry.getId())) {
+				XzglryEntity entity = xzglryService.findOne(xzglry.getId());
+				entity.setXm(xzglry.getXm());
+				CodeEntity xb = new CodeEntity(xbid);
+				entity.setXb(xb);
+				XzglbmxxEntity ssbm = new XzglbmxxEntity();
+				ssbm.setId(ssbmid);
+				entity.setSsbm(ssbm);
+				entity.setGw(xzglry.getGw());
+				entity.setLxfs(xzglry.getLxfs());
+				entity.setSortno(xzglry.getSortno());
+				entity.setZc(xzglry.getZc());
+				entity.setTxdz(xzglry.getTxdz());
+				entity.setYzbm(xzglry.getYzbm());
+				entity.setDzyx(xzglry.getDzyx());
+				entity.setCz(xzglry.getCz());
+				entity.setPhone(xzglry.getPhone());
+				xzglryService.save(entity);
+			} else {
+				CodeEntity xb = new CodeEntity(xbid);
+				xzglry.setXb(xb);
+				XzglbmxxEntity ssbm = new XzglbmxxEntity();
+				ssbm.setId(ssbmid);
+				xzglry.setSsbm(ssbm);
+				xzglryService.save(xzglry);
+			}
+			// 如果是市级新增或者修改,保存后同步到省级
+			try {
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY) && needWS()) {
+					XzglryWebService webService = xzglryService.getWebService(null);
+					webService.save(xzglry);
+					xzglry.setTbzt(Constants.YES);
+					xzglryService.save(xzglry);
+				}
+			} catch (Exception e) {
+				xzglry.setTbzt(Constants.NO);
+				xzglryService.save(xzglry);
+			}
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
 	
+	}
+	@Override
+	public String delete(String id) {
+
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		try {
+			xzglryService.logicDelete(id);
+			// 如果是市级删除,省级也删除
+			XzglryEntity  xzglry=xzglryService.findOne(id);
+			try {
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY) && needWS()) {
+					XzglryWebService webService = xzglryService.getWebService(null);
+					webService.delete(id);
+					xzglry.setTbzt(Constants.YES);
+					xzglryService.save(xzglry);
+				}
+			} catch (Exception e) {
+				xzglry.setTbzt(Constants.NO);
+				xzglryService.save(xzglry);
+			}
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	}
 }

+ 135 - 3
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/impl/XzdwxxService.java

@@ -7,16 +7,22 @@ import javax.jws.WebMethod;
 import javax.jws.WebResult;
 import javax.jws.WebService;
 
-import net.sf.json.JSONArray;
-
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
 import com.cxfws.gkjcxx.service.IXzdwxxService;
 import com.xt.jygl.common.BaseWebCtl;
+import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.GlobalData;
+import com.xt.jygl.gkjcxx.xzdwxxgl.xzglbmxx.client.XzglbmxxWebService;
 import com.xt.jygl.gkjcxx.xzdwxxgl.xzglbmxx.dao.XzglbmxxDao;
 import com.xt.jygl.gkjcxx.xzdwxxgl.xzglbmxx.entity.XzglbmxxEntity;
-import com.xtframe.sec.common.SimplePageRequest;
+import com.xt.jygl.gkjcxx.xzdwxxgl.xzglbmxx.service.XzglbmxxService;
+import com.xtframe.core.base.ctl.WebJsonResult;
+import com.xtframe.sec.code.entity.CodeEntity;
+import com.xtframe.util.StringUtils;
+
+import net.sf.json.JSONArray;
 /**
  * 行政单位信息查询(根据所在地)
  * @author b_zhaohang
@@ -27,6 +33,8 @@ import com.xtframe.sec.common.SimplePageRequest;
 public class XzdwxxService extends BaseWebCtl  implements IXzdwxxService{
 	@Autowired
 	private XzglbmxxDao dao;
+	@Autowired
+	private XzglbmxxService xzglbmService;
 	@PostConstruct
 	private void init(){
 		//System.out.println("------DiexcService--init-");
@@ -44,5 +52,129 @@ public class XzdwxxService extends BaseWebCtl  implements IXzdwxxService{
 		JSONArray jsons=JSONArray.fromObject(list);
 		return jsons.toString();
 	}
+	@Override
+	public String save(XzglbmxxEntity xzglbmxx, String szdid, String lxid) {
+
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(szdid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在地");
+			return Object2JsonStr(wr);
+		}
+		/*
+		 * if (StringUtils.isEmpty(bmlxid)) { wr.setSuccess(false);
+		 * wr.setMessage("请选择部门类型"); return Object2JsonStr(wr); }
+		 */
+		try {
+			if (!StringUtils.isEmpty(xzglbmxx.getId())) {
+				XzglbmxxEntity entity = xzglbmService.findOne(xzglbmxx.getId());
+				entity.setGkglbmqc(xzglbmxx.getGkglbmqc());
+				/*
+				 * CodeEntity bmlx = new CodeEntity(bmlxid);
+				 * entity.setBmlx(bmlx);
+				 */
+
+				entity.setRybz(xzglbmxx.getRybz());
+				entity.setLxr(xzglbmxx.getLxr());
+				entity.setLxdh(xzglbmxx.getLxdh());
+				entity.setCz(xzglbmxx.getCz());
+				entity.setYb(xzglbmxx.getYb());
+				entity.setBz(xzglbmxx.getBz());
+				entity.setSortno(xzglbmxx.getSortno());
+				CodeEntity szd = new CodeEntity(szdid);
+				entity.setSzd(szd);
+				entity.setPid(xzglbmxx.getPid());
+				CodeEntity lx = new CodeEntity(lxid);
+				entity.setLx(lx);
+				entity.setAddress(xzglbmxx.getAddress());
+				entity.setEmail(xzglbmxx.getEmail());
+				entity.setLeaf(xzglbmxx.getLeaf());
+				xzglbmService.save(entity);
+			} else {
+				/*
+				 * CodeEntity bmlx = new CodeEntity(bmlxid);
+				 * xzglbmxx.setBmlx(bmlx);
+				 */
+				CodeEntity szd = new CodeEntity(szdid);
+				xzglbmxx.setSzd(szd);
+				CodeEntity lx = new CodeEntity(lxid);
+				xzglbmxx.setLx(lx);
+				xzglbmxx.setId(null);
+				xzglbmService.save(xzglbmxx);
+			}
+			// 如果是市级新增或者修改,保存后同步到省级
+			try {
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY) && needWS()) {
+					XzglbmxxWebService webService = xzglbmService.getWebService(null);
+					webService.save(xzglbmxx);
+					xzglbmxx.setTbzt(Constants.YES);
+					xzglbmService.save(xzglbmxx);
+				}
+			} catch (Exception e) {
+				xzglbmxx.setTbzt(Constants.NO);
+				xzglbmService.save(xzglbmxx);
+			}
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	
+	}
+	@Override
+	public String delete(String id) {
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		try {
+			// xzglryService.deleteByBm(id);
+			xzglbmService.logicDelete(id);
+
+			// 如果是市级删除,省级也删除
+			XzglbmxxEntity xzglbmxx = xzglbmService.findOne(id);
+			// 父部门删除子部门也要删除
+			delAll(xzglbmxx.getId(), xzglbmxx.getSzd().getId());
+			try {
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY) && needWS()) {
+					XzglbmxxWebService webService = xzglbmService.getWebService(null);
+					webService.delete(id);
+					xzglbmxx.setTbzt(Constants.YES);
+					xzglbmService.save(xzglbmxx);
+				}
+			} catch (Exception e) {
+				xzglbmxx.setTbzt(Constants.NO);
+				xzglbmService.save(xzglbmxx);
+			}
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	}
 	
+	/**
+	 *  父部门删除子部门也要删除
+	 * 
+	 * @param id
+	 * @param szdid
+	 */
+	public void delAll(String id, String szdid) {
+		List<XzglbmxxEntity> list = xzglbmService.queryXzglbm(id, szdid);
+		if (list != null && list.size() > 0) {
+			for (XzglbmxxEntity entity : list) {
+				xzglbmService.logicDelete(entity.getId());
+				delAll(entity.getId(), entity.getSzd().getId());
+			}
+		}
+	}
 }

+ 98 - 3
gkjsjy/trunk/src/com/cxfws/gkjcxx/service/impl/ZyqxxService.java

@@ -13,8 +13,6 @@ import javax.persistence.criteria.CriteriaQuery;
 import javax.persistence.criteria.Predicate;
 import javax.persistence.criteria.Root;
 
-import net.sf.json.JSONArray;
-
 import org.springframework.beans.BeanUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.data.domain.Page;
@@ -23,15 +21,24 @@ import org.springframework.stereotype.Service;
 
 import com.cxfws.gkjcxx.service.IZyqxxService;
 import com.xt.jygl.common.BaseWebCtl;
+import com.xt.jygl.common.Constants;
+import com.xt.jygl.common.GlobalData;
+import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
+import com.xt.jygl.gkjcxx.gq.entity.GqEntity;
+import com.xt.jygl.gkjcxx.gq.service.GqService;
+import com.xt.jygl.gkjcxx.zyq.client.ZyqWebService;
 import com.xt.jygl.gkjcxx.zyq.dao.ZyqDao;
 import com.xt.jygl.gkjcxx.zyq.entity.ZyqEntity;
+import com.xt.jygl.gkjcxx.zyq.service.ZyqService;
 import com.xt.jygl.gkjcxx.zyq.vo.ZyqVo;
+import com.xtframe.core.base.ctl.WebJsonResult;
+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.util.StringUtils;
 
-import cache.CacheSearchCondition;
+import net.sf.json.JSONArray;
 /**
  *作业区信息查询
  */
@@ -42,6 +49,10 @@ public class ZyqxxService extends BaseWebCtl  implements IZyqxxService{
 	private QueryService query;
 	@Autowired
 	private ZyqDao dao;
+	@Autowired
+	private ZyqService zyqService;
+	@Autowired
+	private GqService gqService;
 	/**
 	 * 根据所在港区,所在港口,所在地,作业区名称查询
 	 */
@@ -123,5 +134,89 @@ public class ZyqxxService extends BaseWebCtl  implements IZyqxxService{
 		JSONArray jsons=JSONArray.fromObject(vo);
 		return jsons.toString();
 	}
+	@Override
+	public String save(ZyqEntity code, String szdid, String szgkid, String szgqid) {
+
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(szdid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在地");
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(szgkid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在港口");
+			return Object2JsonStr(wr);
+		}
+		if (StringUtils.isEmpty(szgqid)) {
+			wr.setSuccess(false);
+			wr.setMessage("请选择所在港区");
+			return Object2JsonStr(wr);
+		}
+		ZyqEntity zyq = new ZyqEntity();
+		try {
+			if (!StringUtils.isEmpty(code.getId())) {
+				zyq = zyqService.findOne(code.getId());
+				zyq.setTbzt(Constants.NO);
+			}
+			CodeEntity szd = new CodeEntity(szdid);
+			zyq.setSzd(szd);
+			GkEntity szgk = new GkEntity();
+			szgk.setId(szgkid);
+			zyq.setSzgk(szgk);
+			GqEntity szgq = new GqEntity();
+			szgq.setId(szgqid);
+			zyq.setSzgq(szgq);
+			GqEntity gq = gqService.findOne(szgqid);
+			zyq.setSsgkglbm(gq.getSsgkglbm());
+			zyq.setZyqmc(code.getZyqmc());
+			zyq.setZyqyt(code.getZyqyt());
+			zyq.setBz(code.getBz());
+			zyq.setZyid(code.getZyid());
+			zyqService.save(zyq);
+
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	
+	}
+	@Override
+	public String delete(String id) {
+		WebJsonResult wr = success();
+		if (!this.checkUser()){
+			wr.setSuccess(false);
+			wr.setMessage(BaseWebCtl.NOLOGIN);
+			return Object2JsonStr(wr);
+		}
+		try {
+			zyqService.logicDelete(id);
+			// 如果是市级删除,省级也删除
+			ZyqEntity zyq = zyqService.findOne(id);
+			try {
+				if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY) && needWS()) {
+					ZyqWebService webService = zyqService.getWebService(null);
+					webService.delete(id);
+					zyq.setTbzt(Constants.YES);
+					zyqService.save(zyq);
+				}
+			} catch (Exception e) {
+				zyq.setTbzt(Constants.NO);
+				zyqService.save(zyq);
+			}
+		} catch (Exception e) {
+			wr.setSuccess(false);
+			wr.setMessage("操作失败!");
+			e.printStackTrace();
+		}
+		return Object2JsonStr(wr);
+	}
 	
 }