123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883 |
- 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<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");
- SjlrPzjlDTO pzjlDTO = null;
- List<SjlrPzjlDTO> pzDTOList = new ArrayList<SjlrPzjlDTO>();
- List<SjlrPzjl> 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<SjlrPzjl> pzjlList = sjlrPzjlDAO.selectPzjlListByParam(paramMap);
- if (pzjlList.size() == 0 && searchFlag.equals("0")) {//如果当天没有则取最近一天
- Map<String, Object> paramMapPz = new HashMap<String, Object>();
- paramMapPz.put("order", "order by pz.id desc");
- List<SjlrPzjl> 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<XtGydm> pzsmList = getGydm(XtAppConstant.CODE_SJLR_PZSM);
- List<XtGydm> 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<SjlrPzjl>();
- 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<SjlrPzjl>();
- 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<XtGydm> slList = getGydm(XtAppConstant.CODE_SJLR_SL);
- List<XtGydm> pzsmList = getGydm(XtAppConstant.CODE_SJLR_PZSM);
- Map<String, Object> paramMap = new HashMap<String, Object>();
- 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<SjlrMzda> 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<Date> cjjgList = null;
- List<SjlrMzda> mzList = new ArrayList<SjlrMzda>();
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
- if (StringUtils.hasText(pzsj)) {
- drpzsj = sdf.parse(pzsj);
- }
- if (StringUtils.hasText(mcid)) {
- List<XtGydm> dqztList = getGydm(XtAppConstant.CODE_SJLR_MZZT);
- List<XtGydm> pzList = getGydm(XtAppConstant.CODE_SJLR_ZZPZ);
- if (StringUtils.hasText(type) && "mzep".equals(type)) {
- Map<String, Object> paramMap = new HashMap<String, Object>();
- 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<SjlrMzda> 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<String> dqzt = new ArrayList<String>();
- 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<SjlrGzda> gzdaList = sjlrGzdaDAO.selectByExample(gzdaEx);
- SjlrPzjlExample pzjlEx = new SjlrPzjlExample();
- SjlrPzjlExample.Criteria pzcr = pzjlEx.createCriteria();
- pzcr.andZfbzEqualTo(XtAppConstant.ZFBZ_VALID);
- List<SjlrPzjl> 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>();
- 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<SjlrPzjl> 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<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 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;
- }
- }
|