package com.huimv.sjlr.plus; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.GregorianCalendar; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import org.springframework.util.StringUtils; import org.springframework.web.servlet.ModelAndView; import com.huimv.busi.xt.constant.XtAppConstant; import com.huimv.busi.xt.constant.XtSearchSqlConstant; import com.huimv.busi.xt.model.CommonService; import com.huimv.busi.xt.utils.DateUtil; import com.huimv.busi.xt.utils.JsonUtil; import com.huimv.dto.SjlrCjjlDTO; import com.huimv.sjlr.dao.SjlrCjjlDAO; import com.huimv.sjlr.dao.SjlrGzdaDAO; import com.huimv.sjlr.dao.SjlrMzdaDAO; import com.huimv.sjlr.dataobject.SjlrCjjl; import com.huimv.sjlr.dataobject.SjlrCjjlExample; import com.huimv.sjlr.dataobject.SjlrGzda; import com.huimv.sjlr.dataobject.SjlrGzdaExample; import com.huimv.web.base.BaseController; import com.huimv.xt.dao.XtGydmDAO; import com.huimv.xt.dataobject.XtGydm; public class HaifmvSjlrCjHpController extends BaseController { private CommonService commonService; private XtGydmDAO xtGydmDAO; private SjlrGzdaDAO sjlrGzdaDAO; private SjlrCjjlDAO sjlrCjjlDAO; private SjlrMzdaDAO sjlrMzdaDAO; /** * 加载采精首页 * @param request * @param response * @return * @throws Exception */ public ModelAndView hvSjlrCjIndex(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("haifmv/sjrl/cj/cjjl.htm"); Map paramMap = new HashMap(); String dweb = request.getParameter("dweb"); String mcid = request.getParameter("mcid"); String ksrq = request.getParameter("ksrq"); String jsrq = request.getParameter("jsrq"); String cxeph = request.getParameter("cxeph");//查询耳牌号 int countPage = 0; int maxPages = 0; if (StringUtils.hasText(mcid)) { paramMap.put("mcid", mcid); paramMap.put("order", XtSearchSqlConstant.order_by_cj); if (!StringUtils.hasText(jsrq)) { jsrq = DateUtil.parserDateToDefaultString(commonService.getCurrentDate()); } paramMap.put("jsrq", jsrq); mv.addObject("jsrq", jsrq); if (!StringUtils.hasText(ksrq)) { Calendar calendar = new GregorianCalendar(); calendar.setTime(commonService.getCurrentDate()); calendar.add(Calendar.DATE, -7); ksrq = DateUtil.parserDateToDefaultString(calendar.getTime()); } paramMap.put("ksrq", ksrq); mv.addObject("ksrq", ksrq); if (StringUtils.hasText(dweb)) { //根据耳标号 paramMap.put("dweb", "%" + dweb + "%"); mv.addObject("dweb",dweb); } else if (StringUtils.hasText(cxeph)) { //根据耳牌号查 paramMap.put("cxeph", "%" + cxeph + "%"); mv.addObject("dweb",cxeph); } countPage = sjlrCjjlDAO.selectCjjlListByParam(paramMap).size(); if (countPage != 0) { maxPages = (countPage % 15 == 0 ? countPage / 15 : countPage/15 + 1); } paramMap.put("limit", "0,15"); List sfhgList = getGydm(XtAppConstant.CODE_SFHG); List slList = getGydm(XtAppConstant.CODE_SJLR_SL); List cjjlList = sjlrCjjlDAO.selectCjjlListByParam(paramMap); if (cjjlList.size() == 0) {//如果当天没有则取最近一天 Map paramMapPz = new HashMap(); paramMapPz.put("order", XtSearchSqlConstant.order_by_cj); paramMapPz.put("mcid", mcid); countPage = sjlrCjjlDAO.selectCjjlListByParam(paramMapPz).size(); if (countPage != 0) { maxPages = (countPage % 15 == 0 ? countPage / 15 : countPage/15 + 1); } paramMap.put("limit", "0,15"); List cjjlListCj = sjlrCjjlDAO.selectCjjlListByParam(paramMapPz); if (cjjlListCj.size() > 0) { String lastCjsj = DateUtil.parserDateToDefaultString(cjjlListCj.get(0).getCjsj()); String lastJsrq = lastCjsj; String lastksrq = lastJsrq; paramMap.put("jsrq", lastJsrq); paramMap.put("ksrq", lastksrq); paramMap.put("limit", "0,15"); cjjlList.clear(); cjjlList = sjlrCjjlDAO.selectCjjlListByParam(paramMap); } } List cjjlDTOList = new ArrayList(); SjlrCjjlDTO sjlrCjjlDTO = null; String date = ""; int count = 0; List cjList = null; if (cjjlList != null && cjjlList.size() > 0) { for (int i = 0; i < cjjlList.size(); i++) { SjlrCjjl sjlrCjjl = cjjlList.get(i); //根据耳标号查询耳牌号 SjlrGzdaExample gzEx = new SjlrGzdaExample(); SjlrGzdaExample.Criteria gzCr = gzEx.createCriteria(); gzCr.andDwebEqualTo(sjlrCjjl.getDweb()).andMcidEqualTo(Integer.parseInt(mcid)).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); String eph = sjlrGzdaDAO.selectByExample(gzEx).get(0).getEph(); sjlrCjjl.setEph(eph); //上次采精时间 Map paramMapByDweb = new HashMap(); paramMapByDweb.put("dweb", sjlrCjjl.getDweb()); paramMapByDweb.put("lastCjsj", DateUtil.parserDateToDefaultString2(sjlrCjjl.getCjsj())); List cjjlListByDweb = sjlrCjjlDAO.selectCjjlListByParam(paramMapByDweb); int size = cjjlListByDweb.size(); if (size > 1) {//有上次采精记录 sjlrCjjl.setLastCjsj(DateUtil.parserDateToDefaultString2(cjjlListByDweb.get(0).getCjsj())); } else { sjlrCjjl.setLastCjsj(""); } //是否合格 if (sjlrCjjl.getSfhg() != null) { for (XtGydm xtGydm : sfhgList) { if (xtGydm.getDmid().equals(String.valueOf(sjlrCjjl.getSfhg()))) { sjlrCjjl.setSfhgStr(xtGydm.getDmmc()); } } } //舍栏 if (StringUtils.hasText(sjlrCjjl.getSl())) { for (XtGydm xtGydm : slList) { if (xtGydm.getDmid().equals(sjlrCjjl.getSl())) { sjlrCjjl.setSlStr(xtGydm.getDmmc()); } } } if (StringUtils.hasText(sjlrCjjl.getSlStr())) { if (sjlrCjjl.getSlStr().length() > 4) { sjlrCjjl.setIsSlFlag("false"); } else { sjlrCjjl.setIsSlFlag("true"); } } else { sjlrCjjl.setIsSlFlag("true"); } //业务逻辑 if (i == 0) { sjlrCjjlDTO = new SjlrCjjlDTO(); cjList = new ArrayList(); date = DateUtil.parserDateToDefaultString(sjlrCjjl.getCjsj()); sjlrCjjlDTO.setCjrq(date); cjList.add(sjlrCjjl); count ++; } else { if (DateUtil.parserDateToDefaultString(sjlrCjjl.getCjsj()).equals(date)) { count ++; cjList.add(sjlrCjjl); } else { sjlrCjjlDTO.setCjjlList(cjList); sjlrCjjlDTO.setCount(count); cjjlDTOList.add(sjlrCjjlDTO); sjlrCjjlDTO = new SjlrCjjlDTO(); cjList = new ArrayList(); date = DateUtil.parserDateToDefaultString(sjlrCjjl.getCjsj()); sjlrCjjlDTO.setCjrq(date); cjList.add(sjlrCjjl); count = 1; } } } if (count > 0) { sjlrCjjlDTO.setCjjlList(cjList); sjlrCjjlDTO.setCount(count); cjjlDTOList.add(sjlrCjjlDTO); } mv.addObject("cjjlDTOList", cjjlDTOList); } } dweb = cxeph; mv.addObject("maxPages",maxPages); mv.addObject("dweb", dweb); return mv; } /** * 采精记录首页的下拉加载 * @param request * @param response * @throws Exception */ public void addSjlrCjjl(HttpServletRequest request, HttpServletResponse response) throws Exception { Map paramMap = new HashMap(); String page = request.getParameter("page"); String dweb = request.getParameter("dweb"); String mcid = request.getParameter("mcid"); String ksrq = request.getParameter("ksrq"); String jsrq = request.getParameter("jsrq"); String cxeph = request.getParameter("cxeph");//查询耳牌号 List cjjlDTOList = new ArrayList(); if (StringUtils.hasText(mcid)) { paramMap.put("mcid", mcid); paramMap.put("order", XtSearchSqlConstant.order_by_cj); if (StringUtils.hasText(dweb)) { //根据耳标号 paramMap.put("dweb", "%" + dweb + "%"); } else if (StringUtils.hasText(cxeph)) { //根据耳牌号查 paramMap.put("cxeph", "%" + cxeph + "%"); } if (!StringUtils.hasText(jsrq)) { jsrq = DateUtil.parserDateToDefaultString(commonService.getCurrentDate()); } paramMap.put("jsrq", jsrq); if (!StringUtils.hasText(ksrq)) { Calendar calendar = new GregorianCalendar(); calendar.setTime(commonService.getCurrentDate()); calendar.add(Calendar.DATE, -7); ksrq = DateUtil.parserDateToDefaultString(calendar.getTime()); } paramMap.put("ksrq", ksrq); paramMap.put("limit", (Integer.parseInt(page)-1)*15+",15"); List sfhgList = getGydm(XtAppConstant.CODE_SFHG); List slList = getGydm(XtAppConstant.CODE_SJLR_SL); List cjjlList = sjlrCjjlDAO.selectCjjlListByParam(paramMap); SjlrCjjlDTO sjlrCjjlDTO = null; String date = ""; int count = 0; List cjList = null; if (cjjlList != null && cjjlList.size() > 0) { for (int i = 0; i < cjjlList.size(); i++) { SjlrCjjl sjlrCjjl = cjjlList.get(i); //根据耳标号查询耳牌号 SjlrGzdaExample gzEx = new SjlrGzdaExample(); SjlrGzdaExample.Criteria gzCr = gzEx.createCriteria(); gzCr.andDwebEqualTo(sjlrCjjl.getDweb()).andMcidEqualTo(Integer.parseInt(mcid)).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); String eph = sjlrGzdaDAO.selectByExample(gzEx).get(0).getEph(); sjlrCjjl.setEph(eph); //上次采精时间 Map paramMapByDweb = new HashMap(); paramMapByDweb.put("dweb", sjlrCjjl.getDweb()); paramMapByDweb.put("lastCjsj", DateUtil.parserDateToDefaultString2(sjlrCjjl.getCjsj())); List cjjlListByDweb = sjlrCjjlDAO.selectCjjlListByParam(paramMapByDweb); int size = cjjlListByDweb.size(); if (size > 1) {//有上次采精记录 sjlrCjjl.setLastCjsj(DateUtil.parserDateToDefaultString2(cjjlListByDweb.get(0).getCjsj())); } else { sjlrCjjl.setLastCjsj(""); } //是否合格 if (sjlrCjjl.getSfhg() != null) { for (XtGydm xtGydm : sfhgList) { if (xtGydm.getDmid().equals(String.valueOf(sjlrCjjl.getSfhg()))) { sjlrCjjl.setSfhgStr(xtGydm.getDmmc()); } } } //舍栏 if (StringUtils.hasText(sjlrCjjl.getSl())) { for (XtGydm xtGydm : slList) { if (xtGydm.getDmid().equals(sjlrCjjl.getSl())) { sjlrCjjl.setSlStr(xtGydm.getDmmc()); } } } if (StringUtils.hasText(sjlrCjjl.getSlStr())) { if (sjlrCjjl.getSlStr().length() > 4) { sjlrCjjl.setIsSlFlag("false"); } else { sjlrCjjl.setIsSlFlag("true"); } } else { sjlrCjjl.setIsSlFlag("true"); } //业务逻辑 if (i == 0) { sjlrCjjlDTO = new SjlrCjjlDTO(); cjList = new ArrayList(); date = DateUtil.parserDateToDefaultString(sjlrCjjl.getCjsj()); sjlrCjjlDTO.setCjrq(date); cjList.add(sjlrCjjl); count ++; } else { if (DateUtil.parserDateToDefaultString(sjlrCjjl.getCjsj()).equals(date)) { count ++; cjList.add(sjlrCjjl); } else { sjlrCjjlDTO.setCjjlList(cjList); sjlrCjjlDTO.setCount(count); cjjlDTOList.add(sjlrCjjlDTO); sjlrCjjlDTO = new SjlrCjjlDTO(); cjList = new ArrayList(); date = DateUtil.parserDateToDefaultString(sjlrCjjl.getCjsj()); sjlrCjjlDTO.setCjrq(date); cjList.add(sjlrCjjl); count = 1; } } } if (count > 0) { sjlrCjjlDTO.setCjjlList(cjList); sjlrCjjlDTO.setCount(count); cjjlDTOList.add(sjlrCjjlDTO); } } } response.setCharacterEncoding("UTF-8"); response.setContentType("text/plain; charset=UTF-8"); response.addHeader("Cache-Control", "no-cache,must-revalidate"); response.addHeader("Pragma", "no-cache"); String param = JsonUtil.list2json(cjjlDTOList); response.getWriter().write(param); } /** * 加载采精记录新增页面 * @param request * @param response * @return * @throws Exception */ public ModelAndView hvSjlrCjAdd(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("haifmv/sjrl/cj/cjjlAdd.htm"); String mcid = request.getParameter("mcid"); String id = request.getParameter("id"); String dweb = request.getParameter("dweb"); String date = request.getParameter("date"); String eph = request.getParameter("eph"); mv.addObject("eph",eph); SjlrCjjl sjlrCjjl = new SjlrCjjl(); if (StringUtils.hasText(mcid)) { if (StringUtils.hasText(id)) { //有ID ,修改 sjlrCjjl = sjlrCjjlDAO.selectByPrimaryKey(Integer.parseInt(id)); dweb = sjlrCjjl.getDweb(); if (StringUtils.hasText(dweb)) { //获得采精舍栏和耳牌号 SjlrGzdaExample gzdaEx = new SjlrGzdaExample(); SjlrGzdaExample.Criteria gzdaCr = gzdaEx.createCriteria(); gzdaCr.andDwebEqualTo(sjlrCjjl.getDweb()).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); if (StringUtils.hasText(mcid)) { gzdaCr.andMcidEqualTo(Integer.parseInt(mcid)); } List gzdaList = sjlrGzdaDAO.selectByExample(gzdaEx); if (gzdaList != null && gzdaList.size() > 0) { sjlrCjjl.setCjsl(gzdaList.get(0).getSl()); sjlrCjjl.setEph(gzdaList.get(0).getEph()); } } mv.addObject("id",id); } else {// 没有ID 新增 if (StringUtils.hasText(dweb)) { //有动物耳标,说明是从search传值 sjlrCjjl.setDweb(dweb); SjlrGzdaExample gzdaEx = new SjlrGzdaExample(); SjlrGzdaExample.Criteria gzdaCr = gzdaEx.createCriteria(); gzdaCr.andDwebEqualTo(sjlrCjjl.getDweb()).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); if (StringUtils.hasText(mcid)) { gzdaCr.andMcidEqualTo(Integer.parseInt(mcid)); } List gzdaList = sjlrGzdaDAO.selectByExample(gzdaEx); if (gzdaList != null && gzdaList.size() > 0) { sjlrCjjl.setCjsl(gzdaList.get(0).getSl()); sjlrCjjl.setDweb(dweb); sjlrCjjl.setEph(eph); } } } if (date != null) { SimpleDateFormat sdf=new SimpleDateFormat(XtAppConstant.TIME_FORMAT); java.util.Date newdate=sdf.parse(date.toString()); sjlrCjjl.setCjsj(newdate); }else { if (sjlrCjjl.getCjsj() == null) { sjlrCjjl.setCjsj(commonService.getCurrentDate()); } } } List slList = getGydm(XtAppConstant.CODE_SJLR_SL); List zcycList = getGydm(XtAppConstant.CODE_ZCYC); List sfhgList = getGydm(XtAppConstant.CODE_SFHG); mv.addObject("sfhgList", sfhgList); mv.addObject("slList", slList); mv.addObject("zcycList", zcycList); mv.addObject("sjlrCjjl", sjlrCjjl); mv.addObject("date",date); mv.addObject("dweb",dweb); mv.addObject("kssj",request.getParameter("kssj")); mv.addObject("jssj",request.getParameter("jssj")); return mv; } /** * 采精保存 * @param request * @throws Exception */ public void saveHaifmvSjlrCjjl(HttpServletRequest request, HttpServletResponse response) throws Exception { response.setContentType("text/json; charset=UTF-8"); response.addHeader("Cache-Control", "no-cache,must-revalidate"); response.addHeader("Pragma", "no-cache"); SjlrCjjl sjlrCjjl = new SjlrCjjl(); String dweb = request.getParameter("dweb"); sjlrCjjl = (SjlrCjjl) parseObjectFromRequest(request, sjlrCjjl); sjlrCjjl.setXgr(getLoginSessionBean(request).getYhid().toString()); sjlrCjjl.setXgsj(commonService.getCurrentDate()); sjlrCjjl.setZfbz(XtAppConstant.ZFBZ_VALID); String qw = request.getParameter("qw"); String ys = request.getParameter("ys"); String sfhg = request.getParameter("sfhg"); String sl = request.getParameter("sl"); sjlrCjjl.setQw(Integer.parseInt(qw)); sjlrCjjl.setYs(Integer.parseInt(ys)); sjlrCjjl.setSfhg(Integer.parseInt(sfhg)); sjlrCjjl.setCjsl(sl); if (StringUtils.hasText(dweb)) { sjlrCjjl.setDweb(dweb); } String id = request.getParameter("id"); if (StringUtils.hasText(id)) { sjlrCjjl.setId(Integer.parseInt(id)); } if (!StringUtils.hasText(sjlrCjjl.getCjl())) { sjlrCjjl.setCjl("0"); } if (!StringUtils.hasText(sjlrCjjl.getXsy())) { sjlrCjjl.setXsy("0"); } if (!StringUtils.hasText(sjlrCjjl.getMd())) { sjlrCjjl.setMd("0"); } if (!StringUtils.hasText(sjlrCjjl.getJzhl())) { sjlrCjjl.setJzhl("0"); } if (!StringUtils.hasText(sjlrCjjl.getZbfs())) { sjlrCjjl.setZbfs("0"); } //采精时间不能小于入栏日期 SjlrGzdaExample gzEx = new SjlrGzdaExample(); SjlrGzdaExample.Criteria gzCr = gzEx.createCriteria(); if (StringUtils.hasText(sjlrCjjl.getDweb())) { gzCr.andDwebEqualTo(sjlrCjjl.getDweb()).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); Date rlrq = sjlrGzdaDAO.selectByExample(gzEx).get(0).getRlrq(); String date = request.getParameter("date"); if (StringUtils.hasText(date)) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date cjsj = sdf.parse(date); if (rlrq != null & cjsj != null) { if (rlrq.getTime() > cjsj.getTime()) { String jsonStr = "{\"count\" : \"2\"}"; response.getWriter().write(jsonStr); return; } } } } if (sjlrCjjl.getId() != null && sjlrCjjl.getId() != 0) { sjlrCjjlDAO.updateByPrimaryKeySelective(sjlrCjjl); } else { sjlrCjjlDAO.insertSelective(sjlrCjjl); } String cjsl = sjlrCjjl.getCjsl(); if (StringUtils.hasText(cjsl)) { SjlrGzdaExample gzdaEx = new SjlrGzdaExample(); SjlrGzdaExample.Criteria gzdaCr = gzdaEx.createCriteria(); gzdaCr.andDwebEqualTo(sjlrCjjl.getDweb()).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); String mcid = request.getParameter("mcid"); if (StringUtils.hasText(mcid)) { gzdaCr.andMcidEqualTo(Integer.parseInt(mcid)); } SjlrGzda sjlrGzda = new SjlrGzda(); sjlrGzda.setSl(cjsl); sjlrGzda.setXgr(getLoginSessionBean(request).getYhid().toString()); sjlrGzda.setXgsj(commonService.getCurrentDate()); sjlrGzdaDAO.updateByExampleSelective(sjlrGzda, gzdaEx); } String jsonStr = "{\"count\" : \"1\"}"; response.getWriter().write(jsonStr); } /** * 是否是24小时之内的数据 * @param request * @throws Exception */ public void haifmvCheckDataIsIn24H(HttpServletRequest request, HttpServletResponse response) throws Exception { response.setContentType("text/json; charset=UTF-8"); response.addHeader("Cache-Control", "no-cache,must-revalidate"); response.addHeader("Pragma", "no-cache"); String id = request.getParameter("id"); String jsonStr = ""; if (StringUtils.hasText(id)) { SjlrCjjlExample cjjlEx = new SjlrCjjlExample(); SjlrCjjlExample.Criteria cjllCr = cjjlEx.createCriteria(); cjllCr.andIdEqualTo(Integer.valueOf(id)).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); List cjjlList = sjlrCjjlDAO.selectByExample(cjjlEx); if (cjjlList.size() > 0) { boolean isIn24H = commonService.getCurrentDate().getTime() - cjjlList.get(0).getCjsj().getTime() <= 24*60*60*1000; if (isIn24H) { jsonStr = "{\"count\" : \"1\"}"; } else { jsonStr = "{\"count\" : \"0\"}"; } } } response.getWriter().write(jsonStr); } /** * 耳标公共查询页面 * @param request * @param response * @return * @throws Exception */ public ModelAndView getHaifmvCjjlSearchDweb(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("haifmv/sjrl/cj/searchCjep.htm"); String mcid = request.getParameter("mcid"); String date = request.getParameter("date"); String dweb = request.getParameter("dweb"); String cxeph = request.getParameter("cxeph"); Date drcjsj = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); int maxPages = 0; int countPage = 0; if (StringUtils.hasText(date)) { drcjsj = sdf.parse(date); } if (StringUtils.hasText(mcid)) { List dqztSearchList = new ArrayList(); SjlrGzdaExample gzdaEx = new SjlrGzdaExample(); SjlrGzdaExample.Criteria cr = gzdaEx.createCriteria(); dqztSearchList.add("1");//后备 dqztSearchList.add("11");//其他 dqztSearchList.add("9");//在场 cr.andDqztIn(dqztSearchList); cr.andZfbzEqualTo(XtAppConstant.ZFBZ_VALID).andMcidEqualTo(Integer.parseInt(mcid)); cr.andLcrqIsNull(); if (StringUtils.hasText(dweb)) { cr.andDwebLike("%" + dweb + "%"); mv.addObject("dweb",dweb); }else if (StringUtils.hasText(cxeph)) { cr.andEphLike("%" + cxeph + "%"); mv.addObject("dweb",cxeph); } countPage = sjlrGzdaDAO.selectByExample(gzdaEx).size(); maxPages = (countPage % 30 == 0 ? countPage / 30 : countPage/30 + 1); gzdaEx.setStart(0); gzdaEx.setLimit(30); List gzdaList = sjlrGzdaDAO.selectByExample(gzdaEx); List pzList = getGydm(XtAppConstant.CODE_SJLR_ZZPZ); List slList = getGydm(XtAppConstant.CODE_SJLR_SL); List dqztList = getGydm(XtAppConstant.CODE_SJLR_GZZT); if (gzdaList != null && gzdaList.size() > 0) { for (int i = 0; i < gzdaList.size(); i++) { SjlrGzda sjlrGzda = gzdaList.get(i); //上次采精时间 Map paramMapByDweb = new HashMap(); paramMapByDweb.put("dweb", sjlrGzda.getDweb()); paramMapByDweb.put("order", "order by cj.cjsj desc "); List cjjlListByDweb = sjlrCjjlDAO.selectCjjlListByParam(paramMapByDweb); if (cjjlListByDweb.size() > 0) {//有过一次采精记录 if (drcjsj != null ) { sjlrGzda.setLastCjjg((drcjsj.getTime() - cjjlListByDweb.get(0).getCjsj().getTime())/(24 * 60 * 60 * 1000) + ""); }else { sjlrGzda.setLastCjjg((commonService.getCurrentDate().getTime()- cjjlListByDweb.get(0).getCjsj().getTime())/(24 * 60 * 60 * 1000) + ""); } } else {//如果没有采精则为出生至今的时间间隔 if (drcjsj != null) { sjlrGzda.setLastCjjg((drcjsj.getTime()-sjlrGzda.getCsrq().getTime())/(24 * 60 * 60 * 1000) + ""); }else { sjlrGzda.setLastCjjg((commonService.getCurrentDate().getTime()-sjlrGzda.getCsrq().getTime())/(24 * 60 * 60 * 1000) + ""); } } //舍栏 if (StringUtils.hasText(sjlrGzda.getSl())) { for (XtGydm xtGydm : slList) { if (sjlrGzda.getSl().equals(xtGydm.getDmid())) { sjlrGzda.setSlStr(xtGydm.getDmmc()); } } } //品种 //猪只品种 if (StringUtils.hasText(sjlrGzda.getPz())) { for (XtGydm xtGydm : pzList) { if (xtGydm.getDmid().equals(sjlrGzda.getPz())) { sjlrGzda.setPzStr(xtGydm.getDmmc()); } } } //当前状态 if (StringUtils.hasText(sjlrGzda.getDqzt())) { for (XtGydm xtGydm : dqztList) { if (sjlrGzda.getDqzt().equals(xtGydm.getDmid())) { sjlrGzda.setDqztStr(xtGydm.getDmmc()); } } } } } mv.addObject("gzdaList", gzdaList); mv.addObject("date",date); mv.addObject("maxPages",maxPages); } return mv; } /** * 采精耳标查询的下拉加载 * @param request * @param response * @throws Exception */ public void addSjlrCjjlSrarch(HttpServletRequest request, HttpServletResponse response) throws Exception { response.setCharacterEncoding("UTF-8"); response.setContentType("text/plain; charset=UTF-8"); response.addHeader("Cache-Control", "no-cache,must-revalidate"); response.addHeader("Pragma", "no-cache"); String mcid = request.getParameter("mcid"); String date = request.getParameter("date"); String dweb = request.getParameter("dweb"); String cxeph = request.getParameter("cxeph"); String page = request.getParameter("page"); Date drcjsj = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.hasText(date)) { drcjsj = sdf.parse(date); } if (StringUtils.hasText(mcid)) { List dqztSearchList = new ArrayList(); SjlrGzdaExample gzdaEx = new SjlrGzdaExample(); SjlrGzdaExample.Criteria cr = gzdaEx.createCriteria(); dqztSearchList.add("1");//后备 dqztSearchList.add("11");//其他 dqztSearchList.add("9");//在场 cr.andDqztIn(dqztSearchList); cr.andZfbzEqualTo(XtAppConstant.ZFBZ_VALID).andMcidEqualTo(Integer.parseInt(mcid)); cr.andLcrqIsNull(); if (StringUtils.hasText(dweb)) { cr.andDwebLike("%" + dweb + "%"); }else if (StringUtils.hasText(cxeph)) { cr.andEphLike("%" + cxeph + "%"); } gzdaEx.setStart((Integer.parseInt(page)-1)*30); gzdaEx.setLimit(30); List gzdaList = sjlrGzdaDAO.selectByExample(gzdaEx); List pzList = getGydm(XtAppConstant.CODE_SJLR_ZZPZ); List slList = getGydm(XtAppConstant.CODE_SJLR_SL); List dqztList = getGydm(XtAppConstant.CODE_SJLR_GZZT); if (gzdaList != null && gzdaList.size() > 0) { for (int i = 0; i < gzdaList.size(); i++) { SjlrGzda sjlrGzda = gzdaList.get(i); //上次采精时间 Map paramMapByDweb = new HashMap(); paramMapByDweb.put("dweb", sjlrGzda.getDweb()); paramMapByDweb.put("order", "order by cj.cjsj desc "); List cjjlListByDweb = sjlrCjjlDAO.selectCjjlListByParam(paramMapByDweb); if (cjjlListByDweb.size() > 0) {//有过一次采精记录 if (drcjsj != null ) { sjlrGzda.setLastCjjg((drcjsj.getTime() - cjjlListByDweb.get(0).getCjsj().getTime())/(24 * 60 * 60 * 1000) + ""); }else { sjlrGzda.setLastCjjg((commonService.getCurrentDate().getTime()- cjjlListByDweb.get(0).getCjsj().getTime())/(24 * 60 * 60 * 1000) + ""); } } else {//如果没有采精则为出生至今的时间间隔 if (drcjsj != null) { sjlrGzda.setLastCjjg((drcjsj.getTime()-sjlrGzda.getCsrq().getTime())/(24 * 60 * 60 * 1000) + ""); }else { sjlrGzda.setLastCjjg((commonService.getCurrentDate().getTime()-sjlrGzda.getCsrq().getTime())/(24 * 60 * 60 * 1000) + ""); } } //舍栏 if (StringUtils.hasText(sjlrGzda.getSl())) { for (XtGydm xtGydm : slList) { if (sjlrGzda.getSl().equals(xtGydm.getDmid())) { sjlrGzda.setSlStr(xtGydm.getDmmc()); } } } //品种 //猪只品种 if (StringUtils.hasText(sjlrGzda.getPz())) { for (XtGydm xtGydm : pzList) { if (xtGydm.getDmid().equals(sjlrGzda.getPz())) { sjlrGzda.setPzStr(xtGydm.getDmmc()); } } } //当前状态 if (StringUtils.hasText(sjlrGzda.getDqzt())) { for (XtGydm xtGydm : dqztList) { if (sjlrGzda.getDqzt().equals(xtGydm.getDmid())) { sjlrGzda.setDqztStr(xtGydm.getDmmc()); } } } } } String param = JsonUtil.list2json(gzdaList); response.getWriter().write(param); } } /** * 获取公用代码 * @param lbmc * @return * @throws Exception */ private List getGydm(String lbmc) { return xtGydmDAO.selectGydmByLbmc(lbmc); } public void setCommonService(CommonService commonService) { this.commonService = commonService; } public void setXtGydmDAO(XtGydmDAO xtGydmDAO) { this.xtGydmDAO = xtGydmDAO; } public void setSjlrGzdaDAO(SjlrGzdaDAO sjlrGzdaDAO) { this.sjlrGzdaDAO = sjlrGzdaDAO; } public void setSjlrCjjlDAO(SjlrCjjlDAO sjlrCjjlDAO) { this.sjlrCjjlDAO = sjlrCjjlDAO; } public void setSjlrMzdaDAO(SjlrMzdaDAO sjlrMzdaDAO) { this.sjlrMzdaDAO = sjlrMzdaDAO; } }