Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManagerImpl.java =================================================================== diff -u -r12655 -r12674 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManagerImpl.java (.../WareHouseManagerImpl.java) (revision 12655) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManagerImpl.java (.../WareHouseManagerImpl.java) (revision 12674) @@ -1,11 +1,14 @@ package com.forgon.disinfectsystem.basedatamanager.warehouse.service; +import java.util.Date; import java.util.List; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.StringUtils; +import com.forgon.directory.acegi.tools.AcegiHelper; import com.forgon.directory.model.OrgUnit; +import com.forgon.directory.vo.LoginUserData; import com.forgon.disinfectsystem.entity.basedatamanager.warehouse.WareHouse; import com.forgon.tools.hibernate.ObjectDao; @@ -58,13 +61,37 @@ * 新增或修改仓库 * @param wareHouse * @return + * @throws Exception */ - public WareHouse saveOrUpdateWareHouse(WareHouse wareHouse){ + public WareHouse saveOrUpdateWareHouse(WareHouse wareHouse) throws Exception{ + if(existsWareHouse(wareHouse)){ + throw new Exception("仓库名称已存在"); + } + LoginUserData userData = AcegiHelper.getLoginUser(); + if(userData != null){ + wareHouse.setCreatedUserId(userData.getUserId()); + wareHouse.setCreatedUserName(userData.getUserName()); + } + wareHouse.setCreateTime(new Date()); objectDao.saveOrUpdate(wareHouse); return wareHouse; } /** + * 判断仓库是否已经存在,id不为空时判断名字是否与其它仓库名字相同,如果id为空判断名字是否已经存在 + * @param wareHouse + * @return + */ + private boolean existsWareHouse(WareHouse wareHouse){ + String sql = " where 1=1 "; + if(wareHouse.getId() != null){ + sql += " and id<> " + wareHouse.getId(); + } + sql += " and name = '" + wareHouse.getName() + "'"; + return objectDao.getBySql(WareHouse.class.getSimpleName(), sql) != null; + } + + /** * 删除科室(可多个删除) * @param idList * @return Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/action/WareHouseAction.java =================================================================== diff -u -r12666 -r12674 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/action/WareHouseAction.java (.../WareHouseAction.java) (revision 12666) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/action/WareHouseAction.java (.../WareHouseAction.java) (revision 12674) @@ -70,18 +70,22 @@ public void saveWareHouse() { JSONObject jsonObject = new JSONObject(); jsonObject.put("success", true); - if (wareHouse != null) { - try { - wareHouseManager.saveOrUpdateWareHouse(wareHouse); - } catch (Exception e) { + StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); + try { + if (wareHouse != null) { + try { + wareHouseManager.saveOrUpdateWareHouse(wareHouse); + } catch (Exception e) { + jsonObject.put("success", false); + jsonObject.put("message", e.getMessage()); + logger.error("保存仓库失败:" + e); + } + StrutsParamUtils.getResponse().getWriter().print(jsonObject); + }else{ jsonObject.put("success", false); - jsonObject.put("message", "保存失败"); - logger.error("保存仓库失败:" + e); + jsonObject.put("message", "仓库相关信息为空,保存失败!"); + StrutsParamUtils.getResponse().getWriter().print(jsonObject); } - } - try { - StrutsParamUtils.getResponse().setCharacterEncoding("UTF-8"); - StrutsParamUtils.getResponse().getWriter().print(jsonObject); } catch (IOException e) { logger.error("保存仓库写入响应消息至前端失败:" + e); } @@ -105,8 +109,8 @@ } } catch (Exception e) { jsonObject.put("success", false); - jsonObject.put("message", "保存失败"); - logger.error("保存仓库写入响应消息至前端失败:" + e); + jsonObject.put("message", "删除失败"); + logger.error("删除仓库写入响应消息至前端失败:" + e); } HttpServletResponse httpServletResponse = StrutsParamUtils .getResponse(); Index: forgon-core/src/main/java/com/forgon/directory/model/CssdServiceDepts.java =================================================================== diff -u -r12638 -r12674 --- forgon-core/src/main/java/com/forgon/directory/model/CssdServiceDepts.java (.../CssdServiceDepts.java) (revision 12638) +++ forgon-core/src/main/java/com/forgon/directory/model/CssdServiceDepts.java (.../CssdServiceDepts.java) (revision 12674) @@ -4,13 +4,11 @@ import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; import javax.persistence.Id; -import javax.persistence.Transient; import org.hibernate.annotations.Cache; import org.hibernate.annotations.CacheConcurrencyStrategy; import com.fasterxml.jackson.annotation.JsonFilter; -import com.forgon.directory.model.OrgUnit; /** * 供应室服务临床科室配置配置 Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManager.java =================================================================== diff -u -r12652 -r12674 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManager.java (.../WareHouseManager.java) (revision 12652) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/warehouse/service/WareHouseManager.java (.../WareHouseManager.java) (revision 12674) @@ -30,7 +30,7 @@ * @param wareHouse * @return */ - public WareHouse saveOrUpdateWareHouse(WareHouse wareHouse); + public WareHouse saveOrUpdateWareHouse(WareHouse wareHouse) throws Exception; /** * 删除科室(可多个删除) Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java =================================================================== diff -u -r12667 -r12674 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java (.../OrgUnitManager.java) (revision 12667) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManager.java (.../OrgUnitManager.java) (revision 12674) @@ -95,4 +95,11 @@ */ public int removeCssdServiceDepts(OrgUnit cssd , List orgUnitList , String tousseType); + /** + * 删除供应室服务临床科室配置信息 + * @param idList + * @return + */ + public int removeCssdServiceDepts(List idList); + } Index: forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java =================================================================== diff -u -r12667 -r12674 --- forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 12667) +++ forgon-core/src/main/java/com/forgon/directory/service/OrgUnitManagerImpl.java (.../OrgUnitManagerImpl.java) (revision 12674) @@ -10,6 +10,7 @@ import net.sf.json.JSONArray; +import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang.ArrayUtils; import org.apache.commons.lang.StringUtils; @@ -601,7 +602,7 @@ @Override public CssdServiceDepts getCssdServiceDeptsById(String id) { - // TODO Auto-generated method stub + return null; } @@ -621,14 +622,91 @@ @Override public List saveOrUpdateCssdServiceDepts(OrgUnit cssd, List orgUnitList, String tousseType) { - // TODO Auto-generated method stub - return null; + List result = new ArrayList(); + if(cssd != null && CollectionUtils.isNotEmpty(orgUnitList)){ + CssdServiceDepts cssdServiceDepts = null; + for(OrgUnit orgUnit : orgUnitList){ + cssdServiceDepts = new CssdServiceDepts(); + cssdServiceDepts.setCssdOrgUnitId(cssd.getId()); + cssdServiceDepts.setCssdOrgUnitCode(cssd.getOrgUnitCoding()); + cssdServiceDepts.setCssdOrgUnitName(cssd.getName()); + cssdServiceDepts.setClinicOrgUnitId(orgUnit.getId()); + cssdServiceDepts.setClinicOrgUnitCode(orgUnit.getOrgUnitCoding()); + cssdServiceDepts.setClinicOrgUnitName(orgUnit.getName()); + cssdServiceDepts.setTousseType(tousseType); + //判断是否已配置,防止重复插入(根据科室信息相同且器械包信息也相同则表示为已配置) + if(getCssdServiceDeptsConfig(cssdServiceDepts) == null){ + objectDao.saveOrUpdate(cssdServiceDepts); + result.add(orgUnit); + } + } + } + return result; } @Override public int removeCssdServiceDepts(OrgUnit cssd, List orgUnitList, String tousseType) { - // TODO Auto-generated method stub + int result = 0; + if(cssd != null && CollectionUtils.isNotEmpty(orgUnitList)){ + CssdServiceDepts cssdServiceDepts = null; + for(OrgUnit orgUnit : orgUnitList){ + cssdServiceDepts = new CssdServiceDepts(); + cssdServiceDepts.setCssdOrgUnitId(cssd.getId()); + cssdServiceDepts.setCssdOrgUnitCode(cssd.getOrgUnitCoding()); + cssdServiceDepts.setCssdOrgUnitName(cssd.getName()); + cssdServiceDepts.setClinicOrgUnitId(orgUnit.getId()); + cssdServiceDepts.setClinicOrgUnitCode(orgUnit.getOrgUnitCoding()); + cssdServiceDepts.setClinicOrgUnitName(orgUnit.getName()); + cssdServiceDepts.setTousseType(tousseType); + //判断是否已配置,防止重复插入(根据科室信息相同且器械包信息也相同则表示为已配置) + + cssdServiceDepts = getCssdServiceDeptsConfig(cssdServiceDepts); + if(cssdServiceDepts != null){ + objectDao.delete(cssdServiceDepts); + result++; + } + } + } + return result; + } + + /** + * 判断是否已配置过该供应室服务处理科室 + * @param cssdServiceDepts + * @return + */ + private CssdServiceDepts getCssdServiceDeptsConfig(CssdServiceDepts cssdServiceDepts){ + String sql = " where 1=1 "; + if(cssdServiceDepts.getCssdOrgUnitId() != null){ + sql += " and cssdOrgUnitId = " + cssdServiceDepts.getCssdOrgUnitId(); + } + + if(StringUtils.isNotBlank(cssdServiceDepts.getCssdOrgUnitCode())){ + sql += " and cssdOrgUnitCode = '" + cssdServiceDepts.getCssdOrgUnitCode() + "'"; + } + + if(cssdServiceDepts.getClinicOrgUnitId() != null){ + sql += " and clinicOrgUnitId = " + cssdServiceDepts.getClinicOrgUnitId(); + } + + if(StringUtils.isNotBlank(cssdServiceDepts.getClinicOrgUnitCode())){ + sql += " and clinicOrgUnitCode = '" + cssdServiceDepts.getClinicOrgUnitCode() + "'"; + } + + if(StringUtils.isNotBlank(cssdServiceDepts.getTousseType())){ + sql += " and tousseType = '" + cssdServiceDepts.getTousseType() + "'"; + } + + return (CssdServiceDepts)objectDao.getBySql(CssdServiceDepts.class.getSimpleName(), sql); + } + + @Override + public int removeCssdServiceDepts(List idList) { + if(CollectionUtils.isNotEmpty(idList)){ + objectDao.delete(CssdServiceDepts.class.getSimpleName(), idList); + return idList.size(); + } return 0; } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/warehouse/WareHouse.java =================================================================== diff -u -r12636 -r12674 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/warehouse/WareHouse.java (.../WareHouse.java) (revision 12636) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/warehouse/WareHouse.java (.../WareHouse.java) (revision 12674) @@ -1,5 +1,7 @@ package com.forgon.disinfectsystem.entity.basedatamanager.warehouse; +import java.util.Date; + import javax.persistence.Entity; import javax.persistence.GeneratedValue; import javax.persistence.GenerationType; @@ -55,6 +57,21 @@ */ private Long sequence; + /** + * 创建人id + */ + private Long createdUserId; + + /** + * 创建人名字 + */ + private String createdUserName; + + /** + * 创建时间 + */ + private Date createTime; + @Id @GeneratedValue(strategy = GenerationType.AUTO) public Long getId() { @@ -100,6 +117,24 @@ public void setOrgUnitName(String orgUnitName) { this.orgUnitName = orgUnitName; } + public Long getCreatedUserId() { + return createdUserId; + } + public void setCreatedUserId(Long createdUserId) { + this.createdUserId = createdUserId; + } + public String getCreatedUserName() { + return createdUserName; + } + public void setCreatedUserName(String createdUserName) { + this.createdUserName = createdUserName; + } + public Date getCreateTime() { + return createTime; + } + public void setCreateTime(Date createTime) { + this.createTime = createTime; + } } Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java =================================================================== diff -u -r12603 -r12674 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 12603) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/basedatamanager/toussedefinition/TousseDefinition.java (.../TousseDefinition.java) (revision 12674) @@ -87,6 +87,7 @@ public static final int UNINCLUDE_IMPLANT = 1;// 不包含植入物 public static final String PACKAGE_TYPE_INSIDE = "器械包"; + public static final String PACKAGE_TYPE_INSIDE_AND_DISINFECTION = "器械包与消毒物品";//器械包(含敷料包和消毒物品) public static final String PACKAGE_TYPE_CAN_CUSTOM_PACKING = "允许自定义装配的器械包"; public static final String PACKAGE_TYPE_FOREIGN = "外来器械包"; public static final String PACKAGE_TYPE_SPLIT = "外来器械拆分小包"; Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/cssdservicedepts/action/CssdServiceDeptsAction.java =================================================================== diff -u -r12667 -r12674 --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/cssdservicedepts/action/CssdServiceDeptsAction.java (.../CssdServiceDeptsAction.java) (revision 12667) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/cssdservicedepts/action/CssdServiceDeptsAction.java (.../action/CssdServiceDeptsAction.java) (revision 12674) @@ -1,4 +1,4 @@ -package com.forgon.disinfectsystem.basedatamanager.cssdservicedepts; +package com.forgon.disinfectsystem.basedatamanager.cssdservicedepts.action; import java.io.IOException; import java.util.ArrayList; @@ -40,6 +40,11 @@ private Logger logger = Logger.getLogger(CssdServiceDeptsAction.class); private OrgUnitManager orgUnitManager; + + public void setOrgUnitManager(OrgUnitManager orgUnitManager) { + this.orgUnitManager = orgUnitManager; + } + private CssdServiceDepts cssdServiceDepts; public void setCssdServiceDepts(CssdServiceDepts cssdServiceDepts) { @@ -151,14 +156,13 @@ } } - public void prepareSave() { - - } - + @Override public void prepare() throws Exception { - + String id = StrutsParamUtils.getPraramValue("id", ""); + cssdServiceDepts = orgUnitManager.getCssdServiceDeptsById(id); } + @Override public CssdServiceDepts getModel() { return cssdServiceDepts; } Fisheye: Tag 12674 refers to a dead (removed) revision in file `ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/cssdservicedepts/CssdServiceDeptsAction.java'. Fisheye: No comparison available. Pass `N' to diff?