|
|
@@ -296,4 +296,146 @@ class Synchronization extends Api
|
|
|
$this->success('存货结构同步成功');
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 人事基本资料同步
|
|
|
+ * @return void
|
|
|
+ * @throws \think\Exception
|
|
|
+ * @throws \think\db\exception\BindParamException
|
|
|
+ * @throws \think\db\exception\DataNotFoundException
|
|
|
+ * @throws \think\db\exception\ModelNotFoundException
|
|
|
+ * @throws \think\exception\DbException
|
|
|
+ * @throws \think\exception\PDOException
|
|
|
+ */
|
|
|
+ public function PersonnelData()
|
|
|
+ {
|
|
|
+ if ($this->request->isGet() === false){
|
|
|
+ $this->error('请求错误');
|
|
|
+ }
|
|
|
+ $db3 = \db()->connect(config('database.db3'));
|
|
|
+ $PersonnelDataList = $db3->name('U8_02人事资料')
|
|
|
+ ->where('MES接收时间',null)
|
|
|
+ ->where('MES接收状态','0')
|
|
|
+ ->select();
|
|
|
+ if (empty($PersonnelDataList)){
|
|
|
+ $this->success('未找到新的人事资料');
|
|
|
+ }
|
|
|
+ $i = 0;
|
|
|
+ foreach ($PersonnelDataList as $key=>$value){
|
|
|
+ $data = [
|
|
|
+ '工卡编号'=>'',
|
|
|
+ '卡钟设定'=>'',
|
|
|
+ '打卡设置'=>'',
|
|
|
+ '员工编号'=>$value['员工编号'],
|
|
|
+ '员工姓名'=>$value['员工姓名'],
|
|
|
+ '性别'=>$value['性别'],
|
|
|
+ '聘用日期'=>$value['聘用日期'],
|
|
|
+ '转正日期'=>$value['转正日期'],
|
|
|
+ 'U8离职日期'=>$value['离职日期'],
|
|
|
+ 'MES离职日期'=>$value['离职日期'],
|
|
|
+ '扣减司龄'=>0,
|
|
|
+ '部门编码'=>$value['部门编码'],
|
|
|
+ '所在部门'=>$value['所在部门'],
|
|
|
+ '人员类别'=>$value['人员类别'],
|
|
|
+ '人员性质'=>$value['人员性质'],
|
|
|
+ '班次类型'=>'',
|
|
|
+ '标准工时制'=>'',
|
|
|
+ '职称职务'=>$value['职称职务'],
|
|
|
+ '薪资级别'=>$value['级别'],
|
|
|
+ '工资表类别'=>'',
|
|
|
+ '基本工资'=>'',
|
|
|
+ '绩效工资1'=>'',
|
|
|
+ '绩效工资2'=>'',
|
|
|
+ '技能工资'=>'',
|
|
|
+ '岗位津贴'=>'',
|
|
|
+ '竞业补贴'=>'',
|
|
|
+ '专业技术津贴'=>'',
|
|
|
+ '技工技师津贴'=>'',
|
|
|
+ '特殊工种津贴'=>'',
|
|
|
+ '各类奖项津贴'=>'',
|
|
|
+ '职危津贴'=>'',
|
|
|
+ '夜班津贴'=>'',
|
|
|
+ '全勤津贴'=>'',
|
|
|
+ '住房津贴'=>'',
|
|
|
+ '高温津贴'=>'',
|
|
|
+ '用餐津贴'=>'',
|
|
|
+ '司龄津贴'=>'',
|
|
|
+ '联系电话'=>$value['联系电话'],
|
|
|
+ '合同类型'=>'',
|
|
|
+ '合同起始日期'=>'1900-01-01 00:00:00',
|
|
|
+ '合同终止日期'=>'1900-01-01 00:00:00',
|
|
|
+ '合同备注'=>'',
|
|
|
+ '出生日期'=>$value['出生日期'],
|
|
|
+ 'pycode'=>$value['pycode'],
|
|
|
+ '籍贯'=>'',
|
|
|
+ '民族'=>'',
|
|
|
+ '身份证号'=>$value['身份证号'],
|
|
|
+ '证件有效日期'=>'1900-01-01 00:00:00',
|
|
|
+ '发证机关'=>'',
|
|
|
+ '家庭住址'=>'',
|
|
|
+ '学历'=>'',
|
|
|
+ '婚姻状况'=>'',
|
|
|
+ '社保开始日期'=>'1900-01-01 00:00:00',
|
|
|
+ '开户银行'=>$value['开户银行'],
|
|
|
+ '开户账号'=>$value['开户账号'],
|
|
|
+ '存折办理日期'=>'1900-01-01 00:00:00',
|
|
|
+ '紧急电话'=>'',
|
|
|
+ '照片ID'=>'',
|
|
|
+ '在职状态'=>$value['在职状态'],
|
|
|
+ 'U8在职'=>$value['在职状态'],
|
|
|
+ '薪酬核算分组'=>'',
|
|
|
+ '考勤类型'=>'',
|
|
|
+ '班组代号'=>'',
|
|
|
+ 'sys_id'=>'[272/超级用户]',
|
|
|
+ 'sys_rq'=>date('Y-m-d H:i:s',time()),
|
|
|
+ 'mod_rq'=>'1900-01-01 00:00:00',
|
|
|
+ 'U8UID'=>$value['U8_UID'],
|
|
|
+ 'UniqID'=>$value['UniqId']
|
|
|
+ ];
|
|
|
+ $number = \db('人事_基本资料')
|
|
|
+ ->where('Uniqid',$value['UniqId'])
|
|
|
+ ->count();
|
|
|
+ if ($number === 0){
|
|
|
+ $sql = \db('人事_基本资料')->fetchSql(true)->insert($data);
|
|
|
+ $res = \db()->query($sql);
|
|
|
+ if ($res === false){
|
|
|
+ $i++;
|
|
|
+ }else{
|
|
|
+ $sqlString = $db3->name('U8_02人事资料')
|
|
|
+ ->where('UniqId', $value['UniqId'])
|
|
|
+ ->fetchSql(true)
|
|
|
+ ->update([
|
|
|
+ 'MES接收时间' => date('Y-m-d H:i:s', time()),
|
|
|
+ 'MES接收状态' => '1'
|
|
|
+ ]);
|
|
|
+ $db3->execute($sqlString);
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ $sql = \db('人事_基本资料')
|
|
|
+ ->fetchSql(true)
|
|
|
+ ->where('UniqId',$value['UniqId'])
|
|
|
+ ->update($data);
|
|
|
+ $res = \db()->query($sql);
|
|
|
+ if ($res === false){
|
|
|
+ $i++;
|
|
|
+ }else{
|
|
|
+
|
|
|
+ $sqlString = $db3->name('U8_02人事资料')
|
|
|
+ ->where('UniqId', $value['UniqId'])
|
|
|
+ ->fetchSql(true)
|
|
|
+ ->update([
|
|
|
+ 'MES接收时间' => date('Y-m-d H:i:s', time()),
|
|
|
+ 'MES接收状态' => '1'
|
|
|
+ ]);
|
|
|
+ $db3->execute($sqlString);
|
|
|
+
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if ($i !== 0){
|
|
|
+ $this->error('人事资料同步失败');
|
|
|
+ }else{
|
|
|
+ $this->success('人事资料同步成功');
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|