package com.basic.x01.securityCheck.controller; import java.util.Arrays; import java.util.Date; import java.util.HashMap; import java.util.LinkedList; import java.util.List; import java.util.Map; import javax.annotation.Resource; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Controller; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.bind.annotation.RequestMapping; import com.basic.x01.base.BaseController; import com.basic.x01.securityCheck.SecurityCheckUtil; import com.basic.x01.securityCheck.mapper.SecurityCheckMapper; import com.basic.x01.securityCheck.mapper.SendListMapper; import com.basic.x01.securityCheck.model.TbSecurityCheckItem; import com.basic.x01.securityCheck.model.TbSecurityCheckList; import com.basic.x01.securityCheck.model.TbSecurityType; import com.basic.x01.system.mapper.SystemMapper; import com.basic.x01.system.model.TSysOrg; import com.basic.x01.system.model.TSysRoleFixed; import com.basic.x01.system.model.TSysUser; import framework.util.TimeUtil; /** * 安全检查表下发 * * @company 北京贝思科技术有限公司 * @author liuyajun, 8384503@qq.com * @date 2016年2月21日 * @time 下午9:13:56 */ @Controller @Transactional(rollbackFor=Throwable.class) public class SecuritySend extends BaseController { public final static String ACTION_ID = "securityCheckSend"; @Resource SecurityCheckMapper checkMapper; @Resource SystemMapper userMapper; @Resource SendListMapper sendMapper; /** * TODO 需要将同一个检查项在已存在的检查表里置为结束 * * @param list * @param itemIds * @param schoolIds * @return */ @RequestMapping(value="securityCheckSendExe") public String sendExe(TbSecurityCheckList list, @Param("itemIds") String itemIds, @Param("schoolIds") String schoolIds) throws Throwable { /* * typeId: $('#selectTypeId').val(), listName: title.val(), startDate: startDate.val(), endDate: endDate.val(), weekDays: weekDays, checkFlow: flowStr, itemIds: itemIds, schoolIds: schoolIds */ TSysUser user = this.getLoingedUser(); //先插入总表 list.setOrgId(user.getOrgId()); list.setCreateUserId(user.getUserId()); sendMapper.insertTbSecurityCheckList(list); //再插入学校表 String[] schoolIdArray = schoolIds.split(","); List schoolIdList = Arrays.asList(schoolIdArray); sendMapper.insertTbSecurityCheckListSchool( list, schoolIdList ); //最后插入子表 String[] itemIdArray = itemIds.split(","); List itemIdList = Arrays.asList(itemIdArray); sendMapper.insertTbSecurityCheckListItem( list, itemIdList ); //更新之前下发的检查表 //将之前下发的结束日期设置为本次下发的开始日期之前的一天 Date startDate = TimeUtil.yyyy_MM_dd.parse(list.getStartDate()); String previousEndDate = TimeUtil.yyyy_MM_dd.format(TimeUtil.getDate(startDate, -1)); //对应相同学校的相同检查项 List idList = new LinkedList(); for(String itemId : itemIdList){ for(String schoolId : schoolIdList){ idList.add(itemId+schoolId); } } sendMapper.updatePreviousCheckList(list.getListId(), previousEndDate, idList); return this.ajax("ok"); } @RequestMapping(value=ACTION_ID) public String send(@Param("selectTypeId") String selectTypeId) { TSysUser user = this.getLoingedUser(); List typeList = checkMapper.getSecurityType4Edit(user.getOrgId()); this.setAttribute("typeList", typeList); Map param = new HashMap(); param.put("orgId", user.getOrgId()); if(this.isEmpty(selectTypeId) && typeList!=null && typeList.size()>0){ selectTypeId = typeList.get(0).getTypeId(); this.setAttribute("selectTypeId", selectTypeId); } if(! this.isEmpty(selectTypeId)){ param.put("typeId", selectTypeId); } List itemList = checkMapper.getSecurityCheckItemList(param); this.setAttribute("itemList", itemList); List schoolList = userMapper.getAllSchoolByOrgId(user.getOrgId()); this.setAttribute("schoolList", schoolList); List roleList = userMapper.getFixedRoleListByActionFor( "security-check", "2"); this.setAttribute("roleList", roleList); this.setAttribute("checkTimeHtml", SecurityCheckUtil.getSelectBoxHtml(null)); return "security-check/org-list-send"; } @RequestMapping(value="securityCheckSendGetItem") public String securityCheckSendGetItem(@Param("typeId") String typeId) { if(this.isEmpty(typeId)){ return this.ajax("ok"); } TSysUser user = this.getLoingedUser(); Map param = new HashMap(); param.put("orgId", user.getOrgId()); param.put("typeId", typeId); List itemList = checkMapper.getSecurityCheckItemList(param); /* ${index.count} ${item.itemName }${item.itemContentHtml} ${item.checkWayText } */ StringBuffer s = new StringBuffer(); for(TbSecurityCheckItem item : itemList){ s.append(""); s.append("").append(item.getItemName()).append("") .append("").append(item.getItemContentHtml()) .append("").append(item.getCheckWayText()).append(""); } return this.ajax("ok"+s.toString()); } }