|
@@ -234,6 +234,81 @@ class Talent {
|
|
|
Log::write($e->getMessage(), "error");
|
|
|
}
|
|
|
break;
|
|
|
+ case 5:
|
|
|
+ //人才层次变更变更积分
|
|
|
+ try {
|
|
|
+ $mainId = $data["id"];
|
|
|
+ $where = [];
|
|
|
+ $where[] = ["id", "=", $mainId];
|
|
|
+ $where[] = ["checkState", "=", \app\common\state\MainState::PASS];
|
|
|
+ $where[] = ["isPublic", "=", 6];
|
|
|
+ $talentTypeChange = \app\enterprise\model\TalentTypeChange::where($where)->find();
|
|
|
+ if (strlen($talentTypeChange["talentId"]) == 19) {
|
|
|
+ $where = [];
|
|
|
+ $where[] = ["card_number", "=", $talentTypeChange["idCard"]];
|
|
|
+ $where[] = ["checkState", "=", TalentState::CERTIFICATED];
|
|
|
+ $talentInfo = TalentModel::where($where)->find();
|
|
|
+ } else {
|
|
|
+ $where = [];
|
|
|
+ $where[] = ["id", "=", $talentTypeChange["talentId"]];
|
|
|
+ $where[] = ["checkState", "=", TalentState::CERTIFICATED];
|
|
|
+ $talentInfo = TalentModel::where($where)->find();
|
|
|
+ }
|
|
|
+ $where = [];
|
|
|
+ $where[] = ["mainId", "=", $mainId];
|
|
|
+ $where[] = ["mainType", "=", "talentTypeChange"];
|
|
|
+ $integralLog = Db::table("new_integral_log")->where($where)->find();
|
|
|
+ if ($talentTypeChange && $talentInfo && !$integralLog) {
|
|
|
+ $newLevel = $talentTypeChange["newTalentArrange"];
|
|
|
+ $oldLevel = $talentTypeChange["oldTalentArrange"];
|
|
|
+ $name = $talentInfo["name"]; //姓名
|
|
|
+ $cardType = $talentInfo["card_type"]; //身份证类型
|
|
|
+ $cardNumber = $talentInfo["card_number"]; //身份证
|
|
|
+ $type = $talentTypeChange["type"]; //企业类型
|
|
|
+ $lastPoints = 0; //上次积分
|
|
|
+ //$gainPoints = CommonConst::getLayerPointsByLayer($level); //增加积分
|
|
|
+ //$desc = sprintf("经人才申报审核通过,认定为集成电路(%s)优秀人才,基础分变更为%d分。", CommonConst::getLayerNameByLayer($level), $gainPoints); //详情
|
|
|
+
|
|
|
+ /* 查询是否升级 */
|
|
|
+ if ($newLevel < $oldLevel) {
|
|
|
+ $beforeLevelName = CommonConst::getLayerNameByLayer($oldLevel); //之前层次
|
|
|
+ $beforeLevelPoints = CommonConst::getLayerPointsByLayer($oldLevel); //之前基础分
|
|
|
+ $nowLevelName = CommonConst::getLayerNameByLayer($newLevel); //现在层次
|
|
|
+ $nowLevelPoints = CommonConst::getLayerPointsByLayer($newLevel); //现在基础分
|
|
|
+ $gainPoints -= $beforeLevelPoints;
|
|
|
+ $desc = sprintf("人才层次变更(%s->%s),基础分增加%d(%d->%d)分。", $beforeLevelName, $nowLevelName, $gainPoints, $beforeLevelPoints, $nowLevelPoints);
|
|
|
+
|
|
|
+
|
|
|
+ /* 查询最后一条积分日志 */
|
|
|
+ $where = [];
|
|
|
+ //$where[] = ["name", "=", $name];
|
|
|
+ $where[] = ["card_type", "=", $cardType];
|
|
|
+ $where[] = ["card_number", "=", $cardNumber];
|
|
|
+ $last_log = Db::table("new_integral_log")->where($where)->order("createTime desc")->find();
|
|
|
+ $lastPoints = $last_log["nowPoints"] ?: 0;
|
|
|
+
|
|
|
+ $log["id"] = getStringId();
|
|
|
+ $log["type"] = $type;
|
|
|
+ $log["mainType"] = "talentTypeChange";
|
|
|
+ $log["mainId"] = $mainId;
|
|
|
+ $log["enterprise_id"] = $talentInfo["enterprise_id"];
|
|
|
+ $log["name"] = $name;
|
|
|
+ $log["card_type"] = $cardType;
|
|
|
+ $log["card_number"] = $cardNumber;
|
|
|
+ $log["talentLevel"] = $newLevel;
|
|
|
+ $log["lastPoints"] = $lastPoints;
|
|
|
+ $log["gainPoints"] = $gainPoints;
|
|
|
+ $log["nowPoints"] = $lastPoints + $gainPoints;
|
|
|
+ $log["description"] = $desc;
|
|
|
+ $log["createTime"] = date("Y-m-d H:i:s");
|
|
|
+ Db::table("new_integral_log")->insert($log);
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ } catch (\Exception $e) {
|
|
|
+ Log::write($e->getMessage(), "error");
|
|
|
+ }
|
|
|
+ break;
|
|
|
}
|
|
|
return false;
|
|
|
}
|