Commit cb3f2055 by Cam Hayes

Fixed issue where after setting a status the search string would be incorrect.…

Fixed issue where after setting a status the search string would be incorrect. Also finished setting up SetStatus automatically scheduling the next due date.
parent ab14864b
...@@ -439,4 +439,10 @@ object FViewOrders: TFViewOrders ...@@ -439,4 +439,10 @@ object FViewOrders: TFViewOrders
Left = 346 Left = 346
Top = 412 Top = 412
end end
object tmrReturn: TWebTimer
Enabled = False
OnTimer = tmrReturnTimer
Left = 294
Top = 362
end
end end
...@@ -60,6 +60,7 @@ type ...@@ -60,6 +60,7 @@ type
lblMessage: TWebLabel; lblMessage: TWebLabel;
btnCloseNotification: TWebButton; btnCloseNotification: TWebButton;
xdwdsOrdersDBID: TStringField; xdwdsOrdersDBID: TStringField;
tmrReturn: TWebTimer;
procedure WebFormCreate(Sender: TObject); procedure WebFormCreate(Sender: TObject);
procedure btnAddOrderClick(Sender: TObject); procedure btnAddOrderClick(Sender: TObject);
procedure btnSearchClick(Sender: TObject); procedure btnSearchClick(Sender: TObject);
...@@ -71,6 +72,7 @@ type ...@@ -71,6 +72,7 @@ type
procedure wdbtcOrdersDblClickCell(Sender: TObject; ACol, ARow: Integer); procedure wdbtcOrdersDblClickCell(Sender: TObject; ACol, ARow: Integer);
procedure wdbtcOrdersClickCell(Sender: TObject; ACol, ARow: Integer); procedure wdbtcOrdersClickCell(Sender: TObject; ACol, ARow: Integer);
procedure WebButton1Click(Sender: TObject); procedure WebButton1Click(Sender: TObject);
procedure tmrReturnTimer(Sender: TObject);
private private
FChildForm: TWebForm; FChildForm: TWebForm;
procedure ClearTable(); procedure ClearTable();
...@@ -177,7 +179,7 @@ begin ...@@ -177,7 +179,7 @@ begin
DMConnection.ApiConnection.Connected := True; DMConnection.ApiConnection.Connected := True;
PageNumber := 1; PageNumber := 1;
TotalPages := 1; // Initial total pages TotalPages := 1; // Initial total pages
console.log(FViewMain.search = '');
if FViewMain.search = '' then if FViewMain.search = '' then
begin begin
//Status 1 //Status 1
...@@ -236,7 +238,8 @@ begin ...@@ -236,7 +238,8 @@ begin
else else
null2 := StrToBool(params.Values['null2']); null2 := StrToBool(params.Values['null2']);
end; end;
getOrders(GenerateSearchOptions()); FViewMain.search := GenerateSearchOptions();
getOrders(FViewMain.search);
end; end;
...@@ -394,6 +397,9 @@ begin ...@@ -394,6 +397,9 @@ begin
begin begin
if newform.confirm then if newform.confirm then
begin begin
asm
startSpinner();
end;
StatusJSON := TJSONObject.Create; StatusJSON := TJSONObject.Create;
StatusJSON.AddPair('ORDER_ID', OrderID); StatusJSON.AddPair('ORDER_ID', OrderID);
StatusJSON.AddPair('date', DateTimeToStr(newform.dtpDate.Date)); StatusJSON.AddPair('date', DateTimeToStr(newform.dtpDate.Date));
...@@ -404,16 +410,26 @@ begin ...@@ -404,16 +410,26 @@ begin
StatusJSON.AddPair('staff_fields_mount_due', DateToStr(newForm.dtpNewMountDue.Date)); StatusJSON.AddPair('staff_fields_mount_due', DateToStr(newForm.dtpNewMountDue.Date));
StatusJSON.AddPair('staff_fields_plate_due', DateToStr(newForm.dtpNewPlateDue.Date)); StatusJSON.AddPair('staff_fields_plate_due', DateToStr(newForm.dtpNewPlateDue.Date));
StatusJSON.AddPair('staff_fields_art_due', DateToStr(newForm.dtpNewArtDue.Date)); StatusJSON.AddPair('staff_fields_art_due', DateToStr(newForm.dtpNewArtDue.Date));
StatusJSON.AddPair('OrderType', NewForm.OrderType);
SetStatus(StatusJSON.ToString); SetStatus(StatusJSON.ToString);
OrderID := ''; OrderID := '';
getOrders(GenerateSearchOptions()); tmrReturn.Enabled := true;
end; end;
end end
); );
end; end;
procedure TFViewOrders.tmrReturnTimer(Sender: TObject);
begin
asm
endSpinner();
end;
tmrReturn.Enabled := false;
getOrders(fViewMain.search);
end;
procedure TFViewOrders.SetStatus(statusInfo: string); procedure TFViewOrders.SetStatus(statusInfo: string);
var var
xdcResponse: TXDataClientResponse; xdcResponse: TXDataClientResponse;
......
...@@ -191,27 +191,7 @@ object FSetStatus: TFSetStatus ...@@ -191,27 +191,7 @@ object FSetStatus: TFSetStatus
HeightPercent = 100.000000000000000000 HeightPercent = 100.000000000000000000
WidthPercent = 100.000000000000000000 WidthPercent = 100.000000000000000000
ItemIndex = -1 ItemIndex = -1
LookupValues = < LookupValues = <>
item
Value = 'PROOF'
DisplayText = 'Proof Done'
end
item
Value = 'ART'
DisplayText = 'Art Done'
end
item
Value = 'PLATE'
DisplayText = 'Plate Done'
end
item
Value = 'MOUNT'
DisplayText = 'Mount Done'
end
item
Value = 'SHIP'
DisplayText = 'Ship Done'
end>
end end
object dtpDate: TWebDateTimePicker object dtpDate: TWebDateTimePicker
Left = 484 Left = 484
......
...@@ -78,6 +78,10 @@ begin ...@@ -78,6 +78,10 @@ begin
end; end;
procedure TFSetStatus.WebFormShow(Sender: TObject); procedure TFSetStatus.WebFormShow(Sender: TObject);
var
ItemsToRemove: TStringList;
i: integer;
filteredItems: TJSArray;
begin begin
HideNotification(); HideNotification();
edtOrderID.Text := OrderID; edtOrderID.Text := OrderID;
...@@ -91,14 +95,17 @@ begin ...@@ -91,14 +95,17 @@ begin
dtpNewMountDue.Date := 0; dtpNewMountDue.Date := 0;
dtpNewPlateDue.Date := 0; dtpNewPlateDue.Date := 0;
dtpNewArtDue.Date := 0; dtpNewArtDue.Date := 0;
ItemsToRemove := TStringList.Create;
if orderType = 'web plate' then if orderType = 'web plate' then
begin begin
dtpNewMountDue.Visible := false; dtpNewMountDue.Visible := false;
dtpMountDue.Visible := false; dtpMountDue.Visible := false;
lblMount.Visible := false; lblMount.Visible := false;
lblMountNew.Visible := false; lblMountNew.Visible := false;
wlcbStatus.LookupValues.AddPair('PROOF', 'Proof Done');
wlcbStatus.LookupValues.AddPair('Art', 'Art Done');
wlcbStatus.LookupValues.AddPair('PLATE', 'Plate Done');
wlcbStatus.LookupValues.AddPair('SHIP', 'Ship Done');
end end
else if orderType = 'cutting die' then else if orderType = 'cutting die' then
begin begin
...@@ -116,9 +123,18 @@ begin ...@@ -116,9 +123,18 @@ begin
dtpNewArtDue.Visible := false; dtpNewArtDue.Visible := false;
lblArt.Visible := false; lblArt.Visible := false;
lblArtNew.Visible := false; lblArtNew.Visible := false;
end;
wlcbStatus.LookupValues.AddPair('PROOF', 'Proof Done');
wlcbStatus.LookupValues.AddPair('SHIP', 'Ship Done');
end
else
begin
wlcbStatus.LookupValues.AddPair('PROOF', 'Proof Done');
wlcbStatus.LookupValues.AddPair('Art', 'Art Done');
wlcbStatus.LookupValues.AddPair('PLATE', 'Plate Done');
wlcbStatus.LookupValues.AddPair('MOUNT', 'Mount Done');
wlcbStatus.LookupValues.AddPair('SHIP', 'Ship Done');
end;
end; end;
procedure TFSetStatus.HideNotification; procedure TFSetStatus.HideNotification;
......
...@@ -1645,7 +1645,10 @@ var ...@@ -1645,7 +1645,10 @@ var
Status: string; Status: string;
UserID: string; UserID: string;
SQL: string; SQL: string;
temp: string; NextStatus: string;
StatusField: string;
OrderType: string;
order: TJSONObject;
begin begin
try try
logger.Log(1, 'Set Status Hit'); logger.Log(1, 'Set Status Hit');
...@@ -1659,6 +1662,50 @@ begin ...@@ -1659,6 +1662,50 @@ begin
Date := StatusInfo.GetValue<string>('date'); Date := StatusInfo.GetValue<string>('date');
Status := StatusInfo.GetValue<string>('status'); Status := StatusInfo.GetValue<string>('status');
UserID := StatusInfo.GetValue<string>('USER_ID'); UserID := StatusInfo.GetValue<string>('USER_ID');
OrderType := StatusInfo.GetValue<string>('OrderType');
if ( (Status = 'PROOF') and (OrderType <> 'cutting die') ) then
begin
NextStatus := 'ART';
StatusField := 'staff_fields_art_due';
end
else if Status = 'ART' then
begin
NextStatus := 'PLATE';
StatusField := 'staff_fields_plate_due';
end
else if ( (Status = 'PLATE') and (OrderType <> 'web plate') ) then
begin
NextStatus := 'MOUNT';
StatusField := 'staff_fields_mount_due';
end
else
begin
NextStatus := 'SHIP';
StatusField := 'staff_fields_ship_date';
end;
Date := DateToStr(StrToDate(Date) + 1);
if Status <> 'SHIP' then
begin
order := TJSONObject.Create;
SQL := 'select * from orders_status_schedule where ORDER_ID = ' + IntToStr(ORDER_ID) + ' AND ' +
'ORDER_STATUS = ' + quotedStr(NextStatus);
doQuery(ordersDB.UniQuery1, SQL);
if ordersDB.UniQuery1.IsEmpty then
order.AddPair('mode', 'ADD')
else
order.AddPair('mode', 'EDIT');
order.AddPair(StatusField, Date);
order.AddPair('USER_ID', UserID);
AddStatusSchedule(NextStatus, order, ORDER_ID);
end;
SQL := 'select * from orders_status where ORDER_ID = ' + IntToStr(ORDER_ID) + ' AND ' + SQL := 'select * from orders_status where ORDER_ID = ' + IntToStr(ORDER_ID) + ' AND ' +
'ORDER_STATUS = ' + quotedStr(Status); 'ORDER_STATUS = ' + quotedStr(Status);
...@@ -1697,7 +1744,6 @@ begin ...@@ -1697,7 +1744,6 @@ begin
if StatusInfo.GetValue<string>('staff_fields_mount_due') <> '12/30/1899' then if StatusInfo.GetValue<string>('staff_fields_mount_due') <> '12/30/1899' then
AddStatusSchedule('MOUNT', StatusInfo, ORDER_ID); AddStatusSchedule('MOUNT', StatusInfo, ORDER_ID);
logger.Log(1, 'Status Successfully set');
result := 'success'; result := 'success';
except except
on E: Exception do on E: Exception do
......
...@@ -2,7 +2,7 @@ ...@@ -2,7 +2,7 @@
MemoLogLevel=3 MemoLogLevel=3
FileLogLevel=5 FileLogLevel=5
webClientVersion=0.9.2 webClientVersion=0.9.2
LogFileNum=537 LogFileNum=552
[Database] [Database]
Server=192.168.159.131 Server=192.168.159.131
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment