Project.php
2.44 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
<?php
namespace domain\project;
use Yii;
use domain\project\models\Project as ProjectModel;
use Exception;
/**
* 项目
* Class Project
* @package domain\project
*/
class Project
{
/**
* 创建项目
* @param $item
*/
static function create($item)
{
try {
if (isset($item['name'])) {
$item['name'] = trim($item['name']);
}
$findProjectModel = ProjectModel::findOne(['name' => $item["name"]]);
if (!empty($findProjectModel)) {
return -1;
}
$projectModel = Yii::createObject(ProjectModel::className());
$projectModel->project_no = self::getProjectNo();
$projectModel->name = $item["name"]; // 项目
$saveResult = $projectModel->save();
return $saveResult;
} catch (Exception $e) {
return false;
}
}
/**
* 更新项目
* @param $id
* @param $item
* @return null|static
*/
static function update($id, $item)
{
$projectModel = ProjectModel::findOne($id);
if (empty($projectModel)) {
return false;
}
if (isset($item['name'])) {
$item['name'] = trim($item['name']);
}
if (isset($item['name']) && $projectModel->name != $item['name']) {
$findProjectModel = ProjectModel::findOne(['name' => $item["name"]]);
if (!empty($findProjectModel)) {
return -1;
}
}
if (isset($item['name']) && !empty($item['name'])) {
$projectModel->name = $item['name'];
}
$resultSave = $projectModel->save();
return $resultSave;
}
/**
* 删除项目
* @param $id
* @param $item
* @return null|static
*/
public static function delete($id)
{
$projectModel = ProjectModel::findOne($id);
if (empty($projectModel)) {
return false;
}
return ProjectModel::updateAll(["is_delete" => 1], ["id" => $id]);
}
/**
* 获取十六进制项目编号
*/
private static function getProjectNo()
{
$findModel = ProjectModel::find()->orderBy("id desc")->asArray()->one();
if (empty($findModel)) {
return "0001";
}
$dataNo = hexdec($findModel['project_no']) + 1;
$dataNo = sprintf('%04X', $dataNo);
return strtoupper($dataNo);
}
}