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

📄 mainunit.pas

📁 晋业ERP扩展模块 独立的商品铺货计划及后确认进度
💻 PAS
📖 第 1 页 / 共 3 页
字号:
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 + -