diff --git a/ICSSoft.ERP.WebAPI/ICSSoft.DataProject/PurchaseReceiveDoc.cs b/ICSSoft.ERP.WebAPI/ICSSoft.DataProject/PurchaseReceiveDoc.cs index c48e54d..b673ba0 100644 --- a/ICSSoft.ERP.WebAPI/ICSSoft.DataProject/PurchaseReceiveDoc.cs +++ b/ICSSoft.ERP.WebAPI/ICSSoft.DataProject/PurchaseReceiveDoc.cs @@ -107,6 +107,7 @@ namespace ICSSoft.DataProject /// public string CreateRdRecord01sByPO(List Bills) { + string cCode = ""; string szJson = ""; string gys = ""; int isEnable = 0; @@ -275,7 +276,7 @@ namespace ICSSoft.DataProject if (dtPOMain != null && dtPOMain.Rows.Count > 0) { string cSource = ""; - string cCode = ""; + cCode = ""; int bredvouch = 0; string WHCode = ""; @@ -348,24 +349,24 @@ namespace ICSSoft.DataProject INSERT INTO dbo.RdRecord01 (ID ,bRdFlag ,cVouchType ,cBusType ,cSource , cWhCode ,dDate ,cCode ,cRdCode ,cDepCode , - cPersonCode ,cVenCode ,cOrderCode ,cARVCode, + cPersonCode ,cVenCode ,cOrderCode , cHandler ,bTransFlag ,cMaker,cDefine1,cDefine2, dVeriDate ,bpufirst ,biafirst , dARVDate ,VT_ID , bIsSTQc ,ipurorderid ,iTaxRate ,iExchRate ,cExch_Name , bOMFirst ,bFromPreYear ,bIsComplement ,iDiscountTaxType ,ireturncount , iverifystate ,iswfcontrolled ,cModifyPerson ,dnmaketime ,dnverifytime , - bredvouch ,bCredit ,iPrintCount,ipurarriveid,cPTCode,cVenPUOMProtocol,iCreditPeriod,dCreditStart,dGatheringDate) + bredvouch ,bCredit ,iPrintCount,cPTCode,cVenPUOMProtocol,iCreditPeriod,dCreditStart,dGatheringDate) SELECT @ID,1,'01',a.cBusType,@cSource, @cWhCode,@dDate,@cCode,@cRdCode,@cDepCode, - @cPersonCode,a.cVenCode,a.cPOID,@cARVCode, + @cPersonCode,a.cVenCode,a.cPOID, @cHandler,0,@cMaker,a.cDefine1,a.cDefine2, @cVeriDate,0,0,@dARVDate,@VT_ID, 0,@ipurorderid,a.iTaxRate,a.nflat,a.cexch_name, 0,0,0,0,0, 0,0,'',@dnmakertime,@dnverifytime, - @bredvouch,0,0,@ipurarriveid,a.cPTCode,@cVenPUOMProtocol,@iCreditPeriod,@dCreditStart,@dGatheringDate + @bredvouch,0,0,a.cPTCode,@cVenPUOMProtocol,@iCreditPeriod,@dCreditStart,@dGatheringDate FROM dbo.PO_Pomain a --LEFT JOIN PU_ArrivalVouch b ON a.cPOID=b.cpocode WHERE a.cPOID ='" + head.POCode + "'"; @@ -377,7 +378,7 @@ namespace ICSSoft.DataProject cmd.Parameters.Add(new SqlParameter("@cCode", iBaseCodeLen)); cmd.Parameters.Add(new SqlParameter("@cDepCode", dtPOMain.Rows[0]["cDepCode"].ToString())); cmd.Parameters.Add(new SqlParameter("@cPersonCode", dtPOMain.Rows[0]["cPersonCode"].ToString())); - cmd.Parameters.Add(new SqlParameter("@cARVCode", cCode)); + //cmd.Parameters.Add(new SqlParameter("@cARVCode", cCode)); cmd.Parameters.Add(new SqlParameter("@cMaker", userInfo.UserName)); cmd.Parameters.Add(new SqlParameter("@cVeriDate", Convert.ToDateTime(DateTime.Now).ToString("yyyy-MM-dd"))); cmd.Parameters.Add(new SqlParameter("@dARVDate", Convert.ToDateTime(head.MTime))); @@ -386,7 +387,7 @@ namespace ICSSoft.DataProject cmd.Parameters.Add(new SqlParameter("@dnmakertime", Convert.ToDateTime(DateTime.Now).ToString())); cmd.Parameters.Add(new SqlParameter("@dnverifytime", Convert.ToDateTime(DateTime.Now).ToString())); cmd.Parameters.Add(new SqlParameter("@bredvouch", bredvouch)); - cmd.Parameters.Add(new SqlParameter("@ipurarriveid", dtPOMain.Rows[0]["ID"].ToString())); + //cmd.Parameters.Add(new SqlParameter("@ipurarriveid", dtPOMain.Rows[0]["ID"].ToString())); cmd.Parameters.Add(new SqlParameter("@cHandler", userInfo.UserName)); cmd.Parameters.Add(new SqlParameter("@cRdCode", cRDcode)); cmd.Parameters.Add(new SqlParameter("@cVenPUOMProtocol", cfcode)); @@ -524,7 +525,7 @@ EXEC PROC_Update_PO_RdRecord01 @ID= @ID1 cmd.Parameters.Add(new SqlParameter("@iTaxPrice", iTaxRate)); cmd.Parameters.Add(new SqlParameter("@iSum", Math.Round(Math.Round(iTaxPrice * body.Quantity, 2) - Math.Round(body.Quantity * iUnitPrice, 2), 2))); cmd.Parameters.Add(new SqlParameter("@irowno", body.Sequence)); - cmd.Parameters.Add(new SqlParameter("@cPOID", dtPODetails.Rows[0]["cCode"].ToString())); + cmd.Parameters.Add(new SqlParameter("@cPOID", cCode)); cmd.Parameters.Add(new SqlParameter("@iArrsId", id)); cmd.Parameters.Add(new SqlParameter("@cbarvcode", code)); cmd.Parameters.Add(new SqlParameter("@dbarvdate", dates)); diff --git a/ICSSoft.ERP.WebAPI/ICSSoft.ERP.WebAPI/Web.config b/ICSSoft.ERP.WebAPI/ICSSoft.ERP.WebAPI/Web.config index b35beeb..dd29ed5 100644 --- a/ICSSoft.ERP.WebAPI/ICSSoft.ERP.WebAPI/Web.config +++ b/ICSSoft.ERP.WebAPI/ICSSoft.ERP.WebAPI/Web.config @@ -10,8 +10,9 @@ - - + + + diff --git a/ICSSoft.FromERP/ICSSoft.FromERP/ConstWorkPoint.cs b/ICSSoft.FromERP/ICSSoft.FromERP/ConstWorkPoint.cs index 649151f..ac4f0b3 100644 --- a/ICSSoft.FromERP/ICSSoft.FromERP/ConstWorkPoint.cs +++ b/ICSSoft.FromERP/ICSSoft.FromERP/ConstWorkPoint.cs @@ -23,7 +23,17 @@ namespace ICSSoft.FromERP } return result; } - + public static string CreateNo() + { + Random random = new Random(); + string strRandom = random.Next(1000, 10000).ToString(); //生成编号 + string code = DateTime.Now.ToString("yyyyMMddHHmmss") + strRandom;//形如 + return code; + } + public static string GuId() + { + return Guid.NewGuid().ToString(); + } /// /// 将c# DateTime时间格式转换为Unix时间戳格式 /// diff --git a/ICSSoft.FromERP/ICSSoft.FromERP/ICSUser.cs b/ICSSoft.FromERP/ICSSoft.FromERP/ICSUser.cs index e51204f..e05979a 100644 --- a/ICSSoft.FromERP/ICSSoft.FromERP/ICSUser.cs +++ b/ICSSoft.FromERP/ICSSoft.FromERP/ICSUser.cs @@ -49,7 +49,7 @@ namespace ICSSoft.FromERP string WorkPoint = dr["WorkPointCode"].ToString(); string Class = this.GetType().Name + WorkPoint; erpName = string.Format(erpName, WorkPoint); - + string NewGuid = Common.GuId(); #region SQL string sql = @"select b.cPsn_Num AS UserCode,b.cPsn_Name AS UserName,b.cDept_num AS DepCode,c.cDepName AS DepName, @@ -68,7 +68,7 @@ namespace ICSSoft.FromERP sql = ICSHelper.Time(Namespace, Class, WorkPoint, sql, "#TempUser"); sql += @"--删除数据 - --DELETE Sys_SRM_User where F_Account NOT IN (SELECT cPsn_Num FROM {1}.dbo.[hr_hi_person])and Sys_SRM_User.F_Account<>'admin' + --DELETE Sys_SRM_User where CreateUserCode='job' AND F_Account NOT IN (SELECT cPsn_Num FROM {1}.dbo.[hr_hi_person])and Sys_SRM_User.F_Account<>'admin' SELECT a.F_Account INTO #tableSys_SRM_User FROM Sys_SRM_User a With(NoLock) @@ -76,7 +76,7 @@ LEFT JOIN {1}.dbo.[hr_hi_person] b With(NoLock) ON a.F_Account=b.cPsn_Num WHERE a.F_Location ='{0}' and b.cPsn_Num IS NULL and a.F_Account<>'admin' DELETE Sys_SRM_User - WHERE F_Location='{0}' and F_Account IN ( SELECT F_Account from #tableSys_SRM_User) + WHERE F_Location='{0}' and F_CreatorUserId='job' and F_Account IN ( SELECT F_Account from #tableSys_SRM_User) "; Dictionary values = new Dictionary(); values.Add("F_RealName", "a.UserName"); @@ -93,6 +93,7 @@ LEFT JOIN {1}.dbo.[hr_hi_person] b With(NoLock) ON a.F_Account=b.cPsn_Num INNER JOIN Sys_SRM_User b ON a.UserCode=b.F_RealName and a.F_Location=b.F_Location WHERE a.F_Location='" + WorkPoint + "' "; + //values.Add("F_ID", "'" + NewGuid + "'"); values.Add("F_ID", "a.ID"); values.Add("F_Account", "a.UserCode"); //values.Add("UserPwd", "'NjMDK5c7vIs='"); @@ -103,6 +104,19 @@ LEFT JOIN {1}.dbo.[hr_hi_person] b With(NoLock) ON a.F_Account=b.cPsn_Num LEFT JOIN Sys_SRM_User b ON a.UserCode=b.F_RealName and a.F_Location=b.F_Location WHERE b.F_ID IS NULL and a.F_Location='" + WorkPoint + @"' "; + Dictionary value = new Dictionary(); + value.Add("F_Id", "a.F_Id"); + value.Add("F_UserId", "a.F_Id"); + string UserSecretkey = SRMUser.Md5.md5(Common.CreateNo(), 16).ToLower(); + string pwd = SRMUser.Md5.md5(ICSSoft.FromERP.SRMUser.DESEncrypt.Encrypt(SRMUser.Md5.md5("123456", 32).ToLower(), UserSecretkey).ToLower(), 32).ToLower(); + value.Add("F_UserPassword", "'" + pwd + "'"); + value.Add("F_UserSecretkey", "'" + UserSecretkey + "'"); + + //插入新增数据->Sys_SRM_UserLogOn表 + sql += ICSHelper.InsertSQL("Sys_SRM_UserLogOn", value) + + @"Sys_SRM_User a + LEFT JOIN Sys_SRM_UserLogOn b ON a.F_Id=b.F_Id and a.F_Id=b.F_UserId + WHERE b.F_ID IS NULL and a.F_Location='" + WorkPoint + @"'"; sql += " DROP TABLE #TempUser" + " DROP TABLE #tableSys_SRM_User"; sql = string.Format(sql, WorkPoint, erpName);