| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219 |
- package xin.glue.ui.J.J01;
- import java.io.ByteArrayOutputStream;
- import java.io.PrintStream;
- import java.sql.Connection;
- import java.sql.Statement;
- import java.text.SimpleDateFormat;
- import java.util.ArrayList;
- import java.util.Calendar;
- import org.apache.commons.lang.StringUtils;
- 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.PosRow;
- import com.posdata.glue.dao.vo.PosRowSet;
- public class FJHModifyShipProgStatusOfCoils extends PosActivity {
- public String runActivity(PosContext context) {
- //UPDATE TBH02_COIL_COMM
- String[] pShipProgCd = (String[]) context.get("SHIP_PROG_CD" ); //SET SHIP_PROG_CD = :1
- String[] pCoilNo = (String[]) context.get("COIL_NO" ); //WHERE COIL_NO = :2
- // 车辆号
- String[] TRANS_CAR_NO = (String[]) context.get("TRANS_CAR_NO" );
- String[] COIL_WGT = (String[]) context.get("COIL_WGT" );
- //草支垫重量
- String[] CZD = (String[]) context.get("CZD");
-
-
- //钢卷实际规格厚度
- String[] COIL_THK = (String[]) context.get("COIL_THK" );
-
- // 运输指示号
- String[] pDlivDirNo = (String[]) context.get("DLIV_DIRNO");
- // 钢种牌号
- String[] SPEC_STL_GRD = (String[]) context.get("SPEC_STL_GRD");
- // 发货时间
- String[] TRNF_DTIME = (String[]) context.get("TRNF_DTIME");
- // 收货单位
- String[] ORD_NM = (String[]) context.get("ORD_NM");
- // 到站点
- String[] DEST_PCD_DESC = (String[]) context.get("DEST_PCD_DESC");
- // 合同单位
- String[] CUST_NM = (String[]) context.get("CUST_NM");
- // 运输公司
- String[] SHIP_COMP_CD = (String[]) context.get("SHIP_COMP_CD");
- // 运输公司
- String[] SHIP_COMP_NM = (String[]) context.get("SHIP_COMP_NM");
- // 钢卷号
- String[] OLD_SAMPL_NO = (String[]) context.get("OLD_SAMPL_NO");
- // 产品名称
- String[] SM_CFNM = (String[]) context.get("SM_CFNM");
- String[] ORD_CD = (String[]) context.get("ORD_CD");
-
- String[] DLIV_TP = (String[]) context.get("DlivType");
- String[] ORD_NO = (String[]) context.get("ORD_NO");
- // 登录人
- String[] REG_ID = (String[]) context.get("REG_ID");
-
- //保存发货明细状态的同时把钢卷数据保存到货运中国中间表去
- PosParameter param2 = null;
- PosParameter param5 = null;
- PosParameter param4 = null;
- Connection conn = null;
- Statement sta = null;
- PosRow row;
- ArrayList<String> list=new ArrayList<String>();
- int iCnt = 0;
- if( OLD_SAMPL_NO != null ) {
- iCnt = OLD_SAMPL_NO.length;
- }
- try {
- for( int i = 0; i < iCnt; i++ ) {
- String dlno=pDlivDirNo[i];
- param4 = new PosParameter();
- param4.setWhereClauseParameter(0, pDlivDirNo[i]);
- PosRowSet rows2 = getDao("mesdao").find("UIJ010060_cargocn_01.select", param4);
- while (rows2.hasNext()) {
- row = rows2.next();
- dlno = (String)row.getAttribute("COIL_NO");
- if(i==0)
- {
- PosParameter param = new PosParameter();
- param.setWhereClauseParameter(0, pDlivDirNo[i]);
- getDao("mesdao").update("UIJ010060_cargocn_02.update", param);
- }
- list.add(i, dlno);
- param2 = new PosParameter();
- param2.setWhereClauseParameter(0, dlno);
- this.getDao("mesdao").delete("UIJ010060_cargocn.delete", param2);
- }
- }
- for( int i = 0; i < iCnt; i++ ) {
-
- logger.logError("HUOYUN INSERT START COILNO="
- + OLD_SAMPL_NO[i]);
-
- param2 = new PosParameter();
- String flat = "1";
- param2.setWhereClauseParameter(0, OLD_SAMPL_NO[i]);
- PosRowSet rows2 = getDao("mesdao").find("UIJ010060_cargocn.select", param2);
- //若表中存在该钢卷则删除
- if(rows2.hasNext()){
- getDao("mesdao").delete("UIJ010060_cargocn.delete", param2);
- flat = "0";
- }
- param2 = new PosParameter();
- param2.setValueParamter(0, OLD_SAMPL_NO[i]); //钢卷号
- param2.setValueParamter(1, pDlivDirNo[i]); //发运指示号
- param2.setValueParamter(2, SPEC_STL_GRD[i]); //牌号
- param2.setValueParamter(3, TRANS_CAR_NO[i]); //车牌号
- param2.setValueParamter(4, COIL_WGT[i]); //重量
- // SimpleDateFormat formatter2=new SimpleDateFormat("yyyyHHddHHmmss");
- SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
- String trnFTime = TRNF_DTIME[i];
- if(StringUtils.isEmpty(trnFTime) || "-".equals(trnFTime))
- trnFTime = sdf.format(Calendar.getInstance().getTime());
- param2.setValueParamter(5, trnFTime); //发货时间
- param2.setValueParamter(6, ORD_NM[i]); //收货单位
- param2.setValueParamter(7, DEST_PCD_DESC[i]); //到站
- param2.setValueParamter(8, CUST_NM[i]); //合同单位
- String SHIP_COMP = SHIP_COMP_NM[i];
- if(StringUtils.isEmpty(SHIP_COMP))
- SHIP_COMP = SHIP_COMP_CD[i];
- param2.setValueParamter(9, SHIP_COMP); //承运单位
- param2.setValueParamter(10, SM_CFNM[i]); //产品名称
- param2.setValueParamter(11, "新余市"); //发货城市
- param2.setValueParamter(12, "热卷厂"); //发货地点
- param2.setValueParamter(13, 1); //订单类型默认1
- //通过到站地点从产销数据库查收货城市、收货人、电话
- param5 = new PosParameter();
- param5.setWhereClauseParameter(0, pDlivDirNo[i]);
- String receiveCity = DEST_PCD_DESC[i];
- String receiveNM = "";
- String receivePhone = "";
- PosRowSet rows5 = getDao("mesdao").find("UIJ010060_cx.select", param5);
- if(rows5.hasNext()){
- PosRow row5 = rows5.next();
- Object receiveCityS = row5.getAttribute("UNLOADDOCK"); //产线系统的收货城市
- Object receiveNMS = row5.getAttribute("SHR"); //产线系统的收货人
- Object receivePhoneS = row5.getAttribute("SHRDH"); //产线系统的收货人电话
- if(null != receiveCityS)
- receiveCity = receiveCityS.toString();
- if(null != receiveNMS)
- receiveNM = receiveNMS.toString();
- if(null != receivePhoneS)
- receivePhone = receivePhoneS.toString();
- }
- param2.setValueParamter(14, receiveCity); //收货城市
- param2.setValueParamter(15, receiveNM); //收货联系人
- param2.setValueParamter(16, receivePhone); //收货联系人电话
- param2.setValueParamter(17, "6"); //未发送状态
- param2.setValueParamter(18, "xgmes3_UIJ010060"); //保存数据的系统和界面
- param2.setValueParamter(19, REG_ID[0]); // 操作人
- param2.setValueParamter(20, DLIV_TP[i]); // 运输方式
- param2.setValueParamter(21, "A"); // 修改标示
- param2.setValueParamter(22, ORD_NO[i]); // 合同号
- param2.setValueParamter(23, CZD[0]); // 扣重
- getDao("mesdao").insert("UIJ010060_cargocn.insert", param2);
-
- logger.logError("HUOYUN INSERT END COILNO="
- + OLD_SAMPL_NO[i]);
- //如果重复发送,更新状态
- if("0".equals(flat)){
- PosParameter param = new PosParameter();
- param.setWhereClauseParameter(0, pDlivDirNo[i]);
- getDao("mesdao").update("UIJ010060_cargocn_01.update", param);
- }
- }
- if(!list.isEmpty())
- {
- for (int i = 0; i < list.size(); i++) {
- PosParameter param = new PosParameter();
- param.setWhereClauseParameter(0, list.get(i));
- getDao("mesdao").update("UIJ010060_cargocn_03.update", param);
- // String sql = XmlSqlParsersFactory.getSql("UIJ030030_cargocn_01.update");
- // this.getDao("KgDao").ExcuteNonQuery(sql, new Object[]{list.get(i)});
- }
- }
- } catch (Exception e) {
- ByteArrayOutputStream baos = new ByteArrayOutputStream();
- e.printStackTrace(new PrintStream(baos));
- String exception = baos.toString();
- String errStr = "\n异常原因:" + exception;
- logger.logError("发运明细保存到货运中国中间表时出错 : " + errStr);
- //e.printStackTrace();
- }
-
-
-
-
-
-
- int Cnt = 0;
- if( pCoilNo != null ) {
- Cnt = pCoilNo.length;
- }
- logger.logInfo("iCnt = ["+ Cnt +"]");
- PosParameter param = null;
- for( int i = 0; i < Cnt; i++ ) {
- param = new PosParameter();
-
- param.setValueParamter( 0, "08" );
- param.setValueParamter( 1, TRANS_CAR_NO[i] );
- param.setValueParamter( 2, COIL_WGT[i] );
- param.setValueParamter( 3, CZD[0] );
- param.setValueParamter( 4, pCoilNo[i] );
- getDao("mesdao").update("UIJ010061.ModifyShipProgStatusOfCoils.Save", param);
- }
- return PosBizControlConstants.SUCCESS;
- }
- }
|