修改测试问题

master
mzhifa 7 months ago
parent d90ff5b8bd
commit c6f7c3c3f1

@ -7,10 +7,12 @@ using System.Threading.Tasks;
namespace StartServerWPF.Models
{
public class DataProModelArray
public class DataProModelArray : BindableBase
{
private List<DataProModel> dataProModels1;
public int selectIndex { get; set; }
public List<DataProModel> dataProModels { get; set; }
public List<DataProModel> DataProModels { get => dataProModels1; set => dataProModels1 = value; }
}
public class DataProModel: BindableBase
@ -18,8 +20,8 @@ namespace StartServerWPF.Models
private string name;
private string dataPath;
private string resultPath;
private string startTime;
private string endTime;
private DateTime startTime;
private DateTime endTime;
public string Name { get => name; set => SetProperty(ref name, value); }
@ -27,8 +29,8 @@ namespace StartServerWPF.Models
public string ResultPath { get => resultPath; set => SetProperty(ref resultPath, value); }
public string StartTime { get => startTime; set => SetProperty(ref startTime, value); }
public DateTime StartTime { get => startTime; set => SetProperty(ref startTime, value); }
public string EndTime { get => endTime; set => SetProperty(ref endTime, value); }
public DateTime EndTime { get => endTime; set => SetProperty(ref endTime, value); }
}
}

