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<String> schoolIdList = Arrays.asList(schoolIdArray);
|
|
sendMapper.insertTbSecurityCheckListSchool(
|
list,
|
schoolIdList
|
);
|
|
//最后插入子表
|
String[] itemIdArray = itemIds.split(",");
|
List<String> 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<String> idList = new LinkedList<String>();
|
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<TbSecurityType> typeList = checkMapper.getSecurityType4Edit(user.getOrgId());
|
this.setAttribute("typeList", typeList);
|
|
Map<String,Object> param = new HashMap<String,Object>();
|
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<TbSecurityCheckItem> itemList = checkMapper.getSecurityCheckItemList(param);
|
this.setAttribute("itemList", itemList);
|
|
List<TSysOrg> schoolList = userMapper.getAllSchoolByOrgId(user.getOrgId());
|
this.setAttribute("schoolList", schoolList);
|
|
List<TSysRoleFixed> 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<String,Object> param = new HashMap<String,Object>();
|
param.put("orgId", user.getOrgId());
|
param.put("typeId", typeId);
|
List<TbSecurityCheckItem> itemList = checkMapper.getSecurityCheckItemList(param);
|
/*
|
<tr class="data" itemId="${item.itemId}">
|
<td nowrap>${index.count}</td>
|
<td nowrap>${item.itemName }</td><td class="align-left">${item.itemContentHtml}</td>
|
<td nowrap>${item.checkWayText }</td>
|
</tr>
|
*/
|
StringBuffer s = new StringBuffer();
|
for(TbSecurityCheckItem item : itemList){
|
s.append("<tr class=\"data\" itemId=\"").append(item.getItemId()).append("\">");
|
s.append("<td nowarp></td><td nowrap>").append(item.getItemName()).append("</td>")
|
.append("<td class=\"align-left\">").append(item.getItemContentHtml())
|
.append("</td><td nowrap>").append(item.getCheckWayText()).append("</td></tr>");
|
}
|
|
return this.ajax("ok"+s.toString());
|
}
|
}
|