public static int AddAutoMoveTask(TaskInfo task, string code, string name, string unit, float count, string batch = "N") { lock (WMS_TASK) { string sid = Guid.NewGuid().ToString(); DateTime dt = DateTime.Now; task.sid = sid; task.taskno = GetTaskKey(); task.exstatus = 1; string goods = $"'{code}','{name}','{unit}','{batch}',{count},"; string fel = "goods_code,goods_name,goods_unit,goods_batch,goods_count,"; string sql = $" '{sid}','300','{task.taskno}','{task.task_type}','{task.src_station}','{task.dest_station}','{task.warehouse}','{dt}','{dt}',1,0)"; sql = "insert sys_task(" + fel + "sid,cmd,taskno,task_type,src_station,dest_station,warehouse,create_time,update_time,exstatus,restatus) values (" + goods + sql; List<string> list = new List<string>(); list.Add(sql); //sql = $"update sys_container set tid3 ='{task.taskno}',state = 2 where station_code ='{task.srcStation}'"; //list.Add(sql); if (DBHelper.UpdateCommand(list) == 1) { WMS_TASK.Add(task.taskno, task); return 0; }; return 1; } }
时间: 2024-02-15 11:27:57 浏览: 97
这段代码看起来像是一个C#的静态方法,它的作用是向数据库中插入一个任务信息。具体来说,它接收了一个TaskInfo对象以及一些字符串和浮点数类型的参数,这些参数将会被拼接成一个SQL语句插入到数据库中。在方法内部,使用了lock关键字来确保线程安全,并且在插入成功后将任务信息添加到了WMS_TASK字典中。最后,它返回了一个int类型的值,表示是否插入成功。
相关问题
std::unique_ptr<TaskInfo> task_info_ptr(new TaskInfo(task_info, source));
这行代码创建了一个名为 task_info_ptr 的 std::unique_ptr 对象,指向一个通过 new 运算符创建的 TaskInfo 对象。TaskInfo 类型的构造函数将 task_info 和 source 作为参数进行初始化。
使用 std::unique_ptr 可以管理动态分配的对象的生命周期,它会自动在适当的时候调用 delete 运算符来释放内存,并确保在发生异常时也能正确释放内存。
请注意,在使用 std::unique_ptr 时,应该避免直接使用 new 运算符来创建指针对象,而是使用 std::make_unique 函数来创建 std::unique_ptr 对象,以提供更好的异常安全性。例如,可以改写上述代码如下:
```cpp
std::unique_ptr<TaskInfo> task_info_ptr = std::make_unique<TaskInfo>(task_info, source);
```
这样,利用 std::make_unique 函数可以更简洁地创建 std::unique_ptr 对象,并避免手动调用 delete 进行内存释放。
用 Dart 新版本生成一个 dart 类 TaskResult,字段为: final 非空 int 型 cost , final 非空 String 型 taskName 默认值为 “unknown” , final 非空 int 型 count,可空 String型taskInfo,final 非空 String型 taskCode 作者:张风捷特烈 链接:https://juejin.cn/post/7197584339213762619 来源:稀土掘金 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
下面是 Dart 代码实现:
```dart
class TaskResult {
final int cost;
final String taskName;
final int count;
final String taskInfo;
final String taskCode;
TaskResult(this.cost, this.count, this.taskCode, {this.taskName = "unknown", this.taskInfo});
}
```
说明:
- `final` 修饰符声明该字段不可修改,且为非空类型;
- `cost` 和 `count` 是 `int` 类型,且为非空;
- `taskName` 是 `String` 类型,且为非空,默认值为 "unknown";
- `taskInfo` 是可空的 `String` 类型;
- `taskCode` 是 `String` 类型,且为非空。
阅读全文