package xin.glue.ui.G.G06;
import com.posdata.glue.biz.activity.PosActivity;
import com.posdata.glue.biz.constants.PosBizControlConstants;
import com.posdata.glue.context.PosContext;
import com.posdata.glue.dao.vo.PosParameter;
import com.posdata.glue.dao.vo.PosRowSet;
import com.posdata.glue.util.log.PosLog;
import com.posdata.glue.util.log.PosLogFactory;
/*
* auth:wangxiaoyan
* date:2008-12-18
* desc:班次组的编制
*/
public class XinSaveShiftData extends PosActivity {
static PosLog logger = PosLogFactory.getLogger(XinSaveShiftData.class);
public String runActivity(PosContext context) {
//
// 20082
// 23
// 1
// 乙
String[] procCd = (String[]) context.get("PROC_CD"); // 工厂区分
String[] grMonth = (String[]) context.get("GR_YYYYMM"); // 月份
String[] grDate = (String[]) context.get("GR_DD"); //
String[] grShift = (String[]) context.get("GR_SHIFT"); // 班次
String[] grGroup = (String[]) context.get("GR_GROUP"); // 组
if (grGroup.length > 0) {
for (int i = 0; i < grGroup.length; i++) {
StringBuffer orderClf = new StringBuffer();
orderClf.append("select * from tbg02_shift_group ");
orderClf.append("where proc_cd = ? ");
orderClf.append("and gr_yyyymm = ? ");
orderClf.append("and gr_dd = ? ");
orderClf.append("and gr_shift = ?");
logger.logInfo("-------->orderClf = " + orderClf);
PosParameter param0 = new PosParameter();
param0.setWhereClauseParameter(0, procCd[i]);
param0.setWhereClauseParameter(1, grMonth[i]);
param0.setWhereClauseParameter(2, grDate[i]);
param0.setWhereClauseParameter(3, grShift[i]);
PosRowSet rowSet0 = this.getDao("mesdao").findByQueryStatement(orderClf.toString(), param0);
// 该班次已经编制,进行修改
if (rowSet0.hasNext()) {
param0 = new PosParameter();
param0.setWhereClauseParameter(0, grGroup[i]);
param0.setWhereClauseParameter(1, procCd[i]);
param0.setWhereClauseParameter(2, grMonth[i]);
param0.setWhereClauseParameter(3, grDate[i]);
param0.setWhereClauseParameter(4, grShift[i]);
logger.logInfo("-------> Starting update shift ");
this.getDao("mesdao").update("UIG060020_shift.update",param0);
}
// 该班次尚未编制,插入操作
else {
param0 = new PosParameter();
param0.setValueParamter(0, grGroup[i]);
param0.setValueParamter(1, procCd[i]);
param0.setValueParamter(2, grMonth[i]);
param0.setValueParamter(3, grDate[i]);
param0.setValueParamter(4, grShift[i]);
logger.logInfo("-------> Starting insert shift ");
this.getDao("mesdao").insert("UIG060020_shift.insert",param0);
}
}
}
return PosBizControlConstants.SUCCESS;
}
}