Пример #1
0
        public StringBuilder SETADDPURDTB(DATAPURTB DataPURTB)
        {
            StringBuilder ADDPURDTB = new StringBuilder();

            ADDPURDTB.AppendFormat(@"
                                    INSERT INTO [TK].dbo.PURTB
                                    (
                                    COMPANY,CREATOR,USR_GROUP,CREATE_DATE,MODIFIER,MODI_DATE,FLAG,CREATE_TIME,MODI_TIME,TRANS_TYPE,TRANS_NAME,sync_date,sync_time,sync_mark,sync_count,DataUser,DataGroup
                                    ,TB001,TB002,TB003,TB004,TB005,TB006,TB007,TB008,TB009,TB010
                                    ,TB011,TB012,TB013,TB014,TB015,TB016,TB017,TB018,TB019,TB020
                                    ,TB021,TB022,TB023,TB024,TB025,TB026,TB027,TB028,TB029,TB030
                                    ,TB031,TB032,TB033,TB034,TB035,TB036,TB037,TB038,TB039,TB040
                                    ,TB041,TB042,TB043,TB044,TB045,TB046,TB047,TB048,TB049,TB050
                                    ,TB051,TB052,TB053,TB054,TB055,TB056,TB057,TB058,TB059,TB060
                                    ,TB061,TB062,TB063,TB064,TB065,TB066,TB067,TB068,TB069,TB070
                                    ,TB071,TB072,TB073,TB074,TB075,TB076,TB077,TB078,TB079,TB080
                                    ,TB081,TB082,TB083,TB084,TB085,TB086,TB087,TB088,TB089,TB090
                                    ,TB091,TB092,TB093,TB094,TB095,TB096,TB097,TB098,TB099
                                    ,UDF01,UDF02,UDF03,UDF04,UDF05,UDF06,UDF07,UDF08,UDF09,UDF10
                                    )

                                   SELECT 
                                    '{1}'COMPANY,'{2}' CREATOR,'{3}' USR_GROUP,'{4}' CREATE_DATE,'{5}' MODIFIER,'{6}' MODI_DATE,'{7}'FLAG,'{8}' CREATE_TIME,'{9}' MODI_TIME,'{10}' TRANS_TYPE,'{11}' TRANS_NAME,'{12}' sync_date,'{13}' sync_time,'{14}' sync_mark,'{15}' sync_count,'{16}' DataUser,'{17}' DataGroup
                                    ,'{18}' TB001,'{19}' TB002,'{20}' TB003,MB001 TB004,MB002 TB005,MB003 TB006,MB004 TB007,MB017 TB008,'{21}' TB009,MB032 TB010
                                    ,'{22}' TB011,'{23}' TB012,MB067 TB013,'{21}' TB014,MB004 TB015,'NTD' TB016,CONVERT(DECIMAL(16,3),MB065/MB064) TB017,CONVERT(INT,MB065/MB064) TB018,'{22}' TB019,'N' TB020
                                    ,'N' TB021,'' TB022,'' TB023,'{24}' TB024,'N' TB025,CASE WHEN ISNULL(MA044,'')<>'' THEN MA044 ELSE '1' END TB026,'' TB027,'' TB028,'' TB029,'' TB030
                                    ,'' TB031,'N' TB032,'' TB033,0 TB034,0 TB035,'' TB036,'' TB037,'' TB038,'N' TB039,0 TB040
                                    ,0 TB041,'' TB042,'' TB043,'' TB044,'' TB045,'' TB046,'' TB047,'' TB048,0 TB049,'' TB050
                                    ,0 TB051,0 TB052,0 TB053,'' TB054,'' TB055,'' TB056,'' TB057,'1' TB058,'' TB059,'' TB060
                                    ,'' TB061,'' TB062,0 TB063,'N' TB064,'1' TB065,'' TB066,'2' TB067,0 TB068,0 TB069,'' TB070
                                    ,'' TB071,'' TB072,'' TB073,'' TB074,0 TB075,'' TB076,0 TB077,'' TB078,'' TB079,'' TB080
                                    ,0 TB081,0 TB082,0 TB083,0 TB084,0 TB085,'' TB086,'' TB087,'0' TB088,'1' TB089,0 TB090
                                    ,0 TB091,0 TB092,0 TB093,'' TB094,'' TB095,'' TB096,'' TB097,'' TB098,'' TB099
                                    ,'' UDF01,'' UDF02,'' UDF03,'' UDF04,'' UDF05,0 UDF06,0 UDF07,0 UDF08,0 UDF09,0 UDF10
                                    FROM [TK].dbo.INVMB
                                    LEFT JOIN [TK].dbo.PURMA ON MA001=MB032
                                    WHERE MB001 IN ('{0}')
                                    ", DataPURTB.TB004
                                   , DataPURTB.COMPANY, DataPURTB.CREATOR, DataPURTB.USR_GROUP, DataPURTB.CREATE_DATE, DataPURTB.MODIFIER, DataPURTB.MODI_DATE, DataPURTB.FLAG, DataPURTB.CREATE_TIME, DataPURTB.MODI_TIME, DataPURTB.TRANS_TYPE, DataPURTB.TRANS_NAME, DataPURTB.sync_date, DataPURTB.sync_time, DataPURTB.sync_mark, DataPURTB.sync_count, DataPURTB.DataUser, DataPURTB.DataGroup
                                   , DataPURTB.TB001, DataPURTB.TB002, DataPURTB.TB003, DataPURTB.TB009, DataPURTB.TB011, DataPURTB.TB012, DataPURTB.TB024);

            return(ADDPURDTB);
        }