@ -70,9 +70,13 @@ namespace StartServerWPF.Modules.Main.ViewModels
get => _wareaSelectedIndex;
set
{
if (value >= 0)
if(value >= 0)
{
// _workareaModel = modelArray.workarea[value];
var model = _workareasModelArray.workarea[value];
string jsonStr = File.ReadAllText(Path.Combine(model.filepath, "datapro.json"));
var datas = JsonConvert.DeserializeObject<List<DataProModel>>(jsonStr);
NameSource = new ObservableCollection<DataProModel>();
datas.ForEach(d => { NameSource.Add(d); });
}
SetProperty(ref _wareaSelectedIndex, value);
}
@ -84,6 +88,30 @@ namespace StartServerWPF.Modules.Main.ViewModels
set { SetProperty(ref _workareaNameSource, value); }
}
private ObservableCollection<DataProModel> _nameSource=new ObservableCollection<DataProModel>();
public ObservableCollection<DataProModel> NameSource
{
get => _nameSource;
set { SetProperty(ref _nameSource, value); }
}
private int _dataSelectedIndex;
public int DataSelectedIndex
{
get => _dataSelectedIndex;
set
{
if (value >= 0)
{
var item = NameSource[value];
StartSelectedDate = item.StartTime;
EndSelectedDate = item.EndTime;
DataPath = item.DataPath;
SavePath = item.ResultPath;
}
SetProperty(ref _dataSelectedIndex, value);
}
}
private ObservableCollection<MsEventModel> _apmsEventSource = new ObservableCollection<MsEventModel>();
public ObservableCollection<MsEventModel> ApmsEventSource
{
@ -109,39 +137,47 @@ namespace StartServerWPF.Modules.Main.ViewModels
{
StartSelectedDate = DateTime.Now;
EndSelectedDate = DateTime.Now;
WorkareaNameSource = new ObservableCollection<string>();
_workareasModelArray.workarea.Select(n => n.workareaname).ToList().ForEach(a => WorkareaNameSource.Add(a));
WareaSelectedIndex = _workareasModelArray.selectIndex;
var model = _workareasModelArray.workarea[WareaSelectedIndex];
string jsonStr= File.ReadAllText(Path.Combine(model.filepath, "datapro.json"));
var datas= JsonConvert.DeserializeObject<List<DataProModel>>(jsonStr);
NameSource = new ObservableCollection<DataProModel>();
datas.ForEach(d => { NameSource.Add(d); });
DataSelectedIndex = 0;
});
public DelegateCommand SaveCommand => new(() =>
public DelegateCommand AddItemCommand => new(() =>
{
DataProModelArray dataProModelArray = new DataProModelArray();
dataProModelArray.selectIndex = 0;
dataProModelArray.dataProModels = new List<DataProModel>();
dataProModelArray.dataProModels.Add(new DataProModel
int count = NameSource.Count()+1;
NameSource.Add(new DataProModel
{
Name = DateTime.Now.ToString("d"),
DataPath = DataPath,
ResultPath = SavePath,
StartTime = DateTime.Now.ToString("G"),
EndTime = DateTime.Now.ToString("G")
Name = DateTime.Now.ToString("d") +" "+ count.ToString("D2"),
DataPath = "",
ResultPath = "",
StartTime = DateTime.Now,
EndTime = DateTime.Now
});
string jsonStr = JsonConvert.SerializeObject(dataProModelArray, Formatting.Indented);
var model = _workareasModelArray.workarea[WareaSelectedIndex];
File.WriteAllText(Path.Combine( model.filepath, "datapro.json"), jsonStr);
DataSelectedIndex = NameSource.Count()-1;
});
public DelegateCommand DeleteCommand => new(() =>
{
if (MessageBox.Show("确认删除?", "警告", MessageBoxButton.OKCancel,
MessageBoxImage.Exclamation) == MessageBoxResult.OK)
{
NameSource.RemoveAt(DataSelectedIndex);
DataSelectedIndex = 0;
};
});
public DelegateCommand SaveCommand => new(() =>
{
string jsonStr = JsonConvert.SerializeObject(NameSource, Formatting.Indented);
var model = _workareasModelArray.workarea[WareaSelectedIndex];
File.WriteAllText(Path.Combine(model.filepath, "datapro.json"), jsonStr);
});
public DelegateCommand<object> SelectFileCommand => new((obj) =>
{
@ -217,7 +253,9 @@ namespace StartServerWPF.Modules.Main.ViewModels
process.ProParams = $"{str} {temPath}";
//dataProtools 配置更新
var area = JsonParser.DeepCopy<WorkareaModel>(_workareaModel);
string temJson= JsonConvert.SerializeObject(_workareaModel);
var area = JsonConvert.DeserializeObject<WorkareaModel>(temJson); //JsonParser.DeepCopy<WorkareaModel>(_workareaModel);
ApmsModel tools = area.apmModel;
tools.savepath = SavePath;
tools.station = Path.GetFullPath(Path.Combine(area.savepath, area.apmModel.station)).Replace("\\", "/");

@ -524,13 +524,13 @@ namespace StartServerWPF.Modules.Main.ViewModels
process.StartInfo.FileName = Path.GetFullPath(proInfo.ProPath + proInfo.ProName+".exe");
process.StartInfo.WorkingDirectory = Path.GetFullPath(proInfo.ProPath);
process.StartInfo.Arguments = proInfo.ProParams;
Debug.WriteLine($"*******name:{process.StartInfo.FileName}, arguments:{process.StartInfo.Arguments}*********");
process.StartInfo.UseShellExecute = false;
process.StartInfo.RedirectStandardOutput = true;
process.StartInfo.RedirectStandardError = true;
process.StartInfo.CreateNoWindow = true;
//* Set your output and error (asynchronous) handlers
if (!proInfo.ProName.Contains("gw.apms"))
// if (!proInfo.ProName.Contains("gw.apms"))
{
process.OutputDataReceived += new DataReceivedEventHandler(OutputHandler);
process.ErrorDataReceived += new DataReceivedEventHandler(OutputHandler);
@ -555,15 +555,15 @@ namespace StartServerWPF.Modules.Main.ViewModels
if (outLine.Data.Contains("ProcessSlice:"))
{
var pro = sendingProcess as Process;
if (pro != null&& pro.MainModule.ModuleName.Contains(_systemConfig.proTools.ProName))
if (pro != null)
{
Application.Current.Dispatcher.InvokeAsync(() =>
{
//if (pro.MainModule.ModuleName.Contains(_systemConfig.proApms.ProName))
//{
// AddItems(ApmsProcessSliceSource, new ProcessingInformationModel { ProcessMes = outLine.Data, MonitorTime = DateTime.Now.ToString() });
//}
//else
if (pro.MainModule.ModuleName.Contains(_systemConfig.proApms.ProName))
{
AddItems(ApmsProcessSliceSource, new ProcessingInformationModel { ProcessMes = outLine.Data, MonitorTime = DateTime.Now.ToString() });
}
else
if (pro.MainModule.ModuleName.Contains(_systemConfig.proTools.ProName))
{
AddItems(ToolsProcessSliceSource, new ProcessingInformationModel { ProcessMes = outLine.Data, MonitorTime = DateTime.Now.ToString() });

@ -273,8 +273,9 @@ namespace StartServerWPF.Modules.Main.ViewModels
}
};
JsonParser.WriteSystemConfigFile(Path.Combine(_wareaModel.savepath, Path.GetFileName(_wareaModel.savepath) + ".json"), _wareaModel);
var curWorkarea = JsonParser.DeepCopy<WorkareaModel>(_wareaModel);
string temJson = JsonConvert.SerializeObject(_wareaModel);
var curWorkarea = JsonConvert.DeserializeObject<WorkareaModel>(temJson);
if (!string.IsNullOrEmpty(apmStationFile))
{
string destFileName = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.station));
@ -309,7 +310,7 @@ namespace StartServerWPF.Modules.Main.ViewModels
ApmsModel tools = curWorkarea.apmModel;
tools.station = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.station)).Replace("\\", "/");
tools.ttime[0].ttime2d = Path.GetFullPath(Path.Combine(curWorkarea.savepath, curWorkarea.apmModel.ttime[0].ttime2d)).Replace("\\", "/");
tools.savepath = Path.Combine(curWorkarea.savepath, curWorkarea.toolsavepath);
tools.savepath =curWorkarea.savepath+"/"+ curWorkarea.toolsavepath;
tools.push2wx = curWorkarea.toolpush2wx ? "YES" : "NO"; ;
JsonParser.WriteSystemConfigFile(Path.Combine(_systemConfig.proTools.ProPath, "apms.json"), tools);

@ -56,8 +56,8 @@
<DockPanel VerticalAlignment="Center">
<TextBlock Text="配置名称:" Width="65" VerticalAlignment="Center"/>
<Button Content="删除" Background="#FFA6783E" Foreground="White" DockPanel.Dock="Right" Command="{Binding DeleteCommand}"/>
<Button Content="保存" Background="#FF0ABEFF" Foreground="White" DockPanel.Dock="Right" Command="{Binding SaveCommand}"/>
<ComboBox DockPanel.Dock="Left" />
<Button Content="保存" Background="#FF0ABEFF" Foreground="White" DockPanel.Dock="Right" Command="{Binding AddItemCommand}"/>
<ComboBox DockPanel.Dock="Left" ItemsSource="{Binding NameSource}" DisplayMemberPath="Name" SelectedIndex="{Binding DataSelectedIndex}"/>
</DockPanel>
<DockPanel VerticalAlignment="Center">
<TextBlock Text="数据目录:" Width="65" VerticalAlignment="Center"/>
@ -71,7 +71,7 @@
</DockPanel>
<DockPanel VerticalAlignment="Center">
<TextBlock Text="开始时间:" Width="65" VerticalAlignment="Center"/>
<hc:DateTimePicker DockPanel.Dock="Left" SelectedDateTime="{Binding StartSelectedDate}"/>
<hc:DateTimePicker DockPanel.Dock="Left" SelectedDateTime="{Binding StartSelectedDate}"/>
</DockPanel>
<DockPanel VerticalAlignment="Center">
<TextBlock Text="结束时间:" Width="65" VerticalAlignment="Center"/>
@ -103,12 +103,13 @@
</ListBox>
</Border>
<StackPanel Grid.Row="2" Orientation="Horizontal" HorizontalAlignment="Center" VerticalAlignment="Center">
<Button Content="开始" Command="{Binding StartCommand}" VerticalAlignment="Bottom" IsEnabled="{Binding IsBusy}"/>
<Button Content="应用" Background="#FF0ABEFF" Foreground="White" Command="{Binding SaveCommand}" VerticalAlignment="Bottom" Margin="0,0,30,0"/>
<Button Content="开始" Background="#FF0ABEFF" Foreground="White" Command="{Binding StartCommand}" VerticalAlignment="Bottom" IsEnabled="{Binding IsBusy}"/>
<hc:LoadingCircle Height="30" Visibility="{Binding IsBusy, Converter={StaticResource Boolean2VisibilityReConverter}}"/>
</StackPanel>
</Grid>
<Grid Grid.Column="2" Grid.Row="0">
<Grid Grid.Column="2" Grid.Row="0" Margin="20">
<Grid.RowDefinitions>
<RowDefinition Height="30"/>
<RowDefinition Height="61*"/>

Loading…
Cancel
Save