📄 mainunit.pas
字号:
begin
DataForm.SQL_PB.UpdateCursorPos ;
DataForm.SQL_PB.Close;
DataForm.SQL_PB.SQL.Clear;
DataForm.SQL_PB.SQL.Add('SELECT ');
DataForm.SQL_PB.SQL.Add('a_PlanBefordhan.PBNO AS 序号, PBProd AS 商品代码, PBName AS 商品名称, PlanType AS 计划类别,PBCust AS 家数,');
DataForm.SQL_PB.SQL.Add('SUM(CASE WHEN (PLstate = ''已处理'') THEN 1 ELSE 0 END)+SUM(CASE WHEN (PLstate = ''未处理'') THEN 1 ELSE 0 END) AS 已计划数,');
DataForm.SQL_PB.SQL.Add('PSDate AS 计划始日, PEDate AS 计划止日, SUM(CASE WHEN (PLstate = ''已处理'') THEN 1 ELSE 0 END) AS 已完成数,SUM(CASE WHEN (PLstate = ''未处理'') THEN 1 ELSE 0 END) AS 未完成数,SUM(CASE WHEN (PLstate = ''未计划已'') THEN 1 ELSE 0 END) AS 计划外完成数,');
DataForm.SQL_PB.SQL.Add('PBCust - SUM(CASE WHEN (PLstate = ''已处理'') THEN 1 ELSE 0 END) AS 预计未完成,');
DataForm.SQL_PB.SQL.Add('PBCheck AS 计划状态, PBMemo AS 备注');
DataForm.SQL_PB.SQL.Add('From a_PlanBefordhan LEFT JOIN a_Planlist ON a_PlanBefordhan.PBNO = a_Planlist.PBNO');
DataForm.SQL_PB.SQL.Add(' Where a_PlanBefordhan.PBCheck = '''+'未转单'+'''' );
DataForm.SQL_PB.SQL.Add('Group By' );
DataForm.SQL_PB.SQL.Add(' a_PlanBefordhan.PBNO,PBProd,PBName,PlanType,PBCust,PSDate,PEDate,PBCheck,PBMemo' );
DataForm.SQL_PB.SQL.Add('ORDER BY PEDate');
DataForm.SQL_PB.Open;
CB30.State := cbChecked ;
DataForm.SQL_PB.Filtered := False;
end;
procedure TMainForm.CB30Click(Sender: TObject);
begin
IF CB30.State = cbChecked then
Begin
DataForm.SQL_PB.Filter := '预计未完成 =0';
DataForm.SQL_PB.Filtered := True;
end Else Begin
DataForm.SQL_PB.Filter := '预计未完成 <>0';
DataForm.SQL_PB.Filtered := True;
End;
end;
procedure TMainForm.SB05Click(Sender: TObject);
begin
SB04.Enabled := False;
SB05.Enabled := False;
SB02.Enabled := True;
SB03.Enabled := True;
SB00.Enabled := True;
SB06.Enabled := True;
SB07.Enabled := True;
SB08.Enabled := True;
CB30.Enabled := True;
CB00.Enabled := False;
CB01.Enabled := False;
CB02.Enabled := False;
CB03.Enabled := False;
CB04.Enabled := False;
CB05.Enabled := False;
end;
procedure TMainForm.SB02Click(Sender: TObject);
begin
// SHOWMESSAGE('OK0');
DDL := 'UPDATE';
// SHOWMESSAGE('OK1');
No := DataForm.SQL_PB.FieldValues['序号'];
CB00.Text := DataForm.SQL_PB.FieldValues['商品代码'];
// SHOWMESSAGE('OK2');
CB01.Text := DataForm.SQL_PB.FieldValues['计划类别'];
// SHOWMESSAGE('OK3');
CB02.Value := DataForm.SQL_PB.FieldValues['家数'];
// SHOWMESSAGE('OK4');
CB03.Date := DataForm.SQL_PB.FieldValues['计划始日'];
// SHOWMESSAGE('OK5');
CB04.Date := DataForm.SQL_PB.FieldValues['计划止日'];
// SHOWMESSAGE('OK6');
IF DataForm.SQL_PB.FieldValues['备注']<>Null then
CB05.Text := DataForm.SQL_PB.FieldValues['备注'];
// SHOWMESSAGE('OK7');
SB00.Enabled := False;
SB02.Enabled := False;
SB03.Enabled := False;
CB30.Enabled := False;
SB06.Enabled := False;
SB07.Enabled := False;
SB08.Enabled := False;
SB04.Enabled := True;
SB05.Enabled := True;
CB00.Enabled := True;
CB01.Enabled := True;
CB02.Enabled := True;
CB03.Enabled := True;
CB04.Enabled := True;
CB05.Enabled := True;
end;
procedure TMainForm.CB03PropertiesChange(Sender: TObject);
begin
IF (CB01.Text = '新款首铺') OR (CB01.Text = '商品调回') Then
CB04.Date := CB03.Date +15 Else CB04.Date := CB03.Date +10;
end;
procedure TMainForm.SB08Click(Sender: TObject);
begin
No := DataForm.SQL_PB.FieldValues['序号'];
IF (DataForm.T_PB.RecordCount <> 0) AND (DataForm.SQL_PB.FieldValues['已计划数'] = 0) then
Begin
IF Application.MessageBox('确定删除此条记录? ', '确认', mb_yesno + mb_iconquestion) = idyes then
Begin
DataForm.SQL.Close;
DataForm.SQL.SQL.Clear;
DataForm.SQL.SQL.Add('DELETE FROM a_PlanBefordhan ');
DataForm.SQL.SQL.Add('Where PBNO ='''+ INTTOSTR(NO)+'''');
DataForm.SQL.ExecSQL;
End;
END
ELse Showmessage('表内没有计划信息或该项商品已建立计划明细,无法删除!');
DataForm.T_PB.Close;
DataForm.T_PB.Open;
DataForm.SQL_PB.Close;
DataForm.SQL_PB.SQL.Clear;
DataForm.SQL_PB.SQL.Add('SELECT ');
DataForm.SQL_PB.SQL.Add('a_PlanBefordhan.PBNO AS 序号, PBProd AS 商品代码, PBName AS 商品名称, PlanType AS 计划类别,PBCust AS 家数,');
DataForm.SQL_PB.SQL.Add('SUM(CASE WHEN (PLstate = ''已处理'') THEN 1 ELSE 0 END)+SUM(CASE WHEN (PLstate = ''未处理'') THEN 1 ELSE 0 END) AS 已计划数,');
DataForm.SQL_PB.SQL.Add('PSDate AS 计划始日, PEDate AS 计划止日, SUM(CASE WHEN (PLstate = ''已处理'') THEN 1 ELSE 0 END) AS 已完成数,SUM(CASE WHEN (PLstate = ''未处理'') THEN 1 ELSE 0 END) AS 未完成数,SUM(CASE WHEN (PLstate = ''未计划已'') THEN 1 ELSE 0 END) AS 计划外完成数,');
DataForm.SQL_PB.SQL.Add('PBCust - SUM(CASE WHEN (PLstate = ''已处理'') THEN 1 ELSE 0 END) AS 预计未完成,');
DataForm.SQL_PB.SQL.Add('PBCheck AS 计划状态, PBMemo AS 备注');
DataForm.SQL_PB.SQL.Add('From a_PlanBefordhan LEFT JOIN a_Planlist ON a_PlanBefordhan.PBNO = a_Planlist.PBNO');
DataForm.SQL_PB.SQL.Add(' Where a_PlanBefordhan.PBCheck = '''+'未转单'+'''' );
DataForm.SQL_PB.SQL.Add('Group By' );
DataForm.SQL_PB.SQL.Add(' a_PlanBefordhan.PBNO,PBProd,PBName,PlanType,PBCust,PSDate,PEDate,PBCheck,PBMemo' );
DataForm.SQL_PB.SQL.Add('ORDER BY PEDate');
DataForm.SQL_PB.Open;
end;
procedure TMainForm.LB00DblClick(Sender: TObject);
begin
SB33.Enabled := True ;
SB34.Enabled := True ;
LB01.Items.Add(LB00.Items.Strings[LB00.ItemIndex]);
LB00.Items.Delete(LB00.ItemIndex);
IF LB00.Items.Count = 0 then
Begin
SB31.Enabled := False ;
SB32.Enabled := False ;
end;
end;
procedure TMainForm.LB01DblClick(Sender: TObject);
begin
LB00.Items.Add(LB01.Items.Strings[LB01.ItemIndex]);
LB01.Items.Delete(LB01.ItemIndex);
IF LB01.Items.Count = 0 then
Begin
SB33.Enabled := False ;
SB34.Enabled := False ;
end;
end;
procedure TMainForm.SB32Click(Sender: TObject);
Var
i:integer;
begin
SB33.Enabled := True ;
SB34.Enabled := True ;
For i:=0 To LB00.Items.Count-1 do
Begin
LB01.Items.Add(LB00.Items.Strings[i]);
end;
LB00.Items.Clear;
IF LB00.Items.Count = 0 then
Begin
SB31.Enabled := False ;
SB32.Enabled := False ;
end;
end;
procedure TMainForm.SB34Click(Sender: TObject);
Var
i:integer;
begin
For i:=0 To LB01.Items.Count-1 do
Begin
LB00.Items.Add(LB01.Items.Strings[i]);
end;
LB01.Items.Clear;
IF LB01.Items.Count = 0 then
Begin
SB33.Enabled := False ;
SB34.Enabled := False ;
end;
end;
procedure TMainForm.CB11PropertiesChange(Sender: TObject);
Var
i,j:integer;
begin
LB00.Items.Clear;
LB01.Items.Clear;
// SHowmessage('OK');
if CB11.Text <> '' Then Begin
// SHowmessage('OK2');
L20.Caption := DataForm.SQL_PB.Lookup('序号',CB11.Text,'商品名称');
L21.Caption := DataForm.SQL_PB.Lookup('序号',CB11.Text,'计划类别');
L22.Caption := DataForm.SQL_PB.Lookup('序号',CB11.Text,'家数');
L23.Caption := DataForm.SQL_PB.Lookup('序号',CB11.Text,'已计划数');
L24.Caption := DataForm.SQL_PB.Lookup('序号',CB11.Text,'已完成数');
L25.Caption := DataForm.SQL_PB.Lookup('序号',CB11.Text,'计划始日');
L26.Caption := DataForm.SQL_PB.Lookup('序号',CB11.Text,'计划止日');
IF DataForm.SQL_PB.FieldValues['备注']<>Null then
L27.Caption := DataForm.SQL_PB.Lookup('序号',CB11.Text,'备注');
L28.Caption := DataForm.SQL_PB.Lookup('序号',CB11.Text,'商品代码');
DataForm.SQL_AREA.Close;
DataForm.SQL_AREA.SQL.Clear;
DataForm.SQL_AREA.SQL.Add('SELECT dbo.a_PlanList.PLArea AS 区域, COUNT(*) AS 已计划, dbo.a_PlanBefordhan.PBCust AS 预计划');
DataForm.SQL_AREA.SQL.Add('FROM dbo.a_PlanList INNER JOIN dbo.a_PlanBefordhan ON dbo.a_PlanList.PBNO = dbo.a_PlanBefordhan.PBNO ');
DataForm.SQL_AREA.SQL.Add('Where dbo.a_PlanList.PBNO = '''+ CB11.Text +'''');
DataForm.SQL_AREA.SQL.Add('GROUP BY dbo.a_PlanList.PLArea, dbo.a_PlanBefordhan.PBCust ');
DataForm.SQL_AREA.Open;
if CB50.Text <> '' then
Begin
LB00.Enabled := True;
LB01.Enabled := True;
SB31.Enabled := True;
SB32.Enabled := True;
DataForm.SQL_AC.Close;
DataForm.SQL_AC.SQL.Clear;
DataForm.SQL_AC.SQL.Add('Select DISTINCT jxc_dj_2.kh_Kmmc_1 AS 已销客户 From jxc_dj_2,jxc_khbm ');
DataForm.SQL_AC.SQL.Add('WHERE jxc_dj_2.sp_kmdm = '''+ L28.Caption +'''');
DataForm.SQL_AC.SQL.Add(' AND jxc_dj_2.kh_Kmdm = Jxc_khbm.kmdm');
DataForm.SQL_AC.SQL.Add(' AND Jxc_khbm.frdb ='''+ CB50.Text +'''');
DataForm.SQL_AC.Open;
DataForm.SQL_Cust.Close;
DataForm.SQL_Cust.SQL.Clear;
DataForm.SQL_Cust.SQL.Add('SELECT dbo.Z_CUST.客户名称');
DataForm.SQL_Cust.SQL.Add('FROM dbo.Z_CUST ');
DataForm.SQL_Cust.SQL.Add('WHERE (dbo.Z_CUST.区域 = '''+ CB50.Text +''')');
DataForm.SQL_Cust.Open;
For i:=1 to DataForm.SQL_CUST.RecordCount Do
Begin
LB00.Items.Add(DataForm.SQL_CUST.FieldValues['客户名称']);
DataForm.SQL_CUST.Next;
end;
DataForm.SQL_Cust.Close;
DataForm.SQL_Cust.SQL.Clear;
DataForm.SQL_Cust.SQL.Add('SELECT 客户名称');
DataForm.SQL_Cust.SQL.Add('From Z_PL WHERE 区域 = '''+ CB50.Text +''' and 序号 ='''+ CB11.Text +'''');
DataForm.SQL_Cust.Open;
For i:=1 to DataForm.SQL_CUST.RecordCount Do
Begin
For j:=1 to LB00.Items.Count Do
Begin
if DataForm.SQL_CUST.FieldValues['客户名称']= LB00.Items.Strings[j-1] Then
Begin
LB00.Items.Delete(j-1);
LB01.Items.Add(DataForm.SQL_CUST.FieldValues['客户名称']);
break;
End;
end;
DataForm.SQL_CUST.Next;
end;
end;
LB01.Enabled := False;
LB00.Enabled := False;
SB44.Enabled := True;
SB45.Enabled := False;
SB46.Enabled := False;
SB47.Enabled := False;
SB31.Enabled := False;
SB32.Enabled := False;
SB33.Enabled := False;
SB34.Enabled := False;
End Else Begin
L20.Caption :='';
L21.Caption :='';
L22.Caption :='';
L23.Caption :='';
L24.Caption :='';
L25.Caption :='';
L26.Caption :='';
L27.Caption :='';
L28.Caption :='';
SB44.Enabled := False;
DataForm.SQL_AREA.Close;
CB50.Enabled := False;
End;
end;
procedure TMainForm.CB50PropertiesChange(Sender: TObject);
Var
i,j:integer;
begin
LB00.Items.Clear;
LB01.Items.Clear;
LB00.Enabled := True;
LB01.Enabled := True;
SB31.Enabled := True;
SB32.Enabled := True;
DataForm.SQL_Cust.Close;
DataForm.SQL_Cust.SQL.Clear;
DataForm.SQL_Cust.SQL.Add('SELECT dbo.Z_CUST.客户名称');
DataForm.SQL_Cust.SQL.Add('FROM dbo.Z_CUST ');
DataForm.SQL_Cust.SQL.Add('WHERE (dbo.Z_CUST.区域 = '''+ CB50.Text +''')');
DataForm.SQL_Cust.Open;
DataForm.SQL_AC.Close;
DataForm.SQL_AC.SQL.Clear;
DataForm.SQL_AC.SQL.Add('Select DISTINCT jxc_dj_2.kh_Kmmc_1 AS 已销客户 From jxc_dj_2,jxc_khbm ');
DataForm.SQL_AC.SQL.Add('WHERE jxc_dj_2.sp_kmdm = '''+ L28.Caption +'''');
DataForm.SQL_AC.SQL.Add(' AND jxc_dj_2.kh_Kmdm = Jxc_khbm.kmdm');
DataForm.SQL_AC.SQL.Add(' AND Jxc_khbm.frdb ='''+ CB50.Text +'''');
DataForm.SQL_AC.Open;
For i:=1 to DataForm.SQL_CUST.RecordCount Do
Begin
LB00.Items.Add(DataForm.SQL_CUST.FieldValues['客户名称']);
DataForm.SQL_CUST.Next;
end;
DataForm.SQL_Cust.Close;
DataForm.SQL_Cust.SQL.Clear;
DataForm.SQL_Cust.SQL.Add('SELECT 客户名称');
DataForm.SQL_Cust.SQL.Add('From Z_PL WHERE 区域 = '''+ CB50.Text +''' and 序号 ='''+ CB11.Text +'''');
DataForm.SQL_Cust.Open;
For i:=1 to DataForm.SQL_CUST.RecordCount Do
Begin
For j:=1 to LB00.Items.Count Do
Begin
if DataForm.SQL_CUST.FieldValues['客户名称']= LB00.Items.Strings[j-1] Then
Begin
LB00.Items.Delete(j-1);
LB01.Items.Add(DataForm.SQL_CUST.FieldValues['客户名称']);
break;
End;
end;
DataForm.SQL_CUST.Next;
end;
DataForm.T_PL.Close;
DataForm.T_PL.Open;
end;
procedure TMainForm.SB46Click(Sender: TObject);
Var
i:integer;
begin
SB45.Enabled := False;
SB46.Enabled := False;
SB47.Enabled := False;
IF DDL= 'CHAN' Then Begin
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -