package com.huimv.sjlr; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Collections; 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.dto.SjlrPzjlDTO; import com.huimv.sjlr.dao.SjlrGzdaDAO; import com.huimv.sjlr.dao.SjlrMzdaDAO; import com.huimv.sjlr.dao.SjlrPzjlDAO; import com.huimv.sjlr.dao.SjlrRsjlDAO; import com.huimv.sjlr.dataobject.SjlrGzda; import com.huimv.sjlr.dataobject.SjlrGzdaExample; import com.huimv.sjlr.dataobject.SjlrMzda; import com.huimv.sjlr.dataobject.SjlrMzdaExample; import com.huimv.sjlr.dataobject.SjlrPzjl; import com.huimv.sjlr.dataobject.SjlrPzjlExample; import com.huimv.sjlr.dataobject.SjlrRsjlExample; import com.huimv.web.base.BaseController; import com.huimv.xt.dao.XtGydmDAO; import com.huimv.xt.dataobject.XtGydm; /** * 版权所有:慧牧科技 * 项目名称:数据录入——配种 * 创建者: * 创建日期:2017-5-10 * 文件说明: * 最近修改者 xudan * 最近修改日期:2017-5-22 */ public class SjlrPzHpController extends BaseController { /** *@function: 加载配种 *@author: abc *@date : May 22, 2017 */ private CommonService commonService; private XtGydmDAO xtGydmDAO; private SjlrGzdaDAO sjlrGzdaDAO; private SjlrPzjlDAO sjlrPzjlDAO; private SjlrMzdaDAO sjlrMzdaDAO; private SjlrRsjlDAO sjlrRsjlDAO; public ModelAndView hpSjlrPzIndex(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("haifmp/sjlr/pz/hpSjlrPzIndex.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"); String searchFlag = request.getParameter("searchFlag"); SjlrPzjlDTO pzjlDTO = null; List pzDTOList = new ArrayList(); List pzList = null; String date = ""; int count = 0; if (StringUtils.hasText(mcid)) { paramMap.put("mcid", mcid); paramMap.put("order", XtSearchSqlConstant.order_by_pz); if (!StringUtils.hasText(searchFlag)) { searchFlag = "0";//如果没有,默认是耳标搜索页面 } mv.addObject("searchFlag", searchFlag); if (XtAppConstant.HAIFMP_SEARCH_FLAG_DATE.equals(searchFlag)) {//日期搜索页面 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); } else {//耳标搜索页面,无耳标显示当天,有耳标显示当前耳标下全部 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); } else { jsrq = ksrq = DateUtil.parserDateToDefaultString(commonService.getCurrentDate()); paramMap.put("jsrq", jsrq); paramMap.put("ksrq", ksrq); } } paramMap.put("order", XtSearchSqlConstant.order_by_pz); List pzjlList = sjlrPzjlDAO.selectPzjlListByParam(paramMap); if (pzjlList.size() == 0 && searchFlag.equals("0")) {//如果当天没有则取最近一天 Map paramMapPz = new HashMap(); paramMapPz.put("order", "order by pz.id desc"); List pzjlListPz = sjlrPzjlDAO.selectPzjlListByParam(paramMapPz); if (pzjlListPz.size() > 0) { String lastPzsj = DateUtil.parserDateToDefaultString(pzjlListPz.get(0).getPzsj()); String lastJsrq = lastPzsj; String lastksrq = lastJsrq; paramMap.put("jsrq", lastJsrq); paramMap.put("ksrq", lastksrq); pzjlList.clear(); pzjlList = sjlrPzjlDAO.selectPzjlListByParam(paramMap); } } List pzsmList = getGydm(XtAppConstant.CODE_SJLR_PZSM); List slList = getGydm(XtAppConstant.CODE_SJLR_SL); if (pzjlList != null && pzjlList.size() > 0) { for (int i = 0 ; i < pzjlList.size() ; i++) { SjlrPzjl sjlrPzjl = pzjlList.get(i); //根据耳标号查询耳牌号 //获得母猪耳牌号 SjlrMzdaExample mzEx = new SjlrMzdaExample(); SjlrMzdaExample.Criteria mzCr = mzEx.createCriteria(); mzCr.andDwebEqualTo(sjlrPzjl.getMzeb()).andMcidEqualTo(Integer.parseInt(mcid)); mzCr.andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); String eph = sjlrMzdaDAO.selectByExample(mzEx).get(0).getEph(); sjlrPzjl.setEph(eph); //获得首配公猪耳牌号 String ypgzep = ""; if (sjlrPzjl.getYpgzeb() != null) { ypgzep = this.geteph(sjlrPzjl.getYpgzeb()); } sjlrPzjl.setYpep(ypgzep); //配种说明 if (sjlrPzjl.getPzsm() != null) { for (XtGydm xtGydm : pzsmList) { if (xtGydm.getDmid().equals(String.valueOf(sjlrPzjl.getPzsm()))) { sjlrPzjl.setPzsmStr(xtGydm.getDmmc()); } } } //舍栏 if (StringUtils.hasText(sjlrPzjl.getSl())) { for (XtGydm xtGydm : slList) { if (xtGydm.getDmid().equals(sjlrPzjl.getSl())) { sjlrPzjl.setSlStr(xtGydm.getDmmc()); } } } if (!StringUtils.hasText(sjlrPzjl.getYppf())) { sjlrPzjl.setYppf("0"); } //业务逻辑 if (i == 0) { pzjlDTO = new SjlrPzjlDTO(); pzList = new ArrayList(); date = DateUtil.parserDateToDefaultString(sjlrPzjl.getPzsj()); pzjlDTO.setDate(date); pzList.add(sjlrPzjl); count++; } else { if (DateUtil.parserDateToDefaultString(sjlrPzjl.getPzsj()).equals(date)) { count++; pzList.add(sjlrPzjl); }else { pzjlDTO.setPzList(pzList); pzjlDTO.setCount(count); pzDTOList.add(pzjlDTO); pzjlDTO = new SjlrPzjlDTO(); pzList = new ArrayList(); date = DateUtil.parserDateToDefaultString(sjlrPzjl.getPzsj()); pzjlDTO.setDate(date); pzList.add(sjlrPzjl); count = 1; } } } if (count > 0 ) { pzjlDTO.setPzList(pzList); pzjlDTO.setCount(count); pzDTOList.add(pzjlDTO); } } mv.addObject("pzDTOList", pzDTOList); } mv.addObject("ksrq", ksrq); mv.addObject("jsrq", jsrq); return mv; } /** * 加载配种记录新增/修改页面 * @param request * @param response * @return * @throws Exception */ public ModelAndView hpSjlrPzAdd(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("haifmp/sjlr/pz/hpSjlrPzjlAdd.htm"); String dweb = request.getParameter("dweb"); String id = request.getParameter("id"); String mcid = request.getParameter("mcid"); String date = request.getParameter("date"); String type = request.getParameter("type"); String npgz = request.getParameter("npgz"); List slList = getGydm(XtAppConstant.CODE_SJLR_SL); List pzsmList = getGydm(XtAppConstant.CODE_SJLR_PZSM); Map paramMap = new HashMap(); SjlrPzjl sjlrPzjl = new SjlrPzjl(); if ("undefined".equals(id)) { id = null; } if (StringUtils.hasText(mcid)) { //有ID,无动物耳标 修改 if (StringUtils.hasText(id) && !StringUtils.hasText(dweb)) { sjlrPzjl = sjlrPzjlDAO.selectByPrimaryKey(Integer.parseInt(id)); dweb = sjlrPzjl.getMzeb(); paramMap.put("mzeb", dweb); int pztc = sjlrPzjlDAO.countPztcByParam(paramMap); sjlrPzjl.setPztc(pztc + ""); id = null; //获得母猪耳牌号 SjlrMzdaExample mzEx = new SjlrMzdaExample(); SjlrMzdaExample.Criteria mzCr = mzEx.createCriteria(); mzCr.andDwebEqualTo(sjlrPzjl.getMzeb()).andMcidEqualTo(Integer.parseInt(mcid)); mzCr.andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); String eph = sjlrMzdaDAO.selectByExample(mzEx).get(0).getEph(); sjlrPzjl.setEph(eph); //获得首配公猪耳牌号 String ypgzep = ""; if (sjlrPzjl.getYpgzeb() != null) { ypgzep = this.geteph(sjlrPzjl.getYpgzeb()); } sjlrPzjl.setYpep(ypgzep); //没有ID 新增 } else if (StringUtils.hasText(dweb)) { if (!StringUtils.hasText(type)) { sjlrPzjl.setMzeb(dweb); } if (StringUtils.hasText(dweb)) { if (StringUtils.hasText(type)) { if ("mzep".equals(type)) { sjlrPzjl.setMzeb(dweb); SjlrMzdaExample mzdaEx = new SjlrMzdaExample(); SjlrMzdaExample.Criteria mzdaCr = mzdaEx.createCriteria(); mzdaCr.andDwebEqualTo(sjlrPzjl.getMzeb()).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); if (StringUtils.hasText(mcid)) { mzdaCr.andMcidEqualTo(Integer.parseInt(mcid)); } List mzdaList = sjlrMzdaDAO.selectByExample(mzdaEx); if (mzdaList != null && mzdaList.size() > 0) { sjlrPzjl.setPzls(mzdaList.get(0).getSl()); sjlrPzjl.setZrls(mzdaList.get(0).getSl()); sjlrPzjl.setEph(mzdaList.get(0).getEph()); } SjlrPzjlExample pzjlEx = new SjlrPzjlExample(); pzjlEx.createCriteria().andMzebEqualTo(dweb); int count = sjlrPzjlDAO.countByExample(pzjlEx); sjlrPzjl.setPztc(count + 1 + ""); if (count == 0) { sjlrPzjl.setPzsm("2"); } String mzfqjg = request.getParameter("mzfqjg"); if (StringUtils.hasText(mzfqjg)) { sjlrPzjl.setFqjg(Integer.parseInt(mzfqjg)); } } else if ("ypep".equals(type)) { sjlrPzjl.setYpgzeb(dweb); String ypep = request.getParameter("eph"); sjlrPzjl.setYpep(ypep); } /*else if ("epep".equals(type)) { sjlrPzjl.setEpgzeb(dweb); } else if ("spep".equals(type)) { sjlrPzjl.setSpgzeb(dweb); }*/ } } } String mzeb = request.getParameter("mzeb"); if (StringUtils.hasText(mzeb) && !"mzep".equals(type)) { sjlrPzjl.setMzeb(mzeb); } if (StringUtils.hasText(id)) { sjlrPzjl.setId(Integer.parseInt(id)); } String pzls = request.getParameter("pzls"); if (StringUtils.hasText(pzls)) { sjlrPzjl.setPzls(pzls); } String zrls = request.getParameter("zrls"); if (StringUtils.hasText(zrls)) { sjlrPzjl.setZrls(zrls); } String bb = request.getParameter("bb"); if (StringUtils.hasText(bb)) { sjlrPzjl.setBb(bb); } String pzsm = request.getParameter("pzsm"); if (StringUtils.hasText(pzsm)) { sjlrPzjl.setPzsm(pzsm); } String pztc = request.getParameter("pztc"); if (StringUtils.hasText(pztc)) { sjlrPzjl.setPztc(pztc); } String fqjg = request.getParameter("fqjg"); if (sjlrPzjl.getFqjg() == null && StringUtils.hasText(fqjg)) { sjlrPzjl.setFqjg(Integer.parseInt(fqjg)); } String ypgzeb = request.getParameter("ypgzeb"); if (StringUtils.hasText(type) && !"ypep".equals(type) && StringUtils.hasText(ypgzeb)) { sjlrPzjl.setYpgzeb(ypgzeb); } String yppf = request.getParameter("yppf"); if (StringUtils.hasText(yppf)) { sjlrPzjl.setYppf(yppf); } /*String epgzeb = request.getParameter("epgzeb"); if (StringUtils.hasText(type) && !"epep".equals(type) && StringUtils.hasText(epgzeb)) { sjlrPzjl.setEpgzeb(epgzeb); } String eppf = request.getParameter("eppf"); if (StringUtils.hasText(eppf)) { sjlrPzjl.setEppf(eppf); } String spgzeb = request.getParameter("spgzeb"); if (StringUtils.hasText(type) && !"spep".equals(type) && StringUtils.hasText(spgzeb)) { sjlrPzjl.setSpgzeb(spgzeb); } String sppf = request.getParameter("sppf"); if (StringUtils.hasText(sppf)) { sjlrPzjl.setSppf(sppf); }*/ String pzsj = request.getParameter("pzsj"); if (StringUtils.hasText(pzsj)) { sjlrPzjl.setPzsj(DateUtil.parserTo(pzsj)); } else { //修改中,配种时间为配种记录的配种时间 if (sjlrPzjl.getPzsj()== null ) { sjlrPzjl.setPzsj(DateUtil.parserTo(date)); } } String ypep = request.getParameter("ypep"); if (StringUtils.hasText(type) && !"ypep".equals(type) && StringUtils.hasText(ypep)) { sjlrPzjl.setYpep(ypep); } String mzep = request.getParameter("mzep"); if (StringUtils.hasText(mzep) && !"mzep".equals(type)) { sjlrPzjl.setEph(mzep); } /*String epep = request.getParameter("epep"); if (StringUtils.hasText(epep)) { sjlrPzjl.setEpep(epep); } String spep = request.getParameter("spep"); if (StringUtils.hasText(spep)) { sjlrPzjl.setSpep(spep); }*/ mv.addObject("pzsmList", pzsmList); mv.addObject("slList", slList); mv.addObject("sjlrPzjl", sjlrPzjl); mv.addObject("id", sjlrPzjl.getId()); mv.addObject("npgz",npgz); } return mv; } /** * 保存 * @param request * @throws Exception */ public void saveSjlrPzjl(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"); SjlrPzjl sjlrPzjl = new SjlrPzjl(); sjlrPzjl = (SjlrPzjl) parseObjectFromRequest(request, sjlrPzjl); Date mzrl = null; Date gzrl = null; sjlrPzjl.setXgr(getLoginSessionBean(request).getYhid().toString()); sjlrPzjl.setXgsj(commonService.getCurrentDate()); sjlrPzjl.setZfbz(XtAppConstant.ZFBZ_VALID); if (sjlrPzjl.getFqjg() == null) { sjlrPzjl.setFqjg(0); } if (StringUtils.hasText(request.getParameter("mzeb"))) { sjlrPzjl.setMzeb(request.getParameter("mzeb")); } if (StringUtils.hasText(request.getParameter("ypgzeb"))) { sjlrPzjl.setYpgzeb(request.getParameter("ypgzeb")); } /*if (StringUtils.hasText(request.getParameter("epgzeb"))) { sjlrPzjl.setEpgzeb(request.getParameter("epgzeb")); } if (StringUtils.hasText(request.getParameter("spgzeb"))) { sjlrPzjl.setSpgzeb(request.getParameter("spgzeb")); }*/ if (!StringUtils.hasText(sjlrPzjl.getYppf())) { sjlrPzjl.setYppf("0"); } /*if (!StringUtils.hasText(sjlrPzjl.getEppf())) { sjlrPzjl.setEppf("0"); } if (!StringUtils.hasText(sjlrPzjl.getSppf())) { sjlrPzjl.setSppf("0"); }*/ if (!StringUtils.hasText(sjlrPzjl.getBb())) { sjlrPzjl.setBb("0"); } //配种时间不能超过母猪和公猪的入栏日期 //母猪入栏日期 SjlrMzdaExample mzEx = new SjlrMzdaExample(); SjlrMzdaExample.Criteria mzCr = mzEx.createCriteria(); if (StringUtils.hasText(sjlrPzjl.getMzeb())) { mzCr.andDwebEqualTo(sjlrPzjl.getMzeb()).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); mzrl = sjlrMzdaDAO.selectByExample(mzEx).get(0).getRlrq(); } //公猪入栏日期 SjlrGzdaExample gzEx = new SjlrGzdaExample(); SjlrGzdaExample.Criteria gzCr = gzEx.createCriteria(); if (StringUtils.hasText(sjlrPzjl.getYpgzeb())) { gzCr.andDwebEqualTo(sjlrPzjl.getYpgzeb()).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); gzrl = sjlrGzdaDAO.selectByExample(gzEx).get(0).getRlrq(); } String date = request.getParameter("date"); if (StringUtils.hasText(date)) { SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); Date pzsj = sdf.parse(date); if (StringUtils.hasText(sjlrPzjl.getMzeb())) { if (pzsj.getTime() < mzrl.getTime()) { String jsonStr = "{\"count\" : \"2\"}"; response.getWriter().write(jsonStr); return; } } if (StringUtils.hasText(sjlrPzjl.getYpgzeb())) { if (pzsj.getTime() < gzrl.getTime()) { String jsonStr = "{\"count\" : \"3\"}"; response.getWriter().write(jsonStr); return; } } } if (sjlrPzjl.getId().equals(0)) { sjlrPzjlDAO.insertSelective(sjlrPzjl); }else { sjlrPzjlDAO.updateByPrimaryKeySelective(sjlrPzjl); } String zrsl = sjlrPzjl.getZrls(); if (StringUtils.hasText(zrsl)) { SjlrMzdaExample mzdaEx = new SjlrMzdaExample(); SjlrMzdaExample.Criteria mzdaCr = mzdaEx.createCriteria(); mzdaCr.andDwebEqualTo(sjlrPzjl.getMzeb()).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); String mcid = request.getParameter("mcid"); if (StringUtils.hasText(mcid)) { mzdaCr.andMcidEqualTo(Integer.parseInt(mcid)); } SjlrMzda sjlrMzda = new SjlrMzda(); sjlrMzda.setSl(zrsl); sjlrMzda.setXgr(getLoginSessionBean(request).getYhid().toString()); sjlrMzda.setXgsj(commonService.getCurrentDate()); sjlrMzda.setDqzt("16"); sjlrMzdaDAO.updateByExampleSelective(sjlrMzda, mzdaEx); } String jsonStr = "{\"count\" : \"1\"}"; response.getWriter().write(jsonStr); } /** * 版权所有:慧牧科技 * 项目名称:数据录入 * 创建者: * 创建日期:2017-5-10 * 文件说明:耳标公共查询页面 * 最近修改者 xudan * 最近修改日期:2017-5-22 * */ public ModelAndView getPzjlSearchDweb(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("haifmp/sjlr/pz/pzjlSearchModel.htm"); String dweb = request.getParameter("dweb"); String mcid = request.getParameter("mcid"); String type = request.getParameter("type"); String npgz = request.getParameter("npgz"); String cxeph = request.getParameter("cxeph"); String pzsj = request.getParameter("pzsj"); Date drpzsj = null; String gzeb = ""; List cjjgList = null; List mzList = new ArrayList(); SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.hasText(pzsj)) { drpzsj = sdf.parse(pzsj); } if (StringUtils.hasText(mcid)) { List dqztList = getGydm(XtAppConstant.CODE_SJLR_MZZT); List pzList = getGydm(XtAppConstant.CODE_SJLR_ZZPZ); if (StringUtils.hasText(type) && "mzep".equals(type)) { Map paramMap = new HashMap(); paramMap.put("mcid", mcid); if (StringUtils.hasText(dweb)) { //根据耳标号 paramMap.put("dweb", "%" + dweb +"%" ); mv.addObject("dweb",dweb); } else if (StringUtils.hasText(cxeph)) { //根据耳牌号查 paramMap.put("cxeph","%" + cxeph +"%" ); mv.addObject("cxeph",cxeph); } List mzdaList = sjlrPzjlDAO.selectPzjlMzdaListByParam(paramMap); if (mzdaList != null && mzdaList.size() > 0) { for (SjlrMzda sjlrMzda : mzdaList) { //品种 if (StringUtils.hasText(sjlrMzda.getPz())) { for (XtGydm xtGydm : pzList) { if (sjlrMzda.getPz().equals(xtGydm.getDmid())) { sjlrMzda.setPzStr(xtGydm.getDmmc()); } } } //当前状态 if (StringUtils.hasText(sjlrMzda.getDqzt())) { for (XtGydm xtGydm : dqztList) { if (sjlrMzda.getDqzt().equals(xtGydm.getDmid())) { sjlrMzda.setDqztStr(xtGydm.getDmmc()); } } } //失配天数 long day = 0; if (sjlrMzda.getZjpzsj() != null && drpzsj != null) { day = (drpzsj.getTime() - sjlrMzda.getZjpzsj().getTime()) / DateUtil.MILLSECOND_OF_DAY + 1; } else { day = (drpzsj.getTime() - sjlrMzda.getCsrq().getTime()) / DateUtil.MILLSECOND_OF_DAY + 1; } sjlrMzda.setSpts(day); mzList.add(sjlrMzda); } } mv.addObject("mzList", mzList); } else { SjlrGzdaExample gzdaEx = new SjlrGzdaExample(); SjlrGzdaExample.Criteria cr = gzdaEx.createCriteria(); List dqzt = new ArrayList(); dqzt.add("1"); dqzt.add("9"); dqzt.add("15"); dqzt.add("11"); cr.andZfbzEqualTo(XtAppConstant.ZFBZ_VALID).andMcidEqualTo(Integer.parseInt(mcid)).andDqztIn(dqzt); //手持机输入动物耳标 if (StringUtils.hasText(dweb)) { cr.andDwebLike("%" + dweb + "%"); mv.addObject("dweb", dweb); } //手动输入耳牌号 if (StringUtils.hasText(cxeph)) { cr.andEphLike("%" + cxeph + "%"); mv.addObject("dweb", cxeph); } //在场公猪 cr.andLcrqIsNull(); List gzdaList = sjlrGzdaDAO.selectByExample(gzdaEx); SjlrPzjlExample pzjlEx = new SjlrPzjlExample(); SjlrPzjlExample.Criteria pzcr = pzjlEx.createCriteria(); pzcr.andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); List pzjlList = sjlrPzjlDAO.selectByExample(pzjlEx); if (gzdaList != null && gzdaList.size() > 0) { for (SjlrGzda sjlrGzda : gzdaList) { //品种 if (StringUtils.hasText(sjlrGzda.getPz())) { for (XtGydm xtGydm : pzList) { if (sjlrGzda.getPz().equals(xtGydm.getDmid())) { sjlrGzda.setPzStr(xtGydm.getDmmc()); } } } //当前状态 if (StringUtils.hasText(sjlrGzda.getDqzt())) { for (XtGydm xtGydm : dqztList) { if (sjlrGzda.getDqzt().equals(xtGydm.getDmid())) { sjlrGzda.setDqztStr(xtGydm.getDmmc()); } } } cjjgList = new ArrayList(); Date cjjg = null; gzeb = sjlrGzda.getDweb(); for (SjlrPzjl sjlrPzjl : pzjlList) { if (StringUtils.hasText(gzeb)) { if (gzeb.equals(sjlrPzjl.getYpgzeb())) { if (StringUtils.hasText(sjlrPzjl.getPzsj().toString())) { cjjg = sjlrPzjl.getPzsj(); cjjgList.add(cjjg); } } else if (gzeb.equals(sjlrPzjl.getEpgzeb())) { if (StringUtils.hasText(sjlrPzjl.getPzsj().toString())) { cjjg = sjlrPzjl.getPzsj(); cjjgList.add(cjjg); } } else if (gzeb.equals(sjlrPzjl.getSpgzeb())) { if (StringUtils.hasText(sjlrPzjl.getPzsj().toString())) { cjjg = sjlrPzjl.getPzsj(); cjjgList.add(cjjg); } } } } if (cjjg == null) { cjjg = sjlrGzda.getCsrq(); cjjgList.add(cjjg); } cjjg = Collections.max(cjjgList); long date = cjjg.getTime(); sjlrGzda.setPzjg((drpzsj.getTime()-date) / DateUtil.MILLSECOND_OF_DAY + 1); } } mv.addObject("gzdaList", gzdaList); } if (StringUtils.hasText(type)) { mv.addObject("type", type); } if (StringUtils.hasText(pzsj)) { mv.addObject("pzsj", pzsj); } String id = request.getParameter("id"); if (StringUtils.hasText(id)) { mv.addObject("id", id); } String mzeb = request.getParameter("mzeb"); if (StringUtils.hasText(mzeb)) { mv.addObject("mzeb", mzeb); } String pzls = request.getParameter("pzls"); if (StringUtils.hasText(pzls)) { mv.addObject("pzls", pzls); } String zrls = request.getParameter("zrls"); if (StringUtils.hasText(zrls)) { mv.addObject("zrls", zrls); } String bb = request.getParameter("bb"); if (StringUtils.hasText(bb)) { mv.addObject("bb", bb); } String pztc = request.getParameter("pztc"); if (StringUtils.hasText(pztc)) { mv.addObject("pztc", pztc); } String pzsm = request.getParameter("pzsm"); if (StringUtils.hasText(pzsm)) { mv.addObject("pzsm", pzsm); } String fqjg = request.getParameter("fqjg"); if (StringUtils.hasText(fqjg)) { mv.addObject("fqjg", fqjg); } String ypgzeb = request.getParameter("ypgzeb"); if (StringUtils.hasText(ypgzeb)) { mv.addObject("ypgzeb", ypgzeb); } String yppf = request.getParameter("yppf"); if (StringUtils.hasText(yppf)) { mv.addObject("yppf", yppf); } /*String epgzeb = request.getParameter("epgzeb"); if (StringUtils.hasText(epgzeb)) { mv.addObject("epgzeb", epgzeb); } String eppf = request.getParameter("eppf"); if (StringUtils.hasText(eppf)) { mv.addObject("eppf", eppf); } String spgzeb = request.getParameter("spgzeb"); if (StringUtils.hasText(spgzeb)) { mv.addObject("spgzeb", spgzeb); } String sppf = request.getParameter("sppf"); if (StringUtils.hasText(sppf)) { mv.addObject("sppf", sppf); }*/ String ypep = request.getParameter("ypep"); if (StringUtils.hasText(ypep)) { mv.addObject("ypep", ypep); } /*String epep = request.getParameter("epep"); if (StringUtils.hasText(epep)) { mv.addObject("epep", epep); } String spep = request.getParameter("spep"); if (StringUtils.hasText(spep)) { mv.addObject("spep", spep); }*/ String mzep = request.getParameter("mzep"); if (StringUtils.hasText(mzep)) { mv.addObject("mzep", mzep); } } mv.addObject("npgz",npgz); return mv; } /** * 是否是24小时之内的数据 * @param request * @throws Exception */ public void checkPzDataIsIn24H(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 = ""; boolean isIn24H = false ; if (StringUtils.hasText(id)) { SjlrPzjlExample PzjlEx = new SjlrPzjlExample(); SjlrPzjlExample.Criteria pzjlCr = PzjlEx.createCriteria(); pzjlCr.andIdEqualTo(Integer.valueOf(id)).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); List PzjlList = sjlrPzjlDAO.selectByExample(PzjlEx); if (PzjlList.size() > 0) { isIn24H = (commonService.getCurrentDate().getTime() - PzjlList.get(0).getPzsj().getTime()) <= 24*60*60*1000; } } if (isIn24H) { //如果是24小时内数据,判断是否已经妊娠 SjlrRsjlExample rsEx = new SjlrRsjlExample(); SjlrRsjlExample.Criteria rsCr = rsEx.createCriteria(); rsCr.andPzidEqualTo(Integer.parseInt(id)).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); int count = sjlrRsjlDAO.countByExample(rsEx); if (count == 0){ jsonStr = "{\"count\" : \"1\"}"; //修改 } else { jsonStr = "{\"count\" : \"2\"}"; //已有配种记录 } } else { jsonStr = "{\"count\" : \"0\"}"; //已超过24小时,无法修改 } response.getWriter().write(jsonStr); } /** * 是否在24小时后36小时内妊娠 * @param request * @throws Exception */ public void checkRsIn36Hour(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 pzid = request.getParameter("id"); SjlrPzjl pzjl = null; String text = ""; //①xxxx @ ②x@ ③x ①返回的字段,②是否跳转到新增修改页面 f=不跳,t=跳 , //③跳转到页面后哪配可以新增,0=不配种,1=重新配种,2=添加二配公猪字段,3=添加三配公猪字段 //根据配种ID查询妊娠记录中有无此配种ID SjlrRsjlExample rsEx = new SjlrRsjlExample(); SjlrRsjlExample.Criteria rsCr = rsEx.createCriteria(); rsCr.andPzidEqualTo(Integer.parseInt(pzid)).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); int count = sjlrRsjlDAO.countByExample(rsEx); //查询妊娠记录中有无此配种ID if (count <= 0) { //没有配种记录 查询此配种记录是否在36小时之内 pzjl = sjlrPzjlDAO.selectByPrimaryKey(Integer.parseInt(pzid)); String epzzid = pzjl.getEpgzeb(); boolean isIn36H = (commonService.getCurrentDate().getTime() - pzjl.getPzsj().getTime()) <= 36*60*60*1000; //配种时间<36小时 if (isIn36H) { //查询二配种猪ID //有二配种猪ID 36小时内未妊娠又已经有二配种猪ID ,等待36小时过去 if (StringUtils.hasText(epzzid)) { text = "36小时内已二配@f@0"; //无二配种猪ID,跳转页面,添加二配种猪ID } else { text = "@t@2"; } //配种时间>36小时,查询有无二配种猪ID } else { boolean isIn72H = (commonService.getCurrentDate().getTime() - pzjl.getPzsj().getTime()) <= 72*60*60*1000; //配种时间<72小时 if (isIn72H) { //有二配种猪ID ,查询有无三陪种猪ID if (StringUtils.hasText(epzzid)){ String spgzid = pzjl.getSpgzeb(); //有三配种猪ID ,等待到第72个小时 if (StringUtils.hasText(spgzid)){ text = "已有3配公猪记录@f@0"; //没有三配种猪ID,添加三配种猪ID } else { text = "@t@3"; } //无二配种猪ID,重新一配 } else { text = "请重新配种@t@1"; } //配种时间超过72小时,还没有妊娠 } else { text = "配种时间已超过72小时,请重新配种@t@1"; } } //妊娠记录中有配种ID } else { text = "恭喜!已妊娠成功@f@0"; } response.getWriter().write(text); } public String geteph(String dweb) { SjlrGzdaExample gzEx = new SjlrGzdaExample(); SjlrGzdaExample.Criteria gzCr = gzEx.createCriteria(); gzCr.andDwebEqualTo(dweb); String eph = sjlrGzdaDAO.selectByExample(gzEx).get(0).getEph(); return eph; } /** * 获取公用代码 * @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 setSjlrPzjlDAO(SjlrPzjlDAO sjlrPzjlDAO) { this.sjlrPzjlDAO = sjlrPzjlDAO; } public void setSjlrMzdaDAO(SjlrMzdaDAO sjlrMzdaDAO) { this.sjlrMzdaDAO = sjlrMzdaDAO; } public void setSjlrRsjlDAO(SjlrRsjlDAO sjlrRsjlDAO) { this.sjlrRsjlDAO = sjlrRsjlDAO; } }