';
}
}
public function testexeclclass(){
vendor('PHPExcel.PHPExcel');
//$fcell=new \PHPExcel_Cell();
for ($j=1;$j<=31;$j++){
$fcolumnstr=\PHPExcel_Cell::stringFromColumnIndex($j+4);
echo $fcolumnstr;
}
}
public function testsumbymonth(){
$wid=101;
$table=new daycheckinfo();
$rlist=$table->totalcheckbymonthwithwid($wid);
var_dump($rlist);
}
public function testworkover(){
$l_check=new checkmanger();
$rlist=$l_check->getworkovertime(1,10);
return json_encode($rlist,320);
}
public function t_prj_getglist(){
echo 'test start ok!';
echo '
';
$g_talbe=new ginfomodel();
$gheadinfo=new wheadmodel();
$work_table=new gworkermodel();
//获取所有班组
$res=$g_talbe->getglistbypid(1);
echo 'res for start';
foreach ($res as &$gitem) {
//取班组长名称
$gid=$gitem['id'];
echo '[gid:';
echo $gid;
echo "],";
$gheader=$gheadinfo->getwidbygid($gid);
if ($gheader){
$wid=$gheader['gwid'];
$winfo=$work_table->getinfobyid($wid);
echo $winfo['wname'];
echo '
';
$gitem['wname']=$winfo['wname'];
}else{
$gitem['wname']='';
}
}
return json_encode($res,320);
}
public function testjson11(){
$date='2020-03-11';
$daystr=substr($date,-2);
// $v["11"]=20;
$v[$daystr]=20;
echo json_encode($v);
print_r($v);
}
public function testdaycount(){
$dc=20;
$strdc=strval($dc+2);
echo $strdc;
$strparam='-'.$strdc.' day';
echo 'strparm='.$strparam;
echo '';
$datestart=date('Y-m-d',strtotime($strparam));
echo 'datsstart='.$datestart;
}
public function testnewsumgroupworkerinfo(){
$arr['cid']=1;
$arr['yearinfo']='2020';
$arr['monthinfo']='03';
$l_c=new contactlogic();
$list=$l_c->getworkersumbycid($arr);
// foreach($list as $k){
// $k_list=array_keys($k['detail']);
// // var_dump($k_list);
// foreach($k_list as $kv){
// echo $kv;
// }
//
//// foreach($k['detail'] as $v){
//// var_dump($v);
//// };
//// $alen=count($k['detail']);
//// for ($i=0;$i<$alen;$i++){
//// var_dump($k['detail'][$i]);
//// }
// }
return json_encode($list,320);
}
//考勤按合同汇总信息导出execl
public function workersumtoexecl(){
//获取数据
// $queryinfo=request() -> param();
$queryinfo['cid']=6;
$queryinfo['yearinfo']='2020';
$queryinfo['monthinfo']='03';
$yearinfo=$queryinfo['yearinfo'];
$monthinfo=$queryinfo['monthinfo'];
$l_contact=new contactlogic();
//获取当用天数
$daysofm=date('t', strtotime( $yearinfo.'-'.$monthinfo.'-1'));
$gsumlist=$l_contact->getworkersumbycid($queryinfo);
//加载类库
vendor('PHPExcel.PHPExcel');
$objPHPExcel = new \PHPExcel();
//4.激活当前的sheet表
$objPHPExcel->setActiveSheetIndex(0);
//5.设置表格头(即excel表格的第一行)
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', '班组/工人')
->setCellValue('B1', '当月总记分');
for ($j=1; $j<=$daysofm;$j++){
$columnname=strval($j);
if (strlen($columnname)<2){
$columnname='0'.$columnname;
}
$fcolumnchar=\PHPExcel_Cell::stringFromColumnIndex($j+2);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($fcolumnchar.'1',$columnname);
}
//设置A列水平居中
$objPHPExcel->setActiveSheetIndex(0)->getStyle('A')->getAlignment()
->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//设置单元格宽度
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(20);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(15);
//6.循环刚取出来的数组,将数据逐一添加到excel表格。
$rowindex=0;
for($i=0;$igetActiveSheet()->setCellValue('A'.($rowindex+2),$gsumlist[$i]['gname']);//ID
$objPHPExcel->getActiveSheet()->setCellValue('B'.($rowindex+2),$gsumlist[$i]['summonth']);//名称
// $a_keys=array_keys($gsumlist[$i]);
// var_dump($a_keys);
for ($j=1; $j<=$daysofm;$j++){
// for ($j=13; $j<=16;$j++){//测试临时
$daystr=strval($j);
if (strlen($daystr)<2){
$daystr='0'.$daystr;
}
$fname=$yearinfo.'-'.$monthinfo.'-'.$daystr;
//$eecll=new \PHPExcel_Cell()
$fcolumnstr=\PHPExcel_Cell::stringFromColumnIndex($j+2);
echo $fname;
//echo true;
// echo '
';
echo (array_key_exists($fname,$gsumlist[$i]));
echo '
';
// echo (in_array($fname,$a_keys));
// echo '
';
$objPHPExcel->getActiveSheet()->setCellValue($fcolumnstr.($rowindex+2),(array_key_exists($fname,$gsumlist[$i])?$gsumlist[$i][$fname]:'-'));//说明
// $objPHPExcel->getActiveSheet()->setCellValue($fcolumnstr.($rowindex+2),$gsumlist[$i][$fname]);//说明
}
$rowindex++;//行控制
//员工数据
for($workerindex=0;$workerindexgetActiveSheet()->setCellValue('A'.($rowindex+2),$gsumlist[$i]['detail'][$workerindex]['gname']);//
$objPHPExcel->getActiveSheet()->setCellValue('B'.($rowindex+2),$gsumlist[$i]['detail'][$workerindex]['summonth']);//
for ($j=1; $j<=$daysofm;$j++){
$daystr=strval($j);
if (strlen($daystr)<2){
$daystr='0'.$daystr;
}
$fname=$yearinfo.'-'.$monthinfo.'-'.$daystr;
//$eecll=new \PHPExcel_Cell()
$fcolumnstr=\PHPExcel_Cell::stringFromColumnIndex($j+2);
$objPHPExcel->getActiveSheet()->setCellValue($fcolumnstr.($rowindex+2),(array_key_exists($fname,$gsumlist[$i]['detail'][$workerindex])?$gsumlist[$i]['detail'][$workerindex][$fname]:'-'));//说明
}
$rowindex++;//行控制
}
}
//7.设置保存的Excel表格名称
$filename = '考勤汇总'.date('ymd',time()).'.xls';
//8.设置当前激活的sheet表格名称;
$objPHPExcel->getActiveSheet()->setTitle('考勤汇总');
//9.设置浏览器窗口下载表格
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition:inline;filename="'.$filename.'"');
//生成excel文件
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
//下载文件在浏览器窗口
$objWriter->save('php://output');
//原代码没有返回
$res_r['code']=200;
$res_r['resultData']=$filename;
return json_encode($res_r,320);
}
public function testouttoexecl(){
//获取传入参数
set_time_limit(0);
$queryinfo['monthinfo']='03';
$queryinfo['yearinfo']='2020';
$queryinfo['pageNum']=1;
$queryinfo['pageSize']=0;
$month=$queryinfo['monthinfo'];
$year=$queryinfo['yearinfo'];
//获取数据
$l_check=new checkmanger();
$r_list=$l_check->getsumcheckinfo($queryinfo);
//获取当用天数
$daysofm=date('t', strtotime($year.'-'.$month.'-1'));
//加载类库
vendor('PHPExcel.PHPExcel');
$objPHPExcel = new \PHPExcel();
//4.激活当前的sheet表
$objPHPExcel->setActiveSheetIndex(0);
//5.设置表格头(即excel表格的第一行)
$objPHPExcel->setActiveSheetIndex(0)
->setCellValue('A1', 'ID')
->setCellValue('B1', '姓名')
->setCellValue('C1', '记工天数')
->setCellValue('D1','当月计分')
->setCellValue('E1','身份证号');
for ($j=1; $j<=$daysofm;$j++){
$columnname=strval($j);
if (strlen($columnname)<2){
$columnname='0'.$columnname;
}
$fcolumnchar=\PHPExcel_Cell::stringFromColumnIndex($j+4);
$objPHPExcel->setActiveSheetIndex(0)->setCellValue($fcolumnchar.'1',$columnname);
}
//设置A列水平居中
$objPHPExcel->setActiveSheetIndex(0)->getStyle('A')->getAlignment()
->setHorizontal(\PHPExcel_Style_Alignment::HORIZONTAL_CENTER);
//设置单元格宽度
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('A')->setWidth(8);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('B')->setWidth(12);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('C')->setWidth(12);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('D')->setWidth(12);
$objPHPExcel->setActiveSheetIndex(0)->getColumnDimension('E')->setWidth(18);
//6.循环刚取出来的数组,将数据逐一添加到excel表格。
for($i=0;$igetActiveSheet()->setCellValue('A'.($i+2),$r_list[$i]['wid']);//ID
$objPHPExcel->getActiveSheet()->setCellValue('B'.($i+2),$r_list[$i]['wname']);//名称
$objPHPExcel->getActiveSheet()->setCellValue('C'.($i+2),$r_list[$i]['daycount']);//说明
$objPHPExcel->getActiveSheet()->setCellValue('D'.($i+2),$r_list[$i]['monthsum']);//说明
$objPHPExcel->getActiveSheet()->setCellValue('E'.($i+2),$r_list[$i]['sfz']);//说明
for ($j=1; $j<=$daysofm;$j++){
$fname=strval($j);
if (strlen($fname)<2){
$fname='0'.$fname;
}
//$eecll=new \PHPExcel_Cell()
$fcolumnstr=\PHPExcel_Cell::stringFromColumnIndex($j+4);
$objPHPExcel->getActiveSheet()->setCellValue($fcolumnstr.($i+2),(array_key_exists($fname,$r_list[$i])?$r_list[$i][$fname]:'-'));//说明
}
}
//7.设置保存的Excel表格名称
$filename = $year.'年'.$month.'月考勤统计表'.date('ymd',time()).'.xls';
//8.设置当前激活的sheet表格名称;
$objPHPExcel->getActiveSheet()->setTitle('考勤信息'.$year.'年'.$month.'月');
//9.设置浏览器窗口下载表格
header("Content-Type: application/force-download");
header("Content-Type: application/octet-stream");
header("Content-Type: application/download");
header('Content-Disposition:inline;filename="'.$filename.'"');
//生成excel文件
$objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5');
//下载文件在浏览器窗口
$objWriter->save('php://output');
//原代码没有返回
$res_r['code']=200;
$res_r['resultData']=$filename;
return json_encode($res_r,320);
}
public function testheadoprlist(){
// $queryinfo=request() -> param();
$queryinfo['hid']=102;
$l_opr=new checkmanger();
$rlist=$l_opr->getoprinfobyhid($queryinfo);
if (empty($rlist)){
$res_r['code']=0;
$res_r['msg']='无考勤数据';
}else{
$res_r['code']=200;
$res_r['resultData']=$rlist;
}
return json_encode($res_r,320);
}
public function testcountaward(){
$queryinfo['uid']=101;
$l_r=new recuitlogic();
$rec=$l_r->getawardbyrid($queryinfo);
return json_encode($rec,320);
}
public function testexcelinput(){
vendor('PHPExcel.PHPExcel');
//$phpExcel = new \PHPExcel();
$objRender = \PHPExcel_IOFactory::createReader('excel2007');
$filename = '.'.'/'.'Uploads'.'/'.'test1.xlsx';
$filename2 = '.'.'/'.'Uploads'.'/'.'test2.xlsx';
$ExcelObj = $objRender->load($filename);
$ExcelObj->setActiveSheetIndex(0);
$ExcelObj->getActiveSheet()->setCellValue('C6',4);
$ExcelObj->getActiveSheet()->setCellValue('D6',5);
$ExcelObj->getActiveSheet()->setCellValue('E6',20);
$flag = $ExcelObj->getActiveSheet()->getCell("B1")->getValue();
$objWriter = \PHPExcel_IOFactory::createWriter($ExcelObj, 'excel2007');
$objWriter->save($filename2);
echo $flag;
}
public function testupcheck(){
$queryinfo['pid']=14;
$queryinfo['checkdate']='2020-05-04';
$queryinfo['checkshift']=1;
$logicworker=new workercheck();
$wlist=$logicworker->getunchecklist($queryinfo);
var_dump($wlist);
}
public function testnewchout(){
$arr['cid']=4;
$arr['yearinfo']='2020';
$arr['monthinfo']='08';
$logic=new contactlogic();
$llist=$logic->getworkersumbycid($arr);
var_dump($llist);
}
public function testexcelinputdb(){
vendor('PHPExcel.PHPExcel');
//$phpExcel = new \PHPExcel();
$objRender = \PHPExcel_IOFactory::createReader('excel2007');
$filename = '.'.'/'.'Uploads'.'/'.'payrecord.xlsx';
$ExcelObj = $objRender->load($filename);
$ExcelObj->setActiveSheetIndex(0);
$l_p=new paylogic();
$plist=array();
for($i=2;$i<10;$i++){
$paydetail=array();
$paydetail['paymoney']=$ExcelObj->getActiveSheet()->getCell("H".$i)->getValue();
$paydetail['sfzid']=$ExcelObj->getActiveSheet()->getCell("F".$i)->getValue();
$paydetail['wname']=$ExcelObj->getActiveSheet()->getCell("G".$i)->getValue();
$paydetail['payclass']=$ExcelObj->getActiveSheet()->getCell("E".$i)->getValue();
$daynumber=$ExcelObj->getActiveSheet()->getCell("D".$i)->getValue();
$paydetail['paydate']=gmdate('Y-m-d',($daynumber-25569)*1440*60);
$paydetail['indate']=date('Y-m-d');
$l_p->savepaydetail($paydetail);
array_push($plist,$paydetail);
}
echo count($plist);
var_dump($plist);
}
public function testdatastrtrans(){
$i=44302-25569;
$j=$i*1440*60;
echo $j."";
echo gmdate('Y-m-d',$j);
//date_format($j,"YYYY-mm-dd");
//var_dump(strtotime('1900-01-01','+'.$i.' days'));
}
}