Esempio n. 1
0
 void SaveDn(string dn)
 {
     try
     {
         var sdDnDetail = dnBase.sdDnDetailList.Where(x => x.VBELN == dn).Distinct().ToList();
         var sdToDetail = dnBase.sdToDetailList.Where(x => x.VBELN == dn).Distinct().LastOrDefault();
         var sdToHead   = dnBase.sdToHeadList.Where(x => x.TKNUM == sdToDetail.TKNUM).LastOrDefault();
         var GtRoute    = dnBase.GetGtRoute(sdToDetail.KUNNR.Trim());
         #region CustmerCode未配置GtRoute的Dn忽略
         if (GtRoute.Count == 0)
         {
             WriteLog.WriteIntoMESLog(dbstr, bu, "Interface", "MESInterface.VERTIV.VertivDownloadDn", "VertivDownloadDn", $@"Dn:{dn};To:{sdToDetail.TKNUM};CustmerCode:{sdToDetail.KUNNR}未配置GtRoute", "", sdToDetail.TKNUM, dn, sdToDetail.KUNNR, "system", "N");
             return;
         }
         #endregion
         using (var db = OleExec.GetSqlSugarClient(dbstr, true))
         {
             var result = db.Ado.UseTran(() =>
             {
                 db.Deleteable <R_DN_STATUS>().Where(x => x.DN_NO == dn).ExecuteCommand();
                 foreach (var item in sdDnDetail)
                 {
                     db.Insertable <R_DN_STATUS>(new R_DN_STATUS()
                     {
                         ID         = MesDbBase.GetNewID(db, bu, "R_DN_STATUS"),
                         DN_NO      = dn,
                         DN_LINE    = item.POSNR,
                         PO_NO      = dnBase.sdCustmerSoList.Where(x => x.VBELN == dn && x.POSNR == item.POSNR).Single().BSTKD,
                         PO_LINE    = dnBase.sdCustmerSoList.Where(x => x.VBELN == dn && x.POSNR == item.POSNR).Single().POSEX,
                         SO_NO      = item.VGBEL,
                         SKUNO      = DnBase.SkunoNameHandle(item.MATNR),
                         QTY        = double.Parse(item.LFIMG),
                         GTTYPE     = GtRoute.LastOrDefault().ROUTENAME,
                         GT_FLAG    = "0",
                         DN_FLAG    = "0",
                         DN_PLANT   = sdToHead.WERKS,
                         GTEVENT    = GtRoute.FirstOrDefault().SEQ,
                         CREATETIME = System.DateTime.Now,
                         EDITTIME   = System.DateTime.Now
                     }).ExecuteCommand();
                 }
             });
             if (!result.IsSuccess)
             {
                 WriteLog.WriteIntoMESLog(dbstr, bu, "Interface", "MESInterface.VERTIV.VertivDownloadDn", "VertivDownloadDn", $@"Dn:{dn};Err:{result.ErrorMessage}", "", "SaveDn", dn, "", "system", "N");
             }
         }
     }
     catch (Exception e)
     {
         WriteLog.WriteIntoMESLog(dbstr, bu, "Interface", "MESInterface.VERTIV.VertivDownloadDn", "VertivDownloadDn", $@"Dn:{dn};Err:{e.Message}", "", "SaveDn", dn, "", "system", "N");
     }
 }
Esempio n. 2
0
        void SaveTo(string dn)
        {
            var sdToDetail = dnBase.sdToDetailList.Where(x => x.VBELN == dn).Distinct().ToList();
            var sdToHead   = dnBase.sdToHeadList.Where(x => x.TKNUM == sdToDetail.FirstOrDefault().TKNUM).Distinct().ToList();

            using (var db = OleExec.GetSqlSugarClient(dbstr, true))
            {
                var result = db.Ado.UseTran(() =>
                {
                    #region delete old data
                    db.Deleteable <R_TO_HEAD>().Where(x => x.TO_NO == sdToDetail[0].TKNUM).ExecuteCommand();
                    db.Deleteable <R_TO_DETAIL>().Where(x => x.DN_NO == dn).ExecuteCommand();
                    #endregion
                    #region new data
                    db.Insertable <R_TO_HEAD>(
                        new R_TO_HEAD()
                    {
                        ID            = MesDbBase.GetNewID(db, bu, "R_TO_HEAD"),
                        TO_NO         = sdToHead.FirstOrDefault().TKNUM,
                        PLAN_STARTIME = DateTime.Parse($@"{RFCDate(sdToHead.FirstOrDefault().DPREG)} {sdToHead.FirstOrDefault().UPREG}"),
                        PLAN_ENDTIME  = DateTime.Parse($@"{RFCDate(sdToHead.FirstOrDefault().DPABF)} {sdToHead.FirstOrDefault().UPABF}"),
                        TO_CREATETIME = $@"{RFCDate(sdToHead.FirstOrDefault().ERDAT)} {sdToHead.FirstOrDefault().ERZET}",
                        CONTAINER_NO  = sdToHead.FirstOrDefault().SIGNI,
                        VEHICLE_NO    = sdToHead.FirstOrDefault().EXTI2,
                        EXTERNAL_NO   = sdToHead.FirstOrDefault().EXTI1,
                        DROP_FLAG     = "0"
                    }
                        ).ExecuteCommand();

                    db.Insertable <R_TO_DETAIL>(
                        new R_TO_DETAIL()
                    {
                        ID          = MesDbBase.GetNewID(db, bu, "R_TO_DETAIL"),
                        TO_NO       = sdToDetail.FirstOrDefault().TKNUM,
                        TO_ITEM_NO  = sdToDetail.FirstOrDefault().TPNUM,
                        DN_NO       = dn,
                        DN_CUSTOMER = sdToDetail.FirstOrDefault().KUNNR,
                        CREATETIME  = System.DateTime.Now
                    }).ExecuteCommand();
                    #endregion
                });
                if (!result.IsSuccess)
                {
                    WriteLog.WriteIntoMESLog(dbstr, bu, "Interface", "MESInterface.VERTIV.VertivDownloadDn", "VertivDownloadDn", $@"Dn:{dn};Err:{result.ErrorMessage}", "", "SaveTo", dn, "", "system", "N");
                }
            }
        }
Esempio n. 3
0
 public static void WriteIntoMESLog(string Dbstr, string bu, string programName, string className, string functionName, string logMessage, string logSql, string data1, string data2, string data3, string editEmp, string mailflag)
 {
     using (var db = OleExec.GetSqlSugarClient(Dbstr, true))
     {
         db.Insertable <R_MES_LOG>(new R_MES_LOG {
             ID            = MesDbBase.GetNewID(Dbstr, bu, "R_MES_LOG"),
             PROGRAM_NAME  = programName,
             CLASS_NAME    = className,
             FUNCTION_NAME = functionName,
             LOG_MESSAGE   = logMessage,
             LOG_SQL       = logSql,
             DATA1         = data1,
             DATA2         = data2,
             DATA3         = data3,
             EDIT_EMP      = editEmp,
             EDIT_TIME     = System.DateTime.Now,
             MAILFLAG      = mailflag
         }).ExecuteCommand();
     }
 }