/// <summary> /// 增加 /// </summary> /// <param name="model">SysdatMPNCustomer表实体</param> /// <returns></returns> public static bool Insert(SysdatMPNCustomer model) { string sqlcmd = @"insert into SysdatMPNCustomer(CustomerID,CustomerCode,CustomerName,Creator,CreateTime,Contact,ContactNumber,Email,ShippingAddress) values (@CustomerID,@CustomerCode,@CustomerName,@Creator,@CreateTime,@Contact,@ContactNumber,@Email,@ShippingAddress)"; CmdParameter[] cps = new CmdParameter[] { new CmdParameter { ParameterName = "CustomerID", Value = model.CustomerID }, new CmdParameter { ParameterName = "CustomerCode", Value = model.CustomerCode }, new CmdParameter { ParameterName = "CustomerName", Value = model.CustomerName }, new CmdParameter { ParameterName = "Creator", Value = model.Creator }, new CmdParameter { ParameterName = "CreateTime", Value = model.CreateTime }, new CmdParameter { ParameterName = "Contact", Value = model.Contact }, new CmdParameter { ParameterName = "ContactNumber", Value = model.ContactNumber }, new CmdParameter { ParameterName = "Email", Value = model.Email }, new CmdParameter { ParameterName = "ShippingAddress", Value = model.ShippingAddress } }; return(NMS.ExecTransql(PubUtils.uContext, sqlcmd, cps)); }
/// <summary> /// 关键件SN日志选中单元格查询不良代码维修查询 /// </summary> /// <param name="strWhere"></param> /// <returns></returns> public DataTable GeterrorRepair(string strWhere) { StringBuilder strSql = new StringBuilder(); strSql.Append(@"SELECT EC.TBEC_CODE,EC.TBEC_DESC,G.GROUP_NAME,PE.ERROR_MAN,PE.ERROR_TIME,PE.REPAIR_MAN,PE.REPAIR_TIME,R.TBER_NAME,M.TBRM_NAME,NO_ERROR,EP.TBEP_NAME,PE.PART_NUM FROM T_Bllb_productError_tbpe AS PE LEFT JOIN T_Bllb_productInfo_tbpi AS Tbpi ON Tbpi.TBPS_ID=PE.TBPS_ID LEFT JOIN T_Bllb_errorCode_tbec AS EC ON PE.TBEC_ID=EC.TBEC_ID LEFT JOIN T_Bllb_group_tbg AS G ON G.TBG_ID=PE.TBG_ID LEFT JOIN T_Bllb_errorReason_tber AS R ON R.TBER_ID=PE.TBER_ID LEFT JOIN T_Bllb_repairMethod_tbrm AS M ON M.TBRM_ID=PE.TBRM_ID LEFt JOIN T_Bllb_errorParts_tbep AS EP ON EP.TBEP_ID=PE.TBEP_ID "); if (strWhere != string.Empty) { strSql.Append(" WHERE " + strWhere); } return(NMS.QueryDataTable(PubUtils.uContext, strSql.ToString())); }
/// <summary> /// 将设计器中的对像列表保存到文件中 /// </summary> /// <param name="designer">所要保存的设计器</param> /// <param name="fileName">要保存的文件名称</param> public static void SaveFile(Designer designer, string Name) { if (Name.Trim().Length > 0) { Name = Name.Replace("当前模板名称为:", ""); ObjectSerializer osave = new ObjectSerializer(designer.Items, designer.Width, designer.Height, designer.PrinterConfig, designer.PageRows, designer.RowHeight); //定义一个流 MemoryStream stream = new MemoryStream(); //定义一个格式化器 BinaryFormatter bf = new BinaryFormatter(); bf.Serialize(stream, osave); //序列化 byte[] array = null; array = new byte[stream.Length]; //将二进制流写入数组 stream.Position = 0; stream.Read(array, 0, (int)stream.Length); //关闭流 stream.Close(); CmdParameter[] cmd = new CmdParameter[1]; CmdParameter cmd1 = new CmdParameter(); cmd1.ParameterName = "val"; cmd1.Value = array; cmd[0] = cmd1; NMS.ExecTransql(PubUtils.uContext, "if exists( select *from mdcdatbarcodetemplet where name='" + Name + "') begin update mdcdatbarcodetemplet set context=@val,updator='" + PubUtils.uContext.UserName + "',updatetime=getdate() where name='" + Name + "' end else begin insert into mdcdatbarcodetemplet(fguid,name,context,creator,createtime)values('','" + Name + "',@val,'" + PubUtils.uContext.UserName + "',getdate()) end", cmd); } //using (FileStream fs = new FileStream(fileName, FileMode.Create)) //{ // BinaryFormatter bf = new BinaryFormatter(); // bf.Serialize(fs, osave); // fs.Close(); // bf = null; //} }
/// <summary> /// 查询 /// </summary> /// <param name="strWhere"></param> /// <returns></returns> public static DataTable Query(string strWhere) { string strSql = string.Format("select * from T_Bllb_packageTwo_tbpt {0}", strWhere); return(NMS.QueryDataTable(PubUtils.uContext, strSql)); }
public static bool Delete(string strWhere) { string strSql = string.Format("delete T_Bllb_BaseBom_tbbb where {0}", strWhere); return(NMS.ExecTransql(PubUtils.uContext, strSql)); }
/// <summary> /// 检验阶别是否存在 /// </summary> /// <param name="strWhere"></param> /// <returns></returns> public DataTable IsStepExist(string strWhere) { string strSql = string.Format(" Select * from T_Bllb_MaterialQuality_tbmq {0}", strWhere); return(NMS.QueryDataTable(PubUtils.uContext, strSql)); }
/// <summary> /// 右键修改数据 /// </summary> /// <param name="M"></param> /// <returns></returns> public bool UpdateStepAndQulity(T_Bllb_MaterialQuality_tbmq Step, string OldStep) { string strSql = string.Format("Update T_Bllb_MaterialQuality_tbmq SET Step='{0}', QualityLength='{1}' WHERE MaterialCode='{2}' and Step='{3}'", Step.Step, Step.QualityLength, Step.MaterialCode, OldStep); return(NMS.ExecTransql(PubUtils.uContext, strSql)); }
/// <summary> /// 删除 /// </summary> /// <param name="strWhere"></param> /// <returns></returns> public static bool Delete(string strWhere) { string strSql = string.Format(@"delete from T_Bllb_SecondClass_tbsc {0}", strWhere); return(NMS.ExecTransql(PubUtils.uContext, strSql)); }
/// <summary> /// 删除 /// </summary> /// <param name="productcode"></param> /// <returns></returns> public static bool Delete(string productcode) { string sqlcmd = string.Format(@"DELETE T_Bllb_ProductPrintInfo_tbpp WHERE ProductCode='{0}'", productcode); return(NMS.ExecTransql(PubUtils.uContext, sqlcmd)); }
/// <summary> /// 修改节点 /// </summary> /// <param name="Org"></param> /// <returns></returns> public static bool UpdateOrg(SysdatOrg Org) { string strSql = string.Format("update SysdatOrg set text='{0}' where ID='{1}' and ParentID='{2}'", Org.text, Org.ID, Org.ParentID); return(NMS.ExecTransql(PubUtils.uContext, strSql)); }
/// <summary> /// 新增节点 /// </summary> /// <param name="Org"></param> /// <returns></returns> public static bool InsertOrg(SysdatOrg Org) { string strSql = string.Format("insert into SysdatOrg(Guid, ParentID,text,Creator,CreateTime) Values(newid(), '{0}','{1}','{2}',getdate())", Org.ParentID, Org.text, PubUtils.uContext.UserID); return(NMS.ExecTransql(PubUtils.uContext, strSql)); }
public static void existsTable() { string sql = string.Format(@" if not object_id(N'SyssystemLog',N'U') is not null begin ---SyssystemLog 表 CREATE TABLE [dbo].[SyssystemLog]( [Fguid] [uniqueidentifier] NOT NULL, [line] [nvarchar](50) NULL, [WoCode] [nvarchar](50) NULL, [SfcNo] [nvarchar](50) NULL, [ProuctCode] [nvarchar](50) NULL, [PartNumber] [nvarchar](500) NULL, [ReelID] [nvarchar](50) NULL, [pocode] [nvarchar](50) NULL, [SupplierID] [nvarchar](50) NULL, [HouseCode] [nchar](10) NULL, [Qty] [decimal](18, 2) NULL, [Remarks] [nvarchar](max) NULL, [Creator] [nvarchar](50) NULL, [CreatTime] [datetime] NULL, CONSTRAINT [PK_SyssystemLog] PRIMARY KEY CLUSTERED ( [Fguid] ASC )WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] ALTER TABLE [dbo].[SyssystemLog] ADD CONSTRAINT [DF_SyssystemLog_CreatTime] DEFAULT (getdate()) FOR [CreatTime] EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'工单' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SyssystemLog', @level2type=N'COLUMN',@level2name=N'WoCode' EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'制令单' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SyssystemLog', @level2type=N'COLUMN',@level2name=N'SfcNo' EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'产品编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SyssystemLog', @level2type=N'COLUMN',@level2name=N'ProuctCode' EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'料号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SyssystemLog', @level2type=N'COLUMN',@level2name=N'PartNumber' EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'唯一码' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SyssystemLog', @level2type=N'COLUMN',@level2name=N'ReelID' EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'采购单编号' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SyssystemLog', @level2type=N'COLUMN',@level2name=N'pocode' EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'生产厂商' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SyssystemLog', @level2type=N'COLUMN',@level2name=N'SupplierID' EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'仓库' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SyssystemLog', @level2type=N'COLUMN',@level2name=N'HouseCode' EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'仓库' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SyssystemLog', @level2type=N'COLUMN',@level2name=N'Qty' EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SyssystemLog', @level2type=N'COLUMN',@level2name=N'Remarks' EXEC sys.sp_addextendedproperty @name=N'MS_Description', @value=N'备注' , @level0type=N'SCHEMA',@level0name=N'dbo', @level1type=N'TABLE',@level1name=N'SyssystemLog', @level2type=N'COLUMN',@level2name=N'Creator' select 1 end else begin select 0 end "); DataTable dt = NMS.QueryDataTable(PubUtils.uContext, sql); if (int.Parse(dt.Rows[0][0].ToString()) > 0) { sql = string.Format(@" --包装 GO /****** Object: StoredProcedure [dbo].[InPackage] Script Date: 2017/7/26 13:51:20 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= ALTER PROCEDURE [dbo].[InPackage]( @childCode nvarchar(50), @project nvarchar(50), @Product nvarchar(50), @line nvarchar(50), @pcb nvarchar(50), @Type nvarchar(50), @spec nvarchar(50), @parentCode nvarchar(50), @UserName nvarchar(50) ) AS BEGIN DECLARE @Types int if exists(select * from SfcDatProductProRouteLog where PCBCode=@childCode ) begin select '0','进过维修室' return end if not exists (select * from TRS_Base_PCBCode where PCBCode=@childCode ) begin select '0','未绑定' return end if (@Type<>'维修') begin if exists (select * from SfcdatPackage where childcode=@childCode) begin select '0','已存在.' return end else begin insert into [SfcdatPackage](Fguid,Project,Product,Line,PCB,Type,PackType,ParentCode,ChildCode,Creator,Createtime,status) values(newid(),@project,@Product,@line,@pcb,@Type,@spec,UPPER(@parentCode),UPPER(@childCode),@UserName,getdate(),'0') insert SyssystemLog(Fguid,line,WoCode,SfcNo,ProuctCode,PartNumber,ReelID,pocode,SupplierID,HouseCode,Qty,Remarks,Creator) select newid(),line,'','',Product,'',ChildCode,'',Project,'003',1,'MES托盘装(正常)',@UserName from SfcdatPackage where ChildCode=UPPER(@childCode) select '1','绑定成功' select ParentCode,count(ParentCode) as 'total' from SfcdatPackage WHERE ParentCode=UPPER(@parentCode) group by ParentCode end end else begin insert into [SfcdatPackage](Fguid,Project,Product,Line,PCB,Type,PackType,ParentCode,ChildCode,Creator,Createtime,status) values(newid(),@project,@Product,@line,@pcb,@Type,@spec,UPPER(@parentCode),UPPER(@childCode),@UserName,getdate(),'0') insert SyssystemLog(Fguid,line,WoCode,SfcNo,ProuctCode,PartNumber,ReelID,pocode,SupplierID,HouseCode,Qty,Remarks,Creator) select newid(),line,'','',Product,'',ChildCode,'',Project,'003',1,'MES托盘装(正常)',@UserName from SfcdatPackage where ChildCode=UPPER(@childCode) select '1','绑定成功' select ParentCode,count(ParentCode) as 'total' from SfcdatPackage WHERE ParentCode=UPPER(@parentCode) group by ParentCode end END --包装 GO /****** Object: StoredProcedure [dbo].[InPackage1] Script Date: 2017/7/26 15:10:48 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= ALTER PROCEDURE [dbo].[InPackage1]( @childCode nvarchar(50), @project nvarchar(50), @Product nvarchar(50), @line nvarchar(50), @pcb nvarchar(50), @Type nvarchar(50), @spec nvarchar(50), @parentCode nvarchar(50), @UserName nvarchar(50) ) AS BEGIN DECLARE @Types int select TOP 1 @Types=isnull([Type],2) from SfcDatProductProRouteLog where PCBCode=@childCode order by Createtime desc begin if(@Types=0) begin select '0','在维修室.' return end end if not exists (select * from TRS_Base_PCBCode where PCBCode=@childCode ) begin select '0','未绑定' return end if (@Type<>'维修') begin if exists (select * from SfcdatPackage where childcode=@childCode) begin select '0','已存在.' return end else begin insert into [SfcdatPackage](Fguid,Project,Product,Line,PCB,Type,PackType,ParentCode,ChildCode,Creator,Createtime,status) values(newid(),@project,@Product,@line,@pcb,@Type,@spec,UPPER(@parentCode),UPPER(@childCode),@UserName,getdate(),'0') insert SyssystemLog(Fguid,line,WoCode,SfcNo,ProuctCode,PartNumber,ReelID,pocode,SupplierID,HouseCode,Qty,Remarks,Creator) select newid(),line,'','',Product,'',ChildCode,'',Project,'003',1,'MES托盘装',@UserName from SfcdatPackage where ChildCode=UPPER(@childCode) select '1','绑定成功' select ParentCode,count(ParentCode) as 'total' from SfcdatPackage WHERE ParentCode=UPPER(@parentCode) group by ParentCode end end else begin insert into [SfcdatPackage](Fguid,Project,Product,Line,PCB,Type,PackType,ParentCode,ChildCode,Creator,Createtime,status) values(newid(),@project,@Product,@line,@pcb,@Type,@spec,UPPER(@parentCode),UPPER(@childCode),@UserName,getdate(),'0') insert SyssystemLog(Fguid,line,WoCode,SfcNo,ProuctCode,PartNumber,ReelID,pocode,SupplierID,HouseCode,Qty,Remarks,Creator) select newid(),line,'','',Product,'',ChildCode,'',Project,'003',1,'MES托盘装',@UserName from SfcdatPackage where ChildCode=UPPER(@childCode) select '1','绑定成功' select ParentCode,count(ParentCode) as 'total' from SfcdatPackage WHERE ParentCode=UPPER(@parentCode) group by ParentCode end END --维修包装 GO /****** Object: StoredProcedure [dbo].[InPackageWei] Script Date: 2017/7/26 13:53:30 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: <Author,,Name> -- Create date: <Create Date,,> -- Description: <Description,,> -- ============================================= ALTER PROCEDURE [dbo].[InPackageWei]( @childCode nvarchar(50), @project nvarchar(50), @Product nvarchar(50), @line nvarchar(50), @pcb nvarchar(50), @Type nvarchar(50), @spec nvarchar(50), @parentCode nvarchar(50), @UserName nvarchar(50) ) AS BEGIN DECLARE @Types int select TOP 1 @Types=isnull([Type],2) from SfcDatProductProRouteLog where PCBCode=@childCode order by Createtime desc begin if(@Types=0) begin select '0','在维修室' return end else if(@Types=2) begin select '0','未进过维修室' return end end if not exists (select * from TRS_Base_PCBCode where PCBCode=@childCode ) begin select '0','未绑定' return end if (@Type<>'维修') begin if exists (select * from SfcdatPackage where childcode=@childCode) begin select '0','已存在.' return end else begin insert into [SfcdatPackage](Fguid,Project,Product,Line,PCB,Type,PackType,ParentCode,ChildCode,Creator,Createtime,status) values(newid(),@project,@Product,@line,@pcb,@Type,@spec,UPPER(@parentCode),UPPER(@childCode),@UserName,getdate(),'0') insert SyssystemLog(Fguid,line,WoCode,SfcNo,ProuctCode,PartNumber,ReelID,pocode,SupplierID,HouseCode,Qty,Remarks,Creator) select newid(),line,'','',Product,'',ChildCode,'',Project,'003',1,'MES托盘装(维修)',@UserName from SfcdatPackage where ChildCode=UPPER(@childCode) select '1','绑定成功' select ParentCode,count(ParentCode) as 'total' from SfcdatPackage WHERE ParentCode=UPPER(@parentCode) group by ParentCode end end else begin insert into [SfcdatPackage](Fguid,Project,Product,Line,PCB,Type,PackType,ParentCode,ChildCode,Creator,Createtime,status) values(newid(),@project,@Product,@line,@pcb,@Type,@spec,UPPER(@parentCode),UPPER(@childCode),@UserName,getdate(),'0') insert SyssystemLog(Fguid,line,WoCode,SfcNo,ProuctCode,PartNumber,ReelID,pocode,SupplierID,HouseCode,Qty,Remarks,Creator) select newid(),line,'','',Product,'',ChildCode,'',Project,'003',1,'MES托盘装(维修)',@UserName from SfcdatPackage where ChildCode=UPPER(@childCode) select '1','绑定成功' select ParentCode,count(ParentCode) as 'total' from SfcdatPackage WHERE ParentCode=UPPER(@parentCode) group by ParentCode end END --pvs拆封 GO /****** Object: StoredProcedure [dbo].[MdcDatSolderUnpacking_check] Script Date: 2017/7/26 14:17:52 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER proc [dbo].[MdcDatSolderUnpacking_check]( @SfcNo nvarchar(50), @ReelID nvarchar(50), @UerName nvarchar(20) ) as begin begin try declare @sfcnumber nvarchar(50) set @sfcnumber=null declare @isenable int set @isenable=null select @sfcnumber=SfcNo,@isenable=IsEnable from MdcDatVStorage where ReelID=@ReelID and [Status] in (4,5) if(@sfcnumber is null) begin select 0,'未指定制令单' return end if(@isenable is null) begin select 0,'未指定是否为禁用' return end --是否与制令单相符 if (@sfcnumber<>@SfcNo) begin select 0,'此锡膏与制令单不符' return end --是否禁用 if (@isenable=1) begin select 0,'已被禁用' return end if not exists (select * from MdcdatMainlog where ReelID=@ReelID and Statu=5) begin update MdcdatSolderAttribute set ExposeUpdate=GETDATE() where ReelID=@ReelID end declare @MaxThawingtime int select top 1 a.ReelID,c.Lifetime,c.ExposeDate,c.Unpacking,c.MaxThawingtime into #a from (select * from MdcDatVStorage where Reelid=@ReelID and [Status] in (4,5)) as a left join MdcdatMaterial as b on a.PartNumber=b.MaterialCode left join MdcDatGradTime as c on b.Type=c.Types and b.Grade=c.Grad where c.Types='锡膏' and a.Updatetime is not null and c.MaxThawingtime is not null and c.Thawingtime is not null select @MaxThawingtime=MaxThawingtime from MdcDatGradTime where Types='锡膏' declare @Thawingtime int set @Thawingtime=(select Thawingtime+isnull(DATEDIFF(MINUTE,ThawingUpdate,GETDATE()),0) from [MdcdatSolderAttribute] where ReelID=@ReelID); declare @Lifetime int set @Lifetime=(select Lifetime+isnull(DATEDIFF(MINUTE,LifeUpDate,GETDATE()),0) from [MdcdatSolderAttribute] where ReelID=@ReelID); declare @Exposetime int set @Exposetime=(select Exposetime+isnull(DATEDIFF(MINUTE,ExposeUpdate,GETDATE()),0) from [MdcdatSolderAttribute] where ReelID=@ReelID); declare @Unpacking int set @Unpacking=(select Returntime from [MdcdatSolderAttribute] where ReelID=@ReelID); --计算最大回温时间 --if(@MaxThawingtime<@Thawingtime) -- begin -- select 0,'超出最大回温时间' return --end --计算车间寿命 if ((select [Lifetime] from #a)!=0) begin if ((select isnull([Lifetime]-@Lifetime,0) from #a)<0) begin select 0,'超出车间寿命' return end end --计算暴露时间 if ((select ExposeDate from #a)!=0) begin if((select isnull(ExposeDate-@Exposetime,0) from #a)<0) begin select 0,'超出暴露时间' return end end --计算拆封次数 if ((select Unpacking from #a)!=0) begin if((select isnull(Unpacking-@Unpacking,0) from #a)<0) begin select 0,'超出拆封次数' return end end declare @WOCode nvarchar(50) declare @Product nvarchar(50) declare @PN nvarchar(50) select @PN=PartNumber,@WOCode=WoCode,@SfcNo=SfcNo,@Product=ProductName from MdcDatVStorage where ReelID=@ReelID declare @guid uniqueidentifier set @guid=NEWID() update [dbo].[MdcdatSolderAttribute] set Thawingtime=@Thawingtime,Lifetime=@Lifetime,LifeUpDate=GETDATE(),Exposetime=@Exposetime,ExposeUpdate=GETDATE() where ReelID=@ReelID INSERT INTO [dbo].[mdcdatAttributelog1]([Guid],[ReelID],[SfcNo],[WOCode],[Product])VALUES(@guid,@ReelID,@SfcNo,@WOCode,@Product) INSERT INTO [dbo].[MdcdatMainlog]([Guid],[ReelID],[PN],[Types],[Statu],[DES],[Cteator],[CreateTime]) VALUES (@guid,@ReelID,@PN,'锡膏','5','拆封',@UerName,GETDATE()) INSERT INTO [dbo].[mdcdatAttributelog]([Guid],[ReelID],[Attribute],[value]) VALUES (@guid,@ReelID,'Thawingtime',@Thawingtime) INSERT INTO [dbo].[mdcdatAttributelog]([Guid],[ReelID],[Attribute],[value]) VALUES (@guid,@ReelID,'Lifetime',@Lifetime) INSERT INTO [dbo].[mdcdatAttributelog]([Guid],[ReelID],[Attribute],[value]) VALUES (@guid,@ReelID,'Returntime',@Unpacking+1) INSERT INTO [dbo].[mdcdatAttributelog]([Guid],[ReelID],[Attribute],[value]) VALUES (@guid,@ReelID,'Exposetime',@Exposetime) --if not exists(select * from MdcDatVStorage where ReelID=@ReelID and [Status]=5) --begin update MdcDatVStorage set [Status]=99,HouseCode='099' where SfcNo=@SfcNo and [Status]=5 --end update MdcDatVStorage set [Status]=5,HouseCode='003' where ReelID=@ReelID insert SyssystemLog(Fguid,line,WoCode,SfcNo,ProuctCode,PartNumber,ReelID,pocode,SupplierID,HouseCode,Qty,Remarks,Creator) select newid(),line,wocode,SfcNo,'',PartNumber,ReelID,pocode,SupplierID,HouseCode,qty,'PVS锡膏拆封',@UerName from mdcdatvstorage where ReelID=@ReelID select 1,'拆封成功' drop table #a end try begin catch select 2,ERROR_MESSAGE() end catch end --钢网下架 GO /****** Object: StoredProcedure [dbo].[MdcDatSteelPlatePDADown] Script Date: 2017/7/26 14:29:40 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER proc [dbo].[MdcDatSteelPlatePDADown] @ReelID varchar(50), @Updater varchar(50) as begin begin try declare @SfcNo varchar(50) select @SfcNo=SfcNo from MdcDatSteelPlate where ReelID=@ReelID if exists ( select * from MdcDatSteelPlate where ReelID=@ReelID and Statu in (7)) begin declare @qty int declare @useqty int select @useqty=SUM(ISNULL(qty,0)) from MdcdatMainlog where Types='钢网' and Statu=8 and ReelID=@ReelID and SfcNo=@SfcNo select @qty=isnull(round((select actQty from SfcDatProduct where SfcNo=@SfcNo)/(select top 1 BoradCnt from MdcDatUPH where ProductName in (select Product from SfcDatProduct where SfcNo=@SfcNo) and BoardType in ('1','2')),0),0) set @qty=@qty-@useqty update MdcDatSteelPlate set Statu=8,UpdateTime=getdate(),Updater=@Updater,UseValue=CAST(UseValue AS int)+@qty,Remain=CAST(MaxValue AS int)-CAST(UseValue AS int)-@qty where ReelID=@ReelID declare @guid uniqueidentifier set @guid=NEWID() insert into MdcdatMainlog select @guid,ReelID,PlateCode,'钢网','8','钢网下线',@SfcNo,@qty,@Updater,GETDATE() from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'MaxValue',MaxValue from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'UseValue',UseValue from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'Remain',Remain from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'Thickness',Pthickness from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'Versions',Versions from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'ROHS',ROHS from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'Psurface',Psurface from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'Pressure',Pressure from MdcDatSteelPlate where ReelID=@ReelID declare @wocode varchar(50) declare @line varchar(50) declare @product varchar(50) select @wocode=wocode,@line=line,@product=product from SfcDatProduct where sfcno=@SfcNo insert SyssystemLog(Fguid,line,WoCode,SfcNo,ProuctCode,PartNumber,ReelID,pocode,SupplierID,HouseCode,Qty,Remarks,Creator) select newid(),@line,@wocode,SfcNo,@product,PlateCode,ReelID,'','','',1,'PVS钢网下线',@Updater from MdcDatSteelPlate where ReelID=@ReelID select 1,'下线完成' return end else if exists (select * from MdcDatSteelPlate where ReelID=@ReelID and Statu in (11,12)) begin select 0,'不良品/报废品' return end else if exists (select * from MdcDatSteelPlate where ReelID=@ReelID and Statu in (0,1,2,3,4,5,6,8,9,10)) begin select 0,'状态不对' return end end try begin catch select 0,ERROR_MESSAGE() end catch end --钢网上架 GO /****** Object: StoredProcedure [dbo].[MdcDatSteelPlatePDAUp] Script Date: 2017/7/26 14:30:39 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER proc [dbo].[MdcDatSteelPlatePDAUp] @SfcNo varchar(50), @ReelID varchar(50), @SetupName varchar(50), @Updater varchar(50) as begin begin try DECLARE @len int DECLARE @value int set @len=SUBSTRING(@SetupName,CHARINDEX('-',@SetupName, 1) + 1, 1) if exists ( select * from MdcDatSteelPlate where ReelID=@ReelID and SfcNo=@SfcNo and Statu in (7)) begin select 1,'校验成功' return end if exists ( select * from MdcDatSteelPlate where ReelID=@ReelID and SfcNo=@SfcNo and Statu in (5,6)) begin -- select @value=isnull(Value3,1) from MdcdatProductDetail where Value1 in(select PlateCode from MdcDatSteelPlate where ReelID=@ReelID and SfcNo=@SfcNo) and key1='SteelNet' and Value2='是' -- if(@value='') -- begin --set @value=1 -- end -- if(@value=@len) -- begin update MdcDatSteelPlate set Statu=7,UpdateTime=getdate(),Updater=@Updater where ReelID=@ReelID declare @guid uniqueidentifier set @guid=NEWID() insert into MdcdatMainlog(Guid,ReelID,PN,Types,Statu,DES,Cteator,CreateTime) select @guid,ReelID,PlateCode,'钢网','7','钢网上线',@ReelID,GETDATE() from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'MaxValue',MaxValue from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'UseValue',UseValue from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'Remain',Remain from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'Thickness',Pthickness from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'Versions',Versions from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'ROHS',ROHS from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'Psurface',Psurface from MdcDatSteelPlate where ReelID=@ReelID insert into mdcdatAttributelog select @guid,@ReelID,'Pressure',Pressure from MdcDatSteelPlate where ReelID=@ReelID declare @wocode varchar(50) declare @line varchar(50) declare @product varchar(50) select @wocode=wocode,@line=line,@product=product from SfcDatProduct where sfcno=@SfcNo insert SyssystemLog(Fguid,line,WoCode,SfcNo,ProuctCode,PartNumber,ReelID,pocode,SupplierID,HouseCode,Qty,Remarks,Creator) select newid(),@line,@wocode,SfcNo,@product,PlateCode,ReelID,'','','',1,'PVS钢网上线',@Updater from MdcDatSteelPlate where ReelID=@ReelID select 1,'上线完成' return --end --else --begin -- select 0,'正反面错误' return --end end else if not exists (select * from MdcDatSteelPlate where ReelID=@ReelID and SfcNo=@SfcNo) begin select 0,'制令单不符,无法上线' return end else if not exists (select * from MdcDatSteelPlate where ReelID=@ReelID and SfcNo=@SfcNo and Statu in (5,6)) begin select 0,'不是待上线状态' return end end try begin catch select 0,ERROR_MESSAGE() end catch end --客供料绑定 GO /****** Object: StoredProcedure [dbo].[sp_POinputWMS] Script Date: 2017/7/26 14:34:58 ******/ SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO ALTER proc [dbo].[sp_POinputWMS] @POCODE NVARCHAR(50), @PARTNUMBER NVARCHAR(50), @QTY NVARCHAR(50), @reelid nvarchar(50), @USER NVARCHAR(50) AS BEGIN begin try declare @InQty decimal(18,4) set @InQty=0 declare @totalQty decimal(18,4) --可以接收数量 select @totalQty= sum(isnull(compqty,0)) from MdcDatIQCCheck where PO=@pocode and (Recive='0' or Recive='3') AND Status='1' and pn = @partnumber group by PN if @totalQty is null begin select '0','没有可接收数据' return; end --已接收数量 IF SUBSTRING(@PARTNUMBER,1,1)='4' OR SUBSTRING(@PARTNUMBER,1,1)='8' OR SUBSTRING(@PARTNUMBER,1,1)='9' begin select @InQty= isnull(SUM(QTY),'0') from SfcDatERPKJHinfo where MESPO=@pocode and PH=@PARTNUMBER group by PH end else begin select @InQty= isnull(SUM(SQTY),'0') from SfcDatERPJHinfo where POCode=@pocode and PartNumber=@PARTNUMBER group by PartNumber end --剩余接收数量 declare @_qty decimal(18,4) set @_qty=@totalQty-@InQty if (@qty>@_qty) begin select '0','待入库数量大于剩余入库数量',@_qty return; end if @_qty <= 0 begin select '0','可接收数量为0' return; end IF SUBSTRING(@PARTNUMBER,1,1)='4' OR SUBSTRING(@PARTNUMBER,1,1)='8' OR SUBSTRING(@PARTNUMBER,1,1)='9' BEGIN --客供料入库 insert into SfcDatERPKJHInfo(FGuid,DB,MESPO,PH,QTY,Creator,Createtime,status) values(NEWID(),'1102',@POCODE,@PARTNUMBER,@QTY,@USER,GETDATE(),'0') END else begin insert into SfcDatERPJHinfo(FGUID,pocode,partnumber,sqty,nqty,status,creator,createtime) values(NEWID(),@POCODE,@PARTNUMBER,@QTY,'0','0',@USER,getdate()) end update mdcdatvstorage set housecode='027' where reelid=@reelid insert SyssystemLog(Fguid,line,WoCode,SfcNo,ProuctCode,PartNumber,ReelID,pocode,SupplierID,HouseCode,Qty,Remarks,Creator) select newid(),line,wocode,sfcno,'',PartNumber,ReelID,pocode,SupplierID,'027',Qty,'PDA物料掉至虚拟仓(含账务)',@USER from mdcdatvstorage where reelid=@reelid if not exists (select * from MdcDatRStorage where PartNumber=@PARTNUMBER) begin insert into MdcDatRStorage(PartNumber,Qty)values(@PARTNUMBER,'0') end update mdcdatrstorage set qty=qty+@qty where partnumber=@PARTNUMBER select '1','调拨成功' end try begin catch select '0','调拨失败' end catch END "); NMS.ExecTransql(PubUtils.uContext, sql); } }
/// <summary> /// 查询产品条码数据 /// </summary> /// <param name="tbpi"></param> /// <returns></returns> public DataTable GetSN(T_Bllb_productInfo_tbpi tbpi) { string strSql = string.Format(@"SELECT TBPS_ID FROM T_Bllb_productInfo_tbpi WHERE SERIAL_NUMBER='{0}' AND LAST_FLAG='Y'", tbpi.SERIAL_NUMBER); return(NMS.QueryDataTable(PubUtils.uContext, strSql)); }
/// <summary> /// 通过产品条码和制令单查询数据 /// </summary> /// <param name="tbpi"></param> /// <returns></returns> public DataTable GetBySfcAndSNr(T_Bllb_productInfo_tbpi tbpi) { string strSql = string.Format("select * from T_Bllb_productInfo_tbpi where SERIAL_NUMBER='{0}' and SfcNo='{1}' and LAST_FLAG='Y'", tbpi.SERIAL_NUMBER, tbpi.SfcNo); return(NMS.QueryDataTable(PubUtils.uContext, strSql)); }
/// <summary> /// 通过产品条码,查询TBPI_ID /// </summary> /// <param name="tbpi"></param> /// <returns></returns> public DataTable GetBySerialNumber(T_Bllb_productInfo_tbpi tbpi) { string strSql = string.Format(@"select TBPI_ID,QTY,TBPS_ID from T_Bllb_productInfo_tbpi where SERIAL_NUMBER='{0}' and LAST_FLAG='Y'", tbpi.SERIAL_NUMBER); return(NMS.QueryDataTable(PubUtils.uContext, strSql)); }
/// <summary> /// 校验是否可以开单,并返回检验单号 /// </summary> /// <param name="dt"></param> /// <param name="obj"></param> /// <param name="varMsg"></param> /// <returns></returns> public static string CheckIsOK(DataTable dt, T_Inventory_ti obj, ref string varMsg) { string where_housecode = string.Format(" and a.HouseCode='{0}'", obj.HouseCode); string strSQL = string.Format(@" select a.InventoryCode,a.HouseCode,d.Area_SN,d.MaterialCode from dbo.T_Inventory_ti as a inner join dbo.T_Inventory_Detail as b on a.InventoryCode=b.InventoryCode inner join dbo.T_InventoryDetail_tid as c on c.InventoryCode=a.InventoryCode inner join dbo.T_Bllb_StockInfo_tbsi as d on c.ReelId=d.SerialNumber where a.Status<>'2' {0} group by a.InventoryCode,a.HouseCode,d.Area_SN,d.MaterialCode ", where_housecode); DataTable dt_Code = NMS.QueryDataTable(PubUtils.uContext, strSQL); List <string> lstGroup = new List <string>(); if (dt_Code.Rows.Count > 0) { foreach (DataRow dr in dt_Code.Rows) { lstGroup.Add(string.Format("{0}{1}{2}", dr["HouseCode"].ToString() == string.Empty ? "0" : dr["HouseCode"].ToString(), dr["Area_SN"].ToString() == string.Empty ? "0" : dr["Area_SN"].ToString(), dr["MaterialCode"].ToString() == string.Empty ? "0" : dr["MaterialCode"].ToString())); } if (obj.StorageArea == null && obj.PN == null)//库区为空 料号为空 { foreach (string item in lstGroup) { if (item.StartsWith(obj.HouseCode)) { varMsg = "开单失败,存在未完成的盘点单!"; return(null); } } } else if (obj.StorageArea != null && obj.PN != null)//库区不为空 料号不为空 { foreach (string item in lstGroup) { if (item.StartsWith(string.Format("{0}00", obj.HouseCode)) || item.StartsWith(string.Format("{0}{1}", obj.HouseCode, obj.StorageArea)) || (item.StartsWith(string.Format("{0}", obj.HouseCode)) && item.EndsWith(string.Format("{0}", obj.PN)))) { varMsg = "开单失败,存在未完成的盘点单!"; return(null); } } } else if (obj.StorageArea != null && obj.PN == null)//库区不为空 料号为空 { foreach (string item in lstGroup) { if (item.StartsWith(string.Format("{0}00", obj.HouseCode)) || item.StartsWith(string.Format("{0}{1}", obj.HouseCode, obj.StorageArea))) { varMsg = "开单失败,存在未完成的盘点单!"; return(null); } } } else if (obj.StorageArea == null && obj.PN != null)//库位为空 料号不为空 { foreach (string item in lstGroup) { if (item.StartsWith(string.Format("{0}00", obj.HouseCode)) || (item.StartsWith(string.Format("{0}", obj.HouseCode)) && item.EndsWith(string.Format("{0}", obj.PN)))) { varMsg = "开单失败,存在未完成的盘点单!"; return(null); } } } } varMsg = "OK"; return(GetSn()); }
/// <summary> /// 盘点汇总 /// </summary> /// <param name="DifferQty"></param> /// <param name="InventoryCode"></param> /// <param name="varPN"></param> /// <param name="varFlag"></param> /// <param name="InvetoryNum"></param> /// <returns></returns> public static bool Update_Inventory_Status(string DifferQty, string InventoryCode, string varPN, string varFlag, string InvetoryNum) { string sqlcmd = string.Format(@" DECLARE @flag NVARCHAR(50) BEGIN TRY BEGIN TRAN SET @flag = '{4}' --更新盘点单明细对应盘点单 对应料号的差异数 UPDATE T_Inventory_Detail SET DifferQty = '{0}' WHERE InventoryCode = '{1}' AND PN = '{2}' --盘盈盘亏需要插入 汇总表 刚好不做任何操作 IF ( @flag = '0' OR @flag = '1' ) BEGIN INSERT INTO T_InventoryCodeCollect_ticc ( InventoryNumber , InventoryCode , PN , DifferQty , Flag , Creator , CreateTime ) VALUES ( '{5}' , '{1}' , '{2}' , '{0}' , '{4}' , '{3}' , GETDATE() ) END COMMIT TRAN END TRY BEGIN CATCH ROLLBACK TRAN END CATCH ", DifferQty, InventoryCode, varPN, PubUtils.uContext.UserName, varFlag, InvetoryNum); if (NMS.ExecTransql(PubUtils.uContext, sqlcmd)) { //更新盘点单状态为完成,并将T_Bllb_StockInfo_tbsi的标识 flag 置0 string sqlGetReelid = string.Format(@" --更新盘点单号状态为已汇总 UPDATE T_Inventory_ti SET Status = '2' WHERE InventoryCode = '{0}' --计算盘点单明细表该单据号下 每个料盘(未盘)的差异数 UPDATE dbo.T_InventoryDetail_tid SET DifferQty = CONVERT(DECIMAL, CONVERT(DECIMAL,CurrentQty ) - CONVERT(DECIMAL, Qty)) WHERE InventoryCode = '{0}' AND Status = '1' --获得每个料盘的Reelid SELECT * FROM T_InventoryDetail_tid WHERE InventoryCode = '{0}'", InventoryCode); //获得reelid DataTable dt_InventoryCode = NMS.QueryDataTable(PubUtils.uContext, sqlGetReelid); string sql_update_flag = string.Empty; //将每个SerialNumber的仓库标识还原为0 foreach (DataRow dr in dt_InventoryCode.Rows) { sql_update_flag += string.Format(@" UPDATE T_Bllb_StockInfo_tbsi SET Lock_Flag = '0', QTY = '{0}' WHERE SerialNumber = '{1}'", dr["CurrentQty"].ToString(), dr["ReelId"].ToString()); } if (sql_update_flag != string.Empty) { NMS.ExecTransql(PubUtils.uContext, sql_update_flag); } return(true); } else { return(false); } }
public static bool Delete(string strWhere) { string strSql = string.Format(@"delete from MdcDatUPH {0}", strWhere); return(NMS.ExecTransql(PubUtils.uContext, strSql)); }
/// <summary> /// 校验产品代码是否存在 /// </summary> /// <returns></returns> public static DataTable IsExist(string strWhere) { string sqlcmd = string.Format(" SELECT * FROM T_Bllb_ProductPrintInfo_tbpp {0}", strWhere); return(NMS.QueryDataTable(PubUtils.uContext, sqlcmd)); }
/// <summary> /// 打印外包装标签 /// </summary> /// <param name="SN"></param> /// <returns></returns> public static bool PrintContain_1_Info(string SN, string lableName, ref string msg) { if (SN == string.Empty) { msg = "箱条码不能为空"; return(false); } else if (lableName == string.Empty) { msg = "打印标签不能为空"; return(false); } Model.Model_PackageInfo _obj_PackageInfo = new Model_PackageInfo(); T_Bllb_packageOne_tbpo tbpo = new T_Bllb_packageOne_tbpo(); string strSql = string.Format(@"select isnull(SUM(tbpi.QTY),0) as QTY,sfc.PO,tbpo.CONTAINER_SN_1 AS BOXID, SFC.Product AS PRODUCTCODE,'12个月' as ACTIVE_LENGTH from T_Bllb_packageOne_tbpo as tbpo inner join T_Bllb_productInfo_tbpi as tbpi on tbpo.TBPS_ID=tbpi.TBPS_ID inner join SfcDatProduct sfc on sfc.SfcNo=tbpi.SfcNo where tbpo.CONTAINER_SN_1='{0}' GROUP BY sfc.PO,tbpo.CONTAINER_SN_1,SFC.Product", SN); DataTable dt_qty = NMS.QueryDataTable(PubUtils.uContext, strSql.ToString()); if (dt_qty.Rows.Count == 0) { msg = "条码不是箱条码"; return(false); } _obj_PackageInfo.QTY = SqlInput.ChangeNullToInt(dt_qty.Rows[0]["QTY"], 0).ToString();//容器实装数量 if (_obj_PackageInfo.QTY == "0") { msg = "箱子中没有产品"; return(false); } _obj_PackageInfo.PO = SqlInput.ChangeNullToString(dt_qty.Rows[0]["PO"]); _obj_PackageInfo.PRODUCTCODE = SqlInput.ChangeNullToString(dt_qty.Rows[0]["PRODUCTCODE"]); _obj_PackageInfo.P1 = SqlInput.ChangeNullToString(dt_qty.Rows[0]["PRODUCTCODE"]); _obj_PackageInfo.ACTIVE_LENGTH = "12个月"; _obj_PackageInfo.BEGIN_DATE = DateTime.Now.ToString("yyyyMMdd"); _obj_PackageInfo.END_DATE = DateTime.Now.AddMonths(12).ToString("yyyyMMdd"); _obj_PackageInfo.E1 = DateTime.Now.AddMonths(12).ToString("yyyyMMdd"); _obj_PackageInfo.BOXID = SqlInput.ChangeNullToString(dt_qty.Rows[0]["BOXID"]); if (Bll_Common.GetSysParameter("DZ", "DZ006", ref msg)) { string[] strs = msg.Split('|'); if (strs.Length >= 2) { _obj_PackageInfo.SUPPLIER = strs[0]; _obj_PackageInfo.SUPPLIER_CODE = strs[1]; } else { msg = "在系统参数【单值】中的【DZ006】配置供应商信息"; return(false); } } else { msg = "在系统参数【单值】中的【DZ006】配置供应商信息"; return(false); } if (_obj_PackageInfo.PrintOwn(lableName)) { //标识为已打印外包装标签 strSql = string.Format("update T_Bllb_packageOne_tbpo set PRINT_FLAG='Y' where CONTAINER_SN_1='{0}'", tbpo.CONTAINER_SN_1); NMS.ExecTransql(PubUtils.uContext, strSql); } return(true); }
/// <summary> /// 右键新增数据 /// </summary> /// <param name="M"></param> /// <returns></returns> public bool AddStepAndQuality(T_Bllb_MaterialQuality_tbmq Step) { string strSql = string.Format("Insert into T_Bllb_MaterialQuality_tbmq (MaterialCode,Step,QualityLength) Values ('{0}','{1}','{2}')", Step.MaterialCode, Step.Step, Step.QualityLength); return(NMS.ExecTransql(PubUtils.uContext, strSql)); }
/// <summary> /// 查询库位 /// </summary> /// <returns></returns> public static DataTable GetLoaction() { string strSql = string.Format("SELECT Location_SN,Location_Name FROM T_Bllb_StorageLocation_tbsl "); return(NMS.QueryDataTable(PubUtils.uContext, strSql)); }
/// <summary> /// 右键删除 /// </summary> /// <param name="strWhere"></param> /// <returns></returns> public bool Delete(string strWhere) { string strSql = string.Format("Delete T_Bllb_MaterialQuality_tbmq {0}", strWhere); return(NMS.ExecTransql(PubUtils.uContext, strSql)); }
private void btn_ok_Click(object sender, EventArgs e) { if (cbx_customerID.Text.Length == 0) { MsgBox.Error("请选择客户编号."); cbx_customerID.Focus(); return; } //如果是锡膏判断最小回温量 if (txt_MaterialType.Text.Trim() == "锡膏") { try { if (int.Parse(txtPasteMinCount.Text.Trim()) == 0) { MsgBox.Error("最小回温数量大于0"); txtPasteMinCount.Focus(); return; } } catch { MsgBox.Error("最小回温数量大于0"); txtPasteMinCount.Focus(); txtPasteMinCount.Text = "0"; return; } } if (txt_new.Text.Length == 0) { MsgBox.Error("新物料编号不可为空."); txt_new.Focus(); return; } try { if (txt_Qty.Text.Trim() == "") { txt_Qty.Text = "1"; } if (txtShelfLife.Text.Trim() == "") { txtShelfLife.Text = "1"; } int qty = int.Parse(txt_Qty.Text); if (qty > 20000) { MsgBox.Error("数量不可大于20000"); txt_Qty.Focus(); return; } } catch { } if (!FrmType) { if (!CheckNewPN()) { return; } } if (!CheckMPN()) { return; } if (!FrmType) { string sql = string.Format(@" if not exists(select * from MdcdatMaterial where MaterialCode='{0}') begin insert into MdcdatMaterial(MaterialCode,createtime,IsSendCheck)values('{0}',getdate(),'{31}') end insert into MdcDatMPN (newPN,oldPN,MaterialMinCount,MorePack,CustomerType,PartCode1,PartCode2,PartCode3,PartCode4,PartCode5,PartCode6,PartCode7,PartCode8,PartCode9,PartCode10,PartCode11,PartCode12,PartCode13,PartCode14,PartCode15,Recordtime,PNYorN,[Type],SupplierName,ManufacturerLocation,MaterialType,Purchase,MSDLevel,ShelfType,IsEnable,WarehouseLocation,PasteMinCount,ShelfLife,IsBing) values('{0}','{1}','{2}','{3}','{4}','{5}','{6}','{7}','{8}','{9}','{10}','{11}','{12}','{13}','{14}','{15}','{16}','{17}','{18}','{19}',GETDATE(),'N','0','{20}','{21}','{22}','{23}','{24}','{25}','{26}','{27}','{28}','{29}','{30}')", txt_new.Text, txt_old.Text, txt_Qty.Text, chx_morepage.Checked ? "Y" : "N", cbx_customerID.Text, txt_partcode1.Text, txt_PartCode2.Text, txt_PartCode3.Text, txt_PartCode4.Text, txt_PartCode5.Text, txt_PartCode6.Text, txt_PartCode7.Text, txt_PartCode8.Text, txt_PartCode9.Text, txt_PartCode10.Text, txt_PartCode11.Text, txt_PartCode12.Text, txt_PartCode13.Text, txt_PartCode14.Text, txt_sPartCod15.Text, txt_SupplierName.Text, txt_ManufacturerLocation.Text.Trim(), txt_MaterialType.Text.Trim(), txt_Purchase.Text.Trim(), cboMSDLevel.Text, cboShelfType.Text, chkIsEnable.Checked ? "1" : "0", txtWarehouseLocation.Text.Trim() , txtPasteMinCount.Text.Trim(), txtShelfLife.Text.Trim(), chkIsBing.Checked ? "1" : "0", chk_isSendCheck.Checked ? "是" : "否"); // bool flag = NMS.ExecTransql(CIT.MES.PubUtils.uContext, sql); if (flag) { lab_msg.Text = "注册成功."; foreach (var item in this.Controls) { if (item is TextBox) { string name = ((TextBox)item).Name; if (name.ToLower().Contains("partcode")) { ((TextBox)item).Text = ""; } } } txt_new.Text = ""; txt_old.Text = ""; txt_Qty.Text = ""; txt_new.Focus(); } else { MsgBox.Error("维护失败."); } } else { string sql = string.Format(@"update MdcDatMPN set PartCode15='{1}',Recordtime=getdate(),MaterialMinCount='{2}',MSDLevel='{3}',ShelfType='{4}',IsEnable='{5}',MorePack='{6}',PasteMinCount='{7}',ShelfLife='{8}',IsBing='{9}' WHERE NEWPN='{0}' update MdcdatMaterial set IsSendCheck='{10}' where MaterialCode='{0}' ", txt_new.Text, txt_sPartCod15.Text, txt_Qty.Text, cboMSDLevel.Text, cboShelfType.Text, chkIsEnable.Checked ? "1" : "0", chx_morepage.Checked ? "Y" : "N", txtPasteMinCount.Text.Trim(), txtShelfLife.Text.Trim(), chkIsBing.Checked ? "1" : "0", chk_isSendCheck.Checked ? "是" : "否"); bool flag = NMS.ExecTransql(CIT.MES.PubUtils.uContext, sql); if (flag) { lab_msg.Text = "更新成功."; this.Close(); } else { MsgBox.Error("更新失败."); } this.Close(); } }
/// <summary> /// 查询Bom /// </summary> /// <param name="strWhere"></param> /// <returns></returns> public static DataTable SelectBom(string strWhere) { string strSql = string.Format("select MaterialCode,BOM_QTY,BaseQtyN,BaseQtyD from T_Bllb_BaseBom_tbbb where {0}", strWhere); return(NMS.QueryDataTable(PubUtils.uContext, strSql)); }
bool CheckMPN() { StringBuilder str = new StringBuilder(); str.Append("("); for (int i = 1; i < 16; i++) { str.Append(" partcode" + i.ToString() + "='{0}' or "); } str.Remove(str.Length - 3, 3); str.Append(")"); foreach (var item in txGroupBox2.Controls) { if (item.GetType().FullName == "System.Windows.Forms.TextBox") { string name = ((TextBox)item).Name; if (name.ToLower().Contains("partcode")) { string partcode = ((TextBox)item).Text; //if (partcode.Length != 0) { if (((TextBox)item).Tag != null && ((TextBox)item).Tag.ToString() == "ok") { if (partcode.Length != 0) { string customerid = cbx_customerID.Text; DataTable dt = NMS.QueryDataTable(CIT.MES.PubUtils.uContext, string.Format("select newpn,oldpn,MaterialMinCount from MdcDatMPN where customertype='{1}' and " + str.ToString(), partcode, cbx_customerID.Text)); if (dt != null && dt.Rows.Count > 0) { MsgBox.Error("存在MPN信息【" + ((TextBox)item).Text + "】,请勿重复维护."); return(false); } } if (FrmType) { string index = ((TextBox)item).Name.ToLower().Replace("txt_partcode", ""); //更新数据 string sql = string.Format(@"update MdcDatMPN set oldPN='{1}',MaterialMinCount='{2}',MorePack='{3}',CustomerType='{4}',PartCode" + index + @"='{5}',PartCode15='{6}',MSDLevel='{7}',ShelfType='{8}',IsEnable='{9}',Recordtime=getdate(),PNYorN='N',[Type]='0',PasteMinCount='{10}',ShelfLife='{11}' WHERE NEWPN='{0}' ", txt_new.Text, txt_old.Text, txt_Qty.Text, chx_morepage.Checked ? "Y" : "N", cbx_customerID.Text, ((TextBox)item).Text, txt_sPartCod15.Text, cboMSDLevel.Text, cboShelfType.Text, chkIsEnable.Checked ? "1" : "0", txtPasteMinCount.Text.Trim(), txtShelfLife.Text.Trim()); bool flag = NMS.ExecTransql(CIT.MES.PubUtils.uContext, sql); if (flag) { lab_msg.Text = "更新成功."; this.Close(); } else { MsgBox.Error("更新失败."); } } } } } } } foreach (var item in txGroupBox1.Controls) { if (item.GetType().FullName == "System.Windows.Forms.TextBox") { string name = ((TextBox)item).Name; if (name.ToLower().Contains("partcode")) { string partcode = ((TextBox)item).Text; //if (partcode.Length != 0) { if (((TextBox)item).Tag != null && ((TextBox)item).Tag.ToString() == "ok") { if (partcode.Length != 0) { string customerid = cbx_customerID.Text; DataTable dt = NMS.QueryDataTable(CIT.MES.PubUtils.uContext, string.Format("select newpn,oldpn,MaterialMinCount from MdcDatMPN where customertype='{1}' and " + str.ToString(), partcode, cbx_customerID.Text)); if (dt != null && dt.Rows.Count > 0) { MsgBox.Error("存在MPN信息【" + ((TextBox)item).Text + "】,请勿重复维护."); return(false); } } if (FrmType) { string index = ((TextBox)item).Name.ToLower().Replace("txt_partcode", ""); //更新数据 string sql = string.Format(@"update MdcDatMPN set oldPN='{1}',MaterialMinCount='{2}',MorePack='{3}',CustomerType='{4}',PartCode" + index + @"='{5}',PartCode15='{6}',MSDLevel='{7}',ShelfType='{8}',IsEnable='{9}',Recordtime=getdate(),PNYorN='N',[Type]='0',PasteMinCount='{10}',ShelfLife='{11}' WHERE NEWPN='{0}' ", txt_new.Text, txt_old.Text, txt_Qty.Text, chx_morepage.Checked ? "Y" : "N", cbx_customerID.Text, ((TextBox)item).Text, txt_sPartCod15.Text, cboMSDLevel.Text, cboShelfType.Text, chkIsEnable.Checked ? "1" : "0", txtPasteMinCount.Text.Trim(), txtShelfLife.Text.Trim()); bool flag = NMS.ExecTransql(CIT.MES.PubUtils.uContext, sql); if (flag) { lab_msg.Text = "更新成功."; this.Close(); } else { MsgBox.Error("更新失败."); } } } } } } } return(true); }
/// <summary> /// 增加一条数据 /// </summary> public bool Add(CIT.Model.SfcDatProductProRouteLog model) { try { StringBuilder strSql = new StringBuilder(); strSql.Append("insert into SfcDatProductProRouteLog("); strSql.Append("SfcNO,fguid,RepairHouseName,RepairHouse,Wocode,Product,ProductName,PCBCode,ProcessID,ProcessName,RouteID,RouteName,Type,Status,ErrorCode,Fnote,Creator,Createtime,line,msg,station)"); strSql.Append(" values ("); strSql.Append("@SfcNO,@Fguid,@RepairHouseName,@RepairHouse,@Wocode,@Product,@ProductName,@PCBCode,@ProcessID,@ProcessName,@RouteID,@RouteName,@Type,@Status,@ErrorCode,@Fnote,@Creator,getdate(),@line,@msg,@station)"); SqlParameter[] parameters = { new SqlParameter("@SfcNO", SqlDbType.NVarChar, 50), new SqlParameter("@Fguid", SqlDbType.NVarChar, 50), new SqlParameter("@RepairHouseName", SqlDbType.NVarChar, 50), new SqlParameter("@RepairHouse", SqlDbType.NVarChar, 50), new SqlParameter("@Wocode", SqlDbType.NVarChar, 50), new SqlParameter("@Product", SqlDbType.NVarChar, 50), new SqlParameter("@ProductName", SqlDbType.NVarChar, 50), new SqlParameter("@PCBCode", SqlDbType.NVarChar, 50), new SqlParameter("@ProcessID", SqlDbType.NVarChar, 50), new SqlParameter("@ProcessName", SqlDbType.NVarChar, 50), new SqlParameter("@RouteID", SqlDbType.NVarChar, 50), new SqlParameter("@RouteName", SqlDbType.NVarChar, 50), new SqlParameter("@Type", SqlDbType.NVarChar, 50), new SqlParameter("@Status", SqlDbType.NVarChar, 50), new SqlParameter("@ErrorCode", SqlDbType.NVarChar, 50), new SqlParameter("@Fnote", SqlDbType.NVarChar, 50), new SqlParameter("@Creator", SqlDbType.NVarChar, 50), new SqlParameter("@line", SqlDbType.NVarChar, 50), new SqlParameter("@msg", SqlDbType.NVarChar, 500), new SqlParameter("@station", SqlDbType.NVarChar, 500) }; parameters[0].Value = model.SfcNO; parameters[1].Value = model.Fguid; parameters[2].Value = model.RepairHouseName; parameters[3].Value = model.RepairHouse; parameters[4].Value = model.Wocode; parameters[5].Value = model.Product; parameters[6].Value = model.ProductName; parameters[7].Value = model.PCBCode; parameters[8].Value = model.ProcessID; parameters[9].Value = model.ProcessName; parameters[10].Value = model.RouteID; parameters[11].Value = model.RouteName; parameters[12].Value = model.Type; parameters[13].Value = model.Status; parameters[14].Value = model.ErrorCode; parameters[15].Value = model.Fnote; parameters[16].Value = model.Creator; parameters[17].Value = model.Line; parameters[18].Value = model.Msg; parameters[19].Value = model.Station; CmdParameter[] cmd = new CmdParameter[parameters.Length]; for (int i = 0; i < parameters.Length; i++) { cmd[i].ParameterName = parameters[i].ParameterName; cmd[i].Value = parameters[i].Value; } return(NMS.ExecTransql(CIT.MES.PubUtils.uContext, strSql.ToString(), cmd)); } catch { return(false); } }
public FrmMetaBindingEdit(string newpn) { InitializeComponent(); int SH = (Screen.PrimaryScreen.Bounds.Height - this.Height) / 2; int SW = (Screen.PrimaryScreen.Bounds.Width - this.Width) / 2; this.Location = new Point(SW, SH); DataTable dt = NMS.QueryDataTable(CIT.MES.PubUtils.uContext, "select * from sysDatMPNcustomer"); for (int i = 0; i < dt.Rows.Count; i++) { cbx_customerID.Items.Add(dt.Rows[i][0].ToString()); } txt_old.Enabled = false; txt_new.Enabled = false; txt_new.Text = newpn; cbx_customerID.Enabled = false; dt = NMS.QueryDataTable(CIT.MES.PubUtils.uContext, "select * from mdcdatmpn where newpn='" + newpn + "'"); if (dt.Rows.Count > 0) { cbx_customerID.Text = dt.Rows[0]["CustomerType"].ToString(); txt_old.Text = dt.Rows[0]["oldpn"].ToString(); txt_Qty.Text = dt.Rows[0]["MaterialMinCount"].ToString(); txt_SupplierName.Text = dt.Rows[0]["SupplierName"].ToString(); txt_ManufacturerLocation.Text = dt.Rows[0]["ManufacturerLocation"].ToString(); txt_MaterialType.Text = dt.Rows[0]["MaterialType"].ToString(); txt_Purchase.Text = dt.Rows[0]["Purchase"].ToString(); txt_partcode1.Text = dt.Rows[0]["partcode1"].ToString(); txt_PartCode2.Text = dt.Rows[0]["partcode2"].ToString(); txt_PartCode3.Text = dt.Rows[0]["partcode3"].ToString(); txt_PartCode4.Text = dt.Rows[0]["partcode4"].ToString(); txt_PartCode5.Text = dt.Rows[0]["partcode5"].ToString(); txt_PartCode6.Text = dt.Rows[0]["partcode6"].ToString(); txt_PartCode7.Text = dt.Rows[0]["partcode7"].ToString(); txt_PartCode8.Text = dt.Rows[0]["partcode8"].ToString(); txt_PartCode9.Text = dt.Rows[0]["partcode9"].ToString(); txt_PartCode10.Text = dt.Rows[0]["partcode10"].ToString(); txt_PartCode11.Text = dt.Rows[0]["partcode11"].ToString(); txt_PartCode12.Text = dt.Rows[0]["partcode12"].ToString(); txt_PartCode13.Text = dt.Rows[0]["partcode13"].ToString(); txt_PartCode14.Text = dt.Rows[0]["partcode14"].ToString(); txt_sPartCod15.Text = dt.Rows[0]["partcode15"].ToString(); cboMSDLevel.SelectedItem = dt.Rows[0]["MSDLevel"].ToString(); cboShelfType.SelectedItem = dt.Rows[0]["ShelfType"].ToString(); try { chkIsBing.Checked = dt.Rows[0]["IsBing"] == null ? false : (bool)dt.Rows[0]["IsBing"]; } catch { } try { chkIsEnable.Checked = (bool)dt.Rows[0]["IsEnable"]; } catch { } txtWarehouseLocation.Text = dt.Rows[0]["WarehouseLocation"].ToString(); txtPasteMinCount.Text = dt.Rows[0]["PasteMinCount"].ToString(); txtShelfLife.Text = dt.Rows[0]["ShelfLife"].ToString(); if (dt.Rows[0]["MorePack"].ToString().ToLower() == "y") { chx_morepage.Checked = true; } else { chx_morepage.Checked = false; } //2018.02.27 Zach 是否送检 string sql_isSendCheck = string.Format("select IsSendCheck from dbo.MdcdatMaterial where MaterialCode='{0}'", newpn); DataTable dt_isSendCheck = NMS.QueryDataTable(CIT.MES.PubUtils.uContext, sql_isSendCheck); if (dt_isSendCheck.Rows.Count > 0) { if (StringChange.ChangeNullToString(dt_isSendCheck.Rows[0]["IsSendCheck"]) == "是") { chk_isSendCheck.Checked = true; } else { chk_isSendCheck.Checked = false; } } } FrmType = true; this.txt_partcode1.TextChanged += new System.EventHandler(this.txt_partcode1_TextChanged); this.txt_PartCode2.TextChanged += new System.EventHandler(this.txt_PartCode2_TextChanged); this.txt_PartCode3.TextChanged += new System.EventHandler(this.txt_PartCode3_TextChanged); this.txt_PartCode4.TextChanged += new System.EventHandler(this.txt_PartCode4_TextChanged); this.txt_PartCode5.TextChanged += new System.EventHandler(this.txt_PartCode5_TextChanged); this.txt_PartCode6.TextChanged += new System.EventHandler(this.txt_PartCode6_TextChanged); this.txt_sPartCod15.TextChanged += new System.EventHandler(this.txt_PartCode15_TextChanged); this.txt_PartCode7.TextChanged += new System.EventHandler(this.txt_PartCode7_TextChanged); this.txt_PartCode8.TextChanged += new System.EventHandler(this.txt_PartCode8_TextChanged); this.txt_PartCode9.TextChanged += new System.EventHandler(this.txt_PartCode9_TextChanged); this.txt_PartCode10.TextChanged += new System.EventHandler(this.txt_PartCode10_TextChanged); this.txt_PartCode11.TextChanged += new System.EventHandler(this.txt_PartCode11_TextChanged); this.txt_PartCode12.TextChanged += new System.EventHandler(this.txt_PartCode12_TextChanged); this.txt_PartCode13.TextChanged += new System.EventHandler(this.txt_PartCode13_TextChanged); this.txt_PartCode14.TextChanged += new System.EventHandler(this.txt_PartCode14_TextChanged); }
/// <summary> /// 二级包装解箱根据一级容器SN(解除某一个一级容器SN与二级容器SN之间的关系) /// </summary> /// <param name="CONTAINER_SN_1">一级容器SN</param> /// <returns></returns> public static bool RelieveBoxBySN(string CONTAINER_SN_1) { string strSql = string.Format("delete from T_Bllb_packageTwo_tbpt where CONTAINER_SN_1='{0}'", CONTAINER_SN_1); return(NMS.ExecTransql(PubUtils.uContext, strSql)); }
/// <summary> /// 新增 /// </summary> /// <param name="obj"></param> /// <param name="varMsg"></param> /// <returns></returns> public static bool Insert(T_Inventory_ti obj, out string varMsg) { //1.开单 DataTable dt_check = new DataTable(); string msg = string.Empty; string inventoryCode = CheckIsOK(dt_check, obj, ref msg); if (msg == "OK") { obj.InventoryCode = inventoryCode; } else { varMsg = msg; return(false); } //2.取出对应仓库 料号的 数量 string querypnWhere = string.Format(" where 1=1 and Lock_Flag='0' and Storage_SN='{0}'", obj.HouseCode); if (obj.StorageArea != null) { querypnWhere = string.Format("{0} and Area_SN='{1}'", querypnWhere, obj.StorageArea); } if (obj.PN != null) { querypnWhere = string.Format("{0} and MaterialCode='{1}'", querypnWhere, obj.PN); } string sqlInsert = string.Format(@" declare @Qty decimal declare @PartNumber nvarchar(50) --获得对应仓库 每个料号的数量 if not exists(select * from T_Bllb_StockInfo_tbsi {8}) begin select '0','仓库没有对应的料号' return end else begin insert into T_Inventory_ti(InventoryCode,HouseCode,HouseName,PN,StorageArea,StorageLocation,Creator,CreateTime,Status) values('{0}', '{1}', '{2}', '{3}', '{4}', '{5}', '{6}', getdate(),'{7}') select MaterialCode,sum(QTY) as 'Qty' into #a from T_Bllb_StockInfo_tbsi {8} group by MaterialCode select '1',* from #a drop table #a return end ", obj.InventoryCode, obj.HouseCode, obj.HouseName, obj.PN, obj.StorageArea == null ? string.Empty : obj.StorageArea, obj.StorageLocation == null ? string.Empty : obj.StorageLocation, PubUtils.uContext.UserName, 0, querypnWhere); DataTable dt_Insert = NMS.QueryDataTable(PubUtils.uContext, sqlInsert); if (dt_Insert.Rows.Count > 0) { //有对应的料号 if (dt_Insert.Rows[0][0].ToString() == "1") { foreach (DataRow dr in dt_Insert.Rows) { string sqlInsert_PnQty = string.Format(@"insert into T_Inventory_Detail (InventoryCode,PN,Qty,CurrentQty,UnQty,DifferQty) values('{0}','{1}','{2}',0,'{2}',0)", obj.InventoryCode, dr["MaterialCode"].ToString(), dr["QTY"].ToString()); NMS.ExecTransql(PubUtils.uContext, sqlInsert_PnQty); } } else { //仓库没有对应的料号 varMsg = "仓库没有对应的料号,开单失败!"; return(false); } } //获取对应的料盘编码 string sqlInsert_Reelid = string.Format(@"select SerialNumber,QTY from dbo.T_Bllb_StockInfo_tbsi {0} group by SerialNumber,QTY select SerialNumber,QTY from #a drop table #a", querypnWhere); DataTable dt_reelidInsert = NMS.QueryDataTable(PubUtils.uContext, sqlInsert_Reelid); if (dt_reelidInsert.Rows.Count > 0) { foreach (DataRow dr in dt_reelidInsert.Rows) { string sqlInsert_ReelidQty = string.Format(@" INSERT INTO T_InventoryDetail_tid ( InventoryCode , ReelId , Qty , CurrentQty , UnQty , DifferQty , Creator , CreateTime , Status ) VALUES ( '{0}' , '{1}' , '{2}' , 0 , '{2}' , 0 , '{3}' , GETDATE() , 1 ) UPDATE T_Bllb_StockInfo_tbsi SET Lock_Flag = '1' WHERE SerialNumber = '{1}'", obj.InventoryCode, dr["SerialNumber"].ToString(), dr["QTY"].ToString(), PubUtils.uContext.UserName); NMS.ExecTransql(PubUtils.uContext, sqlInsert_ReelidQty); } } varMsg = "OK"; return(true); }