📄 unit_invmanage.pas
字号:
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 + -