| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- package xin.glue.ui.G.G02;
- import java.math.BigDecimal;
- import java.sql.CallableStatement;
- import java.text.ParseException;
- import java.text.SimpleDateFormat;
- import java.util.Calendar;
- import org.apache.commons.lang.StringUtils;
- import xin.glue.ui.G.G01.XTBGCreateMaterial;
- 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.PosGenericDao;
- import com.posdata.glue.dao.vo.PosParameter;
- import com.posdata.glue.dao.vo.PosRow;
- import com.posdata.glue.dao.vo.PosRowSet;
- public class PosSaveSlabRecut extends PosActivity {
- public String runActivity(PosContext context) {
- String[] RegId = (String[]) context.get("CUT_EMP_ID"); //作业人
- PosGenericDao dao = getDao("mesdao");
- PosParameter param = new PosParameter();
- PosRowSet rowset = null;
- PosRow row = null;
-
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- XTBGCreateMaterial xtbcm = new XTBGCreateMaterial(dao);
- //XTBGCOMM xtbgcomm = new XTBGCOMM(dao);
- String CUR_PROG_CD = "";
- String SAMPLINGID = "";
- String[] chargeNo = (String[]) context.get("CHARGE_NO"); //班次
- if(chargeNo == null || StringUtils.isBlank(chargeNo[0])){
- context.put("MESSAGES", " 炉次号为空! ");
- return PosBizControlConstants.SUCCESS;
- }
- chargeNo[0] = "J"+chargeNo[0].substring(1, 10);
- //获取当前日期
- Calendar nowCal = Calendar.getInstance();
- int nowMonth = nowCal.get(Calendar.MONTH) + 1;
- //实例化切割日期日历
- Calendar cutCal = Calendar.getInstance();
- String sql = "SELECT T.*,TO_CHAR(TO_DATE(T.SLAB_CUT_DTIME,'YYYY-MM-DD HH24:MI:SS'),'YYYY-MM-DD HH24:MI:SS') SLAB_CUT_DTIME1 FROM TBG02_SLAB_COMM T WHERE T.SLAB_NO LIKE ?||'%'";
- param = new PosParameter();
- param.setWhereClauseParameter(0, chargeNo[0]);
- rowset = dao.findByQueryStatement(sql, param);
- while(rowset.hasNext()){
- row = rowset.next();
- try {
- cutCal.setTime(sdf.parse((String)row.getAttribute("SLAB_CUT_DTIME1")));
- } catch (ParseException e) {
- // TODO Auto-generated catch block
- e.printStackTrace();
- }
- int cutMonth = cutCal.get(Calendar.MONTH) + 1;
- if(nowMonth > cutMonth){
- context.put("MESSAGES", chargeNo[0] + "中有板坯已关帐,不允许撤销板坯实绩");
- return PosBizControlConstants.SUCCESS;
- }
-
- CUR_PROG_CD = (String)row.getAttribute("CUR_PROG_CD");
- SAMPLINGID = (String)row.getAttribute("SAMPLINGID");
- if("RCB".equals(CUR_PROG_CD) || "RBB".equals(CUR_PROG_CD) || "RBA".equals(CUR_PROG_CD) || "RGF".equals(CUR_PROG_CD)
- || "RGC".equals(CUR_PROG_CD)){
- context.put("MESSAGES", " 坯料为订单材需降余材后操作或则已经中厚板移送通知撤销移送! ");
- return PosBizControlConstants.SUCCESS;
- }
- if(!StringUtils.isBlank(SAMPLINGID)){
- context.put("MESSAGES", " 坯料已经进行重量匹配,请到匹配界面取消匹配之后再清空流号! ");
- return PosBizControlConstants.SUCCESS;
- }
- }
-
- sql = "select count(1) CHARGE_CNT from tbg02_charge_comm_d t where t.SUB_CHARGE_NO = ?";
- param = new PosParameter();
- param.setWhereClauseParameter(0, chargeNo[0]);
- rowset = dao.findByQueryStatement(sql, param);
- if(rowset.hasNext()){
- row = rowset.next();
- BigDecimal chargecnt = (BigDecimal)row.getAttribute("CHARGE_CNT");
- if((chargecnt.compareTo(new BigDecimal(1)) > 0)){
- context.put("MESSAGES", " 已经分炉,不可删除板坯实绩! ");
- return PosBizControlConstants.SUCCESS;
- }
- }
-
- /*财务数据上抛*/
- sql = "SELECT T.SLAB_NO FROM TBG02_SLAB_COMM T WHERE T.SLAB_NO LIKE ?||'%'";
- param = new PosParameter();
- param.setWhereClauseParameter(0, chargeNo[0]);
- rowset = dao.findByQueryStatement(sql, param);
- CallableStatement cstm = null;
- while(rowset.hasNext()){
- cstm = null;
- row = rowset.next();
- try
- {
- cstm = this.getDao("mesdao").getCallableStatement("UPLOAD_DATA.CAL");
- cstm.setString(1, (String)row.getAttribute("SLAB_NO"));
- cstm.setString(2, "11A");
- cstm.setString(3, "D");
- cstm.setString(4, "板坯切割实绩录入撤销");
- cstm.setString(5, RegId == null?"Xg3qUser":RegId[0]);
- cstm.registerOutParameter(6, java.sql.Types.VARCHAR);
- cstm.execute();
-
- String err = cstm.getString(6);
- }catch(Exception ex){
- ex.printStackTrace();
- }
- }
- if(cstm != null){
- try{
- cstm.close();
- }catch(Exception e)
- {
- e.printStackTrace();
- }
- }
-
- param = new PosParameter();
- param.setWhereClauseParameter(0, chargeNo[0]);
- dao.delete("UIG020060_SLAB_RECUT.delete", param);
- dao.delete("UIG020060_SLAB_RECUT_02.delete", param);
-
- param = new PosParameter();
- param.setWhereClauseParameter(0, chargeNo[0]);
- rowset = dao.find("UIG020060_SLAB_RECUT.select", param);
- while(rowset.hasNext()){
- row = rowset.next();
- xtbcm.CreateSlab((String)row.getAttribute("SLAB_MANA_NO"));
- }
-
- param = new PosParameter();
- param.setWhereClauseParameter(0, chargeNo[0]);
- dao.delete("UIG020060_SLAB_RECUT_03.delete", param);
- dao.delete("UIG020060_SLAB_RECUT_04.delete", param);
- xtbcm.CreateCharge("3"+chargeNo[0].substring(1, 10));
-
- param = new PosParameter();
- param.setWhereClauseParameter(0, chargeNo[0]);
- //CLEAR YARD ADDR
- dao.update("UIG020060_SLAB_RECUT_02.update", param);
- context.put("MESSAGES","操作成功!");
- return PosBizControlConstants.SUCCESS;
- }
- }
|