入库坯布:来自格美的 汇总数据入库,(选择已发的出库单)保存已汇总数据入库 来自其他的 选产品 然后输入数据汇总入库

This commit is contained in:
DESKTOP-E401PHE\Administrator 2025-08-13 14:48:30 +08:00
parent f3de0a3270
commit 9494acc603
9 changed files with 88 additions and 158 deletions

View File

@ -20,7 +20,6 @@ inherited frmGeMeiOutputSel: TfrmGeMeiOutputSel
Height = 687
Align = alClient
TabOrder = 0
ExplicitWidth = 1491
object TV1: TcxGridDBTableView
OnDblClick = TV1DblClick
Navigator.Buttons.CustomButtons = <>
@ -409,13 +408,12 @@ inherited frmGeMeiOutputSel: TfrmGeMeiOutputSel
List = True
ShowCaptions = True
TabOrder = 1
ExplicitWidth = 1491
object ToolButton1: TToolButton
Left = 0
Top = 0
AutoSize = True
Caption = #20445#23384
ImageIndex = 16
Caption = #36873#25321
ImageIndex = 12
OnClick = ToolButton1Click
end
object TBSave: TToolButton

View File

@ -106,10 +106,10 @@ type
procedure ToolButton1Click(Sender: TObject);
private
procedure InitGrid();
function SaveData(): Boolean;
//function SaveData(): Boolean;
{ Private declarations }
public
FCoType, FAuthority, FStores,FSTKName: string;
FCoType, FAuthority, FStores, FSTKName: string;
{ Public declarations }
end;
@ -193,148 +193,8 @@ begin
end;
procedure TfrmGeMeiOutputSel.ToolButton1Click(Sender: TObject);
var
MBCIONO: string;
begin
//Application.MessageBox('保存成功!', '提示', 0);
ModalResult:=1;
end;
function TfrmGeMeiOutputSel.SaveData(): Boolean;
var
Maxno, MBCIOID: string;
begin
try
ADOQueryCmd.Connection.BeginTrans;
CDS_1.DisableControls;
with CDS_1 do
begin
First;
while not eof do
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select * from BS_Cloth_IO where BCIOID=''' + Trim(CDS_1.fieldbyname('BCIOID').AsString) + '''');
open;
end;
MBCIOID := Trim(ADOQueryTemp.fieldbyname('BCIOID').AsString);
if Trim(MBCIOID) = '' then
begin
if not GetLSNo(ADOQueryCmd, Maxno, 'MR', 'BS_Cloth_IO', 4, 1) then
raise Exception.Create('取染色坯布入库编号失败!');
end
else
begin
Maxno := Trim(MBCIOID);
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('select * from BS_Cloth_IO where BCIOID=''' + Trim(Maxno) + '''');
Open;
end;
with ADOQueryCmd do
begin
if Trim(MBCIOID) = '' then
begin
Append;
FieldByName('Fillid').Value := Trim(Dcode);
FieldByName('Filler').Value := Trim(DName);
FieldByName('BCIONO').Value := Trim(Maxno);
FieldByName('BCIOID').Value := Trim(Maxno);
FieldByName('BCIONO').Value := Trim(Maxno);
FieldByName('STKID').Value := Trim(Maxno);
FieldByName('CIID').Value := Trim(Maxno);
end
else
begin
Edit;
FieldByName('Editid').Value := Trim(Dcode);
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDate(ADOQueryTemp);
end;
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_1, 'BS_Cloth_IO', 0);
FieldByName('FromCoNo').Value := CDS_1.fieldbyname('FromCoNo').Value;
FieldByName('StkCoNo').Value := CDS_1.fieldbyname('StkCoNo').Value;
FieldByName('FromMainId').Value := CDS_1.fieldbyname('FromMainId').Value;
FieldByName('FromSubId').Value := CDS_1.fieldbyname('FromSubId').Value;
FieldByName('FromConMId').Value := CDS_1.fieldbyname('FromConMId').Value;
FieldByName('FromConSId').Value := CDS_1.fieldbyname('FromConSId').Value;
FieldByName('FromPurMId').Value := CDS_1.fieldbyname('FromPurMId').Value;
FieldByName('FromPurSId').Value := CDS_1.fieldbyname('FromPurSId').Value;
FieldByName('FromTPNID').Value := CDS_1.fieldbyname('FromTPNID').Value;
//FieldByName('STKName').Value := FSTKName;
FieldByName('IOFlag').Value := '入库';
FieldByName('IOQtyFlag').Value := 1;
Post;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update BS_Cloth_IO Set StkPiece=(select Sum(isnull(Piece,0)*IOQtyFlag) from BS_Cloth_IO A where A.STKID=BS_Cloth_IO.BCIOID )');
sql.Add(',StkQty=(select Sum(isnull(Qty,0)*IOQtyFlag) from BS_Cloth_IO A where A.STKID=BS_Cloth_IO.BCIOID )');
sql.Add(' where BCIOID=''' + Trim(Maxno) + '''');
ExecSQL;
end;
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select stkQty,StkPiece from BS_Cloth_IO where BCIOID=''' + Trim(Maxno) + '''');
Open;
end;
if ADOQueryTemp.FieldByName('stkQty').Value < 0 then
raise Exception.Create('入库数量小于出库数量不能保存!');
if ADOQueryTemp.FieldByName('StkPiece').Value < 0 then
raise Exception.Create('入库匹数小于出库匹数不能保存!');
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('insert into Finance_Need_Up(UType,UDataId,UOperation,UOperator,UModule,UDetails) ');
sql.Add('values(''贸易待检布入库'' ');
sql.Add(',' + quotedstr(Maxno));
sql.Add(',''保存'' ');
sql.Add(',' + quotedstr(DName));
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(Maxno));
sql.Add(') ');
ExecSQL;
end;
Edit;
FieldByName('BCIOID').Value := Trim(Maxno);
Post;
Next;
end;
end;
CDS_1.EnableControls;
ADOQueryCmd.Connection.CommitTrans;
Result := True;
except
Result := False;
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0);
end;
ModalResult := 1;
end;
procedure TfrmGeMeiOutputSel.TV1DblClick(Sender: TObject);

View File

@ -86,8 +86,8 @@ begin
DConString := 'Provider=SQLOLEDB.1;Password=' + pswd + ';Persist Security Info=True;User ID=' + user + ';Initial Catalog=' + dtbase + ';Data Source=' + server;
Parameters1 := '管理';
// Parameters2 := '贸易布匹';
Parameters2 := '格美门店';
//Parameters4 := '新余';
// Parameters2 := '格美门店';
Parameters2 := '新余';
DName := 'ADMIN';
DCode := 'ADMIN';
end

View File

@ -498,6 +498,7 @@ inherited frmTradeClothTotalInInput: TfrmTradeClothTotalInInput
AutoSize = True
Caption = #26684#32654#20986#24211#25968#25454
ImageIndex = 17
Visible = False
OnClick = GeMeiOutputSelClick
end
end

View File

@ -91,9 +91,10 @@ type
{ Private declarations }
function SaveData(MSaveType: string): Boolean;
function CheckData(): Boolean;
procedure SetStatus();
public
{ Public declarations }
FBCId, canshu3, FSTKName, FKHName: string;
FBCId, canshu3, FSTKName, FKHName, FBCIOID: string;
end;
var
@ -234,6 +235,7 @@ begin
FieldByName('Editid').Value := Trim(Dcode);
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDate(ADOQueryTemp);
FieldByName('status').value := '1';
end;
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_Sub, 'BS_Cloth_IO', 0);
FieldByName('FromCoNo').Value := CDS_Sub.fieldbyname('FromCoNo').Value;
@ -264,6 +266,16 @@ begin
sql.Add(' where BCIOID=''' + Trim(Maxno) + '''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('Update BS_Cloth_IO Set status = 1');
sql.Add(' where BCIOID=''' + Trim(FBCIOID) + '''');
ExecSQL;
end;
with ADOQueryTemp do
begin
Close;
@ -346,6 +358,8 @@ begin
end;
SCreateCDS(ADOQueryTemp, CDS_Sub);
SInitCDSData(ADOQueryTemp, CDS_Sub);
SetStatus();
end;
procedure TfrmTradeClothTotalInInput.GeMeiOutputSelClick(Sender: TObject);
@ -359,13 +373,40 @@ begin
begin
with Self.CDS_Sub do
begin
First;
while frmGeMeiOutputSel.CDS_1.Locate('SSel', True, []) do
begin
Append;
Self.CDS_Sub.FieldByName('BCIONO').AsString := CDS_1.FieldByName('BCIONO').AsString;
Post;
end;
Append;
FBCIOID := frmGeMeiOutputSel.CDS_1.FieldByName('BCIOID').AsString;
FieldByName('BCIONO').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('BCIONO').AsString;
FieldByName('FromCoName').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('FromCoName').AsString;
FieldByName('C_Code').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('C_Code').AsString;
FieldByName('C_Name').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('C_Name').AsString;
FieldByName('C_EName').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('C_EName').AsString;
FieldByName('C_Spec').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('C_Spec').AsString;
FieldByName('C_Width').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('C_Width').AsString;
FieldByName('C_GramWeight').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('C_GramWeight').AsString;
FieldByName('FtyPCId').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('FtyPCId').AsString;
FieldByName('Piece').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('Pieceint').AsString;
FieldByName('Qty').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('Qty').AsString;
FieldByName('QtyUnit').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('QtyUnit').AsString;
FieldByName('Workshop').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('Workshop').AsString;
FieldByName('C_ColorDepth').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('C_ColorDepth').AsString;
FieldByName('C_Color').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('C_Color').AsString;
FieldByName('C_ColorNo').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('C_ColorNo').AsString;
FieldByName('C_StyleNo').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('C_StyleNo').AsString;
FieldByName('C_Composition').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('C_Composition').AsString;
FieldByName('BatchNo').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('BatchNo').AsString;
FieldByName('C_Pattern').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('C_Pattern').AsString;
FieldByName('Note').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('Note').AsString;
FieldByName('C_EColor').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('C_EColor').AsString;
FieldByName('CraftCode').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('CraftCode').AsString;
FieldByName('CraftName').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('CraftName').AsString;
FieldByName('CraftEName').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('CraftEName').AsString;
FieldByName('GC_Name').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('GC_Name').AsString;
FieldByName('C_Degree').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('C_Degree').AsString;
//FieldByName('StkConNo').AsString := frmGeMeiOutputSel.CDS_1.FieldByName('fromConNo').AsString;
Post;
end;
end;
end;
@ -375,6 +416,13 @@ begin
end;
procedure TfrmTradeClothTotalInInput.SetStatus();
begin
if FSTKName = 'ÐÂÓà' then
GeMeiOutputSel.Visible := True;
end;
procedure TfrmTradeClothTotalInInput.TBDelClick(Sender: TObject);
begin
if CDS_Sub.IsEmpty then

View File

@ -1065,6 +1065,7 @@ inherited frmTradeClothTotalOutList: TfrmTradeClothTotalOutList
#26032#20313#26410#20837#24211
#26032#20313#24050#20837#24211
#20840#37096)
OnChange = cxTabControl1Change
ClientRectRight = 0
ClientRectTop = 0
end

View File

@ -207,6 +207,16 @@ begin
SqlStr := SqlStr + ' and A.IOTime<''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.enddate.Date + 1)) + '''';
SqlStr := SqlStr + ' and isnull(stkName,'''')=''' + Trim(FstkName) + '''';
SqlStr := SqlStr + ' and ioFlag=''³ö¿â'' ';
case cxTabControl1.TabIndex of
0:
begin
SqlStr := SqlStr + ' and Status=''0'' ';
end;
1:
begin
SqlStr := SqlStr + ' and Status=''1'' ';
end;
end;
if Trim(canshu4) <> '' then
SqlStr := SqlStr + ' and isnull(StkCoName,'''')=''' + Trim(canshu4) + '''';
SqlStr := SqlStr + ' group by A.ReceiptType,A.BCIONO,A.ToCoName,C_Code,C_Name,C_Color,C_ColorNo,C_Degree,C_Pattern,QtyUnit';
@ -246,6 +256,16 @@ begin
SqlStr := SqlStr + ' and A.IOTime<''' + Trim(FormatDateTime('yyyy-MM-dd', frmFrameDateSel1.enddate.Date + 1)) + '''';
SqlStr := SqlStr + ' and isnull(stkName,'''')=''' + Trim(FstkName) + '''';
SqlStr := SqlStr + ' and ioFlag=''³ö¿â'' ';
case cxTabControl1.TabIndex of
0:
begin
SqlStr := SqlStr + ' and Status=''0'' ';
end;
1:
begin
SqlStr := SqlStr + ' and Status=''1'' ';
end;
end;
WSqlStr := CommonFiltersByTv(Tv2, '{"RemovalNull":true,"Fields":"BCIONO"}');
if TRIM(WSqlStr) <> '' then
SqlStr := SqlStr + ' and ' + WSqlStr;
@ -732,6 +752,7 @@ end;
procedure TfrmTradeClothTotalOutList.cxTabControl1Change(Sender: TObject);
begin
InitGrid2();
initgrid1();
end;
end.

View File

@ -66,7 +66,6 @@ inherited frmTradeTotallClothOutinput: TfrmTradeTotallClothOutinput
Height = 402
Align = alClient
TabOrder = 1
ExplicitHeight = 390
object Tv1: TcxGridDBTableView
OnMouseDown = Tv1MouseDown
Navigator.Buttons.CustomButtons = <>

View File

@ -226,6 +226,7 @@ begin
Append;
FieldByName('Fillid').Value := Trim(Dcode);
FieldByName('Filler').Value := Trim(DName);
FieldByName('status').value:='0';
end
else
begin
@ -233,6 +234,7 @@ begin
FieldByName('Editid').Value := Trim(Dcode);
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDate(ADOQueryTemp);
end;
RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_Sub, 'BS_Cloth_IO', 0);
RTSetsavedata(ADOQueryCmd, 'BS_Cloth_IO', Panel1, 0);