Пример #2
0
        public string GetFormResult(ApplyTask applyTask)
        {
            int           ROWS    = 1;
            StringBuilder PURTBSB = new StringBuilder();

            DATAPURTA DataPURTA = new DATAPURTA();
            DATAPURTB DataPURTB = new DATAPURTB();

            XmlDocument xmlDoc = new XmlDocument();

            xmlDoc.LoadXml(applyTask.CurrentDocXML);

            //找出最後的簽核者
            account = xmlDoc.SelectSingleNode("./Form/Applicant").Attributes["account"].Value;

            //MA001 = applyTask.Task.CurrentDocument.Fields["MA001"].FieldValue.ToString().Trim();
            //MA002 = applyTask.Task.CurrentDocument.Fields["MA002"].FieldValue.ToString().Trim();

            //針對主檔抓出來的資料作處理
            XmlNode node = xmlDoc.SelectSingleNode("./Form/FormFieldValue/FieldItem[@fieldId='PURTAB']");

            DataPURTA.TaskId = applyTask.Task.TaskId;

            DataPURTA.COMPANY     = "TK";
            DataPURTA.CREATOR     = node.SelectSingleNode("FieldValue").Attributes["NAME"].Value;
            DataPURTA.USR_GROUP   = node.SelectSingleNode("FieldValue").Attributes["DEP"].Value;
            DataPURTA.CREATE_DATE = DateTime.Now.ToString("yyyyMMdd");
            DataPURTA.MODIFIER    = account;
            DataPURTA.MODI_DATE   = DateTime.Now.ToString("yyyyMMdd");
            DataPURTA.FLAG        = "1";
            DataPURTA.CREATE_TIME = DateTime.Now.ToString("HH:mm:dd");
            DataPURTA.MODI_TIME   = DateTime.Now.ToString("HH:mm:dd");
            DataPURTA.TRANS_TYPE  = "P001";
            DataPURTA.TRANS_NAME  = "PURI05";
            DataPURTA.sync_date   = "";
            DataPURTA.sync_time   = "";
            DataPURTA.sync_mark   = "";
            DataPURTA.sync_count  = "0";
            DataPURTA.DataUser    = "";
            DataPURTA.DataGroup   = node.SelectSingleNode("FieldValue").Attributes["DEP"].Value;

            DataPURTA.TA001 = "A311";
            DataPURTA.TA002 = FINDMAXPURTATA002("A311", node.SelectSingleNode("FieldValue").Attributes["TA003"].Value);
            DataPURTA.TA003 = node.SelectSingleNode("FieldValue").Attributes["TA003"].Value;
            DataPURTA.TA004 = node.SelectSingleNode("FieldValue").Attributes["DEP"].Value;
            DataPURTA.TA005 = applyTask.Task.TaskId;
            DataPURTA.TA006 = node.SelectSingleNode("FieldValue").Attributes["COMMENT"].Value;
            DataPURTA.TA007 = "N";
            DataPURTA.TA008 = "0";
            DataPURTA.TA009 = "9";
            DataPURTA.TA010 = "20";
            DataPURTA.TA011 = "0";
            DataPURTA.TA012 = node.SelectSingleNode("FieldValue").Attributes["NAME"].Value;
            DataPURTA.TA013 = node.SelectSingleNode("FieldValue").Attributes["TA003"].Value;
            DataPURTA.TA014 = account;
            DataPURTA.TA015 = "0";
            DataPURTA.TA016 = "N";
            DataPURTA.TA017 = "0";
            DataPURTA.TA018 = "";
            DataPURTA.TA019 = "";
            DataPURTA.TA020 = "0";
            DataPURTA.TA021 = "";
            DataPURTA.TA022 = "";
            DataPURTA.TA023 = "0";
            DataPURTA.TA024 = "0";
            DataPURTA.TA025 = "";
            DataPURTA.TA026 = "";
            DataPURTA.TA027 = "";
            DataPURTA.TA028 = "";
            DataPURTA.TA029 = "";
            DataPURTA.TA030 = "0";
            DataPURTA.TA031 = "";
            DataPURTA.TA032 = "0";
            DataPURTA.TA033 = "";
            DataPURTA.TA034 = "";
            DataPURTA.TA035 = "";
            DataPURTA.TA036 = "0";
            DataPURTA.TA037 = "0";
            DataPURTA.TA038 = "0";
            DataPURTA.TA039 = "0";
            DataPURTA.TA040 = "0";
            DataPURTA.TA041 = "";
            DataPURTA.TA042 = "";
            DataPURTA.TA043 = "";
            DataPURTA.TA044 = "";
            DataPURTA.TA045 = "";
            DataPURTA.TA046 = "";
            DataPURTA.UDF01 = "";
            DataPURTA.UDF02 = "";
            DataPURTA.UDF03 = "";
            DataPURTA.UDF04 = "";
            DataPURTA.UDF05 = "";
            DataPURTA.UDF06 = "0";
            DataPURTA.UDF07 = "0";
            DataPURTA.UDF08 = "0";
            DataPURTA.UDF09 = "0";
            DataPURTA.UDF10 = "0";


            //針對DETAIL抓出來的資料作處理

            foreach (XmlNode nodeDetail in xmlDoc.SelectNodes("./Form/FormFieldValue/FieldItem[@fieldId='PURTAB']/FieldValue/Item"))
            {
                DataPURTB.COMPANY     = DataPURTA.COMPANY;
                DataPURTB.CREATOR     = DataPURTA.CREATOR;
                DataPURTB.USR_GROUP   = DataPURTA.USR_GROUP;
                DataPURTB.CREATE_DATE = DataPURTA.CREATE_DATE;
                DataPURTB.MODIFIER    = DataPURTA.MODIFIER;
                DataPURTB.MODI_DATE   = DataPURTA.MODI_DATE;
                DataPURTB.FLAG        = DataPURTA.FLAG;
                DataPURTB.CREATE_TIME = DataPURTA.CREATE_TIME;
                DataPURTB.MODI_TIME   = DataPURTA.MODI_TIME;
                DataPURTB.TRANS_TYPE  = DataPURTA.TRANS_TYPE;
                DataPURTB.TRANS_NAME  = DataPURTA.TRANS_NAME;
                DataPURTB.sync_date   = DataPURTA.sync_date;
                DataPURTB.sync_time   = DataPURTA.sync_time;
                DataPURTB.sync_mark   = DataPURTA.sync_mark;
                DataPURTB.sync_count  = DataPURTA.sync_count;
                DataPURTB.DataUser    = DataPURTA.DataUser;
                DataPURTB.DataGroup   = DataPURTA.DataGroup;

                DataPURTB.TB001 = "A311";
                DataPURTB.TB002 = DataPURTA.TA002;
                DataPURTB.TB003 = ROWS.ToString().PadLeft(4, '0');
                DataPURTB.TB004 = nodeDetail.Attributes["品號"].Value;
                DataPURTB.TB009 = nodeDetail.Attributes["數量"].Value;
                DataPURTB.TB011 = nodeDetail.Attributes["需求日"].Value;
                DataPURTB.TB012 = nodeDetail.Attributes["單身備註"].Value;
                DataPURTB.TB024 = nodeDetail.Attributes["單身備註"].Value;

                PURTBSB.Append(SETADDPURDTB(DataPURTB));
                PURTBSB.AppendLine();

                ROWS = ROWS + 1;
            }

            if (applyTask.FormResult == Ede.Uof.WKF.Engine.ApplyResult.Adopt)
            {
                if (!string.IsNullOrEmpty(DataPURTA.TA001) && !string.IsNullOrEmpty(DataPURTA.TA002))
                {
                    UPDATETB_WKF_TASK(applyTask, DataPURTA.TA001, DataPURTA.TA002);
                    INSERTINTOPURTAB(DataPURTA, PURTBSB, applyTask.FormNumber);
                }
            }

            return("");
        }