workinstructionversionaction.java
来自「工厂版本管理系统,STRUTS2框架,用于管理商品的版本,便于有效的控制版本」· Java 代码 · 共 207 行
JAVA
207 行
package com.utstar.fcs.web.struts.action;
import java.util.Iterator;
import java.util.Map;
import com.opensymphony.xwork2.ActionContext;
import com.opensymphony.xwork2.Preparable;
import com.utstar.fcs.domain.workinstruction.FlowChartItem;
import com.utstar.fcs.domain.workinstruction.Station;
import com.utstar.fcs.domain.workinstruction.StationVersion;
import com.utstar.fcs.domain.workinstruction.WorkInstruction;
import com.utstar.fcs.domain.workinstruction.WorkInstructionVersion;
public class WorkInstructionVersionAction extends BaseAction implements
Preparable {
private static String WORK_INSTRUCTION = "WORK_INSTRUCTION";
private static String WORK_INSTRUCTION_VERSION = "WORK_INSTRUCTION_VERSION";
// input
private Long workInstructionId;
private Long workInstructionVersionId;
private String[] versions = new String[100];
// form 2
private int position;
private WorkInstructionVersion oldWorkInstructionVersion;
// private WorkInstruction workInstruction = new WorkInstruction();
// private WorkInstructionVersion workInstructionVersion = new
// WorkInstructionVersion();
public void prepare() throws Exception {
// workInstruction =
// getWorkInstructionService().loadFullWorkInstruction(
// workInstructionId);
}
public String input() {
WorkInstruction workInstruction = getWorkInstructionService()
.loadFullWorkInstruction(workInstructionId);
WorkInstructionVersion workInstructionVersion = getWorkInstructionService()
.makeDefaultNewVersion(workInstruction);
// put to session
setWorkInstruction(workInstruction);
setWorkInstructionVersion(workInstructionVersion);
//synchronize
for(int i=0;i<workInstructionVersion.getFlowChart().size();i++)
versions[i] = workInstructionVersion.getFlowChart().get(i).getStationVersion().getVersion();
return INPUT;
}
public String up() {
int newPosition = position - 1;
if (newPosition >= 0) {
FlowChartItem fci = getWorkInstructionVersion().getFlowChart().get(
position);
getWorkInstructionVersion().getFlowChart().remove(position);
getWorkInstructionVersion().getFlowChart().add(newPosition, fci);
//version array
String temp = versions[position];
versions[position]=versions[newPosition];
versions[newPosition]=temp;
}
return INPUT;
}
public String down() {
int newPosition = position + 1;
if (newPosition < getWorkInstructionVersion().getFlowChart().size()) {
FlowChartItem fci = getWorkInstructionVersion().getFlowChart().get(
position);
getWorkInstructionVersion().getFlowChart().remove(position);
getWorkInstructionVersion().getFlowChart().add(newPosition, fci);
//version array
String temp = versions[position];
versions[position]=versions[newPosition];
versions[newPosition]=temp;
}
return INPUT;
}
private void updateVersions(){
int size =getWorkInstructionVersion().getFlowChart().size();
for(int i=0;i<size;i++)
{
FlowChartItem fci = getWorkInstructionVersion().getFlowChart().get(i);
Station station = fci.getStationVersion().getStation();
String newVersion = versions[i];
StationVersion newSV = station.getVersions().get(newVersion);
fci.setStationVersion(newSV);
}
}
public String changeVersion(){
updateVersions();
return INPUT;
}
/*
* save&clear session
*/
public String release() {
//update versions
updateVersions();
getReposity().getCommonDao().getHibTemplate().save(getWorkInstructionVersion());
setWorkInstructionVersion(null);
setWorkInstruction(null);
return "autoclose";
}
public String show() {
oldWorkInstructionVersion = (WorkInstructionVersion) getReposity().get(
WorkInstructionVersion.class, workInstructionVersionId);
return "show";
}
public Long getWorkInstructionId() {
return workInstructionId;
}
public void setWorkInstructionId(Long workInstructionId) {
this.workInstructionId = workInstructionId;
}
public WorkInstruction getWorkInstruction() {
Map session = ActionContext.getContext().getSession();
return (WorkInstruction) session.get(WORK_INSTRUCTION);
}
public void setWorkInstruction(WorkInstruction workInstruction) {
// this.workInstruction = workInstruction;
ActionContext.getContext().getSession().put(WORK_INSTRUCTION,
workInstruction);
}
public WorkInstructionVersion getWorkInstructionVersion() {
Map session = ActionContext.getContext().getSession();
return (WorkInstructionVersion) session.get(WORK_INSTRUCTION_VERSION);
}
public void setWorkInstructionVersion(
WorkInstructionVersion workInstructionVersion) {
ActionContext.getContext().getSession().put(WORK_INSTRUCTION_VERSION,
workInstructionVersion);
}
public int getPosition() {
return position;
}
public void setPosition(int position) {
this.position = position;
}
public Long getWorkInstructionVersionId() {
return workInstructionVersionId;
}
public void setWorkInstructionVersionId(Long workInstructionVersionId) {
this.workInstructionVersionId = workInstructionVersionId;
}
public WorkInstructionVersion getOldWorkInstructionVersion() {
return oldWorkInstructionVersion;
}
public void setOldWorkInstructionVersion(
WorkInstructionVersion oldWorkInstructionVersion) {
this.oldWorkInstructionVersion = oldWorkInstructionVersion;
}
public String[] getVersions() {
return versions;
}
public void setVersions(String[] versions) {
this.versions = versions;
}
}
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?