Commit ec390bdd by Cam Hayes

Fixed bug where order wasn't properly being updated after set status

parent cb3f2055
...@@ -1647,6 +1647,7 @@ var ...@@ -1647,6 +1647,7 @@ var
SQL: string; SQL: string;
NextStatus: string; NextStatus: string;
StatusField: string; StatusField: string;
table: string;
OrderType: string; OrderType: string;
order: TJSONObject; order: TJSONObject;
begin begin
...@@ -1687,26 +1688,6 @@ begin ...@@ -1687,26 +1688,6 @@ begin
Date := DateToStr(StrToDate(Date) + 1); 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);
...@@ -1744,6 +1725,44 @@ begin ...@@ -1744,6 +1725,44 @@ 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);
if Status <> 'SHIP' then
begin
order := TJSONObject.Create;
try
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);
// update the order as well
if OrderType = 'web plate' then
table := 'web_plate_orders'
else if OrderType = 'cutting die' then
table := 'cutting_die_orders'
else
table := 'corrugated_plate_orders';
SQL := 'select ORDER_ID, ' + StatusField + ' from ' + table + ' where ORDER_ID = ' + IntToStr(ORDER_ID);
doQuery(OrdersDB.UniQuery1, SQL);
OrdersDB.UniQuery1.Edit;
OrdersDB.UniQuery1.FieldByName(StatusField).AsString := Date;
OrdersDB.UniQuery1.Post;
finally
order.Free;
end;
end;
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=552 LogFileNum=555
[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