package com.cxfws.gkjcxx.service.impl; import java.util.ArrayList; import java.util.List; import javax.jws.WebMethod; import javax.jws.WebResult; import javax.jws.WebService; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; import net.sf.json.JSONArray; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; import com.cxfws.gkjcxx.service.IZyqxxService; import com.xt.jygl.common.BaseWebCtl; import com.xt.jygl.gkjcxx.zyq.dao.ZyqDao; import com.xt.jygl.gkjcxx.zyq.entity.ZyqEntity; import com.xtframe.sec.common.BaseEntity; import com.xtframe.sec.common.QueryService; import com.xtframe.util.StringUtils; /** *作业区信息查询 */ @Service("zyqWebService") @WebService(targetNamespace = "http://service.web.jsjty.com/", portName = "zyqWebServicePort", serviceName = "zyqWebService") public class ZyqxxService extends BaseWebCtl implements IZyqxxService{ @Autowired private QueryService query; @Autowired private ZyqDao dao; /** * 根据所在港区,所在港口,所在地,作业区名称查询 */ @Override @WebMethod(operationName = "findZyq", action = "http://service.web.jsjty.com/findZyq") @WebResult(name = "result", targetNamespace = "http://service.web.jsjty.com/") public String findZyq(final String zyqmc, final String szgkid, final String szgqid, final String szdid) { if (!this.checkUser()){ return BaseWebCtl.NOLOGIN; } //封装查询条件 Specification spec = new Specification() { @Override public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder cb) { List list = new ArrayList(); if (StringUtils.isNotEmpty(zyqmc)) { list.add(cb.like(root.get("zyqmc").as(String.class), "%" + zyqmc + "%")); } if (StringUtils.isNotEmpty(szgkid)) { list.add(cb.like(root.get("szgk").get("id").as(String.class), "%" + szgkid + "%")); } if (StringUtils.isNotEmpty(szgqid)) { list.add(cb.like(root.get("szgq").get("id").as(String.class), "%" + szgqid + "%")); } if (StringUtils.isNotEmpty(szdid)) { list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%")); } list.add(cb.notEqual(root.get("recordStatus").as(String.class), BaseEntity.RECORD_STATE_DELETE)); return cb.and(list.toArray(new Predicate[] {})); } }; List zyqlist = query.findAll(spec, ZyqEntity.class); JSONArray jsons=JSONArray.fromObject(zyqlist); return jsons.toString(); } /** * 根据id查询作业区 */ @Override public String findOne(String id) { ZyqEntity zyq = dao.findOne(id); JSONArray jsons=JSONArray.fromObject(zyq); return jsons.toString(); } }