|
@@ -3,6 +3,9 @@
|
|
|
namespace app\admin\controller;
|
|
|
|
|
|
use app\admin\common\AdminController;
|
|
|
+use app\common\state\MainState;
|
|
|
+use think\facade\Db;
|
|
|
+use app\enterprise\model\TalentTypeChange as ttcModel;
|
|
|
|
|
|
class TalentTypeChange extends AdminController {
|
|
|
|
|
@@ -35,77 +38,71 @@ class TalentTypeChange extends AdminController {
|
|
|
}
|
|
|
|
|
|
public function list() {
|
|
|
- $where = $this->setTalentTypeChange($this->request->param());
|
|
|
- TalentCheckUtil . setTypeChangeCheckStateCondition(wrapper, obj, process);
|
|
|
- wrapper . orderBy("createTime", false);
|
|
|
- switch (process) {
|
|
|
+ $params = $this->request->param();
|
|
|
+ $offset = $params["offset"] ?: 0;
|
|
|
+ $order = $params["order"] ?: "desc";
|
|
|
+ $limit = $params["limit"] ?: 10;
|
|
|
+ $process = $params["process"];
|
|
|
+ $where = [];
|
|
|
+ $this->setTalentTypeChange($where, $params);
|
|
|
+ $this->setTypeChangeCheckStateCondition($where, $params, $process);
|
|
|
+ if (in_array($this->user["type"], [1, 2, 5, 6])) {
|
|
|
+ $where[] = ["type", "=", $this->user["type"]];
|
|
|
+ }
|
|
|
+ switch ($process) {
|
|
|
case -1:
|
|
|
- Company company1 = (Company) super . getSession() . getAttribute("company");
|
|
|
- wrapper . isNotNull("beforeCheckCompany");
|
|
|
- if (!"super" . equals(company1 . getCode())) {
|
|
|
- wrapper . eq("beforeCheckCompany", company1 . getId());
|
|
|
- }
|
|
|
- page = talentTypeChangeService . selectPage(page, wrapper);
|
|
|
- Map<String, String> map = this.companyService.selectListForMap(new EntityWrapper<>());
|
|
|
- for (TalentTypeChange ttc : page.getRecords()) {
|
|
|
- ttc . setBeforeCheckCompanyName(map . get(ttc . getBeforeCheckCompany()));
|
|
|
+ $company = \app\common\api\CompanyApi::getOne($this->user["companyId"]);
|
|
|
+ $where[] = ["beforeCheckCompany", "EXP", Db::raw("is not null")];
|
|
|
+ if ($this->user["code"] != $company["code"]) {
|
|
|
+ $where[] = ["beforeCheckCompany", "=", $company["id"]];
|
|
|
}
|
|
|
break;
|
|
|
case 1:
|
|
|
- if (user . getType() == 1 || user . getType() == 2) {
|
|
|
- wrapper . eq("type", user . getType());
|
|
|
- }
|
|
|
- wrapper . notIn("checkState", 3, 5);
|
|
|
- page = talentTypeChangeService . selectPage(page, wrapper);
|
|
|
+ $where[] = ["checkState", "not in", [3, 5]];
|
|
|
break;
|
|
|
case 2:
|
|
|
- Company company = (Company) super . getSession() . getAttribute("company");
|
|
|
- page = this . talentDepcheckstateService . selectForTalentTypeChange(obj, page, company, Integer . parseInt(ProjectConst . LEVELCHANGE));
|
|
|
+ //Company company = (Company) super . getSession() . getAttribute("company");
|
|
|
+ //page = this . talentDepcheckstateService . selectForTalentTypeChange(obj, page, company, Integer . parseInt(ProjectConst . LEVELCHANGE));
|
|
|
break;
|
|
|
case 3:
|
|
|
- if (user . getType() == 1 || user . getType() == 2) {
|
|
|
- wrapper . eq("type", user . getType());
|
|
|
- }
|
|
|
- wrapper . isNotNull("firstDepPassTime");
|
|
|
- page = talentTypeChangeService . selectPage(page, wrapper);
|
|
|
+ $where[] = ["firstDepPassTime", "EXP", Db::raw("is not null")];
|
|
|
break;
|
|
|
case 4:
|
|
|
- if (user . getType() == 1 || user . getType() == 2) {
|
|
|
- wrapper . eq("type", user . getType());
|
|
|
- }
|
|
|
- wrapper . in("checkState", "-1,35");
|
|
|
- page = talentTypeChangeService . selectPage(page, wrapper);
|
|
|
+ $where[] = ["checkState", "in", [-1, 35]];
|
|
|
break;
|
|
|
case 5:
|
|
|
- if (user . getType() == 1 || user . getType() == 2) {
|
|
|
- wrapper . eq("type", user . getType());
|
|
|
- }
|
|
|
- wrapper . eq("checkState", "35") . eq("isPublic", 6);
|
|
|
- page = talentTypeChangeService . selectPage(page, wrapper);
|
|
|
+ $where[] = ["checkState", "=", 35];
|
|
|
+ $where[] = ["isPublic", "=", 6];
|
|
|
break;
|
|
|
}
|
|
|
+
|
|
|
+ $count = ttcModel::where($where)->count();
|
|
|
+ $list = ttcModel::where($where)->limit($offset, $limit)->order("createTime {$order}")->select();
|
|
|
+ foreach ($list as $key => $item) {
|
|
|
+ if ($item["beforeCheckCompany"]) {
|
|
|
+ $list[$key]["beforeCheckCompanyName"] = getCacheById("Company", $item["beforeCheckCompany"]);
|
|
|
+ }
|
|
|
+ }
|
|
|
//获取字典表人才层次
|
|
|
- List<Dict> levellist = this . dictService . selectByParentCode(DictConst . UN_TALENTLEVEL);
|
|
|
- List<Dict> typelist = this . dictService . selectByParentCode(DictConst . UN_JBT_TALENTTYPE);
|
|
|
- Map<String, String> levelMap = FengStringUtil . dictList2Map(levellist);
|
|
|
- Map<String, String> typeMap = FengStringUtil . dictList2Map(typelist);
|
|
|
- //将认定条件id转为文本
|
|
|
- Map<String, String> icmap = this.identifyConditionService.selectListForMap(new EntityWrapper<IdentifyCondition>().eq("type", ShiroKit.getUser().getType()));
|
|
|
- for (TalentTypeChange info : page.getRecords()) {
|
|
|
- //将人才层次code转换为中文
|
|
|
- info . setOldTalentArrangeName(levelMap . get(info . getOldTalentArrange()));
|
|
|
- info . setNewTalentArrangeName(levelMap . get(info . getNewTalentArrange()));
|
|
|
- info . setOldIdentifyConditionCH(icmap . get(info . getOldIdentifyCondition()));
|
|
|
- info . setNewIdentifyConditionCH(icmap . get(info . getNewIdentifyCondition()));
|
|
|
- }
|
|
|
- Map<String, Object> res = new HashMap<String, Object>();
|
|
|
- res . put("rows", page . getRecords());
|
|
|
- res . put("total", page . getTotal());
|
|
|
- return res;
|
|
|
+ /* List<Dict> levellist = this . dictService . selectByParentCode(DictConst . UN_TALENTLEVEL);
|
|
|
+ List<Dict> typelist = this . dictService . selectByParentCode(DictConst . UN_JBT_TALENTTYPE);
|
|
|
+ Map<String, String> levelMap = FengStringUtil . dictList2Map(levellist);
|
|
|
+ Map<String, String> typeMap = FengStringUtil . dictList2Map(typelist);
|
|
|
+ //将认定条件id转为文本
|
|
|
+ Map<String, String> icmap = this.identifyConditionService.selectListForMap(new EntityWrapper<IdentifyCondition>().eq("type", ShiroKit.getUser().getType()));
|
|
|
+ for (TalentTypeChange info : page.getRecords()) {
|
|
|
+ //将人才层次code转换为中文
|
|
|
+ info . setOldTalentArrangeName(levelMap . get(info . getOldTalentArrange()));
|
|
|
+ info . setNewTalentArrangeName(levelMap . get(info . getNewTalentArrange()));
|
|
|
+ info . setOldIdentifyConditionCH(icmap . get(info . getOldIdentifyCondition()));
|
|
|
+ info . setNewIdentifyConditionCH(icmap . get(info . getNewIdentifyCondition()));
|
|
|
+ }
|
|
|
+ *
|
|
|
+ */
|
|
|
+ return json(["rows" => $list, "total" => $count]);
|
|
|
}
|
|
|
|
|
|
- private function setTalentTypeChange($data) {
|
|
|
- $where = [];
|
|
|
+ private function setTalentTypeChange(&$where, $data) {
|
|
|
if (\StrUtil::isNotEmpAndNull($data["talentName"])) {
|
|
|
$where[] = ["talentName", "like", "%{$data["talentName"]}%"];
|
|
|
}
|
|
@@ -142,7 +139,58 @@ class TalentTypeChange extends AdminController {
|
|
|
if ($data["newYear"]) {
|
|
|
$where[] = ["newYear", "=", $data["newYear"]];
|
|
|
}
|
|
|
- return $where;
|
|
|
+ }
|
|
|
+
|
|
|
+ private function setTypeChangeCheckStateCondition(&$where, &$data, $process) {
|
|
|
+ $checkState = $data["checkState"];
|
|
|
+ if ($checkState) {
|
|
|
+ switch ($process) {
|
|
|
+ case -1:
|
|
|
+ if ($checkState == MainState::NEED_FIRST_CHECK) {
|
|
|
+ $where[] = ["checkState", ">=", $checkState];
|
|
|
+ } else {
|
|
|
+ $where[] = ["checkState", "=", $checkState];
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 1:
|
|
|
+ if ($checkState == MainState::NEED_DEP_CHECK) {
|
|
|
+ $where[] = ["checkState", "in", [15, 25, 30, 35]];
|
|
|
+ } else if ($checkState == MainState::BEFORE_REJECT) {
|
|
|
+ $where[] = ["checkState", "=", MainState::NEED_FIRST_CHECK];
|
|
|
+ $where[] = ["highProcess", ">=", 1];
|
|
|
+ } else if ($checkState == MainState::NEED_FIRST_CHECK) {
|
|
|
+ $where[] = ["checkState", "=", MainState::NEED_FIRST_CHECK];
|
|
|
+ $where[] = ["highProcess", "<", 1];
|
|
|
+ } else {
|
|
|
+ $where[] = ["checkState", "=", $checkState];
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 2:
|
|
|
+ if ($checkState == MainState::BEFORE_REJECT) {
|
|
|
+ $data["highProcess"] = 2;
|
|
|
+ $data["checkState"] = 1;
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 3:
|
|
|
+ if ($checkState == MainState::THIRD_REJECT) {
|
|
|
+ $where[] = ["checkState", "in", [7, 10, 15, 20, 30]];
|
|
|
+ } else if ($checkState == MainState::BEFORE_REJECT) { //重新提交
|
|
|
+ $where[] = ["checkState", "=", MainState::NEED_THIRD];
|
|
|
+ $where[] = ["highProcess", ">=", 3];
|
|
|
+ } else if ($checkState == MainState::NEED_THIRD) { //待复核
|
|
|
+ $where[] = ["checkState", "=", $checkState];
|
|
|
+ $where[] = ["highProcess", "<", 3];
|
|
|
+ } else {
|
|
|
+ $where[] = ["checkState", "=", $checkState];
|
|
|
+ }
|
|
|
+ break;
|
|
|
+ case 4:
|
|
|
+ $where[] = ["checkState", "=", $checkState];
|
|
|
+ break;
|
|
|
+ case 5:
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
}
|