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.sjlrFmjlDTO; import com.huimv.sjlr.dao.SjlrDnjlDAO; import com.huimv.sjlr.dao.SjlrFmjlDAO; import com.huimv.sjlr.dao.SjlrMzdaDAO; import com.huimv.sjlr.dao.SjlrPzjlDAO; import com.huimv.sjlr.dao.SjlrRsjlDAO; import com.huimv.sjlr.dataobject.SjlrDnjlExample; import com.huimv.sjlr.dataobject.SjlrFmjl; import com.huimv.sjlr.dataobject.SjlrFmjlExample; import com.huimv.sjlr.dataobject.SjlrMzda; import com.huimv.sjlr.dataobject.SjlrMzdaExample; import com.huimv.sjlr.dataobject.SjlrPzjl; import com.huimv.sjlr.dataobject.SjlrRsjl; import com.huimv.sjlr.dataobject.SjlrRsjlExample; import com.huimv.web.base.BaseController; import com.huimv.xt.dao.XtGydmDAO; import com.huimv.xt.dataobject.XtGydm; public class HaifmvSjlrFmHpController extends BaseController { private CommonService commonService; private XtGydmDAO xtGydmDAO; private SjlrMzdaDAO sjlrMzdaDAO; private SjlrFmjlDAO sjlrFmjlDAO; private SjlrRsjlDAO sjlrRsjlDAO; private SjlrPzjlDAO sjlrPzjlDAO; private SjlrDnjlDAO sjlrDnjlDAO; /** * 加载档案 * @param request * @param response * @return * @throws Exception */ public ModelAndView hvSjlrFmIndex(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("haifmv/sjrl/fm/fmjl.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"); List fmList = null; sjlrFmjlDTO fmDTO = null; List fmDTOlist = new ArrayList(); int countjzgs = 0; int countrzgs = 0; int countjxzgs = 0; int countszgs = 0; int countmnygs = 0; int allCounthzgs = 0; int allCountszgs = 0; int count = 0; int countgz = 0; int countmz = 0; int countPage = 0; int maxPages = 0; String date=""; if (StringUtils.hasText(mcid)) { paramMap.put("mcid", mcid); paramMap.put("order", XtSearchSqlConstant.order_by_fm); 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 = sjlrFmjlDAO.selectFmjlListByParam(paramMap).size(); maxPages = (countPage % 15 == 0 ? countPage / 15 : countPage/15 + 1); paramMap.put("limit", "limit 0,15"); List fmjlList = sjlrFmjlDAO.selectFmjlListByParam(paramMap); if (fmjlList.size() == 0) {//如果当天没有则取最近一天 Map paramMapPz = new HashMap(); paramMapPz.put("order", XtSearchSqlConstant.order_by_fm); paramMapPz.put("mcid", mcid); countPage = sjlrFmjlDAO.selectFmjlListByParam(paramMap).size(); maxPages = (countPage % 15 == 0 ? countPage / 15 : countPage/15 + 1); paramMap.put("limit", "limit 0,15"); List fmjlListFm = sjlrFmjlDAO.selectFmjlListByParam(paramMapPz); if (fmjlListFm.size() > 0) { String lastFmsj = DateUtil.parserDateToDefaultString(fmjlListFm.get(0).getFmsj()); String lastJsrq = lastFmsj; String lastksrq = lastJsrq; paramMap.put("jsrq", lastJsrq); paramMap.put("ksrq", lastksrq); fmjlList.clear(); fmjlList = sjlrFmjlDAO.selectFmjlListByParam(paramMap); } } if (fmjlList != null && fmjlList.size() > 0) { for (int i = 0; i < fmjlList.size();i++) { int hzgs = 0; int szgs = 0; SjlrFmjl sjlrFmjl =fmjlList.get(i); //根据耳标号查询耳牌号 SjlrMzdaExample mzEx = new SjlrMzdaExample(); SjlrMzdaExample.Criteria mzCr = mzEx.createCriteria(); mzCr.andDwebEqualTo(sjlrFmjl.getDweb()).andMcidEqualTo(Integer.parseInt(mcid)).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); String eph = sjlrMzdaDAO.selectByExample(mzEx).get(0).getEph(); sjlrFmjl.setEph(eph); if (sjlrFmjl.getJzgs() == null) { sjlrFmjl.setJzgs(0); //健仔数 } else { hzgs += sjlrFmjl.getJzgs(); } if (sjlrFmjl.getRzgs() == null) { sjlrFmjl.setRzgs(0);//弱仔数 } else { hzgs += sjlrFmjl.getRzgs(); } if (sjlrFmjl.getJxgs() == null) { sjlrFmjl.setJxgs(0);//畸形 } else { hzgs += sjlrFmjl.getJxgs(); } if (sjlrFmjl.getMnygs() == null) { sjlrFmjl.setMnygs(0);//木乃伊 } else { szgs += sjlrFmjl.getMnygs(); } if (sjlrFmjl.getStgs() == null) { sjlrFmjl.setStgs(0);//死胎数 } else { szgs += sjlrFmjl.getStgs(); } if (sjlrFmjl.getGzgs() == null) { sjlrFmjl.setGzgs(0); //公猪数 } if (sjlrFmjl.getMzgs() == null) { sjlrFmjl.setMzgs(0); //母猪数 } sjlrFmjl.setHzgs(String.valueOf(hzgs)); sjlrFmjl.setSzgs(String.valueOf(szgs)); //分娩胎次 SjlrFmjlExample fmEx = new SjlrFmjlExample(); SjlrFmjlExample.Criteria fmCr = fmEx.createCriteria(); fmCr.andDwebEqualTo(sjlrFmjl.getDweb()).andIdLessThanOrEqualTo(sjlrFmjl.getId()).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); int fmtcCount = sjlrFmjlDAO.countByExample(fmEx); sjlrFmjl.setFmtc(String.valueOf(fmtcCount)); //业务逻辑 if (i == 0) { fmDTO = new sjlrFmjlDTO(); fmList = new ArrayList(); date = DateUtil.parserDateToDefaultString(sjlrFmjl.getFmsj()); fmDTO.setFmrq(date); fmList.add(sjlrFmjl); count++; countjzgs = sjlrFmjl.getJzgs(); countrzgs = sjlrFmjl.getRzgs(); countjxzgs = sjlrFmjl.getJxgs(); countszgs = sjlrFmjl.getStgs(); countmnygs = sjlrFmjl.getMnygs(); allCounthzgs = Integer.parseInt(sjlrFmjl.getHzgs()); allCountszgs = Integer.parseInt(sjlrFmjl.getSzgs()); countgz = sjlrFmjl.getGzgs(); countmz = sjlrFmjl.getMzgs(); } else { if (DateUtil.parserDateToDefaultString(sjlrFmjl.getFmsj()).equals(date)) { count++; countjzgs += sjlrFmjl.getJzgs(); countrzgs += sjlrFmjl.getRzgs(); countjxzgs += sjlrFmjl.getJxgs(); countszgs += sjlrFmjl.getStgs(); countmnygs += sjlrFmjl.getMnygs(); allCounthzgs += Integer.parseInt(sjlrFmjl.getHzgs()); allCountszgs += Integer.parseInt(sjlrFmjl.getSzgs()); countgz += sjlrFmjl.getGzgs(); countmz += sjlrFmjl.getMzgs(); fmList.add(sjlrFmjl); }else { fmDTO.setFmList(fmList); fmDTO.setCount(count); fmDTO.setAllCountH(String.valueOf(allCounthzgs)); fmDTO.setAllCountS(String.valueOf(allCountszgs)); fmDTO.setCountj( countjzgs); fmDTO.setCountr(countrzgs); fmDTO.setCountjx(countjxzgs); fmDTO.setCountm(countmnygs); fmDTO.setCounts(countszgs); fmDTO.setCountgz(countgz); fmDTO.setCountmz(countmz); fmDTOlist.add(fmDTO); fmDTO = new sjlrFmjlDTO(); fmList = new ArrayList(); date = DateUtil.parserDateToDefaultString(sjlrFmjl.getFmsj()); fmDTO.setFmrq(date); fmList.add(sjlrFmjl); count = 1; countjzgs = sjlrFmjl.getJzgs(); countrzgs = sjlrFmjl.getRzgs(); countjxzgs = sjlrFmjl.getJxgs(); countszgs = sjlrFmjl.getStgs(); countmnygs = sjlrFmjl.getMnygs(); allCounthzgs = Integer.parseInt(sjlrFmjl.getHzgs()); allCountszgs += Integer.parseInt(sjlrFmjl.getSzgs()); countgz = sjlrFmjl.getGzgs(); countmz = sjlrFmjl.getMzgs(); } } } if (count > 0) { fmDTO.setFmList(fmList); fmDTO.setCount(count); fmDTO.setAllCountH(String.valueOf(allCounthzgs)); fmDTO.setAllCountS(String.valueOf(allCountszgs)); fmDTO.setCountj( countjzgs); fmDTO.setCountr(countrzgs); fmDTO.setCountjx(countjxzgs); fmDTO.setCountm(countmnygs); fmDTO.setCounts(countszgs); fmDTO.setCountgz(countgz); fmDTO.setCountmz(countmz); fmDTOlist.add(fmDTO); } } mv.addObject("fmDTOlist", fmDTOlist); } /* mv.addObject("ksrq", ksrq); mv.addObject("jsrq", jsrq);*/ mv.addObject("dweb", dweb); mv.addObject("maxPages",maxPages); return mv; } /** * 分娩记录首页的下拉加载 * @param request * @param response * @throws Exception */ public void addSjlrFmjl(HttpServletRequest request, HttpServletResponse response) throws Exception { 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 page = request.getParameter("page"); List fmList = null; sjlrFmjlDTO fmDTO = null; List fmDTOlist = new ArrayList(); int countjzgs = 0; int countrzgs = 0; int countjxzgs = 0; int countszgs = 0; int countmnygs = 0; int allCounthzgs = 0; int allCountszgs = 0; int count = 0; int countgz = 0; int countmz = 0; String date=""; if (StringUtils.hasText(mcid)) { paramMap.put("mcid", mcid); paramMap.put("order", XtSearchSqlConstant.order_by_fm); 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); if (StringUtils.hasText(dweb)) { //根据耳标号 paramMap.put("dweb", "%" + dweb +"%" ); } else if (StringUtils.hasText(cxeph)) { //根据耳牌号查 paramMap.put("cxeph","%" + cxeph +"%" ); } paramMap.put("limit", "limit " + (Integer.parseInt(page)-1)*15+",15"); List fmjlList = sjlrFmjlDAO.selectFmjlListByParam(paramMap); if (fmjlList != null && fmjlList.size() > 0) { for (int i = 0; i < fmjlList.size();i++) { int hzgs = 0; int szgs = 0; SjlrFmjl sjlrFmjl =fmjlList.get(i); //根据耳标号查询耳牌号 SjlrMzdaExample mzEx = new SjlrMzdaExample(); SjlrMzdaExample.Criteria mzCr = mzEx.createCriteria(); mzCr.andDwebEqualTo(sjlrFmjl.getDweb()).andMcidEqualTo(Integer.parseInt(mcid)).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); String eph = sjlrMzdaDAO.selectByExample(mzEx).get(0).getEph(); sjlrFmjl.setEph(eph); if (sjlrFmjl.getJzgs() == null) { sjlrFmjl.setJzgs(0); //健仔数 } else { hzgs += sjlrFmjl.getJzgs(); } if (sjlrFmjl.getRzgs() == null) { sjlrFmjl.setRzgs(0);//弱仔数 } else { hzgs += sjlrFmjl.getRzgs(); } if (sjlrFmjl.getJxgs() == null) { sjlrFmjl.setJxgs(0);//畸形 } else { hzgs += sjlrFmjl.getJxgs(); } if (sjlrFmjl.getMnygs() == null) { sjlrFmjl.setMnygs(0);//木乃伊 } else { szgs += sjlrFmjl.getMnygs(); } if (sjlrFmjl.getStgs() == null) { sjlrFmjl.setStgs(0);//死胎数 } else { szgs += sjlrFmjl.getStgs(); } if (sjlrFmjl.getGzgs() == null) { sjlrFmjl.setGzgs(0); //公猪数 } if (sjlrFmjl.getMzgs() == null) { sjlrFmjl.setMzgs(0); //母猪数 } sjlrFmjl.setHzgs(String.valueOf(hzgs)); sjlrFmjl.setSzgs(String.valueOf(szgs)); //分娩胎次 SjlrFmjlExample fmEx = new SjlrFmjlExample(); SjlrFmjlExample.Criteria fmCr = fmEx.createCriteria(); fmCr.andDwebEqualTo(sjlrFmjl.getDweb()).andIdLessThanOrEqualTo(sjlrFmjl.getId()).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); int fmtcCount = sjlrFmjlDAO.countByExample(fmEx); sjlrFmjl.setFmtc(String.valueOf(fmtcCount)); //业务逻辑 if (i == 0) { fmDTO = new sjlrFmjlDTO(); fmList = new ArrayList(); date = DateUtil.parserDateToDefaultString(sjlrFmjl.getFmsj()); fmDTO.setFmrq(date); fmList.add(sjlrFmjl); count++; countjzgs = sjlrFmjl.getJzgs(); countrzgs = sjlrFmjl.getRzgs(); countjxzgs = sjlrFmjl.getJxgs(); countszgs = sjlrFmjl.getStgs(); countmnygs = sjlrFmjl.getMnygs(); allCounthzgs = Integer.parseInt(sjlrFmjl.getHzgs()); allCountszgs = Integer.parseInt(sjlrFmjl.getSzgs()); countgz = sjlrFmjl.getGzgs(); countmz = sjlrFmjl.getMzgs(); } else { if (DateUtil.parserDateToDefaultString(sjlrFmjl.getFmsj()).equals(date)) { count++; countjzgs += sjlrFmjl.getJzgs(); countrzgs += sjlrFmjl.getRzgs(); countjxzgs += sjlrFmjl.getJxgs(); countszgs += sjlrFmjl.getStgs(); countmnygs += sjlrFmjl.getMnygs(); allCounthzgs += Integer.parseInt(sjlrFmjl.getHzgs()); allCountszgs += Integer.parseInt(sjlrFmjl.getSzgs()); countgz += sjlrFmjl.getGzgs(); countmz += sjlrFmjl.getMzgs(); fmList.add(sjlrFmjl); }else { fmDTO.setFmList(fmList); fmDTO.setCount(count); fmDTO.setAllCountH(String.valueOf(allCounthzgs)); fmDTO.setAllCountS(String.valueOf(allCountszgs)); fmDTO.setCountj( countjzgs); fmDTO.setCountr(countrzgs); fmDTO.setCountjx(countjxzgs); fmDTO.setCountm(countmnygs); fmDTO.setCounts(countszgs); fmDTO.setCountgz(countgz); fmDTO.setCountmz(countmz); fmDTOlist.add(fmDTO); fmDTO = new sjlrFmjlDTO(); fmList = new ArrayList(); date = DateUtil.parserDateToDefaultString(sjlrFmjl.getFmsj()); fmDTO.setFmrq(date); fmList.add(sjlrFmjl); count = 1; countjzgs = sjlrFmjl.getJzgs(); countrzgs = sjlrFmjl.getRzgs(); countjxzgs = sjlrFmjl.getJxgs(); countszgs = sjlrFmjl.getStgs(); countmnygs = sjlrFmjl.getMnygs(); allCounthzgs = Integer.parseInt(sjlrFmjl.getHzgs()); allCountszgs += Integer.parseInt(sjlrFmjl.getSzgs()); countgz = sjlrFmjl.getGzgs(); countmz = sjlrFmjl.getMzgs(); } } } if (count > 0) { fmDTO.setFmList(fmList); fmDTO.setCount(count); fmDTO.setAllCountH(String.valueOf(allCounthzgs)); fmDTO.setAllCountS(String.valueOf(allCountszgs)); fmDTO.setCountj( countjzgs); fmDTO.setCountr(countrzgs); fmDTO.setCountjx(countjxzgs); fmDTO.setCountm(countmnygs); fmDTO.setCounts(countszgs); fmDTO.setCountgz(countgz); fmDTO.setCountmz(countmz); fmDTOlist.add(fmDTO); } } } 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(fmDTOlist); response.getWriter().write(param); } /** * 加载分娩记录新增/修改页面 * @param request * @param response * @return * @throws Exception */ public ModelAndView hvSjlrFmAdd(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("haifmv/sjrl/fm/fmjlAdd.htm"); String dweb = request.getParameter("dweb"); String id = request.getParameter("id"); String mcid = request.getParameter("mcid"); String rsid = request.getParameter("rsid"); String date = request.getParameter("date"); String eph = request.getParameter("eph"); String tc = ""; SjlrFmjl sjlrFmjl = new SjlrFmjl(); if ("undefined".equals(id)) { id = null; } if (StringUtils.hasText(id) && StringUtils.hasText(dweb)) { mv.addObject("dweb",dweb); dweb = ""; } if (StringUtils.hasText(mcid)) { if (StringUtils.hasText(id) && !StringUtils.hasText(dweb)) { //有id 无耳标号。fmjl 有数据 ---》编辑 sjlrFmjl = sjlrFmjlDAO.selectByPrimaryKey(Integer.parseInt(id)); if (StringUtils.hasText(eph)) { sjlrFmjl.setEph(eph); }else { //根据动物耳标获得耳牌号 SjlrMzdaExample mzEx = new SjlrMzdaExample(); SjlrMzdaExample.Criteria mzCr = mzEx.createCriteria(); mzCr.andDwebEqualTo(sjlrFmjl.getDweb()).andMcidEqualTo(Integer.parseInt(mcid)).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); eph = sjlrMzdaDAO.selectByExample(mzEx).get(0).getEph(); sjlrFmjl.setEph(eph); } if (!StringUtils.hasText(rsid)) { rsid = sjlrFmjl.getRsid().toString(); } //mv.addObject("id",sjlrFmjl.getId()); SjlrRsjl sjlrRsjl = new SjlrRsjl(); int fmrsid = sjlrFmjl.getRsid(); if (StringUtils.hasText(String.valueOf(fmrsid))) { sjlrRsjl = sjlrRsjlDAO.selectByPrimaryKey(fmrsid); int pzid = sjlrRsjl.getPzid(); if (StringUtils.hasText(String.valueOf(pzid))) { SjlrPzjl pzjl = sjlrPzjlDAO.selectByPrimaryKey(pzid); java.util.Date pzsj = pzjl.getPzsj(); Calendar calendar = new GregorianCalendar(); calendar.setTime(pzsj); calendar.add(Calendar.DATE, + 114); sjlrFmjl.setYcrq(calendar.getTime());//预产日期 } } SjlrFmjlExample fmEx = new SjlrFmjlExample(); SjlrFmjlExample.Criteria fmCr = fmEx .createCriteria(); fmCr.andDwebEqualTo(sjlrFmjl.getDweb()).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); tc = String.valueOf(sjlrFmjlDAO.countByExample(fmEx)); sjlrFmjl.setFmtc(tc);//分娩胎次 }else if(StringUtils.hasText(dweb) && !StringUtils.hasText(id)) { //有DWEB,无ID则新建 Map paramMap = new HashMap(); paramMap.put("dweb", dweb); paramMap.put("mcid", mcid); List mzdaList = sjlrFmjlDAO.selectAddFmjlListByParam(paramMap); sjlrFmjl = mzdaList.get(0); sjlrFmjl.setFmzt("1"); SjlrRsjlExample rsEx = new SjlrRsjlExample(); SjlrRsjlExample.Criteria rsCr = rsEx.createCriteria(); rsCr.andDwebEqualTo(dweb).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); rsEx.setOrderByClause("id desc"); List rsList = sjlrRsjlDAO.selectByExample(rsEx); if (rsList.size() > 0 ) { rsid = rsList.get(0).getId().toString(); if (StringUtils.hasText(String.valueOf(rsid))) { SjlrRsjl rsjl = sjlrRsjlDAO.selectByPrimaryKey(Integer.parseInt(rsid)); int pzid = rsjl.getPzid(); if (StringUtils.hasText(String.valueOf(pzid))) { SjlrPzjl pzjl = sjlrPzjlDAO.selectByPrimaryKey(pzid); java.util.Date pzsj = pzjl.getPzsj(); Calendar calendar = new GregorianCalendar(); calendar.setTime(pzsj); calendar.add(Calendar.DATE, + 114); sjlrFmjl.setYcrq(calendar.getTime());//预产日期 } } } if (sjlrFmjl.getRssj() != null) { SjlrFmjlExample fmEx = new SjlrFmjlExample(); SjlrFmjlExample.Criteria fmCr = fmEx .createCriteria(); fmCr.andDwebEqualTo(dweb).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); tc = String.valueOf(sjlrFmjlDAO.countByExample(fmEx) + 1); sjlrFmjl.setFmtc(tc);//分娩胎次 sjlrFmjl.setDweb(dweb); if (StringUtils.hasText(eph)) { sjlrFmjl.setEph(eph); } } } mv.addObject("dweb",sjlrFmjl.getDweb()); } if (date != null) { SimpleDateFormat sdf = new SimpleDateFormat(XtAppConstant.TIME_FORMAT);//小写的mm表示的是分钟 java.util.Date newdate = sdf.parse(date); sjlrFmjl.setFmsj(newdate); //分娩日期小于预产日期 --早产 if (sjlrFmjl.getFmsj().getTime() < sjlrFmjl.getYcrq().getTime()) { sjlrFmjl.setFmzt("2"); } //分娩日期等于预产日期--正常 if (sjlrFmjl.getFmsj().getTime() == sjlrFmjl.getYcrq().getTime()) { sjlrFmjl.setFmzt("1"); } //分娩日期大于预产日期--晚产 if (sjlrFmjl.getFmsj().getTime() > sjlrFmjl.getYcrq().getTime()) { sjlrFmjl.setFmzt("3"); } } List slList = getGydm(XtAppConstant.CODE_SJLR_SL); List fmztList = getGydm(XtAppConstant.CODE_SJLR_FMZT); mv.addObject("fmztList", fmztList); mv.addObject("slList", slList); mv.addObject("sjlrFmjl", sjlrFmjl); mv.addObject("rsid",rsid); mv.addObject("date", date); mv.addObject("kssj",request.getParameter("kssj")); mv.addObject("jssj",request.getParameter("jssj")); return mv; } /** * 分娩保存 * @param request * @throws Exception */ public void saveHvSjlrFmjl(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 rsid = request.getParameter("rsid"); String dweb = request.getParameter("dweb"); Date fmsj = null; SjlrFmjl sjlrFmjl = new SjlrFmjl(); sjlrFmjl = (SjlrFmjl) parseObjectFromRequest(request, sjlrFmjl); sjlrFmjl.setXgr(getLoginSessionBean(request).getYhid().toString()); sjlrFmjl.setXgsj(commonService.getCurrentDate()); sjlrFmjl.setZfbz(XtAppConstant.ZFBZ_VALID); if (StringUtils.hasText(request.getParameter("fmsl"))) { sjlrFmjl.setFmsl(request.getParameter("fmsl")); } if (StringUtils.hasText(request.getParameter("fmzt"))) { sjlrFmjl.setFmzt(request.getParameter("fmzt")); } if (StringUtils.hasText(dweb)) { sjlrFmjl.setDweb(dweb); } if (StringUtils.hasText(rsid)) { SjlrFmjlExample fmEx = new SjlrFmjlExample(); SjlrFmjlExample.Criteria fmCr = fmEx.createCriteria(); fmCr.andRsidEqualTo(Integer.parseInt(rsid)).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); int count = sjlrFmjlDAO.countByExample(fmEx); if (count > 0) { if (!StringUtils.hasText(sjlrFmjl.getId().toString())) { String jsonStr = "{\"count\" : \"2\"}"; response.getWriter().write(jsonStr); return; } }else { sjlrFmjl.setRsid(Integer.parseInt(rsid)); } }else { Map paramMap = new HashMap(); paramMap.put("dweb", sjlrFmjl.getDweb()); paramMap.put("mcid", request.getParameter("mcid")); List rsidlist = sjlrRsjlDAO.selectRsjlIDByParam(paramMap); int rsidd = rsidlist.get(0).getId(); sjlrFmjl.setRsid(rsidd); } //分娩时间应该大于妊娠时间 Date rssj = sjlrRsjlDAO.selectByPrimaryKey(Integer.parseInt(rsid)).getRssj(); if (sjlrFmjl.getId() != 0) { fmsj = sjlrFmjlDAO.selectByPrimaryKey(sjlrFmjl.getId()).getFmsj(); }else { fmsj = sjlrFmjl.getFmsj(); } if (rssj.getTime() > fmsj.getTime()) { String jsonStr = "{\"count\" : \"3\"}"; response.getWriter().write(jsonStr); return; } if (sjlrFmjl.getJzgs() == null) { sjlrFmjl.setJzgs(0); } if (sjlrFmjl.getRzgs() == null) { sjlrFmjl.setRzgs(0); } if (sjlrFmjl.getJxgs() == null) { sjlrFmjl.setJxgs(0); } if (sjlrFmjl.getStgs() == null) { sjlrFmjl.setStgs(0); } if (sjlrFmjl.getMnygs() == null) { sjlrFmjl.setMnygs(0); } if (sjlrFmjl.getBb() == null) { sjlrFmjl.setBb("0"); } if (sjlrFmjl.getGzgs() == null) { sjlrFmjl.setGzgs(0); } if (sjlrFmjl.getMzgs() == null) { sjlrFmjl.setMzgs(0); } if(sjlrFmjl.getId() != 0) { //更新 sjlrFmjlDAO.updateByPrimaryKeySelective(sjlrFmjl); } else { sjlrFmjlDAO.insertSelective(sjlrFmjl); } String fmsl = sjlrFmjl.getFmsl(); if (StringUtils.hasText(fmsl)) { SjlrMzdaExample mzdaEx = new SjlrMzdaExample(); SjlrMzdaExample.Criteria mzdaCr = mzdaEx.createCriteria(); mzdaCr.andDwebEqualTo(sjlrFmjl.getDweb()).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); String mcid = request.getParameter("mcid"); if (StringUtils.hasText(mcid)) { mzdaCr.andMcidEqualTo(Integer.parseInt(mcid)); } String sczt = sjlrMzdaDAO.selectByExample(mzdaEx).get(0).getDqzt(); SjlrMzda sjlrMzda = new SjlrMzda(); sjlrMzda.setSl(fmsl); sjlrMzda.setDqzt(XtAppConstant.CODE_SJLR_DQZT_BR); sjlrMzda.setXgr(getLoginSessionBean(request).getYhid().toString()); sjlrMzda.setXgsj(commonService.getCurrentDate()); sjlrMzda.setSczt(sczt); sjlrMzdaDAO.updateByExampleSelective(sjlrMzda, mzdaEx); } String jsonStr = "{\"count\" : \"1\"}"; response.getWriter().write(jsonStr); } /** * 耳标公共查询页面 * @param request * @param response * @return * @throws Exception */ public ModelAndView getHaifmvFmjlSearchDweb(HttpServletRequest request, HttpServletResponse response) throws Exception { ModelAndView mv = new ModelAndView("haifmv/sjrl/fm/searchFmep.htm"); String dweb = request.getParameter("dweb"); String mcid = request.getParameter("mcid"); String date = request.getParameter("date"); String cxeph = request.getParameter("cxeph"); int maxPages = 0; int countPage = 0; Date drhyts = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); if (StringUtils.hasText(date)) { drhyts = sdf.parse(date); } if (StringUtils.hasText(mcid)) { Map paramMap = new HashMap(); paramMap.put("order", XtSearchSqlConstant.order_by_fm); 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); } if (StringUtils.hasText(mcid)) { paramMap.put("mcid", mcid); } paramMap.put("mcid", mcid); countPage = sjlrFmjlDAO.selectSearchFmjlListByParam(paramMap).size(); maxPages = (countPage % 30 == 0 ? countPage / 30 : countPage/30 + 1); paramMap.put("limit", "limit 0,5"); List mzdaList = sjlrFmjlDAO.selectSearchFmjlListByParam(paramMap); List dqztList = getGydm(XtAppConstant.CODE_SJLR_MZZT); List pzList = getGydm(XtAppConstant.CODE_SJLR_ZZPZ); if (mzdaList != null && mzdaList.size() > 0) { for (SjlrFmjl sjlrFmjl : mzdaList) { //舍栏 if (StringUtils.hasText(sjlrFmjl.getPz())) { for (XtGydm xtGydm : pzList) { if (sjlrFmjl.getPz().equals(xtGydm.getDmid())) { sjlrFmjl.setPzStr(xtGydm.getDmmc()); } } } //当前状态 if (StringUtils.hasText(sjlrFmjl.getDqzt())) { for (XtGydm xtGydm : dqztList) { if (sjlrFmjl.getDqzt().equals(xtGydm.getDmid())) { sjlrFmjl.setDqztStr(xtGydm.getDmmc()); } } } //怀孕天数 从配种开始计算 long day = 0; if (sjlrFmjl.getRssj() != null) { if (drhyts != null) { day = (drhyts.getTime() - sjlrFmjl.getPzsj().getTime()) / DateUtil.MILLSECOND_OF_DAY + 1; }else { day = (commonService.getCurrentDate().getTime() - sjlrFmjl.getPzsj().getTime()) / DateUtil.MILLSECOND_OF_DAY + 1; } } if (day < 0) { day = 0; } //品种 if (StringUtils.hasText(sjlrFmjl.getPz())) { for (XtGydm xtGydm : pzList) { if (sjlrFmjl.getPz().equals(xtGydm.getDmid())) { sjlrFmjl.setPzStr(xtGydm.getDmmc()); } } } sjlrFmjl.setHyts(String.valueOf(day)); } } mv.addObject("mzdaList", mzdaList); mv.addObject("date",date); mv.addObject("maxPages",maxPages); } return mv; } /** * 分娩记录耳标查询的下拉加载 * @param request * @param response * @throws Exception */ public void addSjlrFmjlSrarch(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 dweb = request.getParameter("dweb"); String mcid = request.getParameter("mcid"); String date = request.getParameter("date"); String cxeph = request.getParameter("cxeph"); String page = request.getParameter("page"); Date drhyts = null; SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd"); List mzdaList = null; if (StringUtils.hasText(date)) { drhyts = sdf.parse(date); } if (StringUtils.hasText(mcid)) { Map paramMap = new HashMap(); if (StringUtils.hasText(dweb)) { paramMap.put("dweb", "%" + dweb + "%"); }else if (StringUtils.hasText(cxeph)) { paramMap.put("cxeph", "%" + cxeph + "%"); } if (StringUtils.hasText(mcid)) { paramMap.put("mcid", mcid); } paramMap.put("mcid", mcid); paramMap.put("limit", "limit "+(Integer.parseInt(page)-1)*30+",30"); mzdaList = sjlrFmjlDAO.selectSearchFmjlListByParam(paramMap); List dqztList = getGydm(XtAppConstant.CODE_SJLR_MZZT); List pzList = getGydm(XtAppConstant.CODE_SJLR_ZZPZ); if (mzdaList != null && mzdaList.size() > 0) { for (SjlrFmjl sjlrFmjl : mzdaList) { //舍栏 if (StringUtils.hasText(sjlrFmjl.getPz())) { for (XtGydm xtGydm : pzList) { if (sjlrFmjl.getPz().equals(xtGydm.getDmid())) { sjlrFmjl.setPzStr(xtGydm.getDmmc()); } } } //当前状态 if (StringUtils.hasText(sjlrFmjl.getDqzt())) { for (XtGydm xtGydm : dqztList) { if (sjlrFmjl.getDqzt().equals(xtGydm.getDmid())) { sjlrFmjl.setDqztStr(xtGydm.getDmmc()); } } } //怀孕天数 从配种开始计算 long day = 0; if (sjlrFmjl.getRssj() != null) { if (drhyts != null) { day = (drhyts.getTime() - sjlrFmjl.getPzsj().getTime()) / DateUtil.MILLSECOND_OF_DAY + 1; }else { day = (commonService.getCurrentDate().getTime() - sjlrFmjl.getPzsj().getTime()) / DateUtil.MILLSECOND_OF_DAY + 1; } } if (day < 0) { day = 0; } //品种 if (StringUtils.hasText(sjlrFmjl.getPz())) { for (XtGydm xtGydm : pzList) { if (sjlrFmjl.getPz().equals(xtGydm.getDmid())) { sjlrFmjl.setPzStr(xtGydm.getDmmc()); } } } sjlrFmjl.setHyts(String.valueOf(day)); } } } String param = JsonUtil.list2json(mzdaList); response.getWriter().write(param); } /** * 是否是24小时之内的数据 * @param request * @throws Exception */ public void haifmvCheckFmDataIsIn24H(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)) { SjlrFmjlExample FmjlEx = new SjlrFmjlExample(); SjlrFmjlExample.Criteria fmjlCr = FmjlEx.createCriteria(); fmjlCr.andIdEqualTo(Integer.valueOf(id)).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); List FmjlList = sjlrFmjlDAO.selectByExample(FmjlEx); if (FmjlList.size() > 0) { boolean isIn24H = commonService.getCurrentDate().getTime() - FmjlList.get(0).getFmsj().getTime() <= 24*60*60*1000; if (isIn24H) { jsonStr = "{\"count\" : \"1\"}"; } else { jsonStr = "{\"count\" : \"0\"}"; } } } response.getWriter().write(jsonStr); } /** * 检查该次分娩是否已经有断奶记录 * @param id * @thoews Exception * @return true of false */ public void haifmvCheckDnData(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)) { SjlrDnjlExample DnjlEx = new SjlrDnjlExample(); SjlrDnjlExample.Criteria dnjlCr = DnjlEx.createCriteria(); dnjlCr.andFmidEqualTo(Integer.valueOf(id)).andZfbzEqualTo(XtAppConstant.ZFBZ_VALID); int count = sjlrDnjlDAO.countByExample(DnjlEx); if (count == 0) { //如果在分娩记录里没有该RSID ,则可以修改。 jsonStr = "{\"count\" : \"1\"}"; } else { jsonStr = "{\"count\" : \"0\"}"; } } response.getWriter().write(jsonStr); } /** * 获取公用代码 * @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 setSjlrMzdaDAO(SjlrMzdaDAO sjlrMzdaDAO) { this.sjlrMzdaDAO = sjlrMzdaDAO; } public void setSjlrFmjlDAO(SjlrFmjlDAO sjlrFmjlDAO) { this.sjlrFmjlDAO = sjlrFmjlDAO; } public void setSjlrRsjlDAO(SjlrRsjlDAO sjlrRsjlDAO) { this.sjlrRsjlDAO = sjlrRsjlDAO; } public void setSjlrPzjlDAO(SjlrPzjlDAO sjlrPzjlDAO) { this.sjlrPzjlDAO = sjlrPzjlDAO; } public void setSjlrDnjlDAO(SjlrDnjlDAO sjlrDnjlDAO) { this.sjlrDnjlDAO = sjlrDnjlDAO; } }