package com.cxfws.jyrxxgl.service.impl; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.List; import javax.jws.WebService; import javax.persistence.criteria.CriteriaBuilder; import javax.persistence.criteria.CriteriaBuilder.In; import javax.persistence.criteria.CriteriaQuery; import javax.persistence.criteria.Expression; import javax.persistence.criteria.Predicate; import javax.persistence.criteria.Root; import org.springframework.beans.BeanUtils; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.data.domain.Page; import org.springframework.data.jpa.domain.Specification; import org.springframework.stereotype.Service; import com.cxfws.jyrxxgl.service.IXkzfzWebService; import com.xt.jygl.accessory.service.AccessoryService; import com.xt.jygl.common.BaseWebCtl; import com.xt.jygl.common.SearchCondition; 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.entity.GqEntity; import com.xt.jygl.gkjcxx.gq.service.GqService; import com.xt.jygl.gkjygl.gkjyr.jyrjbxx.service.GkjyrService; import com.xt.jygl.gkjygl.gkjyr.xkzfz.entity.XkzfzEntity; import com.xt.jygl.gkjygl.gkjyr.xkzfz.service.XkzfzService; import com.xt.jygl.gkjygl.gkjyr.xkzfz.vo.XkzfzVo; import com.xt.jygl.gkjygl.gkjyr.xkzxx.service.XkzxxService; 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.utils.SecUtils; import com.xtframe.util.DateTime; import com.xtframe.util.StringUtils; import net.sf.json.JSONArray; @Service @WebService(targetNamespace = "http://service.web.jsjty.com/", portName = "xkzfzWebServicePort", serviceName = "xkzfzWebService") public class XkzfzWebService extends BaseWebCtl implements IXkzfzWebService { @Autowired private QueryService query; @Autowired private GqService gqService; @Autowired private GkService gkService; @Autowired private GkjyrService gkjyrService; @Autowired private XkzxxService xkzxxService; @Autowired private AccessoryService accessoryService; @Autowired private XkzfzService xkzfzService; // 列表 @Override public String findXkzfz(int pages, int rows, final String ssjyr, final String szdid, final String szgkid, final String szgqid, final String fzsqh, final String fzsfyx, final String wxhwpm, final String fzsfdq) { if (!this.checkUser()) { return BaseWebCtl.NOLOGIN; } SimplePageRequest page = new SimplePageRequest(pages, rows); final SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); // 查询条件 Specification spec = new Specification() { @Override public Predicate toPredicate(Root root, CriteriaQuery query, CriteriaBuilder cb) { List list = new ArrayList(); if (StringUtils.isNotEmpty(szdid)) { list.add(cb.like(root.get("szd").get("id").as(String.class), "%" + szdid + "%")); } // else if (StringUtils.isNotEmpty(SearchCondition.xkzszdid) && // isGET(request)) { // list.add(cb.like(root.get("szd").get("id").as(String.class), // "%" + SearchCondition.xkzszdid + "%")); // } if (StringUtils.isNotEmpty(szgkid)) { list.add(cb.like(root.get("szgk").as(String.class), "%" + szgkid + "%")); } // else if (StringUtils.isNotEmpty(SearchCondition.xkzszgkid) && // isGET(request)) { // list.add(cb.like(root.get("szgk").as(String.class), "%" + // SearchCondition.xkzszgkid + "%")); // } if (StringUtils.isNotEmpty(szgqid)) { list.add(cb.like(root.get("ssgq").as(String.class), "%" + szgqid + "%")); } // else if (StringUtils.isNotEmpty(SearchCondition.xkzszgqid) && // isGET(request)) { // list.add(cb.like(root.get("ssgq").as(String.class), "%" + // SearchCondition.xkzszgqid + "%")); // } if (StringUtils.isNotEmpty(ssjyr)) { list.add(cb.like(root.get("ssjyr").get("gkjyr").as(String.class), "%" + ssjyr + "%")); } // else if (StringUtils.isNotEmpty(SearchCondition.xkzgkjyr) && // isGET(request)) { // list.add(cb.like(root.get("gkjyr").as(String.class), "%" + // SearchCondition.xkzgkjyr + "%")); // } if (StringUtils.isNotEmpty(fzsqh)) { list.add(cb.like(root.get("fzsqh").as(String.class), "%" + fzsqh + "%")); } if (StringUtils.isNotEmpty(wxhwpm)) { list.add(cb.like(root.get("wxhwpm").as(String.class), wxhwpm)); } if (StringUtils.isNotEmpty(fzsfyx)) { if (("是").equals(fzsfyx)) { list.add(cb.equal(root.get("recordStatus").as(String.class), "1")); } else { list.add(cb.notEqual(root.get("recordStatus").as(String.class), "1")); } } Date now = new Date(); if (StringUtils.isNotEmpty(fzsfdq)) { if ((fzsfdq).equals("6103")) { list.add(cb.lessThanOrEqualTo(root.get("yxqjssj").as(Date.class), now)); } else if ((fzsfdq).equals("6101")) { list.add(cb.greaterThan(root.get("yxqjssj").as(Date.class), now)); } else { list.add(cb.lessThanOrEqualTo(root.get("yxqjssj").as(Date.class), DateTime.addDays(now, 30))); } } // 经营人只能查看自己企业下的数据,非经营人只能查看自己所在地的数据 if (isJyr()) { list.add(cb.like(root.get("ssjyr").get("id").as(String.class), "%" + getSsjyr().getId() + "%")); } else { In in = cb.in(root.get("szgq").get("id").as(String.class)); @SuppressWarnings("unchecked") List gqlist = gqService.findGqListByUserId(SecUtils.getCurrUser().getId()); if (gqlist != null && gqlist.size() > 0) { for (int i = 0; i < gqlist.size(); i++) { in.value(gqlist.get(i)); } list.add(in); } } list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORD_STATE_DELETE)); list.add(cb.notEqual(root.get("recordStatus").as(Integer.class), BaseEntity.RECORE_STATE_COPY)); return cb.and(list.toArray(new Predicate[] {})); } }; if (page.getPage() < 1) { // Object xmxxpage = CacheSearchCondition.cacheSCmapVal(cacheSCmap, // "xmxxpage"); // if (StringUtils.isEmpty(xmxxpage) || // !org.apache.commons.lang.StringUtils.isNumeric(String.valueOf(xmxxpage))) // { // xmxxpage = "1"; // } page.setPage(1); } page.setSort("yxqjssj"); page.setOrder("desc"); Page list = query.findAll(spec, toPageRequest(page), XkzfzEntity.class); List voList = new ArrayList(); for (XkzfzEntity entity : list) { XkzfzVo vo = new XkzfzVo(); if (entity != null) { BeanUtils.copyProperties(entity, vo); if (null != entity.getFzsj()) { vo.setFzsjfmt(DateTime.toString(entity.getFzsj())); } if (null != entity.getYxqkssj()) { vo.setYxqkssjfmt(DateTime.toString(entity.getYxqkssj())); } if (null != entity.getYxqjssj()) { vo.setYxqjssjfmt(DateTime.toString(entity.getYxqjssj())); } vo.setSzdzw(entity.getSzd() != null ? entity.getSzd().getText() : ""); vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : ""); vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : ""); vo.setSsjyrzw(entity.getSsjyr() != null ? entity.getSsjyr().getGkjyr() : ""); vo.setSzd(entity.getSzd() != null ? entity.getSzd().getId() : ""); vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : ""); vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : ""); vo.setSsjyr(entity.getSsjyr() != null ? entity.getSsjyr().getId() : ""); Calendar time = Calendar.getInstance(); time.set(Calendar.HOUR_OF_DAY, 0); time.set(Calendar.MINUTE, 0); time.set(Calendar.SECOND, 0); if (vo.getYxqjssjfmt() != null && entity.getYxqjssj().getTime() > time.getTimeInMillis()) { vo.setRecordStatus(1); } else { vo.setRecordStatus(9); } voList.add(vo); } } return JSONArray.fromObject(voList).toString(); } // 详情查询 public String findOne(String id) { if (!this.checkUser()) { return BaseWebCtl.NOLOGIN; } XkzfzEntity entity = xkzfzService.findOne(id); XkzfzVo vo = new XkzfzVo(); BeanUtils.copyProperties(entity, vo); vo.setSzdzw(entity.getSzd() != null ? entity.getSzd().getText() : ""); vo.setSzgkzw(entity.getSzgk() != null ? entity.getSzgk().getGkmc() : ""); vo.setSzgqzw(entity.getSzgq() != null ? entity.getSzgq().getGqmc() : ""); vo.setSsjyrzw(entity.getSsjyr() != null ? entity.getSsjyr().getGkjyr() : ""); vo.setSzd(entity.getSzd() != null ? entity.getSzd().getId() : ""); vo.setSzgk(entity.getSzgk() != null ? entity.getSzgk().getId() : ""); vo.setSzgq(entity.getSzgq() != null ? entity.getSzgq().getId() : ""); vo.setSsjyr(entity.getSsjyr() != null ? entity.getSsjyr().getId() : ""); if (null != entity.getFzsj()) { vo.setFzsjfmt(DateTime.toString(entity.getFzsj())); } if (null != entity.getYxqkssj()) { vo.setYxqkssjfmt(DateTime.toString(entity.getYxqkssj())); } if (null != entity.getYxqjssj()) { vo.setYxqjssjfmt(DateTime.toString(entity.getYxqjssj())); } // zycs cq whdj if (vo.getZycs() != null) { CodeEntity zycs = securityMgr.codeService().findOne(vo.getZycs()); if (null != zycs) { vo.setZycszw(zycs.getText()); } } if (vo.getCq() != null) { CodeEntity cq = securityMgr.codeService().findOne(vo.getCq()); if (null != cq) { vo.setCqzw(cq.getText()); } } if (vo.getWhdj() != null) { CodeEntity whdj = securityMgr.codeService().findOne(vo.getWhdj()); if (null != whdj) { vo.setWhdjzw(whdj.getText()); } } List listZycs = securityMgr.codeService().findValidCodesByGroupCode("ZYCS"); List listgq = gqService.findGq(); List listgk = gkService.findGk(); return JSONArray.fromObject(vo).toString(); } }