123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693 |
- package com.huimv.sjlr;
- 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.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 SjlrFmHpController 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 hpSjlrFmIndex(HttpServletRequest request,
- HttpServletResponse response) throws Exception {
- ModelAndView mv = new ModelAndView("haifmp/sjlr/fm/hpSjlrFmIndex.htm");
- Map<String, Object> paramMap = new HashMap<String, Object>();
- 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");
- List<SjlrFmjl> fmList = null;
- sjlrFmjlDTO fmDTO = null;
- List<sjlrFmjlDTO> fmDTOlist = new ArrayList<sjlrFmjlDTO>();
- 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(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);
- }
- }
- List<SjlrFmjl> fmjlList = sjlrFmjlDAO.selectFmjlListByParam(paramMap);
- if (fmjlList.size() == 0 && searchFlag.equals("0")) {//如果当天没有则取最近一天
- Map<String, Object> paramMapPz = new HashMap<String, Object>();
- paramMapPz.put("order", XtSearchSqlConstant.order_by_fm);
- List<SjlrFmjl> 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<SjlrFmjl>();
- 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<SjlrFmjl>();
- 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);
- return mv;
- }
-
- /**
- * 加载分娩记录新增/修改页面
- * @param request
- * @param response
- * @return
- * @throws Exception
- */
- public ModelAndView hpSjlrFmAdd(HttpServletRequest request,
- HttpServletResponse response) throws Exception {
- ModelAndView mv = new ModelAndView("haifmp/sjlr/fm/hpSjlrFmjlAdd.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<String, Object> paramMap = new HashMap<String, Object>();
- paramMap.put("dweb", dweb);
- paramMap.put("mcid", mcid);
- List<SjlrFmjl> 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<SjlrRsjl> 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<XtGydm> slList = getGydm(XtAppConstant.CODE_SJLR_SL);
- List<XtGydm> 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);
- return mv;
- }
-
- /**
- * 分娩保存
- * @param request
- * @throws Exception
- */
- public void saveSjlrFmjl(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(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<String,Object> paramMap = new HashMap<String,Object>();
- paramMap.put("dweb", sjlrFmjl.getDweb());
- paramMap.put("mcid", request.getParameter("mcid"));
- List<SjlrRsjl> 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 getFmjlSearchDweb(HttpServletRequest request,
- HttpServletResponse response) throws Exception {
- ModelAndView mv = new ModelAndView("haifmp/sjlr/fm/fmjlSearchModel.htm");
- String dweb = request.getParameter("dweb");
- String mcid = request.getParameter("mcid");
- String date = request.getParameter("date");
- String cxeph = request.getParameter("cxeph");
- Date drhyts = null;
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- if (StringUtils.hasText(date)) {
- drhyts = sdf.parse(date);
- }
- if (StringUtils.hasText(mcid)) {
- Map<String, Object> paramMap = new HashMap<String, Object>();
- 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);
- }
- List<SjlrFmjl> mzdaList = sjlrFmjlDAO.selectSearchFmjlListByParam(paramMap);
- List<XtGydm> dqztList = getGydm(XtAppConstant.CODE_SJLR_MZZT);
- List<XtGydm> 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);
- }
- return mv;
- }
- /**
- * 是否是24小时之内的数据
- * @param request
- * @throws Exception
- */
- public void CheckFmDataIsIn24H(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<SjlrFmjl> 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 checkDnData(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<XtGydm> 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;
- }
- }
|