Index: ssts-web/src/main/webapp/disinfectsystem/satisfactionsurvey/satisfactionSurveyTemplateView.js =================================================================== diff -u -r12331 -r26149 --- ssts-web/src/main/webapp/disinfectsystem/satisfactionsurvey/satisfactionSurveyTemplateView.js (.../satisfactionSurveyTemplateView.js) (revision 12331) +++ ssts-web/src/main/webapp/disinfectsystem/satisfactionsurvey/satisfactionSurveyTemplateView.js (.../satisfactionSurveyTemplateView.js) (revision 26149) @@ -42,7 +42,8 @@ var result = Ext.decode(response.responseText); MsgTip.msg('提示', '删除失败',true,3); } - });} + }); + } }); } @@ -94,6 +95,39 @@ } return "

" + v + "

"; } + +/** + * 查看未填写满意度调查表的科室 + * @param id 满意调查表定义id + */ +function viewUnCreateDepart(id){ + Ext.Ajax.request({ + url : WWWROOT + '/disinfectSystem/satisfactionsurvey/satisfactionSurveyTemplateAction!viewUnCreateDepart.do', + params : { + id : id + },success : function(response, options) { + var result = Ext.decode(response.responseText); + var success = result.success; + if (true != success) { + if(result.message){ + MsgTip.msg('提示', result.message,true,3); + }else{ + MsgTip.msg('提示', '操作失败',true,3); + } + } else { + if(result.data){ + MsgTip.msg('提示', result.data,true,3); + }else{ + MsgTip.msg('提示', '没有未填写的科室',true,3); + } + } + }, + failure : function(response, options) { + var result = Ext.decode(response.responseText); + MsgTip.msg('提示', '删除失败',true,3); + } + }); +} var selOnly;// Ext.onReady(function() { selOnly = $Id("selOnly").value; @@ -105,6 +139,9 @@ {header : "录入时间",width : 80,dataIndex : 'entryDate',renderer : myDateFormat}, {header : "科室",width : 280,dataIndex : 'readersForDisplay',renderer:getReadersName,sortable :false}, {header : "状态",width : 80,dataIndex : 'status',renderer:renderStatus}, + {header : "未填写科室",width : 80,align:'center',renderer: function (v , p , record){ + return ""; + }}, {header : "调查表定义描述说明",width : 300,dataIndex : 'instructions',id:'autoWidth'} ]; Index: ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/action/SatisfactionSurveyTemplateAction.java =================================================================== diff -u -r25932 -r26149 --- ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/action/SatisfactionSurveyTemplateAction.java (.../SatisfactionSurveyTemplateAction.java) (revision 25932) +++ ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/action/SatisfactionSurveyTemplateAction.java (.../SatisfactionSurveyTemplateAction.java) (revision 26149) @@ -3,18 +3,24 @@ import java.io.IOException; import java.io.PrintWriter; import java.text.SimpleDateFormat; +import java.util.ArrayList; +import java.util.Collection; import java.util.Date; import java.util.HashMap; import java.util.List; import java.util.Map; import javax.servlet.http.HttpServletResponse; +import com.forgon.directory.model.OrgUnit; +import com.forgon.directory.service.OrgUnitManager; import com.forgon.disinfectsystem.customform.formdefinition.service.FormDefinitionManager; + import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.StringUtils; import org.apache.log4j.Logger; import org.apache.struts2.convention.annotation.Action; @@ -30,6 +36,8 @@ import com.forgon.disinfectsystem.satisfactionsurvey.service.SatisfactionSurveyTemplateManager; import com.forgon.security.service.AclManager; import com.forgon.tools.StrutsParamUtils; +import com.forgon.tools.StrutsResponseUtils; +import com.forgon.tools.db.DatabaseUtil; import com.forgon.tools.json.JSONUtil; import com.forgon.tools.json.JsonPropertyFilter; import com.opensymphony.xwork2.ModelDriven; @@ -55,6 +63,7 @@ private AclManager aclManager; private FormDefinitionManager formDefinitionManager; private Map resultMap = new HashMap(); + private OrgUnitManager orgUnitManager; public void setSatisfactionSurveyTableManager( SatisfactionSurveyTableManager satisfactionSurveyTableManager) { @@ -70,6 +79,10 @@ this.satisfactionSurveyTemplateManager = satisfactionSurveyTemplateManager; } + public void setOrgUnitManager(OrgUnitManager orgUnitManager) { + this.orgUnitManager = orgUnitManager; + } + public void setFormDefinitionManager(FormDefinitionManager formDefinitionManager) { this.formDefinitionManager = formDefinitionManager; } @@ -380,6 +393,73 @@ return null; } + /** + * 根据满意度调查表定义id查找未填写满意度调查表的科室 + */ + public void viewUnCreateDepart(){ + JSONObject result = JSONUtil.buildJsonObject(false); + Long templateId = StrutsParamUtils.getPraramLongValue("id", null); + if(DatabaseUtil.isPoIdValid(templateId)){ + SatisfactionSurveyTemplate template = satisfactionSurveyTemplateManager.get(templateId); + if(template == null){ + JSONUtil.addMessage(result, "未找到id为【"+ templateId +"】的满意度调查表模板定义"); + }else{ + /** + * 满意度调查表模板的科室编码,用分号分隔 + */ + String readers = template.getReaders(); + if(StringUtils.isNotBlank(readers)){ + String[] departCodeArray = readers.split(";"); + List templateDepartCodingList = new ArrayList(); + if(departCodeArray != null && departCodeArray.length > 0){ + for (String departCode : departCodeArray) { + if(StringUtils.isNotBlank(departCode)){ + templateDepartCodingList.add(departCode.replace("ORGUNIT_", "")); + } + } + } + String readersForDisplay = satisfactionSurveyTemplateManager.convertAclFieldValueToDisplayValue(template.getReaders()); + if(StringUtils.isNotBlank(readersForDisplay)){ + readersForDisplay = readersForDisplay.replace("组织机构-", ""); + } + List unCreateOrgUnitList = null; + List satisfactionSurveyTableList = + satisfactionSurveyTableManager.getByProperty("satisfactionSurveyTemplateId", templateId); + if(CollectionUtils.isNotEmpty(satisfactionSurveyTableList)){ + List departCodingList = new ArrayList(); + for (SatisfactionSurveyTable satisfactionSurveyTable : satisfactionSurveyTableList) { + if(!departCodingList.contains(satisfactionSurveyTable.getDepartCoding())){ + departCodingList.add(satisfactionSurveyTable.getDepartCoding()); + } + } + Collection unCreateOrgUnitCodingList = CollectionUtils.subtract(templateDepartCodingList, departCodingList); + if(CollectionUtils.isNotEmpty(unCreateOrgUnitCodingList)){ + unCreateOrgUnitList = orgUnitManager.getByCodes(unCreateOrgUnitCodingList); + } + }else{ + unCreateOrgUnitList = orgUnitManager.getByCodes(templateDepartCodingList); + } + + JSONUtil.addSuccess(result, true); + if(CollectionUtils.isNotEmpty(unCreateOrgUnitList)){ + List orgUnitNameList = new ArrayList(); + for (OrgUnit orgUnit : unCreateOrgUnitList) { + if(!orgUnitNameList.contains(orgUnit.getName())){ + orgUnitNameList.add(orgUnit.getName()); + } + } + JSONUtil.addDataProperty(result, StringUtils.join(orgUnitNameList , ",")); + }else{ + JSONUtil.addSuccess(result, true); + } + } + } + }else{ + JSONUtil.addMessage(result, "未找到满意度调查表模板定义id"); + } + StrutsResponseUtils.output(result); + } + public SatisfactionSurveyTemplate getModel() { return satisfactionSurveyTemplate; } Index: ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTableManager.java =================================================================== diff -u -r22783 -r26149 --- ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTableManager.java (.../SatisfactionSurveyTableManager.java) (revision 22783) +++ ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTableManager.java (.../SatisfactionSurveyTableManager.java) (revision 26149) @@ -5,19 +5,18 @@ import com.forgon.disinfectsystem.entity.satisfactionsurvey.SatisfactionSurveyTable; import com.forgon.disinfectsystem.entity.satisfactionsurvey.SatisfactionSurveyTableItem; +import com.forgon.tools.hibernate.BasePoManager; /** * 用户满意度调查表管理类 * @author qjw * * 2013-9-10 上午10:44:48 */ -public interface SatisfactionSurveyTableManager { +public interface SatisfactionSurveyTableManager extends BasePoManager { public void saveOrUpdate(SatisfactionSurveyTable satisfactionSurveyTable); - public void delete(SatisfactionSurveyTable satisfactionSurveyTable); - public SatisfactionSurveyTable getById(String id); public List findByHql(String hql); public void deleteByIds(String[] ids); Index: ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTableManagerImpl.java =================================================================== diff -u -r26047 -r26149 --- ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTableManagerImpl.java (.../SatisfactionSurveyTableManagerImpl.java) (revision 26047) +++ ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTableManagerImpl.java (.../SatisfactionSurveyTableManagerImpl.java) (revision 26149) @@ -18,6 +18,8 @@ import com.forgon.disinfectsystem.entity.satisfactionsurvey.SatisfactionSurveyTemplate; import com.forgon.exception.SystemException; import com.forgon.tools.db.DatabaseUtil; +import com.forgon.tools.hibernate.BasePoManager; +import com.forgon.tools.hibernate.BasePoManagerImpl; import com.forgon.tools.hibernate.ObjectDao; /** @@ -27,33 +29,22 @@ * 2013-9-10 上午10:44:48 */ @Service("satisfactionSurveyTableManagerTarget") -public class SatisfactionSurveyTableManagerImpl implements SatisfactionSurveyTableManager{ +public class SatisfactionSurveyTableManagerImpl extends BasePoManagerImpl implements SatisfactionSurveyTableManager{ protected Logger logger = Logger.getLogger(this.getClass()); - private ObjectDao objectDao; - private FormInstanceManager formInstanceManager; public void setFormInstanceManager(FormInstanceManager formInstanceManager) { this.formInstanceManager = formInstanceManager; } - public void setObjectDao(ObjectDao objectDao) { - this.objectDao = objectDao; - } - @Transactional(readOnly=false, propagation = Propagation.REQUIRED) public void saveOrUpdate(SatisfactionSurveyTable satisfactionSurveyTable){ objectDao.saveOrUpdate(satisfactionSurveyTable); } @Transactional(readOnly=false, propagation = Propagation.REQUIRED) - public void delete(SatisfactionSurveyTable satisfactionSurveyTable){ - objectDao.delete(satisfactionSurveyTable); - } - - @Transactional(readOnly=false, propagation = Propagation.REQUIRED) public SatisfactionSurveyTable getById(String id){ return (SatisfactionSurveyTable) objectDao.getByProperty( SatisfactionSurveyTable.class.getSimpleName(), "id", Long.valueOf(id)); Index: ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTemplateManagerImpl.java =================================================================== diff -u -r26114 -r26149 --- ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTemplateManagerImpl.java (.../SatisfactionSurveyTemplateManagerImpl.java) (revision 26114) +++ ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTemplateManagerImpl.java (.../SatisfactionSurveyTemplateManagerImpl.java) (revision 26149) @@ -31,6 +31,7 @@ import com.forgon.security.model.User; import com.forgon.security.service.AclTools; import com.forgon.security.service.OperationManager; +import com.forgon.tools.hibernate.BasePoManagerImpl; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.string.StringTools; @@ -42,22 +43,32 @@ * 2013-9-10 上午10:44:48 */ @Component("satisfactionSurveyTemplateManager") -public class SatisfactionSurveyTemplateManagerImpl implements +public class SatisfactionSurveyTemplateManagerImpl extends BasePoManagerImpl implements SatisfactionSurveyTemplateManager { - @Autowired - private ObjectDao objectDao; - @Autowired private OperationManager operationManager; - @Autowired private DateQueryAdapter dateQueryAdapter; - @Autowired private DirectoryHelper directoryHelper; - @Autowired private FormDefinitionManager formDefinitionManager; protected Logger logger = Logger.getLogger(this.getClass()); + public void setOperationManager(OperationManager operationManager) { + this.operationManager = operationManager; + } + + public void setDateQueryAdapter(DateQueryAdapter dateQueryAdapter) { + this.dateQueryAdapter = dateQueryAdapter; + } + + public void setDirectoryHelper(DirectoryHelper directoryHelper) { + this.directoryHelper = directoryHelper; + } + + public void setFormDefinitionManager(FormDefinitionManager formDefinitionManager) { + this.formDefinitionManager = formDefinitionManager; + } + @Transactional(readOnly = false, propagation = Propagation.REQUIRED) public void saveOrUpdate( SatisfactionSurveyTemplate satisfactionSurveyTemplate) { @@ -72,11 +83,6 @@ } @Transactional(readOnly = false, propagation = Propagation.REQUIRED) - public void delete(SatisfactionSurveyTemplate satisfactionSurveyTemplate) { - objectDao.delete(satisfactionSurveyTemplate); - } - - @Transactional(readOnly = false, propagation = Propagation.REQUIRED) public void deleteItem( SatisfactionSurveyTemplateItem satisfactionSurveyTemplateItem) { objectDao.delete(satisfactionSurveyTemplateItem); Index: ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTemplateManager.java =================================================================== diff -u -r18546 -r26149 --- ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTemplateManager.java (.../SatisfactionSurveyTemplateManager.java) (revision 18546) +++ ssts-satisfactionsurvey/src/main/java/com/forgon/disinfectsystem/satisfactionsurvey/service/SatisfactionSurveyTemplateManager.java (.../SatisfactionSurveyTemplateManager.java) (revision 26149) @@ -4,6 +4,7 @@ import com.forgon.disinfectsystem.entity.satisfactionsurvey.SatisfactionSurveyTemplate; import com.forgon.disinfectsystem.entity.satisfactionsurvey.SatisfactionSurveyTemplateItem; +import com.forgon.tools.hibernate.BasePoManager; /** * 满意度调查模板管理类 @@ -12,16 +13,14 @@ * * 2013-9-10 上午10:44:48 */ -public interface SatisfactionSurveyTemplateManager { +public interface SatisfactionSurveyTemplateManager extends BasePoManager { public void saveOrUpdate( SatisfactionSurveyTemplate satisfactionSurveyTemplate); public void saveOrUpdateItem( SatisfactionSurveyTemplateItem satisfactionSurveyTemplateItem); - public void delete(SatisfactionSurveyTemplate satisfactionSurveyTemplate); - public void deleteItem( SatisfactionSurveyTemplateItem satisfactionSurveyTemplateItem);