/// <summary> /// 修料 /// </summary> /// <param name="strs">线材实绩主键</param> /// <param name="Type">修料状态</param> /// <param name="PCINFO">特殊信息</param> /// <returns></returns> public int TransaTSXX(string strs, string Type, string PCINFO, string rollID, string strSFHG) { try { Dal_TRC_ROLL_PRODCUT dalTrcRollProduct = new Dal_TRC_ROLL_PRODCUT(); Dal_TQC_UPDATE_MATERIAL dal_Update = new Dal_TQC_UPDATE_MATERIAL(); Dal_TQC_UPDATE_MATERIAL_LOG dal_update_log = new Dal_TQC_UPDATE_MATERIAL_LOG(); Dal_TQC_UPD_MATERIAL_MAIN dalUpdMain = new Dal_TQC_UPD_MATERIAL_MAIN(); Dal_Interface_FR dalInterface_FR = new Dal_Interface_FR(); Dal_TQC_SPECIFIC_CONTENT_LOG dalLog = new Dal_TQC_SPECIFIC_CONTENT_LOG(); TransactionHelper.BeginTransaction(); TransactionHelper_SQL.BeginTransaction(); string strUserID = RV.UI.UserInfo.UserID; DateTime dTime = RV.UI.ServerTime.timeNow(); string[] strs_Product_ID = strs.Substring(0, strs.Length - 1).Split(','); string[] strs_ID = null; if (rollID != "") { strs_ID = rollID.Substring(0, rollID.Length - 1).Split(','); } if (strs_Product_ID.Length == 0) { TransactionHelper_SQL.RollBack(); TransactionHelper.RollBack(); return(0); } for (int i = 0; i < strs_Product_ID.Length; i++) { Mod_TRC_ROLL_PRODCUT modProduct = dalTrcRollProduct.GetModel(strs_Product_ID[i]); Mod_TQC_UPDATE_MATERIAL_LOG mod_log = new Mod_TQC_UPDATE_MATERIAL_LOG(); decimal? wgt = modProduct.N_WGT; DataTable dt = dalInterface_FR.Get_TM_XL_List(modProduct.C_BATCH_NO, modProduct.C_TICK_NO).Tables[0]; if (dt == null) { TransactionHelper_SQL.RollBack(); TransactionHelper.RollBack(); return(0); } if (rollID == "") { Mod_TQC_UPDATE_MATERIAL mod = new Mod_TQC_UPDATE_MATERIAL(); mod.C_ROLL_PRODUCT_ID = modProduct.C_ID; mod.C_TYPE = Type; mod.C_EMP_ID = strUserID; mod.C_SFHG = strSFHG; mod_log.C_TYPE = mod.C_TYPE; dalUpdMain.Update_BATCH_NO(modProduct.C_BATCH_NO); if (!dal_Update.Add_Trans(mod)) { TransactionHelper_SQL.RollBack(); TransactionHelper.RollBack(); return(0); } } else { Mod_TQC_UPDATE_MATERIAL mod = dal_Update.GetModel(strs_ID[i]); if (Type == "2") { if (mod.C_TYPE == "3") { mod.C_TYPE = "6"; PCINFO = "0"; Mod_TQC_UPDATE_MATERIAL_LOG mod_logs = new Mod_TQC_UPDATE_MATERIAL_LOG(); mod_logs.C_TYPE = "2"; mod_logs.N_WGT = wgt; mod_logs.N_WGT_DIFFERENCE = wgt - Convert.ToDecimal(dt.Rows[0]["ZL"]); mod_logs.C_SFHG = mod.C_SFHG; mod_logs.C_ROLL_PRODUCT_ID = modProduct.C_ID; mod_logs.C_EMP_ID = strUserID; if (!dal_update_log.Add_Trans(mod_logs)) { TransactionHelper_SQL.RollBack(); TransactionHelper.RollBack(); return(0); } } else { mod.C_TYPE = Type; } } if (Type == "3") { if (mod.C_TYPE == "2") { mod.C_TYPE = "6"; PCINFO = "0"; Mod_TQC_UPDATE_MATERIAL_LOG mod_logs = new Mod_TQC_UPDATE_MATERIAL_LOG(); mod_logs.C_TYPE = "3"; mod_logs.N_WGT = wgt; mod_logs.N_WGT_DIFFERENCE = wgt - Convert.ToDecimal(dt.Rows[0]["ZL"]); mod_logs.C_SFHG = mod.C_SFHG; mod_logs.C_ROLL_PRODUCT_ID = modProduct.C_ID; mod_logs.C_EMP_ID = strUserID; if (!dal_update_log.Add_Trans(mod_logs)) { TransactionHelper_SQL.RollBack(); TransactionHelper.RollBack(); return(0); } } else { mod.C_TYPE = Type; } } mod.C_EMP_ID = strUserID; mod.D_MOD_DT = dTime; mod.N_WGT = wgt; mod.C_SFHG = strSFHG; mod.N_WGT_DIFFERENCE = wgt - Convert.ToDecimal(dt.Rows[0]["ZL"]); mod_log.C_TYPE = mod.C_TYPE; mod_log.N_WGT = wgt; mod_log.N_WGT_DIFFERENCE = wgt - Convert.ToDecimal(dt.Rows[0]["ZL"]); mod_log.C_SFHG = mod.C_SFHG; modProduct.N_WGT = Convert.ToDecimal(dt.Rows[0]["ZL"]); if (!dal_Update.Update_Trans(mod)) { TransactionHelper_SQL.RollBack(); TransactionHelper.RollBack(); return(0); } } if (PCINFO == "0") { if (modProduct.C_PCINFO.Contains("待修料;")) { modProduct.C_PCINFO = modProduct.C_PCINFO.Replace("待修料;", ""); } } else { if (modProduct.C_PCINFO == "") { modProduct.C_PCINFO = PCINFO + ";"; } else if (modProduct.C_PCINFO.Contains("待修料")) { modProduct.C_PCINFO = modProduct.C_PCINFO; } else { modProduct.C_PCINFO = modProduct.C_PCINFO + PCINFO + ";"; } } modProduct.C_EMP_ID = strUserID; modProduct.C_PLANT_DESC = dTime.ToString(); if (!dalTrcRollProduct.Update_Trans_XL(modProduct)) { TransactionHelper_SQL.RollBack(); TransactionHelper.RollBack(); return(0); } mod_log.C_ROLL_PRODUCT_ID = modProduct.C_ID; mod_log.C_EMP_ID = strUserID; if (!dal_update_log.Add_Trans(mod_log)) { TransactionHelper_SQL.RollBack(); TransactionHelper.RollBack(); return(0); } string strDJ = ""; if (string.IsNullOrEmpty(modProduct.C_JUDGE_LEV_ZH)) { strDJ = "DP"; } else { strDJ = modProduct.C_JUDGE_LEV_ZH; } string sql = ""; sql += "insert into ReZJB_GPD(Barcode,WGDH,CK,HW,PCH,WLH,WLMC,SX,PH,GG,BB,GH,ZL,BZ,RQ,RKType,RKRY,WeightRQ,ProduceData,PCInfo,vfree0,vfree3,GPTYPE,ZJBstatus,CAPPK,vfree1,vfree2,insertts) values('" + modProduct.C_BARCODE + "','" + modProduct.C_TRC_ROLL_MAIN_ID + "','" + modProduct.C_LINEWH_CODE + "','" + modProduct.C_LINEWH_LOC_CODE + "','" + modProduct.C_BATCH_NO + "','" + modProduct.C_MAT_CODE + "','" + modProduct.C_MAT_DESC + "','" + strDJ + "','" + modProduct.C_STL_GRD + "','" + modProduct.C_SPEC + "mm','" + modProduct.C_GROUP + "','" + modProduct.C_TICK_NO + "','" + modProduct.N_WGT + "','" + modProduct.C_STD_CODE + "','" + modProduct.D_RKRQ + "','" + modProduct.C_MOVE_DESC + "','" + modProduct.C_RKRY + "','" + modProduct.D_WEIGHT_DT + "','" + modProduct.D_PRODUCE_DATE + "','" + modProduct.C_PCINFO + "','" + modProduct.C_STOVE + "','" + modProduct.C_BZYQ + "','','0','" + modProduct.C_ID + "','" + modProduct.C_ZYX1 + "','" + modProduct.C_ZYX2 + "','" + RV.UI.ServerTime.timeNow() + "')"; if (TransactionHelper_SQL.ExecuteSql(sql) == 0) { TransactionHelper_SQL.RollBack(); TransactionHelper.RollBack(); return(0); } else { if (rollID != "") { Mod_TQC_UPDATE_MATERIAL mod = dal_Update.GetModel(strs_ID[i]); if (Type == "2") { if (mod.C_TYPE == "3") { Mod_TQC_SPECIFIC_CONTENT_LOG modLog = new Mod_TQC_SPECIFIC_CONTENT_LOG(); modLog.C_BATCH_NO = modProduct.C_BATCH_NO; modLog.C_CONTENT = "取消待修料"; modLog.C_TICK_NO = modProduct.C_TICK_NO; modLog.C_EMP_ID = strUserID; if (!dalLog.Add_Trans(modLog)) { TransactionHelper.RollBack(); TransactionHelper_SQL.RollBack(); return(0); } } } if (Type == "3") { if (mod.C_TYPE == "2") { Mod_TQC_SPECIFIC_CONTENT_LOG modLog = new Mod_TQC_SPECIFIC_CONTENT_LOG(); modLog.C_BATCH_NO = modProduct.C_BATCH_NO; modLog.C_CONTENT = "取消待修料"; modLog.C_TICK_NO = modProduct.C_TICK_NO; modLog.C_EMP_ID = strUserID; if (!dalLog.Add_Trans(modLog)) { TransactionHelper.RollBack(); TransactionHelper_SQL.RollBack(); return(0); } } } } } } TransactionHelper_SQL.Commit(); TransactionHelper.Commit(); return(1); } catch (Exception ex) { TransactionHelper_SQL.RollBack(); TransactionHelper.RollBack(); return(0); } }