Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/service/UrgentLevelManager.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/service/UrgentLevelManager.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/service/UrgentLevelManager.java (revision 17830) @@ -0,0 +1,8 @@ +package com.forgon.disinfectsystem.basedatamanager.urgent.service; + +import com.forgon.disinfectsystem.entity.urgent.UrgentLevel; +import com.forgon.tools.hibernate.BasePoManager; + +public interface UrgentLevelManager extends BasePoManager { + +} Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/dwr/UrgentLevelTableManager.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/dwr/UrgentLevelTableManager.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/dwr/UrgentLevelTableManager.java (revision 17830) @@ -0,0 +1,22 @@ +package com.forgon.disinfectsystem.basedatamanager.urgent.dwr; + +import java.util.List; +import java.util.Map; + +import com.forgon.component.grid.GridManager; +import com.forgon.disinfectsystem.entity.urgent.UrgentLevel; + +public class UrgentLevelTableManager { + + private GridManager gridManager; + + public void setGridManager(GridManager gridManager) { + this.gridManager = gridManager; + } + + public String findUrgentLevelTableList(Map> parameterMap){ + String renderGrid = gridManager.renderGrid(parameterMap, + UrgentLevel.class.getSimpleName(), "", new String[]{}); + return renderGrid; + } +} Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/service/UrgentLevelManagerImpl.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/service/UrgentLevelManagerImpl.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/service/UrgentLevelManagerImpl.java (revision 17830) @@ -0,0 +1,40 @@ +package com.forgon.disinfectsystem.basedatamanager.urgent.service; + +import com.forgon.disinfectsystem.entity.urgent.UrgentLevel; +import com.forgon.tools.db.DatabaseUtil; +import com.forgon.tools.hibernate.BasePoManagerImpl; + +public class UrgentLevelManagerImpl extends BasePoManagerImpl + implements UrgentLevelManager{ + + /** + * 添加一个加急级别。如果未设置级别,则设置级别为最大(新添加的级别最大) + */ + @Override + public void save(UrgentLevel object) throws RuntimeException { + if(object != null){ + UrgentLevel current = object; + if(DatabaseUtil.isPoIdValid(object.getId())){ + current = get(object.getId()); + if(current == null){ + throw new RuntimeException("加急级别已经被删除,请刷新后重试"); + } + current.setEnable(object.getEnable()); + current.setName(object.getName()); + } + if(current.getLevel() == null){ + Integer maxlevel = getMaxProperty("level"); + if(maxlevel == null){ + maxlevel = 1; + }else{ + maxlevel += 1; + } + current.setLevel(maxlevel); + }else if(current.getLevel().intValue() == 0){ + throw new RuntimeException("加急级别为无的为系统预定义,不能修改"); + } + super.save(object); + } + } + +} Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/urgent/UrgentLevel.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/urgent/UrgentLevel.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/entity/urgent/UrgentLevel.java (revision 17830) @@ -0,0 +1,62 @@ +package com.forgon.disinfectsystem.entity.urgent; + +import javax.persistence.Entity; +import javax.persistence.GeneratedValue; +import javax.persistence.GenerationType; +import javax.persistence.Id; +import javax.persistence.Table; + +import org.hibernate.annotations.Cache; +import org.hibernate.annotations.CacheConcurrencyStrategy; + +import com.forgon.Constants; + +/** + * 加急等级。中山一院的需求,对加急分等级 + * @author kzh + * + */ +@Entity +@Table(name = "UrgentLevel") +@Cache(usage = CacheConcurrencyStrategy.NONSTRICT_READ_WRITE) +public class UrgentLevel { + private Long id; + /** + * 等级的名称 + */ + private String name; + /** + * 等级的级别。级别越大,优先级越高。值为0代表无,由系统创建并使用,不能修改 + */ + private Integer level; + /** + * 是否启用 + */ + private String enable = Constants.STR_YES; + @Id + @GeneratedValue(strategy=GenerationType.AUTO) + public Long getId() { + return id; + } + public void setId(Long id) { + this.id = id; + } + public String getName() { + return name; + } + public void setName(String name) { + this.name = name; + } + public Integer getLevel() { + return level; + } + public void setLevel(Integer level) { + this.level = level; + } + public String getEnable() { + return enable; + } + public void setEnable(String enable) { + this.enable = enable; + } +} Index: ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/action/UrgentLevelAction.java =================================================================== diff -u --- ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/action/UrgentLevelAction.java (revision 0) +++ ssts-basedata/src/main/java/com/forgon/disinfectsystem/basedatamanager/urgent/action/UrgentLevelAction.java (revision 17830) @@ -0,0 +1,51 @@ +package com.forgon.disinfectsystem.basedatamanager.urgent.action; + +import net.sf.json.JSONObject; + +import org.apache.struts2.convention.annotation.Action; +import org.apache.struts2.convention.annotation.Namespace; +import org.apache.struts2.convention.annotation.ParentPackage; + +import com.forgon.disinfectsystem.basedatamanager.urgent.service.UrgentLevelManager; +import com.forgon.disinfectsystem.entity.urgent.UrgentLevel; +import com.forgon.tools.StrutsResponseUtils; +import com.opensymphony.xwork2.ModelDriven; + +/** + * 加急等级的操作 + * @author kzh + * + */ +@ParentPackage(value = "default") +@Namespace(value = "/disinfectSystem/baseData") +@Action(value = "urgentLevelAction") +public class UrgentLevelAction implements ModelDriven { + + private UrgentLevelManager urgentLevelManager; + private UrgentLevel urgentLevel; + + public void setUrgentLevelManager(UrgentLevelManager urgentLevelManager) { + this.urgentLevelManager = urgentLevelManager; + } + public void loadUrgentLevel(){ + UrgentLevel ul = urgentLevelManager.get(urgentLevel.getId()); + StrutsResponseUtils.output(JSONObject.fromObject(ul)); + } + public void saveUrgentLevel(){ + try{ + urgentLevelManager.save(urgentLevel); + StrutsResponseUtils.output(true, "保存成功"); + }catch(RuntimeException e){ + StrutsResponseUtils.output(false, e.getMessage()); + }catch(Exception e){ + StrutsResponseUtils.output(false,"保存失败"); + } + } + @Override + public UrgentLevel getModel() { + urgentLevel = new UrgentLevel(); + return urgentLevel; + } + + +}