DcxxService.java 7.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  1. package com.cxfws.jyrxxgl.service.impl;
  2. import java.util.ArrayList;
  3. import java.util.List;
  4. import javax.annotation.Resource;
  5. import javax.jws.WebMethod;
  6. import javax.jws.WebResult;
  7. import javax.jws.WebService;
  8. import javax.persistence.criteria.CriteriaBuilder;
  9. import javax.persistence.criteria.CriteriaBuilder.In;
  10. import javax.persistence.criteria.CriteriaQuery;
  11. import javax.persistence.criteria.Predicate;
  12. import javax.persistence.criteria.Root;
  13. import javax.xml.ws.WebServiceContext;
  14. import net.sf.json.JSONArray;
  15. import org.springframework.beans.BeanUtils;
  16. import org.springframework.beans.factory.annotation.Autowired;
  17. import org.springframework.data.domain.Page;
  18. import org.springframework.data.jpa.domain.Specification;
  19. import org.springframework.stereotype.Service;
  20. import com.cxfws.config.utils.CxfwsUtils;
  21. import com.cxfws.jyrxxgl.service.IDcxxService;
  22. import com.xt.jygl.common.BaseWebCtl;
  23. import com.xt.jygl.common.GlobalData;
  24. import com.xt.jygl.gkjcxx.gq.service.GqService;
  25. import com.xt.jygl.gkjygl.gkjyr.jyrdc.entity.DcEntity;
  26. import com.xt.jygl.gkjygl.gkjyr.jyrdc.service.DcService;
  27. import com.xt.jygl.gkjygl.gkjyr.jyrdc.vo.DcVo;
  28. import com.xtframe.sec.common.BaseEntity;
  29. import com.xtframe.sec.common.QueryService;
  30. import com.xtframe.sec.common.SimplePageRequest;
  31. import com.xtframe.sec.user.dao.UserDao;
  32. import com.xtframe.sec.user.entity.UserEntity;
  33. import com.xtframe.util.StringUtils;
  34. /**
  35. * 堆场信息
  36. * @author b_zhaohang
  37. *
  38. */
  39. @Service("dcWebService")
  40. @WebService(targetNamespace = "http://service.web.jsjty.com/", portName = "dcWebServicePort", serviceName = "dcWebService")
  41. public class DcxxService extends BaseWebCtl implements IDcxxService{
  42. @Autowired
  43. private QueryService query;
  44. @Autowired
  45. private DcService dcService;
  46. @Resource
  47. private WebServiceContext wscontext;
  48. @Autowired
  49. private UserDao userdao;
  50. @Autowired
  51. private GqService gqService;
  52. /**
  53. * 根据查询条件查询堆场信息
  54. */
  55. @Override
  56. @WebMethod(operationName = "findDc", action = "http://service.web.jsjty.com/findDc")
  57. @WebResult(name = "result", targetNamespace = "http://service.web.jsjty.com/")
  58. public String findDc(int pages, int rows,final String szdid, final String szgkid, final String szgqid, final String ssjyr, final String dcmc, final String wxpdcid) {
  59. if (!this.checkUser()){
  60. return BaseWebCtl.NOLOGIN;
  61. }
  62. SimplePageRequest page = new SimplePageRequest(pages, rows);
  63. Specification<DcEntity> spec = new Specification<DcEntity>() {
  64. @Override
  65. public Predicate toPredicate(Root<DcEntity> root, CriteriaQuery<?> query, CriteriaBuilder cb) {
  66. List<Predicate> list = new ArrayList<Predicate>();
  67. if (StringUtils.isNotEmpty(szdid)) {
  68. list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%"));
  69. }
  70. if (StringUtils.isNotEmpty(szgkid)) {
  71. list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%"));
  72. }
  73. if (StringUtils.isNotEmpty(szgqid)) {
  74. list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%"));
  75. }
  76. if (StringUtils.isNotEmpty(ssjyr)) {
  77. list.add(cb.like(root.get("ssjyr").get("gkjyr").as(String.class), "%" + ssjyr + "%"));
  78. }
  79. if (StringUtils.isNotEmpty(dcmc)) {
  80. list.add(cb.like(root.get("dcmc").as(String.class), "%" + dcmc + "%"));
  81. }
  82. if (StringUtils.isNotEmpty(wxpdcid)) {
  83. list.add(cb.like(root.get("wxpdc").get("id").as(String.class), "%" + wxpdcid + "%"));
  84. }
  85. // 经营人只能查看自己企业下的数据,非经营人只能查看自己所在地的数据
  86. String userName=CxfwsUtils.userNameFromHeaderInfo(wscontext);
  87. UserEntity userEntity = userdao.findByUnameszd(userName,GlobalData.CITY_CODE);
  88. if (userEntity.getSsjyr()!=null) {
  89. list.add(cb.like(root.get("ssjyr").get("id").as(String.class), "%" + getSsjyr().getId() + "%"));
  90. } else {
  91. In<String> in = cb.in(root.get("szgq").get("id").as(String.class));
  92. List<String> gqlist = gqService.findGqListByUserId(userEntity.getId());
  93. if (gqlist != null && gqlist.size() > 0) {
  94. for (int i = 0; i < gqlist.size(); i++) {
  95. in.value(gqlist.get(i));
  96. }
  97. list.add(in);
  98. }
  99. }
  100. //状态为0,9,10,11不显示
  101. list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_COPY));
  102. list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_DELETE));
  103. list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_BGFLAG));
  104. list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_ZXFLAG));
  105. return cb.and(list.toArray(new Predicate[] {}));
  106. }//
  107. };
  108. if (page.getPage() < 1) {
  109. // Object xmxxpage = CacheSearchCondition.cacheSCmapVal(cacheSCmap, "xmxxpage");
  110. // if (StringUtils.isEmpty(xmxxpage) || !org.apache.commons.lang.StringUtils.isNumeric(String.valueOf(xmxxpage))) {
  111. // xmxxpage = "1";
  112. // }
  113. page.setPage(1);
  114. }
  115. page.setSort("id");
  116. page.setOrder("desc");
  117. Page<DcEntity> dclist = query.findAll(spec,toPageRequest(page),DcEntity.class);
  118. List<DcVo> voList = new ArrayList<DcVo>();
  119. for (DcEntity entity : dclist) {
  120. DcVo vo = new DcVo();
  121. if (entity != null) {
  122. BeanUtils.copyProperties(entity, vo);
  123. vo.setSzdzw(entity.getSzd() != null ? entity.getSzd().getText() : "");
  124. vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
  125. vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
  126. vo.setSsjyrzw(entity.getSsjyr() != null ? entity.getSsjyr().getGkjyr() : "");
  127. vo.setWxpdczw(entity.getWxpdc() != null ? entity.getWxpdc().getText() : "");
  128. vo.setXkzid(entity.getXkzid() != null ? entity.getXkzid() : "");
  129. if(!StringUtils.isEmpty(vo.getZwdcyt())){
  130. vo.setZwdcyt(vo.getZwdcyt().substring(0,vo.getZwdcyt().length()-1));
  131. }
  132. voList.add(vo);
  133. }
  134. }
  135. return Object2JsonStr(voList);
  136. }
  137. /**
  138. * 根据id查询堆场详情
  139. * @param id
  140. * @return
  141. */
  142. @Override
  143. public String findOne(String id) {
  144. if (!this.checkUser()){
  145. return BaseWebCtl.NOLOGIN;
  146. }
  147. DcEntity entity = dcService.findOne(id);
  148. DcVo vo = new DcVo();
  149. if(entity!=null){
  150. BeanUtils.copyProperties(entity, vo);
  151. vo.setSzdzw(entity.getSzd() != null ? entity.getSzd().getText() : "");
  152. vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : "");
  153. vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : "");
  154. vo.setSsjyrzw(entity.getSsjyr() != null ? entity.getSsjyr().getGkjyr() : "");
  155. vo.setWxpdczw(entity.getWxpdc() != null ? entity.getWxpdc().getText() : "");
  156. vo.setSsmtzw(entity.getSsmt() != null ? entity.getSsmt().getMtmc() : "");
  157. vo.setDclx(entity.getDclx() != null ? entity.getDclx().getId() : "");
  158. vo.setDclxzw(entity.getDclx() != null ? entity.getDclx().getText() : "");
  159. if(!StringUtils.isEmpty(vo.getZwdcyt())){
  160. vo.setZwdcyt(vo.getZwdcyt().substring(0,vo.getZwdcyt().length()-1));
  161. }
  162. }
  163. JSONArray jsons=JSONArray.fromObject(vo);
  164. return jsons.toString();
  165. }
  166. }