⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit_invmanage.pas

📁 用友ERP功能扩展
💻 PAS
📖 第 1 页 / 共 3 页
字号:
                        Form_Data.SQL.ExecSQL;
                    End;
                End;
            End;
        End Else IF iTypeID = 3 Then
        Begin
            sOldPrice := Form_Data.Table__Inventory.FieldByName('iInvSPrice').AsString;
            sMemo     := FormatDatetime('YYYY/MM/DD',Now())+ ' 采购价由 '+ sOldPrice +' 元调至 '+ sNewPrice +' 元';

            Form_Data.SQL.Close;
            Form_Data.SQL.SQL.Clear;
            Form_Data.SQL.SQL.Add('UPDATE Inventory ');
            Form_Data.SQL.SQL.Add('SET   iInvLSCost = '''+ sNewPrice +'''');
            Form_Data.SQL.SQL.Add('WHERE (cInvCode = '''+ sInvCode +''' )');
            Form_Data.SQL.ExecSQL;

            Form_Data.SQL.Close;
            Form_Data.SQL.SQL.Clear;
            Form_Data.SQL.SQL.Add('INSERT INTO a__Price');
            Form_Data.SQL.SQL.Add('(cInvCode, PriceTCode,OldPrice,NewPrice,Maker,PriceMemo)');
            Form_Data.SQL.SQL.Add('VALUES ('''+ sInvCode +''','+ IntToStr(iTypeID) +','+ sOldPrice +','+ sNewPrice +','''+ UserName +''','''+ sPriceMemo +''')');
            Form_Data.SQl.ExecSQL;

            Form_Data.SQL.Close;
            Form_Data.SQL.SQL.Clear;
            Form_Data.SQL.SQL.Add('SELECT PriceNo FROM a__Price');
            Form_Data.SQL.SQL.Add('WHERE (cInvCode ='''+ sInvCode +''')');
            Form_Data.SQL.SQL.Add('AND (PriceTCode ='+ IntToStr(iTypeID) +')');
            Form_Data.SQL.SQL.Add('AND (OldPrice   ='+ sOldPrice +')');
            Form_Data.SQL.SQL.Add('AND (NewPrice   ='+ sNewPrice +')');
            Form_Data.SQL.SQL.Add('AND (Maker      = '''+ UserName +''')');
            Form_Data.SQL.SQL.Add('AND (PriceMemo  = '''+ sPriceMemo +''')');
            Form_Data.SQL.Open;
            IF (Form_Data.SQL.RecordCount <> 1) Then
            Begin
                Showmessage('调价记录增加不成功!');
                Exit ;
            End Else Begin
                sPriceNO := Form_Data.SQL.FieldValues['PriceNO'];
            End;

            IF MessageDlg('提示: '+#13+'是否要连带修改 客户指定价'+#13+#13,mtInformation,[mbOK,mbCancel],0) = mrOk Then
            Begin
            sOldPrice := Form_Data.Table__Inventory.FieldByName('iInvLSCost').AsString;
            sMemo     := FormatDatetime('YYYY/MM/DD',Now())+ '外省价由 '+ sOldPrice +' 元调至 '+ sNewPrice +' 元';
            Form_Data.SQL.Close;
            Form_Data.SQL.SQL.Clear;
            Form_Data.SQL.SQL.Add('INSERT INTO a__Prices');
            Form_Data.SQL.SQL.Add('(PriceNO, cCusCode,OldPrice,NewPrice,dPrice,dMoney)');
            Form_Data.SQL.SQL.Add('SELECT '+ sPriceNo +' AS PriceNO,');
            Form_Data.SQL.SQL.Add('       SA_CusUPrice.cCusCode,');
            Form_Data.SQL.SQL.Add('       SA_CusUPrice.iInvNowCost AS OldPrice,');
            Form_Data.SQL.SQL.Add('       '+ sNewPrice +' AS NewPrice,');
            Form_Data.SQL.SQL.Add('       '+ sNewPrice +'- SA_CusUPrice.iInvNowCost AS dPrice,');
            Form_Data.SQL.SQL.Add('       0 AS dMoney');
            Form_Data.SQL.SQL.Add('FROM SA_CusUPrice INNER JOIN Customer ON SA_CusUPrice.cCusCode = Customer.cCusCode');
            Form_Data.SQL.SQL.Add('WHERE cInvCode = '''+ sInvCode +''' AND cCusDefine1 = ''外省客户''');
            Form_Data.SQl.ExecSQL;

            Form_Data.SQL.Close;
            Form_Data.SQL.SQL.Clear;
            Form_Data.SQL.SQL.Add('UPDATE SA_CusUPrice');
            Form_Data.SQL.SQL.Add('SET iCusDisRate = '''+ sNewPrice +'''/iInvSCost,iInvNowCost = '''+ sNewPrice +'''');
            Form_Data.SQL.SQL.Add('FROM SA_CusUPrice INNER JOIN Customer ON SA_CusUPrice.cCusCode = Customer.cCusCode');
            Form_Data.SQL.SQL.Add('WHERE cInvCode = '''+ sInvCode +''' AND cCusDefine1 = ''外省客户''');
            Form_Data.SQL.ExecSQL;
            End;
        End Else
        Begin

        End;
    End;
    Form_Data.Table__Inventory.Active := False ;
    Form_Data.Table__Inventory.Active := True ;
    Form_Data.SQL_Price.Active := False ;
    Form_Data.SQL_Price.Active := True ;
    Form_Data.Table__Price.Active := False ;
    Form_Data.Table__Price.Active := True ;
    Form_Data.Table__SA_CusUPrice.Active := False ;
    Form_Data.Table__SA_CusUPrice.Active := True ;
    Form_Data.Table__InventoryForCust.Active := False ;
    Form_Data.Table__InventoryForCust.Active := True ;
    Form_Data.Table__Inventory.Locate('cInvCode',sInvCode,[]);
