Index: forgon-core/src/main/java/com/forgon/directory/model/CssdHandleTousses.java =================================================================== diff -u --- forgon-core/src/main/java/com/forgon/directory/model/CssdHandleTousses.java (revision 0) +++ forgon-core/src/main/java/com/forgon/directory/model/CssdHandleTousses.java (revision 12667) @@ -0,0 +1,103 @@ +package com.forgon.directory.model; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; + +import org.hibernate.annotations.Cache; +import org.hibernate.annotations.CacheConcurrencyStrategy; + +import com.fasterxml.jackson.annotation.JsonFilter; + +/** + * 供应室处理器械包关联配置 + * @author shuyongfu + * @since 2016-03-19 + */ +@Entity +@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) +@JsonFilter("fieldFilter") +public class CssdHandleTousses { + + /** + * id,主键 + */ + private Long id; + + /** + * 器械包定义id + */ + private Long tousseDefinitionId; + + /** + * 器械包定义名称 + */ + private String tousseName; + + /** + * 科室id + */ + private Long orgUnitId; + + /** + * 科室编码 + */ + private String orgUnitCode; + + /** + * 科室名称 + */ + private String orgUnitName; + + @Id + @GeneratedValue(strategy = GenerationType.AUTO) + public Long getId() { + return id; + } + + public void setId(Long id) { + this.id = id; + } + + public Long getTousseDefinitionId() { + return tousseDefinitionId; + } + + public void setTousseDefinitionId(Long tousseDefinitionId) { + this.tousseDefinitionId = tousseDefinitionId; + } + + public Long getOrgUnitId() { + return orgUnitId; + } + + public void setOrgUnitId(Long orgUnitId) { + this.orgUnitId = orgUnitId; + } + + public String getTousseName() { + return tousseName; + } + + public void setTousseName(String tousseName) { + this.tousseName = tousseName; + } + + public String getOrgUnitCode() { + return orgUnitCode; + } + + public void setOrgUnitCode(String orgUnitCode) { + this.orgUnitCode = orgUnitCode; + } + + public String getOrgUnitName() { + return orgUnitName; + } + + public void setOrgUnitName(String orgUnitName) { + this.orgUnitName = orgUnitName; + } + +} \ No newline at end of file Index: ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/cssdhandletousses/CssdHandleToussesAction.java =================================================================== diff -u --- ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/cssdhandletousses/CssdHandleToussesAction.java (revision 0) +++ ssts-tousse/src/main/java/com/forgon/disinfectsystem/tousse/cssdhandletousses/CssdHandleToussesAction.java (revision 12667) @@ -0,0 +1,164 @@ +package com.forgon.disinfectsystem.tousse.cssdhandletousses; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletResponse; + +import net.sf.json.JSONObject; +import net.sf.json.JsonConfig; +import net.sf.json.util.PropertyFilter; + +import org.apache.commons.lang.StringUtils; +import org.apache.log4j.Logger; +import org.apache.struts2.convention.annotation.Action; +import org.apache.struts2.convention.annotation.Namespace; +import org.apache.struts2.convention.annotation.ParentPackage; + +import com.forgon.directory.model.BarcodeDevice; +import com.forgon.directory.model.CssdHandleTousses; +import com.forgon.directory.model.OrgUnit; +import com.forgon.directory.service.OrgUnitManager; +import com.forgon.disinfectsystem.basedatamanager.cssdservicedepts.CssdServiceDeptsAction; +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.TousseDefinition; +import com.forgon.disinfectsystem.tousse.toussedefinition.service.TousseDefinitionManager; +import com.forgon.serialnumber.model.SerialNum; +import com.forgon.tools.StrutsParamUtils; +import com.forgon.tools.json.JsonPropertyFilter; +import com.opensymphony.xwork2.ModelDriven; +import com.opensymphony.xwork2.Preparable; + +/** + * 供应室处理器械包action类 + * @author shuyongfu + * @since 2016-03-22 + */ +@ParentPackage(value = "default") +@Namespace(value = "/disinfectSystem/baseData") +@Action(value = "cssdHandleToussesAction") +public class CssdHandleToussesAction implements ModelDriven, Preparable { + + + private Logger logger = Logger.getLogger(CssdServiceDeptsAction.class); + + private TousseDefinitionManager tousseDefinitionManager; + + private CssdHandleTousses cssdHandleTousses; + + public void setCssdHandleTousses(CssdHandleTousses cssdHandleTousses) { + this.cssdHandleTousses = cssdHandleTousses; + } + + /** + * 加载供应室处理器械包配置 + */ + public void loadCssdHandleTousses() { + StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); + Map map = new HashMap(); + try { + JsonConfig config = new JsonConfig(); + PropertyFilter propertyFilter = new JsonPropertyFilter( + new String[] {}); + config.setJsonPropertyFilter(propertyFilter); + + map.put("success", true); + map.put("data", cssdHandleTousses); + JSONObject jsonObject = JSONObject.fromObject(map, config); + String jsonStr = jsonObject.toString(); + StrutsParamUtils.getResponse().getWriter().println(jsonStr); + } catch (Exception e) { + logger.error("加载供应室处理器械包配置异常:" + e); + try { + StrutsParamUtils.getResponse().getWriter().println(JSONObject.fromObject(map)); + } catch (IOException e1) { + + } + } + } + + /** + * 保存供应室处理的器械包配置 + */ + public void saveCssdHandleTousses() { + JSONObject jsonObject = new JSONObject(); + if(cssdHandleTousses != null){ + //供应室 + OrgUnit cssd = new OrgUnit(); + cssd.setId(cssdHandleTousses.getOrgUnitId()); + cssd.setOrgUnitCoding(cssdHandleTousses.getOrgUnitCode()); + cssd.setName(cssdHandleTousses.getOrgUnitName()); + + //器械包 + TousseDefinition tousseDefinition = new TousseDefinition(); + tousseDefinition.setId(cssdHandleTousses.getTousseDefinitionId()); + tousseDefinition.setName(cssdHandleTousses.getTousseName()); + List tousseDefinitionList = new ArrayList(); + tousseDefinitionList.add(tousseDefinition); + + try { + tousseDefinitionManager.saveOrUpdateCssdHandleTousseDefinitions(cssd, tousseDefinitionList); + HttpServletResponse httpServletResponse = StrutsParamUtils + .getResponse(); + jsonObject.put("success", false); + httpServletResponse.getWriter().print(jsonObject); + } catch (Exception e) { + jsonObject.put("success", false); + jsonObject.put("message", "保存供应室处理的器械包配置失败:" + e); + } + }else{ + jsonObject.put("success", false); + jsonObject.put("message", "保存供应室处理的器械包配置失败,配置数据为空!"); + } + } + + /** + * 删除供应室处理的器械包配置 + */ + public void deleteCssdHandleTousses(){ + JSONObject jsonObject = new JSONObject(); + if(cssdHandleTousses != null){ + //供应室 + OrgUnit cssd = new OrgUnit(); + cssd.setId(cssdHandleTousses.getOrgUnitId()); + cssd.setOrgUnitCoding(cssdHandleTousses.getOrgUnitCode()); + cssd.setName(cssdHandleTousses.getOrgUnitName()); + + //器械包 + TousseDefinition tousseDefinition = new TousseDefinition(); + tousseDefinition.setId(cssdHandleTousses.getTousseDefinitionId()); + tousseDefinition.setName(cssdHandleTousses.getTousseName()); + List tousseDefinitionList = new ArrayList(); + tousseDefinitionList.add(tousseDefinition); + + try { + int result = tousseDefinitionManager.removeCssdHandleTousseDefinitions(cssd , tousseDefinitionList); + HttpServletResponse httpServletResponse = StrutsParamUtils + .getResponse(); + jsonObject.put("success", false); + httpServletResponse.getWriter().print(jsonObject); + } catch (Exception e) { + jsonObject.put("success", false); + jsonObject.put("message", "删除供应室处理的器械包配置失败:" + e); + } + }else{ + jsonObject.put("success", false); + jsonObject.put("message", "删除供应室处理的器械包配置失败,配置数据为空!"); + } + } + + public void prepareSave() { + + } + + public void prepare() throws Exception { + + } + + public CssdHandleTousses getModel() { + return cssdHandleTousses; + } + +} Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java =================================================================== diff -u -r12638 -r12667 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java (.../OrgUnitManager.java) (revision 12638) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java (.../OrgUnitManager.java) (revision 12667) @@ -3,6 +3,8 @@ import java.util.List; import java.util.Set; +import com.forgon.directory.model.CssdHandleTousses; +import com.forgon.directory.model.CssdServiceDepts; import com.forgon.directory.model.OrgUnit; import com.forgon.treenode.model.THTreeNode; @@ -54,6 +56,20 @@ public void update(OrgUnit orgUnit); /** + * 根据id查询供应室服务科室 + * @param id + * @return + */ + public CssdServiceDepts getCssdServiceDeptsById(String id); + + /** + * 根据id查询供应室处理的器械包 + * @param id + * @return + */ + public CssdHandleTousses getCssdHandleToussesById(String id); + + /** * 查询供应室服务的临床科室 * @param cssd * @param tousseType 类型:器械包或一次性物品 @@ -68,7 +84,7 @@ * @param tousseType 类型:器械包或一次性物品 * @return */ - public List saveOrUpdateCssdServiceOrgUnits(OrgUnit cssd , List orgUnitList , String tousseType); + public List saveOrUpdateCssdServiceDepts(OrgUnit cssd , List orgUnitList , String tousseType); /** * 删除供应室服务临床科室配置信息 @@ -77,5 +93,6 @@ * @param tousseType 类型:器械包或一次性物品 * @return */ - public int removeCssdServiceOrgUnits(OrgUnit cssd , List orgUnitList , String tousseType); + public int removeCssdServiceDepts(OrgUnit cssd , List orgUnitList , String tousseType); + } Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java =================================================================== diff -u -r12638 -r12667 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 12638) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 12667) @@ -14,6 +14,8 @@ import org.apache.commons.lang.StringUtils; import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.directory.model.CssdHandleTousses; +import com.forgon.directory.model.CssdServiceDepts; import com.forgon.directory.model.OrgUnit; import com.forgon.directory.model.OrgUserRelation; import com.forgon.security.model.User; @@ -598,21 +600,33 @@ } @Override + public CssdServiceDepts getCssdServiceDeptsById(String id) { + // TODO Auto-generated method stub + return null; + } + + @Override + public CssdHandleTousses getCssdHandleToussesById(String id) { + // TODO Auto-generated method stub + return null; + } + + @Override public List getCssdServiceOrgUnitList(OrgUnit cssd, String tousseType) { // TODO Auto-generated method stub return null; } @Override - public List saveOrUpdateCssdServiceOrgUnits(OrgUnit cssd, + public List saveOrUpdateCssdServiceDepts(OrgUnit cssd, List orgUnitList, String tousseType) { // TODO Auto-generated method stub return null; } @Override - public int removeCssdServiceOrgUnits(OrgUnit cssd, + public int removeCssdServiceDepts(OrgUnit cssd, List orgUnitList, String tousseType) { // TODO Auto-generated method stub return 0; Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/cssdservicedepts/CssdServiceDeptsAction.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/cssdservicedepts/CssdServiceDeptsAction.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/cssdservicedepts/CssdServiceDeptsAction.java (revision 12667) @@ -0,0 +1,166 @@ +package com.forgon.disinfectsystem.basedatamanager.cssdservicedepts; + +import java.io.IOException; +import java.util.ArrayList; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + +import javax.servlet.http.HttpServletResponse; + +import net.sf.json.JSONObject; +import net.sf.json.JsonConfig; +import net.sf.json.util.PropertyFilter; + +import org.apache.commons.lang3.StringUtils; +import org.apache.log4j.Logger; +import org.apache.struts2.convention.annotation.Action; +import org.apache.struts2.convention.annotation.Namespace; +import org.apache.struts2.convention.annotation.ParentPackage; + +import com.forgon.directory.model.CssdServiceDepts; +import com.forgon.directory.model.OrgUnit; +import com.forgon.directory.service.OrgUnitManager; +import com.forgon.tools.StrutsParamUtils; +import com.forgon.tools.json.JsonPropertyFilter; +import com.opensymphony.xwork2.ModelDriven; +import com.opensymphony.xwork2.Preparable; + +/** + * 供应室服务临床科室action类 + * @author shuyongfu + * @since 2016-03-22 + * + */ +@ParentPackage(value = "default") +@Namespace(value = "/disinfectSystem/baseData") +@Action(value = "cssdServiceDeptsAction") +public class CssdServiceDeptsAction implements ModelDriven, Preparable { + + private Logger logger = Logger.getLogger(CssdServiceDeptsAction.class); + + private OrgUnitManager orgUnitManager; + private CssdServiceDepts cssdServiceDepts; + + public void setCssdServiceDepts(CssdServiceDepts cssdServiceDepts) { + this.cssdServiceDepts = cssdServiceDepts; + } + + /** + * 加载供应室服务临床科室配置 + */ + public void loadCssdServiceDepts() { + StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); + Map map = new HashMap(); + try { + String id = StrutsParamUtils.getPraramValue("id", ""); + if(StringUtils.isNotBlank(id)){ + cssdServiceDepts = orgUnitManager.getCssdServiceDeptsById(id); + } + JsonConfig config = new JsonConfig(); + PropertyFilter propertyFilter = new JsonPropertyFilter( + new String[] {}); + config.setJsonPropertyFilter(propertyFilter); + + + map.put("success", true); + map.put("data", cssdServiceDepts); + JSONObject jsonObject = JSONObject.fromObject(map, config); + String jsonStr = jsonObject.toString(); + StrutsParamUtils.getResponse().getWriter().println(jsonStr); + } catch (Exception e) { + logger.error("加载供应室服务临床科室配置异常:" + e); + try { + StrutsParamUtils.getResponse().getWriter().println(JSONObject.fromObject(map)); + } catch (IOException e1) { + + } + } + } + + /** + * 保存供应室服务临床科室 + */ + public void saveCssdServiceDepts() { + JSONObject jsonObject = new JSONObject(); + if(cssdServiceDepts != null){ + //供应室 + OrgUnit cssd = new OrgUnit(); + cssd.setId(cssdServiceDepts.getCssdOrgUnitId()); + cssd.setOrgUnitCoding(cssdServiceDepts.getCssdOrgUnitCode()); + cssd.setName(cssdServiceDepts.getCssdOrgUnitName()); + + //临床科室 + OrgUnit clinicOrg = new OrgUnit(); + clinicOrg.setId(cssdServiceDepts.getClinicOrgUnitId()); + clinicOrg.setOrgUnitCoding(cssdServiceDepts.getClinicOrgUnitCode()); + clinicOrg.setName(cssdServiceDepts.getClinicOrgUnitName()); + List clinicOrgList = new ArrayList(); + clinicOrgList.add(clinicOrg); + + try { + orgUnitManager.saveOrUpdateCssdServiceDepts(cssd , clinicOrgList , cssdServiceDepts.getTousseType()); + HttpServletResponse httpServletResponse = StrutsParamUtils + .getResponse(); + jsonObject.put("success", false); + httpServletResponse.getWriter().print(jsonObject); + } catch (Exception e) { + jsonObject.put("success", false); + jsonObject.put("message", "保存供应室服务临床科室失败:" + e); + } + }else{ + jsonObject.put("success", false); + jsonObject.put("message", "保存供应室服务临床科室失败,配置数据为空!"); + } + } + + + /** + * 删除供应室服务的处理科室 + */ + public void deleteCssdServiceDepts(){ + JSONObject jsonObject = new JSONObject(); + if(cssdServiceDepts != null){ + //供应室 + OrgUnit cssd = new OrgUnit(); + cssd.setId(cssdServiceDepts.getCssdOrgUnitId()); + cssd.setOrgUnitCoding(cssdServiceDepts.getCssdOrgUnitCode()); + cssd.setName(cssdServiceDepts.getCssdOrgUnitName()); + + //临床科室 + OrgUnit clinicOrg = new OrgUnit(); + clinicOrg.setId(cssdServiceDepts.getClinicOrgUnitId()); + clinicOrg.setOrgUnitCoding(cssdServiceDepts.getClinicOrgUnitCode()); + clinicOrg.setName(cssdServiceDepts.getClinicOrgUnitName()); + List clinicOrgList = new ArrayList(); + clinicOrgList.add(clinicOrg); + + try { + int result = orgUnitManager.removeCssdServiceDepts(cssd , clinicOrgList , cssdServiceDepts.getTousseType()); + HttpServletResponse httpServletResponse = StrutsParamUtils + .getResponse(); + jsonObject.put("success", false); + httpServletResponse.getWriter().print(jsonObject); + } catch (Exception e) { + jsonObject.put("success", false); + jsonObject.put("message", "保存供应室服务临床科室失败:" + e); + } + }else{ + jsonObject.put("success", false); + jsonObject.put("message", "保存供应室服务临床科室失败,配置数据为空!"); + } + } + + public void prepareSave() { + + } + + public void prepare() throws Exception { + + } + + public CssdServiceDepts getModel() { + return cssdServiceDepts; + } + +} Fisheye: Tag 12667 refers to a dead (removed) revision in file `ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/CssdHandleTousses.java'. Fisheye: No comparison available. Pass `N' to diff? Index: ssts-web/src/main/java/com/forgon/disinfectsystem/directory/dwr/table/OrgUnitTableManager.java =================================================================== diff -u -r12599 -r12667 --- ssts-web/src/main/java/com/forgon/disinfectsystem/directory/dwr/table/OrgUnitTableManager.java (.../OrgUnitTableManager.java) (revision 12599) +++ ssts-web/src/main/java/com/forgon/disinfectsystem/directory/dwr/table/OrgUnitTableManager.java (.../OrgUnitTableManager.java) (revision 12667) @@ -9,9 +9,12 @@ import com.forgon.component.grid.GridManager; import com.forgon.directory.acegi.tools.AcegiHelper; +import com.forgon.directory.model.CssdServiceDepts; import com.forgon.directory.model.OrgUnit; import com.forgon.directory.service.OrgUnitManager; +import com.forgon.directory.vo.LoginUserData; import com.forgon.disinfectsystem.basedatamanager.supplyroomconfig.service.SupplyRoomConfigManager; +import com.forgon.disinfectsystem.entity.basedatamanager.toussedefinition.CssdHandleTousses; import com.forgon.reflect.ReflectUtil; import com.forgon.tools.hibernate.ObjectDao; import com.forgon.tools.json.JSONUtil; @@ -233,4 +236,80 @@ } return JSONUtil.toJSONStringEx(orgUnit, true, new String[] { "orgUserRelationes","chargeLeaderList","managerList","children","parent" }); } + + /** + * 查询所有的供应室处理科室配置 + * @param parameterMap + * @return + */ + public String findCssdServiceDeptsTableList(Map> parameterMap) { + String sql = "where 1=1"; + Map sqlWhereParamMap = gridManager + .getParamFromView(parameterMap); + if (sqlWhereParamMap != null) { + LoginUserData userData = AcegiHelper.getLoginUser(); + String cssdOrgUnitId = (String) sqlWhereParamMap.get("cssdOrgUnitId"); + String cssdOrgUnitCode = (String) sqlWhereParamMap.get("cssdOrgUnitCode"); + String clinicOrgUnitId = (String) sqlWhereParamMap.get("clinicOrgUnitId"); + String clinicOrgUnitCode = (String) sqlWhereParamMap.get("clinicOrgUnitCode"); + String tousseType = (String) sqlWhereParamMap.get("tousseType"); + if (StringUtils.isNotEmpty(cssdOrgUnitId)) { + sql += " and po.cssdOrgUnitId = " + cssdOrgUnitId; + } + if (StringUtils.isNotEmpty(cssdOrgUnitCode)) { + sql += " and po.cssdOrgUnitCode = '" + cssdOrgUnitCode + "'"; + } + if (StringUtils.isNotEmpty(clinicOrgUnitId)) { + sql += " and po.clinicOrgUnitId = " + clinicOrgUnitId; + } + if (StringUtils.isNotEmpty(clinicOrgUnitCode)) { + sql += " and po.clinicOrgUnitCode = '" + clinicOrgUnitCode + "'"; + } + if (StringUtils.isNotEmpty(tousseType)) { + sql += " and po.tousseType = '" + tousseType + "'"; + } + } + + String[] filterProperties = {}; + return gridManager.renderGrid(parameterMap, + CssdServiceDepts.class.getSimpleName(), sql, filterProperties); + } + + /** + * 查询所有的供应室处理器械包配置 + * @param parameterMap + * @return + */ + public String findCssdHandleToussesTableList(Map> parameterMap) { + String sql = "where 1=1"; + Map sqlWhereParamMap = gridManager + .getParamFromView(parameterMap); + if (sqlWhereParamMap != null) { + LoginUserData userData = AcegiHelper.getLoginUser(); + String tousseDefinitionId = (String) sqlWhereParamMap.get("tousseDefinitionId"); + String tousseName = (String) sqlWhereParamMap.get("tousseName"); + String orgUnitId = (String) sqlWhereParamMap.get("orgUnitId"); + String orgUnitCode = (String) sqlWhereParamMap.get("orgUnitCode"); + String orgUnitName = (String) sqlWhereParamMap.get("orgUnitName"); + if (StringUtils.isNotEmpty(tousseDefinitionId)) { + sql += " and po.tousseDefinitionId = " + tousseDefinitionId; + } + if (StringUtils.isNotEmpty(tousseName)) { + sql += " and po.tousseName like '%" + tousseName + "%'"; + } + if (StringUtils.isNotEmpty(orgUnitId)) { + sql += " and po.orgUnitId = " + orgUnitId; + } + if (StringUtils.isNotEmpty(orgUnitCode)) { + sql += " and po.orgUnitCode = '" + orgUnitCode + "'"; + } + if (StringUtils.isNotEmpty(orgUnitName)) { + sql += " and po.orgUnitName like '%" + orgUnitName + "%'"; + } + } + + String[] filterProperties = {"tousseDefinition" , "orgUnit"}; + return gridManager.renderGrid(parameterMap, + CssdHandleTousses.class.getSimpleName(), sql, filterProperties); + } } \ No newline at end of file