MdxxService.java 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. package com.cxfws.gkjcxx.service.impl;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import javax.jws.WebMethod;
  5. import javax.jws.WebResult;
  6. import javax.jws.WebService;
  7. import javax.persistence.criteria.CriteriaBuilder;
  8. import javax.persistence.criteria.CriteriaQuery;
  9. import javax.persistence.criteria.Predicate;
  10. import javax.persistence.criteria.Root;
  11. import org.springframework.beans.BeanUtils;
  12. import org.springframework.beans.factory.annotation.Autowired;
  13. import org.springframework.data.domain.Page;
  14. import org.springframework.data.jpa.domain.Specification;
  15. import org.springframework.stereotype.Service;
  16. import com.cxfws.gkjcxx.service.IMdxxService;
  17. import com.xt.jygl.common.BaseWebCtl;
  18. import com.xt.jygl.common.Constants;
  19. import com.xt.jygl.common.GlobalData;
  20. import com.xt.jygl.gkjcxx.gk.entity.GkEntity;
  21. import com.xt.jygl.gkjcxx.gk.service.GkService;
  22. import com.xt.jygl.gkjcxx.md.dao.MdDao;
  23. import com.xt.jygl.gkjcxx.md.entity.MdEntity;
  24. import com.xt.jygl.gkjcxx.md.service.MdService;
  25. import com.xt.jygl.gkjcxx.md.vo.MdVo;
  26. import com.xt.jygl.gkjcxx.md.webservice.MdWebService;
  27. import com.xtframe.core.base.ctl.WebJsonResult;
  28. import com.xtframe.sec.code.entity.CodeEntity;
  29. import com.xtframe.sec.common.BaseEntity;
  30. import com.xtframe.sec.common.QueryService;
  31. import com.xtframe.sec.common.SimplePageRequest;
  32. import com.xtframe.util.StringUtils;
  33. import net.sf.json.JSONArray;
  34. /**
  35. * 锚地信息查询
  36. */
  37. @Service("mdWebService")
  38. @WebService(targetNamespace = "http://service.web.jsjty.com/", portName = "mdWebServicePort", serviceName = "mdWebService")
  39. public class MdxxService extends BaseWebCtl implements IMdxxService{
  40. @Autowired
  41. private QueryService query;
  42. @Autowired
  43. private MdDao dao;
  44. @Autowired
  45. private MdService mdService;
  46. @Autowired
  47. private GkService gkService;
  48. /**
  49. * 根据id查锚地
  50. */
  51. @Override
  52. public String findOne(String id) {
  53. MdEntity md = dao.findOne(id);
  54. MdVo vo=new MdVo();
  55. BeanUtils.copyProperties(md, vo);
  56. JSONArray jsons=JSONArray.fromObject(vo);
  57. return jsons.toString();
  58. }
  59. /**
  60. * 根据查询条件所在地,所在港口,锚地名称,规划和现状
  61. */
  62. @Override
  63. @WebMethod(operationName = "findMd", action = "http://service.web.jsjty.com/findMd")
  64. @WebResult(name = "result", targetNamespace = "http://service.web.jsjty.com/")
  65. public String findMd(int pages, int rows,final String szdid, final String szgkid, final String mdmc, final String xzhghid) {
  66. if (!this.checkUser()){
  67. return BaseWebCtl.NOLOGIN;
  68. }
  69. SimplePageRequest page = new SimplePageRequest(pages, rows);
  70. Specification<MdEntity> spec = new Specification<MdEntity>() {
  71. @Override
  72. public Predicate toPredicate(Root<MdEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
  73. List<Predicate> list = new ArrayList<Predicate>();
  74. if (StringUtils.isNotEmpty(mdmc)) {
  75. list.add(cb.like(root.get("mdmc").as(String.class), "%" + mdmc + "%"));
  76. }
  77. if (StringUtils.isNotEmpty(szgkid)) {
  78. list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
  79. }
  80. if (StringUtils.isNotEmpty(szdid)) {
  81. list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
  82. }
  83. if (StringUtils.isNotEmpty(xzhghid)) {
  84. list.add(cb.like(root.get("xzhgh").get("id").as(String.class), "%" + xzhghid + "%"));
  85. }
  86. list.add(cb.notEqual(root.get("recordStatus").as(String.class), BaseEntity.RECORD_STATE_DELETE));
  87. return cb.and(list.toArray(new Predicate[] {}));
  88. }
  89. };
  90. if (page.getPage() < 1) {
  91. // Object xmxxpage = CacheSearchCondition.cacheSCmapVal(cacheSCmap, "xmxxpage");
  92. // if (StringUtils.isEmpty(xmxxpage) || !org.apache.commons.lang.StringUtils.isNumeric(String.valueOf(xmxxpage))) {
  93. // xmxxpage = "1";
  94. // }
  95. page.setPage(1);
  96. }
  97. page.setSort("id");
  98. page.setOrder("desc");
  99. Page<MdEntity> mdlist = query.findAll(spec, toPageRequest(page),MdEntity.class);
  100. // List<MdEntity> mdlist = query.findAll(spec, MdEntity.class);
  101. List<MdVo> voList = new ArrayList<MdVo>();
  102. for(MdEntity entity:mdlist){
  103. MdVo vo=new MdVo();
  104. if(entity!=null){
  105. BeanUtils.copyProperties(entity, vo);
  106. voList.add(vo);
  107. }
  108. }
  109. JSONArray jsons=JSONArray.fromObject(voList);
  110. return jsons.toString();
  111. }
  112. @Override
  113. public String save(MdEntity code, String szdid, String szgkid, String xzhghid) {
  114. WebJsonResult wr = success();
  115. if (!this.checkUser()){
  116. wr.setSuccess(false);
  117. wr.setMessage(BaseWebCtl.NOLOGIN);
  118. return Object2JsonStr(wr);
  119. }
  120. if (StringUtils.isEmpty(szdid)) {
  121. wr.setSuccess(false);
  122. wr.setMessage("请选择所在地");
  123. return Object2JsonStr(wr);
  124. }
  125. if (StringUtils.isEmpty(szgkid)) {
  126. wr.setSuccess(false);
  127. wr.setMessage("请选择所在港口");
  128. return Object2JsonStr(wr);
  129. }
  130. MdEntity entity = new MdEntity();
  131. try {
  132. if (!StringUtils.isEmpty(code.getId())) {
  133. entity = mdService.findOne(code.getId());
  134. entity.setTbzt(Constants.NO);
  135. }
  136. entity.setMdmc(code.getMdmc());
  137. entity.setMdcd(code.getMdcd());
  138. entity.setMdkd(code.getMdkd());
  139. entity.setMdss(code.getMdss());
  140. entity.setMdmj(code.getMdmj());
  141. entity.setMdwz(code.getMdwz());
  142. entity.setXbnl(code.getXbnl());
  143. entity.setZyid(code.getZyid());
  144. /*
  145. * GkEntity gk = gkService.findOne(szgkid); if(gk!=null){
  146. * entity.setSsgkglbm(gk.getSsgkglbm()); }
  147. */
  148. entity.setSzgq(code.getSzgq());
  149. entity.setMddz(code.getMddz());
  150. entity.setMwbj(code.getMwbj());
  151. entity.setFtgs(code.getFtgs());
  152. entity.setMbss(code.getMbss());
  153. entity.setBz(code.getBz());
  154. entity.setZyyt(code.getZyyt());
  155. CodeEntity szd = new CodeEntity(szdid);
  156. entity.setSzd(szd);
  157. GkEntity szgk = new GkEntity();
  158. szgk.setId(szgkid);
  159. entity.setSzgk(szgk);
  160. GkEntity gk = gkService.findOne(szgkid);
  161. entity.setSsgkglbm(gk != null ? gk.getSsgkglbm() : null);
  162. if (!StringUtils.isEmpty(xzhghid)) {
  163. CodeEntity xzhgh = new CodeEntity(xzhghid);
  164. entity.setXzhgh(xzhgh);
  165. }
  166. mdService.save(entity);
  167. } catch (Exception e) {
  168. wr.setSuccess(false);
  169. wr.setMessage("操作失败!");
  170. e.printStackTrace();
  171. }
  172. return Object2JsonStr(wr);
  173. }
  174. @Override
  175. public String delete(String id) {
  176. WebJsonResult wr = success();
  177. if (!this.checkUser()){
  178. wr.setSuccess(false);
  179. wr.setMessage(BaseWebCtl.NOLOGIN);
  180. return Object2JsonStr(wr);
  181. }
  182. try {
  183. mdService.logicDelete(id);
  184. // 如果是市级刪除,省级也刪除
  185. MdEntity md = mdService.findOne(id);
  186. try {
  187. if (GlobalData.DEPLOY_MODE.equals(Constants.DEPLOY_MODE_CITY) && needWS()) {
  188. MdWebService webService = mdService.getWebService(null);
  189. webService.delete(id);
  190. md.setTbzt(Constants.YES);
  191. mdService.save(md);
  192. }
  193. } catch (Exception e) {
  194. md.setTbzt(Constants.NO);
  195. mdService.save(md);
  196. }
  197. } catch (Exception e) {
  198. wr.setSuccess(false);
  199. wr.setMessage("操作失败!");
  200. e.printStackTrace();
  201. }
  202. return Object2JsonStr(wr);
  203. }
  204. }