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

📄 unit_invmanage.pas

📁 用友系统二次开发 存货管理 客户管理 订货审核 退货审核 铺货计划 调货计划
💻 PAS
📖 第 1 页 / 共 2 页
字号:
    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;

procedure TForm_Inventory.FormShow(Sender: TObject);
Var
  SqlList : TStringList ;
  Sqltext : String;
begin
  SqlList := TStringlist.Create ;

    Sqltext :='SELECT cInvCode '+''' - '''+'cInvName FROM Inventory WHERE cInvCCode Like ''10%'' ';

    If RB_WX.Checked = True Then Sqltext := Sqltext+ ' AND ' + RB_WX.Hint ;
    If RB_NK.Checked = True Then Sqltext := Sqltext+ ' AND ' + RB_NK.Hint ;
    If RB_HK.Checked = True Then Sqltext := Sqltext+ ' AND ' + RB_HK.Hint ;
    If RB_QT.Checked = True Then Sqltext := Sqltext+ ' AND ' + RB_QT.Hint ;

        SqlList.Clear;
        If CB_NP.Checked = True Then SqlList.Add(CB_NP.Hint) ;
        If CB_ZG.Checked = True Then SqlList.Add(CB_ZG.Hint) ;
        If CB_SB.Checked = True Then SqlList.Add(CB_SB.Hint) ;
        If CB_SS.Checked = True Then SqlList.Add(CB_SS.Hint) ;
    if ListToStr(SqlList,' OR ') <> '' Then Sqltext := Sqltext+ ' AND (' + sListToStr(SqlList,' OR ')+') ';

        SqlList.Clear;
        If CB_LA.Checked = True Then SqlList.Add(CB_LA.Hint) ;
        If CB_LB.Checked = True Then SqlList.Add(CB_LB.Hint) ;
        If CB_LC.Checked = True Then SqlList.Add(CB_LC.Hint) ;
        If CB_LD.Checked = True Then SqlList.Add(CB_LD.Hint) ;
        If CB_LE.Checked = True Then SqlList.Add(CB_LE.Hint) ;
        If CB_LN.Checked = True Then SqlList.Add(CB_LN.Hint) ;
    if ListToStr(SqlList,' OR ') <> '' Then Sqltext := Sqltext+ ' AND (' + sListToStr(SqlList,' OR ')+') ';

    If CB_SD.Checked Then Sqltext := Sqltext+ ' AND CONVERT(NVARCHAR(10),dSDate, 121) = '''+FormatDatetime('YYYY-MM-DD',Sdate.Date)+'''');

    showmessage(Sqltext);
   End;
end;

procedure TForm_Inventory.QueryInvAfterOpen(DataSet: TDataSet);
begin
  ColorListBox.Clear ;
  ColorListBox.Items.AddStrings(GetColor(QueryInv.FieldByName('cInvCode').AsString));
  SizeListBox.Clear ;
  SizeListBox.Items.AddStrings(GetSize(QueryInv.FieldByName('cInvCode').AsString));
  LCB_ProductCode.Text := QueryInv.FieldByName('cInvCode').AsString ;
  AllowSaleCustList.Items := GetAllowSale(LCB_ProductCode.Text).Items;
  AllowSaleCust.Caption := '在销客户    (' + IntToStr(AllowSaleCustList.Items.count)+')' ;
  ReturnCustList.Items := GetReturnCust(LCB_ProductCode.Text).items;
  ReturnCust.Caption := '调货客户    (' + IntToStr(ReturnCustList.Items.count)+')'  ;
  NoSaleCustList.Items := GetNoSlaeCust(LCB_ProductCode.Text).Items;
  NoSaleCust.Caption := '未销客户    (' + IntToStr(NoSaleCustList.Items.count)+')'  ;
  ForbidSaleCustList.Items := GetForbidCust(LCB_ProductCode.Text).Items;
  ForbidSaleCust.Caption := '失效客户    (' + IntToStr(ForbidSaleCustList.Items.count)+')'  ;
end;

procedure TForm_Inventory.FormCreate(Sender: TObject);
begin
    Sdate.Date := StrToDate(FormatDatetime('YYYY-MM-',Now()-60)+FormatDatetime('DD',Now()));
    TotalSdate.Date := StrToDate(FormatDatetime('YYYY-MM-',Now()-60)+'01');
    TotalEdate.Date := StrToDate(FormatDatetime('YYYY-MM-DD',Now()));
end;

procedure TForm_Inventory.N17Click(Sender: TObject);
begin
  UpdateInvLSPrice(LCB_ProductCode.Text);
  QueryInv.Refresh;
end;

procedure TForm_Inventory.N16Click(Sender: TObject);
begin
  UpdateInvPrice(LCB_ProductCode.Text);
  QueryInv.Refresh;
end;

procedure TForm_Inventory.N14Click(Sender: TObject);
begin
  UpdateInvCost(LCB_ProductCode.Text);
  QueryInv.Refresh;

end;

procedure TForm_Inventory.N19Click(Sender: TObject);
Var
    SqlText : String ;
begin
    IF LCB_ProductCode.Text <> '' Then
    Begin
      SqlText := SaleStateStr(LCB_ProductCode.Text,FormatDatetime('YYYY-MM-DD',TotalSDate.Date),FormatDatetime('YYYY-MM-DD',TotalEDate.Date));
      With TranData do
      begin
        Close ;
        CommandText := SqlText ;
        Open;
      End;
      Showmessage ('报表查询完成!');
    End
    Else
    Begin
      Showmessage ('未指定款号,请重新指定款号后再做报表');
    end;
end;

procedure TForm_Inventory.N21Click(Sender: TObject);
begin
    IF N21.Checked = True Then
    Begin
       N21.Checked := False ;
       GroupBox4.Visible :=  N21.Checked ;
    End
    Else
    Begin
       N21.Checked := True ;
       GroupBox4.Visible :=  N21.Checked ;
    End;
end;


procedure TForm_Inventory.AllowSaleCustListDblClick(Sender: TObject);
Var
  i: Integer ;
  s,sCusCode,sCusName: String ;
begin
    IF Form_Data.Table_Manage.Lookup('MName',UserName,'M012') = 0 Then
    Begin
        Showmessage('你无权执行此项操作,请咨询系统管理员!');
        Exit;
    End;

    s:= AllowSaleCustList.Items.Items[AllowSaleCustList.ItemIndex].Text ;
    i:=MessageDlg('你即将货品: '+#13+#13+
                  '['+LCB_ProductCode.Text+']'+cxDBLabel1.Caption +#13+#13+
                  '对客户: '+
                  #13+#13+ s +#13+#13+
                  '进行 禁止销售 管控修改! '+#13+#13+#13+#13+#13+#13+#13+
                  '[ 限销限退 ], 请单击 Yes '+#13+
                  '[ 限销允退 ], 请单击 No '+#13+#13+
                  '取消修改, 请单击 Cancel '+#13+
                  #13,mtCustom,[mbYES,mbNO,mbCancel],0);
    case i of
    2 :   Begin
          //showmessage('Cancel按钮');
          End;
    6 :   Begin
          //showmessage('Yes按钮');
          PROC_forbidSaleforbidReturn(LCB_ProductCode.Text,Copy(s,1,4));
          AllowSaleCustList.DeleteSelected ;
          End;
    7 :   Begin
          //showmessage('No按钮');
          PROC_forbidSaleAllowReturn(LCB_ProductCode.Text,Copy(s,1,4));
          AllowSaleCustList.DeleteSelected ;
          End;
    End;
    AllowSaleCustList.Selected[AllowSaleCustList.ItemIndex] := False ;
    AllowSaleCustList.Items := GetAllowSale(LCB_ProductCode.Text).Items;
    AllowSaleCust.Caption := '在销客户    (' + IntToStr(AllowSaleCustList.Items.count)+')' ;
    ForbidSaleCustList.Items := GetForbidCust(LCB_ProductCode.Text).Items;
    ForbidSaleCust.Caption := '失效客户    (' + IntToStr(ForbidSaleCustList.Items.count)+')'  ;
end;

procedure TForm_Inventory.ForbidSaleCustListDblClick(Sender: TObject);
Var
  i: Integer ;
  s,sCusCode,sCusName: String ;
begin
    IF Form_Data.Table_Manage.Lookup('MName',UserName,'M012') = 0 Then
    Begin
        Showmessage('你无权执行此项操作,请咨询系统管理员!');
        Exit;
    End;
    s:= ForbidSaleCustList.Items.Items[ForbidSaleCustList.ItemIndex].Text ;
    i:=MessageDlg('你即将货品: '+#13+#13+
                  '['+LCB_ProductCode.Text+']'+cxDBLabel1.Caption +#13+#13+
                  '对客户: '+
                  #13+#13+ s +#13+#13+
                  '进行 禁止销售 管控修改! '+#13+#13+#13+#13+#13+#13+#13+
                  '[ 限销允退 ], 请单击 Yes '+#13+
                  '[ 允销限退 ], 请单击 No '+#13+
                  '[ 允销允退 ], 请单击 All '+#13+#13+
                  '取消修改, 请单击 Cancel '+#13+
                  #13,mtCustom,[mbNO,mbAll,mbYES,mbCancel],0);
    case i of
    2 :   Begin
          //showmessage('Cancel按钮');
          End;
    6 :   Begin
          //showmessage('Yes按钮');
          PROC_forbidSaleAllowReturn(LCB_ProductCode.Text,Copy(s,1,4));
          End;
    7 :   Begin
          //showmessage('No按钮');
          PROC_AllowSaleforbidReturn(LCB_ProductCode.Text,Copy(s,1,4));
          ForbidSaleCustList.DeleteSelected ;
          End;
    8 :  Begin
          //showmessage('All按钮');
          PROC_AllowSaleAllowReturn(LCB_ProductCode.Text,Copy(s,1,4));
          ForbidSaleCustList.DeleteSelected ;
          End;
    End;
    ForbidSaleCustList.Selected[ForbidSaleCustList.ItemIndex] := False ;
    AllowSaleCustList.Items := GetAllowSale(LCB_ProductCode.Text).Items;
    AllowSaleCust.Caption := '在销客户    (' + IntToStr(AllowSaleCustList.Items.count)+')' ;
    ForbidSaleCustList.Items := GetForbidCust(LCB_ProductCode.Text).Items;
    ForbidSaleCust.Caption := '失效客户    (' + IntToStr(ForbidSaleCustList.Items.count)+')'  ;
end;

procedure TForm_Inventory.N22Click(Sender: TObject);
begin
//  AllowSaleCustList.Items.  
end;

end.

⌨️ 快捷键说明

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