end;

procedure TForm_Inventory.N1Click(Sender: TObject);
Var
    AutoID:String;
begin
    IF Form_Data.Table_Manage.Lookup('MName',UserName,'M012') = 0 Then
    Begin
        Showmessage('你无权执行此项操作,请咨询系统管理员!');
        Exit;
    End;
    AutoID := Form_Data.Table__InventoryForCust.FieldByName('AutoID').AsString;
    Form_Data.SQL.Close;
    Form_Data.SQL.SQL.Clear;
    Form_Data.SQL.SQL.Add('UPDATE SA_CusUPrice');
    Form_Data.SQL.SQL.Add('SET dStartDate = dCreateDate,dEndDate = GetDate(),cMemo = CONVERT(nvarchar(10), GETDATE() -1, 102)+ ''强制限销!''+'''+ UserName +'''');
    Form_Data.SQL.SQL.Add('WHERE AutoID = '+ AutoID +'');
    Form_Data.SQL.ExecSQL;
    Form_Data.Table__SA_CusUPrice.Active := False;
    Form_Data.Table__SA_CusUPrice.Active := True;
    Form_Data.Table__InventoryForCust.Active := False;
    Form_Data.Table__InventoryForCust.Active := True;
    Form_Data.Table__InventoryForCust.Locate('AutoID',AutoID,[])
end;

procedure TForm_Inventory.N2Click(Sender: TObject);
Var
    sInvCode:String;
begin
    IF Form_Data.Table_Manage.Lookup('MName',UserName,'M012') = 0 Then
    Begin
        Showmessage('你无权执行此项操作,请咨询系统管理员!');
        Exit;
    End;
    sInvCode := Form_Data.Table__Inventory.FieldByName('cInvCode').AsString;
    Form_Data.SQL.Close;
    Form_Data.SQL.SQL.Clear;
    Form_Data.SQL.SQL.Add('UPDATE SA_CusUPrice');
    Form_Data.SQL.SQL.Add('SET dStartDate = dCreateDate,dEndDate = GetDate(),cMemo = CONVERT(nvarchar(10), GETDATE() -1, 102)+ ''强制限销!''+'''+ UserName +'''');
    Form_Data.SQL.SQL.Add('WHERE cInvCode = '''+ sInvCode +'''');
    Form_Data.SQL.ExecSQL;
    Form_Data.Table__SA_CusUPrice.Active := False;
    Form_Data.Table__SA_CusUPrice.Active := True;
    Form_Data.Table__InventoryForCust.Active := False;
    Form_Data.Table__InventoryForCust.Active := True;
end;

procedure TForm_Inventory.N3Click(Sender: TObject);
Var
    sInvCode:String;
begin
    IF Form_Data.Table_Manage.Lookup('MName',UserName,'M012') = 0 Then
    Begin
        Showmessage('你无权执行此项操作,请咨询系统管理员!');
        Exit;
    End;
    sInvCode := Form_Data.Table__Inventory.FieldByName('cInvCode').AsString;
    Form_Data.SQL.Close;
    Form_Data.SQL.SQL.Clear;
    Form_Data.SQL.SQL.Add('UPDATE SA_CusUPrice');
    Form_Data.SQL.SQL.Add('SET dStartDate = dCreateDate,dEndDate = GetDate(),cMemo = CONVERT(nvarchar(10), GETDATE() -1, 102)+ ''强制限销!''+'''+ UserName +'''');
    Form_Data.SQL.SQL.Add('WHERE cInvCode = '''+ sInvCode +'''');
    Form_Data.SQL.ExecSQL;
    Form_Data.Table__InventoryForCust.Active := False;
    Form_Data.Table__InventoryForCust.Active := True;
    Form_Data.SQL.Close;
    Form_Data.SQL.SQL.Clear;
    Form_Data.SQL.SQL.Add('UPDATE Inventory');
    Form_Data.SQL.SQL.Add('SET bSale = 0');
    Form_Data.SQL.SQL.Add('WHERE cInvCode = '''+  sInvCode +'''');
    Form_Data.SQL.ExecSQL;
    Form_Data.Table__SA_CusUPrice.Active := False;
    Form_Data.Table__SA_CusUPrice.Active := True;
    Form_Data.Table__Inventory.Active := False;
    Form_Data.Table__Inventory.Active := True;
    Form_Data.Table__InventoryForCust.Active := False;
    Form_Data.Table__InventoryForCust.Active := True;
    Form_Data.Table__Inventory.Locate('cInvCode',sInvCode,[])
end;

procedure TForm_Inventory.N7Click(Sender: TObject);
Var
    AutoID:String;
begin
    IF Form_Data.Table_Manage.Lookup('MName',UserName,'M012') = 0 Then
    Begin
        Showmessage('你无权执行此项操作,请咨询系统管理员!');
        Exit;
    End;
    AutoID := Form_Data.Table__InventoryForCust.FieldByName('AutoID').AsString;
    Form_Data.SQL.Close;
    Form_Data.SQL.SQL.Clear;
    Form_Data.SQL.SQL.Add('UPDATE SA_CusUPrice');
    Form_Data.SQL.SQL.Add('SET dStartDate = Null,dEndDate = Null,cMemo = CONVERT(nvarchar(10), GETDATE() -1, 102)+ ''恢复失效报价!''+'''+ UserName +'''');
    Form_Data.SQL.SQL.Add('WHERE AutoID = '+ AutoID +'');
    Form_Data.SQL.ExecSQL;
    Form_Data.Table__SA_CusUPrice.Active := False;
    Form_Data.Table__SA_CusUPrice.Active := True;
    Form_Data.Table__InventoryForCust.Active := False;
    Form_Data.Table__InventoryForCust.Active := True;
    Form_Data.Table__InventoryForCust.Locate('AutoID',AutoID,[])
end;

procedure TForm_Inventory.cxTabSheet1Show(Sender: TObject);
Var
    sInvCode: String;
begin
        sInvCode := Form_Data.Table__Inventory.FieldByName('cInvCode').AsString;
        Form_Data.tSQL.Close;
        Form_Data.tSQL.SQL.Clear;
        Form_Data.tSQL.SQL.Add('SELECT cInvCode,');
        Form_Data.tSQL.SQL.Add('SUM(CASE WHEN dDate >= CONVERT(nvarchar(10), GETDATE() -1- 4*7, 102) AND dDate <= CONVERT(nvarchar(10), GETDATE() -1- 0*7, 102) THEN iQuantity ELSE 0 END)/4 AS '''+ FormatDatetime('MM-DD',Now()-1- 0*7) +''',');
        Form_Data.tSQL.SQL.Add('SUM(CASE WHEN dDate >= CONVERT(nvarchar(10), GETDATE() -1- 5*7, 102) AND dDate <= CONVERT(nvarchar(10), GETDATE() -1- 1*7, 102) THEN iQuantity ELSE 0 END)/4 AS '''+ FormatDatetime('MM-DD',Now()-1- 1*7) +''',');
        Form_Data.tSQL.SQL.Add('SUM(CASE WHEN dDate >= CONVERT(nvarchar(10), GETDATE() -1- 6*7, 102) AND dDate <= CONVERT(nvarchar(10), GETDATE() -1- 2*7, 102) THEN iQuantity ELSE 0 END)/4 AS '''+ FormatDatetime('MM-DD',Now()-1- 2*7) +''',');
        Form_Data.tSQL.SQL.Add('SUM(CASE WHEN dDate >= CONVERT(nvarchar(10), GETDATE() -1- 7*7, 102) AND dDate <= CONVERT(nvarchar(10), GETDATE() -1- 3*7, 102) THEN iQuantity ELSE 0 END)/4 AS '''+ FormatDatetime('MM-DD',Now()-1- 3*7) +''',');
        Form_Data.tSQL.SQL.Add('SUM(CASE WHEN dDate >= CONVERT(nvarchar(10), GETDATE() -1- 8*7, 102) AND dDate <= CONVERT(nvarchar(10), GETDATE() -1- 4*7, 102) THEN iQuantity ELSE 0 END)/4 AS '''+ FormatDatetime('MM-DD',Now()-1- 4*7) +''',');
        Form_Data.tSQL.SQL.Add('SUM(CASE WHEN dDate >= CONVERT(nvarchar(10), GETDATE() -1- 9*7, 102) AND dDate <= CONVERT(nvarchar(10), GETDATE() -1- 5*7, 102) THEN iQuantity ELSE 0 END)/4 AS '''+ FormatDatetime('MM-DD',Now()-1- 5*7) +''',');
        Form_Data.tSQL.SQL.Add('SUM(CASE WHEN dDate >= CONVERT(nvarchar(10), GETDATE() -1-10*7, 102) AND dDate <= CONVERT(nvarchar(10), GETDATE() -1- 6*7, 102) THEN iQuantity ELSE 0 END)/4 AS '''+ FormatDatetime('MM-DD',Now()-1- 6*7) +''',');
        Form_Data.tSQL.SQL.Add('SUM(CASE WHEN dDate >= CONVERT(nvarchar(10), GETDATE() -1-11*7, 102) AND dDate <= CONVERT(nvarchar(10), GETDATE() -1- 7*7, 102) THEN iQuantity ELSE 0 END)/4 AS '''+ FormatDatetime('MM-DD',Now()-1- 7*7) +''',');
        Form_Data.tSQL.SQL.Add('SUM(CASE WHEN dDate >= CONVERT(nvarchar(10), GETDATE() -1-12*7, 102) AND dDate <= CONVERT(nvarchar(10), GETDATE() -1- 8*7, 102) THEN iQuantity ELSE 0 END)/4 AS '''+ FormatDatetime('MM-DD',Now()-1- 8*7) +''',');
        Form_Data.tSQL.SQL.Add('SUM(CASE WHEN dDate >= CONVERT(nvarchar(10), GETDATE() -1-13*7, 102) AND dDate <= CONVERT(nvarchar(10), GETDATE() -1- 9*7, 102) THEN iQuantity ELSE 0 END)/4 AS '''+ FormatDatetime('MM-DD',Now()-1- 9*7) +''',');
        Form_Data.tSQL.SQL.Add('SUM(CASE WHEN dDate >= CONVERT(nvarchar(10), GETDATE() -1-14*7, 102) AND dDate <= CONVERT(nvarchar(10), GETDATE() -1-10*7, 102) THEN iQuantity ELSE 0 END)/4 AS '''+ FormatDatetime('MM-DD',Now()-1-10*7) +''',');
        Form_Data.tSQL.SQL.Add('SUM(CASE WHEN dDate >= CONVERT(nvarchar(10), GETDATE() -1-15*7, 102) AND dDate <= CONVERT(nvarchar(10), GETDATE() -1-11*7, 102) THEN iQuantity ELSE 0 END)/4 AS '''+ FormatDatetime('MM-DD',Now()-1-11*7) +''',');
        Form_Data.tSQL.SQL.Add('SUM(CASE WHEN dDate >= CONVERT(nvarchar(10), GETDATE() -1-16*7, 102) AND dDate <= CONVERT(nvarchar(10), GETDATE() -1-12*7, 102) THEN iQuantity ELSE 0 END)/4 AS '''+ FormatDatetime('MM-DD',Now()-1-12*7) +'''');
        Form_Data.tSQL.SQL.Add('FROM dbo.SaleDealList');
        Form_Data.tSQL.SQL.Add('WHERE dDate >= CONVERT(nvarchar(10), GETDATE() -113, 102) AND dDate <= CONVERT(nvarchar(10), GETDATE() -1, 102)');
        Form_Data.tSQL.SQL.Add('AND cInvCode ='''+ sInvCode +'''');
        Form_Data.tSQL.SQL.Add('GROUP BY cInvCode');
//        Form_Data.tSQL.Open;
end;

procedure TForm_Inventory.N11Click(Sender: TObject);
Var
    sInvCode: String;
begin
    sInvCode := Form_Data.Table__Inventory.FieldByName('cInvCode').AsString;
    Form_Data.SQL.Close;
    Form_Data.SQL.SQL.Clear;
    Form_Data.SQL.SQL.Add('UPDATE Inventory');
    Form_Data.SQL.SQL.Add('SET bSale = -1');
    Form_Data.SQL.SQL.Add('WHERE cInvCode = '''+  sInvCode +'''');
    Form_Data.SQL.ExecSQL;
    Form_Data.Table__SA_CusUPrice.Active := False;
    Form_Data.Table__SA_CusUPrice.Active := True;
    Form_Data.Table__Inventory.Active := False;
    Form_Data.Table__Inventory.Active := True;
    Form_Data.Table__InventoryForCust.Active := False;
    Form_Data.Table__InventoryForCust.Active := True;
    Form_Data.Table__Inventory.Locate('cInvCode',sInvCode,[])
end;

procedure TForm_Inventory.N10Click(Sender: TObject);
Var
    AutoID:String;
begin
    IF Form_Data.Table_Manage.Lookup('MName',UserName,'M012') = 0 Then
    Begin
        Showmessage('你无权执行此项操作,请咨询系统管理员!');
        Exit;
    End;
    AutoID := Form_Data.Table__InventoryForCust.FieldByName('AutoID').AsString;
    Form_Data.SQL.Close;
    Form_Data.SQL.SQL.Clear;
    Form_Data.SQL.SQL.Add('UPDATE SA_CusUPrice');
    Form_Data.SQL.SQL.Add('SET dStartDate = dCreateDate,dEndDate = GetDate()-1,bRetrun = 1,dRetrunDate = GetDate() + 60 ,cMemo = CONVERT(nvarchar(10), GETDATE() , 102)+ ''  限销不限退!  ''+'''+ UserName +'''');
    Form_Data.SQL.SQL.Add('WHERE AutoID = '+ AutoID +'');
    Form_Data.SQL.ExecSQL;
    Form_Data.Table__SA_CusUPrice.Active := False;
    Form_Data.Table__SA_CusUPrice.Active := True;
    Form_Data.Table__InventoryForCust.Active := False;
    Form_Data.Table__InventoryForCust.Active := True;
    Form_Data.Table__InventoryForCust.Locate('AutoID',AutoID,[])
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -