Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/handover/service/HandoverManager.java =================================================================== diff -u -r23208 -r23272 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/handover/service/HandoverManager.java (.../HandoverManager.java) (revision 23208) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/handover/service/HandoverManager.java (.../HandoverManager.java) (revision 23272) @@ -37,4 +37,15 @@ * @return */ public Handover getHandoverById(Long id); + + /**获取所有“未处理”状态的交班记录 + * + * @return + */ + List getUnprocessedHandover(); + + /** + * 定时在LED上显示未处理的交班记录 + */ + public void timingAutoShowLEDMessage(); } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/handover/service/HandoverManagerImpl.java =================================================================== diff -u -r23254 -r23272 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/handover/service/HandoverManagerImpl.java (.../HandoverManagerImpl.java) (revision 23254) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/handover/service/HandoverManagerImpl.java (.../HandoverManagerImpl.java) (revision 23272) @@ -3,18 +3,36 @@ import java.util.Date; import java.util.List; +import org.apache.commons.collections4.CollectionUtils; +import org.apache.log4j.Logger; + import net.sf.json.JSONObject; +import com.forgon.device.ZHLEDControllerManager; import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.disinfectsystem.entity.handover.Handover; import com.forgon.tools.StrutsResponseUtils; import com.forgon.tools.hibernate.BasePoManagerImpl; import com.forgon.tools.json.JSONUtil; import com.forgon.tools.string.StringTools; +import com.forgon.tools.util.ForgonDateUtils; public class HandoverManagerImpl extends BasePoManagerImpl implements HandoverManager{ + private ZHLEDControllerManager zhledControllerManager; + private final Logger logger = Logger.getLogger(HandoverManagerImpl.class); + + + public ZHLEDControllerManager getZhledControllerManager() { + return zhledControllerManager; + } + + public void setZhledControllerManager( + ZHLEDControllerManager zhledControllerManager) { + this.zhledControllerManager = zhledControllerManager; + } + @SuppressWarnings("unchecked") @Override public List getAllHandoverList(String keyword,int startInt, int limit) { @@ -61,4 +79,73 @@ } return new Handover(); } + + @Override + public List getUnprocessedHandover() { + List handoverList = objectDao.findByHql("from "+Handover.class.getSimpleName()+" po where po.status='"+Handover.STATUS_UNTREATED+"' order by po.handoverDate"); + return handoverList; + } + + @SuppressWarnings("static-access") + public void timingAutoShowLEDMessage(){ + List handoverList = getUnprocessedHandover(); + try { + //如果没有未处理的记录,则清空LED屏幕 + if(CollectionUtils.isEmpty(handoverList)){ + logger.debug("没有未处理的交班记录,清除LED显示"); + zhledControllerManager.clearDirectDisplay(null); + zhledControllerManager.clearFlashString(null,255); + return; + } + //循环所有未处理的记录 + for (int i = 0; i < handoverList.size(); i++) { + int b = i+1; + String countStr = b+"、"; + Handover hd = handoverList.get(i); + if(null==hd){ + continue; + } + //讲交班内容、交班人、交班时间拼成一行显示 + countStr+=hd.getHandoverNote(); + countStr+="-->"+hd.getHandoverUserName(); + countStr+=" "+ForgonDateUtils.safelyFormatDate(hd.getHandoverDate(),ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM,""); + //将拼好的字符串设置在flash中 + zhledControllerManager.setFlashString(null,countStr,ZHLEDControllerManager.COLOR_RED,i); + } + logger.debug("本次读取到"+handoverList.size()+"条交班记录"); + zhledControllerManager.switchToFlashString(null,0);//显示第一行 + //如果不止一条记录,则需要切换显示 + if(handoverList.size()>0){ + Thread.currentThread().sleep(5000);//每条记录显示5秒 + zhledControllerManager.switchToNextFlashString(null);//切换到下一个 + } + }catch(Exception e){ + e.printStackTrace(); + } + } + + /** + * 16进制字符串转换为byte[] + * + * @param hexString + * @return + */ + public static byte[] hexStringToBytes(String hexString) { + if (hexString == null || hexString.equals("")) { + return null; + } + hexString = hexString.toUpperCase().replace(" ", ""); + int length = hexString.length() / 2; + char[] hexChars = hexString.toCharArray(); + byte[] d = new byte[length]; + for (int i = 0; i < length; i++) { + int pos = i * 2; + d[i] = (byte) (charToByte(hexChars[pos]) << 4 | charToByte(hexChars[pos + 1])); + } + return d; + } + + private static byte charToByte(char c) { + return (byte) "0123456789ABCDEF".indexOf(c); + } } Index: ssts-web/src/main/webapp/disinfectsystem/basedatamanager/handover/handoverView.jsp =================================================================== diff -u -r23265 -r23272 --- ssts-web/src/main/webapp/disinfectsystem/basedatamanager/handover/handoverView.jsp (.../handoverView.jsp) (revision 23265) +++ ssts-web/src/main/webapp/disinfectsystem/basedatamanager/handover/handoverView.jsp (.../handoverView.jsp) (revision 23272) @@ -204,10 +204,15 @@ function disposeSunmit(){ var handoverId = $("#handoverId").val(); + var remake = $("#remake").val(); if(handoverId==""){ alert("获取不到ID") return false } + if(remake.length>100){ + alert("超出最大100字数,请修改") + return; + } $.ajax({ url : WWWROOT + '/disinfectSystem/baseData/handoverAction!disposeHandover.do', Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/handover/action/HandoverAction.java =================================================================== diff -u -r23254 -r23272 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/handover/action/HandoverAction.java (.../HandoverAction.java) (revision 23254) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/handover/action/HandoverAction.java (.../HandoverAction.java) (revision 23272) @@ -73,8 +73,7 @@ obj.put("handoverDate", ForgonDateUtils.safelyFormatDate(hd.getHandoverDate(),ForgonDateUtils.SIMPLEDATEFORMAT_YYYYMMDDHHMM,"")); obj.put("handoverUserName", hd.getHandoverUserName()); obj.put("disposeUserName", hd.getDisposeUserName()); - obj.put("remark", hd.getRemark()); - obj.put("handoverNote", hd.getHandoverNote()); + obj.put("remark", CssdUtils.subStringNote(hd.getRemark(), 10)); obj.put("status", hd.getStatus()); obj.put("handoverNote", CssdUtils.subStringNote(hd.getHandoverNote(), 10)); array.add(obj);