Merge remote-tracking branch 'origin/main'

# Conflicts:
#	modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryUpd.js
#	modules/bmw/src/main/resources/static/pages/work/Person/AttendanceMachine/personEntryView.html
This commit is contained in:
lSun 2025-05-28 16:33:10 +08:00
commit a02fcb513f
13 changed files with 2634 additions and 2322 deletions

View File

@ -204,7 +204,7 @@
<artifactId>arcsoft</artifactId> <artifactId>arcsoft</artifactId>
<version>3.0</version> <version>3.0</version>
<scope>system</scope> <scope>system</scope>
<systemPath>${project.basedir}/lib/arcsoft-sdk-face-3.0.0.0-linux.jar</systemPath> <systemPath>${project.basedir}/lib/arcsoft-sdk-face-3.0.0-linux.jar</systemPath>
</dependency> </dependency>
<dependency> <dependency>

View File

@ -51,7 +51,7 @@ public class WorkPlanAllServiceImpl implements WorkPlanAllService {
if (list.size() > 0) { if (list.size() > 0) {
for (WorkPlanAllBean item : list) { for (WorkPlanAllBean item : list) {
//计算完成率 //计算完成率
if (item.getTotalNum() == null || "".equals(item.getTotalNum())) { if (item.getTotalNum() == null || "".equals(item.getTotalNum())||item.getWorkNum() == null || "".equals(item.getWorkNum())) {
item.setCompleteRate("0%"); item.setCompleteRate("0%");
} else { } else {
//计算完成率 //计算完成率

View File

@ -19,10 +19,10 @@ import org.springframework.web.multipart.MultipartFile;
import javax.annotation.Resource; import javax.annotation.Resource;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList; import java.text.SimpleDateFormat;
import java.util.HashMap; import java.time.LocalDate;
import java.util.List; import java.time.format.DateTimeFormatter;
import java.util.Map; import java.util.*;
import java.util.concurrent.atomic.AtomicInteger; import java.util.concurrent.atomic.AtomicInteger;
import java.util.stream.Collectors; import java.util.stream.Collectors;
@ -199,6 +199,8 @@ public class BasePersonServiceImp implements BasePersonService{
Map<String,Object> map = new HashMap<>(); Map<String,Object> map = new HashMap<>();
map.put("type","postType"); map.put("type","postType");
List<TDictBean> dictBeanList = tDictDao.list(map, 0, 1000); List<TDictBean> dictBeanList = tDictDao.list(map, 0, 1000);
// 创建一个SimpleDateFormat对象解析原始日期字符串
SimpleDateFormat originalFormat = new SimpleDateFormat("EEE MMM dd HH:mm:ss zzz yyyy", java.util.Locale.US);
list.forEach(c->{ list.forEach(c->{
TrimUtil.trimBean(c); TrimUtil.trimBean(c);
if(StringUtils.isNotEmpty(c.getSignDate()) && c.getSignDate().contains("-")){ if(StringUtils.isNotEmpty(c.getSignDate()) && c.getSignDate().contains("-")){
@ -207,6 +209,16 @@ public class BasePersonServiceImp implements BasePersonService{
c.setSignDate(signDate); c.setSignDate(signDate);
c.setExpiryDate(expiryDate); c.setExpiryDate(expiryDate);
} }
try {
Date date = originalFormat.parse(c.getBirthday());
// 转换为LocalDate
LocalDate localDate = date.toInstant().atZone(java.time.ZoneId.systemDefault()).toLocalDate();
// 格式化输出为"yyyy-MM-dd"
String formattedDate = localDate.format(DateTimeFormatter.ofPattern("yyyy-MM-dd"));
c.setBirthday(formattedDate);
} catch (Exception e) {
e.printStackTrace();
}
//岗位 //岗位
AtomicInteger x = new AtomicInteger(); AtomicInteger x = new AtomicInteger();
dictBeanList.forEach(i -> { dictBeanList.forEach(i -> {

View File

@ -1,7 +1,7 @@
package com.bonus.bmw.person.utils; package com.bonus.bmw.person.utils;
import com.arcsoft.face.*; import com.arcsoft.face.*;
import com.arcsoft.face.enums.ImageFormat; import com.arcsoft.face.enums.*;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
import javax.imageio.ImageIO; import javax.imageio.ImageIO;
import java.awt.color.ColorSpace; import java.awt.color.ColorSpace;
@ -14,29 +14,30 @@ import java.util.ArrayList;
import java.util.List; import java.util.List;
/** /**
* 虹软
* 人脸识别工具类 * 人脸识别工具类
* @author zys * @author zys
*/ */
public class ArcFaceHelper { public class ArcFaceHelper {
private static final String APP_ID = "52XE2dQBtdmMsfDMvyKmPCCtcrvJ6oHr2mN3dWt6uoAE"; private static final String APP_ID = "52XE2dQBtdmMsfDMvyKmPCD1nGBSGQWQGUyJh5z9JhND";
/** /**
* x64 * x64
*/ */
private static final String WIN64_SDK_KEY = "GZ7EyzpdhzPmuBh4GeZckiwjiuuztk5hYbkgbnLAwAS3"; private static final String WIN64_SDK_KEY = "GggpcEphVxXLXcpEZz6tdC19o3QhbuktDm3YTUhUGr7J";
/** /**
* linux_64 * linux_64
*/ */
private static final String LINUX64_SDK_KEY = "GZ7EyzpdhzPmuBh4GeZckiwjaoLu4aTEpkcDERQX3jmV"; private static final String LINUX64_SDK_KEY = "GggpcEphVxXLXcpEZz6tdC19evqXbbhMyYt71DGLwnCp";
private static FaceEngine faceEngine = null; private static FaceEngine faceEngine = null;
public static final float STANDARD_SCORE = 0.85F; public static final float STANDARD_SCORE = 0.85F;
static { static {
try{ try{
String os = System.getProperty("os.name"); String os = System.getProperty("os.name");
if(StringUtils.startsWith(os.toLowerCase(), "win")){ if(StringUtils.startsWith(os.toLowerCase(), "win")){
faceEngine = new FaceEngine("D:\\arcsoft_lib_64"); faceEngine = new FaceEngine("D:\\arcsoft_lib_64");
@ -50,28 +51,28 @@ public class ArcFaceHelper {
}catch (Throwable e){ }catch (Throwable e){
System.out.println("加载人脸识别引擎异常:" + e.getMessage()); System.out.println("加载人脸识别引擎异常:" + e.getMessage());
} }
} }
public static FaceEngine getFaceEngine() { public static FaceEngine getFaceEngine() {
return faceEngine; return faceEngine;
} }
public FaceResult getFaceFeatures(String imgSrc) { public FaceResult getFaceFeatures(String imgSrc) {
if(imgSrc.contains("http")){ if(imgSrc.contains("http")){
return getFaceFeatures(getNetUrlHttp(imgSrc)); return getFaceFeatures(getNetUrlHttp(imgSrc));
}else{ }else{
return getFaceFeatures(new File(imgSrc)); return getFaceFeatures(new File(imgSrc));
} }
} }
public static FaceResult getFaceFeatures(File file) { public static FaceResult getFaceFeatures(File file) {
ImageInfo imageInfo = getRGBData(file); ImageInfo imageInfo = getRGBData(file);
if (imageInfo == null){ if (imageInfo == null){
return null; return null;
} }
EngineConfiguration engineConfiguration = EngineConfiguration.builder().functionConfiguration( EngineConfiguration engineConfiguration = EngineConfiguration.builder().functionConfiguration(
FunctionConfiguration.builder() FunctionConfiguration.builder()
.supportFaceDetect(true) .supportFaceDetect(true)
.supportAge(true) .supportAge(true)
.supportFace3dAngle(true) .supportFace3dAngle(true)
.supportFaceDetect(true) .supportFaceDetect(true)
@ -83,23 +84,23 @@ public class ArcFaceHelper {
//人脸检测 //人脸检测
List<FaceInfo> lstFaceInfo = new ArrayList<FaceInfo>(); List<FaceInfo> lstFaceInfo = new ArrayList<FaceInfo>();
faceEngine.detectFaces(imageInfo.getRgbData(), imageInfo.getWidth(), imageInfo.getHeight(), faceEngine.detectFaces(imageInfo.getRgbData(), imageInfo.getWidth(), imageInfo.getHeight(),
ImageFormat.CP_PAF_BGR24, lstFaceInfo); ImageFormat.CP_PAF_BGR24, lstFaceInfo);
System.out.println("检测到人脸数:" + lstFaceInfo.size()); System.out.println("检测到人脸数:" + lstFaceInfo.size());
if (lstFaceInfo.size() == 0) { if (lstFaceInfo.size() == 0) {
return null; return null;
// throw new NullPointerException("未检测到人脸"); // throw new NullPointerException("未检测到人脸");
} }
FaceResult result = new FaceResult(); FaceResult result = new FaceResult();
//提取人脸特征 //提取人脸特征
FaceFeature faceFeature = new FaceFeature(); FaceFeature faceFeature = new FaceFeature();
int code = faceEngine.extractFaceFeature(imageInfo.getRgbData(), imageInfo.getWidth(), imageInfo.getHeight(), int code = faceEngine.extractFaceFeature(imageInfo.getRgbData(), imageInfo.getWidth(), imageInfo.getHeight(),
ImageFormat.CP_PAF_BGR24, lstFaceInfo.get(0), faceFeature); ImageFormat.CP_PAF_BGR24, lstFaceInfo.get(0), faceFeature);
System.out.println("提取特征结果码:" + code); System.out.println("提取特征结果码:" + code);
result.setFeatures(faceFeature.getFeatureData()); result.setFeatures(faceFeature.getFeatureData());
//人脸信息检测 //人脸信息检测
int processCode = faceEngine.process(imageInfo.getRgbData(), imageInfo.getWidth(), imageInfo.getHeight(), int processCode = faceEngine.process(imageInfo.getRgbData(), imageInfo.getWidth(), imageInfo.getHeight(),
ImageFormat.CP_PAF_BGR24, lstFaceInfo, ImageFormat.CP_PAF_BGR24, lstFaceInfo,
FunctionConfiguration.builder().supportAge(true).supportFace3dAngle(true).supportGender(true).build()); FunctionConfiguration.builder().supportAge(true).supportFace3dAngle(true).supportGender(true).build());
System.out.println("人脸信息检测码:" + processCode); System.out.println("人脸信息检测码:" + processCode);
if(code != 0 || processCode != 0){ if(code != 0 || processCode != 0){
return null; return null;
@ -122,14 +123,14 @@ public class ArcFaceHelper {
System.out.println("3D信息" + face3DAngleList + "3D信息提取码" + face3dCode); System.out.println("3D信息" + face3DAngleList + "3D信息提取码" + face3dCode);
unInintEngine(); unInintEngine();
return result; return result;
} }
public static void unInintEngine() { public static void unInintEngine() {
int code = faceEngine.unInit(); int code = faceEngine.unInit();
System.out.println("销毁引擎:" + code); System.out.println("销毁引擎:" + code);
} }
public static ImageInfo getRGBData(File file) { public static ImageInfo getRGBData(File file) {
if (file == null){ if (file == null){
return null; return null;
} }
@ -163,17 +164,17 @@ public class ArcFaceHelper {
//进行数据格式化为可用数据 //进行数据格式化为可用数据
BufferedImage dstImage = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_3BYTE_BGR); BufferedImage dstImage = new BufferedImage(image.getWidth(), image.getHeight(), BufferedImage.TYPE_3BYTE_BGR);
try { try {
if (resultImage.getType() != BufferedImage.TYPE_3BYTE_BGR) { if (resultImage.getType() != BufferedImage.TYPE_3BYTE_BGR) {
ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_LINEAR_RGB); ColorSpace cs = ColorSpace.getInstance(ColorSpace.CS_LINEAR_RGB);
ColorConvertOp colorConvertOp = new ColorConvertOp(cs, dstImage.createGraphics().getRenderingHints()); ColorConvertOp colorConvertOp = new ColorConvertOp(cs, dstImage.createGraphics().getRenderingHints());
colorConvertOp.filter(resultImage, dstImage); colorConvertOp.filter(resultImage, dstImage);
} else { } else {
dstImage = resultImage; dstImage = resultImage;
} }
} catch (Exception e) { } catch (Exception e) {
// TODO: handle exception // TODO: handle exception
System.err.println(e.toString()); System.err.println(e.toString());
} }
//获取rgb数据 //获取rgb数据
imageInfo.setRgbData(((DataBufferByte) (dstImage.getRaster().getDataBuffer())).getData()); imageInfo.setRgbData(((DataBufferByte) (dstImage.getRaster().getDataBuffer())).getData());

View File

@ -83,6 +83,16 @@ public class PersonTrainServiceImpl implements PersonTrainService {
personComprehensiveDao.updateRedPersonData(id); personComprehensiveDao.updateRedPersonData(id);
} }
} }
//判断分数是否为空 20250207
if (StringUtils.isNull(bean.getCompanyExamScore())){
bean.setCompanyExamScore(0);
}
if (StringUtils.isNull(bean.getDeptExamScore())){
bean.setDeptExamScore(0);
}
if (StringUtils.isNull(bean.getTeamExamScore())){
bean.setTeamExamScore(0);
}
dao.updateWorkerLight(bean); dao.updateWorkerLight(bean);
return i > 0 ? R.ok(Constants.INSERT_SUCCESS) : R.fail(Constants.INSERT_FAIL); return i > 0 ? R.ok(Constants.INSERT_SUCCESS) : R.fail(Constants.INSERT_FAIL);
} }
@ -152,12 +162,8 @@ public class PersonTrainServiceImpl implements PersonTrainService {
private void getLight(PersonTrainBean o) { private void getLight(PersonTrainBean o) {
String light = "0"; String light = "0";
if (o.getCompanyExamScore() != null && if (o.getCompanyExamScore() != null && o.getDeptExamScore() != null && o.getTeamExamScore() != null) {
o.getDeptExamScore() != null && if (o.getCompanyExamScore() >= 80 && o.getDeptExamScore() >= 80 && o.getTeamExamScore() >= 80) {
o.getTeamExamScore() != null) {
if (o.getCompanyExamScore() >= 80 &&
o.getDeptExamScore() >= 80 &&
o.getTeamExamScore() >= 80) {
light = "1"; light = "1";
o.setIsPass("1"); o.setIsPass("1");
if (StringUtils.isNotEmpty(o.getTeamId()) && if (StringUtils.isNotEmpty(o.getTeamId()) &&

View File

@ -1,38 +1,40 @@
let upload let upload;
var teamAndProChooseSwitch = true var teamAndProChooseSwitch = true;
var uploadWageCardSwitch = true var uploadWageCardSwitch = true;
var uploadContractSwitch = true var uploadContractSwitch = true;
var createUserSwitch = true var createUserSwitch = true;
var uploadNum = 3 var uploadNum = 3;
let einStatus, subId, attendanceMachine; let einStatus, subId, attendanceMachine;
layui.use(['form', 'laydate', 'upload', 'element'], function () { layui.use(["form", "laydate", "upload", "element"], function () {
let form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功 let form = layui.form; //只有执行了这一步,部分表单元素才会自动修饰成功
let laydate = layui.laydate; let laydate = layui.laydate;
var element = layui.element; var element = layui.element;
upload = layui.upload; upload = layui.upload;
form.render(); form.render();
form.verify( form.verify({
{ name: [/^[\u4e00-\u9fa5_a-zA-Z0-9_]{2,50}$/, "请输入2-50中英文字符"],
name: [/^[\u4e00-\u9fa5_a-zA-Z0-9_]{2,50}$/, '请输入2-50中英文字符'], idNumber: [
idNumber: [/^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/, '请正确输入身份证'], /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/,
phone: [/^1[3456789]\d{9}$/, '请输入11位手机号码'], "请正确输入身份证",
bankCard: [/(^$)|^[0-9]\d{1,50}$/, '请输入正确银行卡号'], ],
urgentPersonPhone: [/(^$)|^1[3456789]\d{9}$/, '请输入11位手机号码'], phone: [/^1[3456789]\d{9}$/, "请输入11位手机号码"],
} bankCard: [/(^$)|^[0-9]\d{1,50}$/, "请输入正确银行卡号"],
); urgentPersonPhone: [/(^$)|^1[3456789]\d{9}$/, "请输入11位手机号码"],
});
var minListDate = '1990-01-01';//最小可选时间1990-02-01 var minListDate = "1990-01-01"; //最小可选时间1990-02-01
var maxListDate = '2200-12-31';//最大可选时间2200-12-31 var maxListDate = "2200-12-31"; //最大可选时间2200-12-31
var begin = "#signDate", end = "#expiryDate";//开始时间选择框、结束时间选择框:文本框 var begin = "#signDate",
end = "#expiryDate"; //开始时间选择框、结束时间选择框:文本框
var endChange = function (val, date) { var endChange = function (val, date) {
if (date && date.year) if (date && date.year)
signDate.config.max = { signDate.config.max = {
year: date.year, year: date.year,
month: date.month - 1,//必须减1才是正确值 month: date.month - 1, //必须减1才是正确值
date: date.date, date: date.date,
hours: date.hours, hours: date.hours,
minutes: date.minutes, minutes: date.minutes,
seconds: date.seconds seconds: date.seconds,
}; };
else { else {
var dateInit = new Date(maxListDate.replace(/-/g, "/")); var dateInit = new Date(maxListDate.replace(/-/g, "/"));
@ -42,7 +44,7 @@ layui.use(['form', 'laydate', 'upload', 'element'], function () {
date: dateInit.getDate(), date: dateInit.getDate(),
hours: dateInit.getHours(), hours: dateInit.getHours(),
minutes: dateInit.getMinutes(), minutes: dateInit.getMinutes(),
seconds: dateInit.getSeconds() seconds: dateInit.getSeconds(),
}; };
} }
}; };
@ -52,44 +54,45 @@ layui.use(['form', 'laydate', 'upload', 'element'], function () {
year: date.year, year: date.year,
month: date.month - 1, month: date.month - 1,
date: date.date, date: date.date,
hours: date.hours hours: date.hours,
}; };
else { else {
var dateInit = new Date(minListDate.replace(/-/g, "/")); var dateInit = new Date(minListDate.replace(/-/g, "/"));
expiryDate.config.min = { expiryDate.config.min = {
year: dateInit.getFullYear(), year: dateInit.getFullYear(),
month: dateInit.getMonth(), month: dateInit.getMonth(),
date: dateInit.getDate() date: dateInit.getDate(),
}; };
} }
}; };
var expiryDate = laydate.render({ var expiryDate = laydate.render({
elem: end, elem: end,
trigger:"click", trigger: "click",
format: 'yyyy-MM-dd', format: "yyyy-MM-dd",
min: minListDate, min: minListDate,
max: maxListDate, max: maxListDate,
done: endChange done: endChange,
}); });
var signDate = laydate.render({ var signDate = laydate.render({
elem: begin, elem: begin,
trigger:"click", trigger: "click",
format: 'yyyy-MM-dd', format: "yyyy-MM-dd",
min: minListDate, min: minListDate,
max: maxListDate, max: maxListDate,
done: beginChange done: beginChange,
}); });
var begin = "#contractStartTime", end = "#contractEndTime";//开始时间选择框、结束时间选择框:文本框 var begin = "#contractStartTime",
end = "#contractEndTime"; //开始时间选择框、结束时间选择框:文本框
var contractEnd = function (val, date) { var contractEnd = function (val, date) {
if (date && date.year) if (date && date.year)
contractEndDate.config.max = { contractEndDate.config.max = {
year: date.year, year: date.year,
month: date.month - 1,//必须减1才是正确值 month: date.month - 1, //必须减1才是正确值
date: date.date, date: date.date,
hours: date.hours, hours: date.hours,
minutes: date.minutes, minutes: date.minutes,
seconds: date.seconds seconds: date.seconds,
}; };
else { else {
var dateInit = new Date(maxListDate.replace(/-/g, "/")); var dateInit = new Date(maxListDate.replace(/-/g, "/"));
@ -99,7 +102,7 @@ layui.use(['form', 'laydate', 'upload', 'element'], function () {
date: dateInit.getDate(), date: dateInit.getDate(),
hours: dateInit.getHours(), hours: dateInit.getHours(),
minutes: dateInit.getMinutes(), minutes: dateInit.getMinutes(),
seconds: dateInit.getSeconds() seconds: dateInit.getSeconds(),
}; };
} }
}; };
@ -109,58 +112,58 @@ layui.use(['form', 'laydate', 'upload', 'element'], function () {
year: date.year, year: date.year,
month: date.month - 1, month: date.month - 1,
date: date.date, date: date.date,
hours: date.hours hours: date.hours,
}; };
else { else {
var dateInit = new Date(minListDate.replace(/-/g, "/")); var dateInit = new Date(minListDate.replace(/-/g, "/"));
contractStartDate.config.min = { contractStartDate.config.min = {
year: dateInit.getFullYear(), year: dateInit.getFullYear(),
month: dateInit.getMonth(), month: dateInit.getMonth(),
date: dateInit.getDate() date: dateInit.getDate(),
}; };
} }
}; };
var contractStartDate = laydate.render({ var contractStartDate = laydate.render({
elem: end, elem: end,
trigger:"click", trigger: "click",
format: 'yyyy-MM-dd', format: "yyyy-MM-dd",
min: minListDate, min: minListDate,
max: maxListDate, max: maxListDate,
done: contractEnd done: contractEnd,
}); });
var contractEndDate = laydate.render({ var contractEndDate = laydate.render({
elem: begin, elem: begin,
trigger:"click", trigger: "click",
format: 'yyyy-MM-dd', format: "yyyy-MM-dd",
min: minListDate, min: minListDate,
max: maxListDate, max: maxListDate,
done: contractStart done: contractStart,
}); });
form.on('select(employmentType)', function (data) { form.on("select(employmentType)", function (data) {
employmentTypeChange(data.value); employmentTypeChange(data.value);
}); });
form.on('select(proId)', function (data) { form.on("select(proId)", function (data) {
proChange(data.value); proChange(data.value);
}); });
}); });
function proChange(value){ function proChange(value) {
getSubByProId(value); getSubByProId(value);
} }
function employmentTypeChange(value) { function employmentTypeChange(value) {
if(value === '0'){ if (value === "0") {
$('#socialSecurityModule').css('display', 'none'); $("#socialSecurityModule").css("display", "none");
$('#subTeamModule').css('display', 'none'); $("#subTeamModule").css("display", "none");
$('#contractModule').css('display', 'none'); $("#contractModule").css("display", "none");
$('#wagesModule').css('display', 'none'); $("#wagesModule").css("display", "none");
}else{ } else {
$('#socialSecurityModule').css('display', ''); $("#socialSecurityModule").css("display", "");
$('#subTeamModule').css('display', ''); $("#subTeamModule").css("display", "");
$('#contractModule').css('display', ''); $("#contractModule").css("display", "");
$('#wagesModule').css('display', ''); $("#wagesModule").css("display", "");
} }
} }
@ -172,12 +175,15 @@ function openPdf() {
localStorage.setItem("filePaths", fileUrl + "/" + contractUrl); localStorage.setItem("filePaths", fileUrl + "/" + contractUrl);
localStorage.removeItem("fileTimes"); localStorage.removeItem("fileTimes");
localStorage.removeItem("fileNames"); localStorage.removeItem("fileNames");
var height = '525px'; var height = "525px";
var width = '800px'; var width = "800px";
var index = layer.open({ var index = layer.open({
title: ["查看", 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'], title: [
"查看",
"color:#3B70A1;background-color:#E8ECEB;font-size:20px",
],
type: 2, type: 2,
content: '../../publicFileView.html', content: "../../publicFileView.html",
area: [width, height], area: [width, height],
maxmin: false, maxmin: false,
}); });
@ -187,165 +193,215 @@ function openPdf() {
function setData(data) { function setData(data) {
attendanceMachine = getAttendanceMachineByProId(data.proId); attendanceMachine = getAttendanceMachineByProId(data.proId);
einStatus = data.einStatus; einStatus = data.einStatus;
if(data.einStatus === "1"){ if (data.einStatus === "1") {
$('#proId').attr('disabled','true'); $("#proId").attr("disabled", "true");
} }
$('#id').val(data.idNumber) $("#id").val(data.idNumber);
//基础信息 //基础信息
$('#name').val(data.name) //基础信息 姓名 $("#name").val(data.name); //基础信息 姓名
$('#idNumber').val(data.idNumber) //基础信息 身份证 $("#idNumber").val(data.idNumber); //基础信息 身份证
$('#sex').val(data.sex) //基础信息 性别 $("#sex").val(data.sex); //基础信息 性别
$('#birthday').val(data.birthday) //基础信息 出生日期 $("#birthday").val(data.birthday); //基础信息 出生日期
$('#ethnic').val(data.ethnic) //基础信息 民族 $("#ethnic").val(data.ethnic); //基础信息 民族
getHoliday(data.ethnic); getHoliday(data.ethnic);
$('#issueauthority').val(data.issueauthority) //基础信息 签发机关 $("#issueauthority").val(data.issueauthority); //基础信息 签发机关
$('#signDate').val(data.signDate) //基础信息 身份证生效日期 $("#signDate").val(data.signDate); //基础信息 身份证生效日期
$('#expiryDate').val(data.expiryDate) //基础信息 身份证失效效日期 $("#expiryDate").val(data.expiryDate); //基础信息 身份证失效效日期
$('#address').val(data.address) //基础信息 身份证住址 $("#address").val(data.address); //基础信息 身份证住址
showDictSelectToLayui("postId", "postType", true, data.postId); showDictSelectToLayui("postId", "postType", true, data.postId);
$('#postId').val(data.postId) //基础信息 工种 $("#postId").val(data.postId); //基础信息 工种
$('#phone').val(data.phone) //基础信息 手机号码 $("#phone").val(data.phone); //基础信息 手机号码
$('#socialSecurityNumber').val(data.socialSecurityNumber) //基础信息 社保号 $("#socialSecurityNumber").val(data.socialSecurityNumber); //基础信息 社保号
$('#socialSecurityUnit').val(data.socialSecurityUnit) //基础信息 社保单位 $("#socialSecurityUnit").val(data.socialSecurityUnit); //基础信息 社保单位
//社保图片 //社保图片
var socialSecurityPath = []; var socialSecurityPath = [];
if(data.socialSecurityPath != null){ if (data.socialSecurityPath != null) {
socialSecurityPath = NoNull(data.socialSecurityPath).split(',') socialSecurityPath = NoNull(data.socialSecurityPath).split(",");
} }
var htmlProve = '' var htmlProve = "";
for (var i = 0; i < socialSecurityPath.length; i++) { for (var i = 0; i < socialSecurityPath.length; i++) {
htmlProve += '<div id="' + i + '" style="display: inline-block;text-align: center;width:150px">' htmlProve +=
htmlProve += '<img src="' + (fileUrl +"/"+ socialSecurityPath[i]) + '" alt="" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">' '<div id="' +
i +
'" style="display: inline-block;text-align: center;width:150px">';
htmlProve +=
'<img src="' +
(fileUrl + "/" + socialSecurityPath[i]) +
'" alt="" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">';
// htmlProve += '<div><span>' + (socialSecurityUnit[i].length > 8 ? (socialSecurityUnit[i].substr(0, 8) + "..") : socialSecurityUnit[i]) + '</span></div>' // htmlProve += '<div><span>' + (socialSecurityUnit[i].length > 8 ? (socialSecurityUnit[i].substr(0, 8) + "..") : socialSecurityUnit[i]) + '</span></div>'
htmlProve += '</div>' htmlProve += "</div>";
} }
$('#demoProve').append(htmlProve); $("#demoProve").append(htmlProve);
$('#bankName').val(data.bankName) //基础信息 银行名称 $("#bankName").val(data.bankName); //基础信息 银行名称
$('#bankCard').val(data.bankCard) //基础信息 银行卡号 $("#bankCard").val(data.bankCard); //基础信息 银行卡号
let img = document.getElementById("face_img"); let img = document.getElementById("face_img");
img.src = fileUrl + "/" + data.facePhoto; img.src = fileUrl + "/" + data.facePhoto;
$('#personType').val(data.personType) //基础信息 人员类型 $("#personType").val(data.personType); //基础信息 人员类型
$('#workerSkill').val(data.workerSkill) //基础信息 工人技能 $("#workerSkill").val(data.workerSkill); //基础信息 工人技能
$('#urgentPerson').val(data.urgentPerson) //基础信息 紧急联系人 $("#urgentPerson").val(data.urgentPerson); //基础信息 紧急联系人
$('#urgentPersonPhone').val(data.urgentPersonPhone) //基础信息 紧急联系人电话 $("#urgentPersonPhone").val(data.urgentPersonPhone); //基础信息 紧急联系人电话
$('#politicalOutlook').val(data.politicalOutlook) //基础信息 政治面貌 $("#politicalOutlook").val(data.politicalOutlook); //基础信息 政治面貌
$('#cultrue').val(data.cultrue) //基础信息 文化程度 $("#cultrue").val(data.cultrue); //基础信息 文化程度
$('#importantPerson').val(data.importantPerson) //基础信息 重要人员 $("#importantPerson").val(data.importantPerson); //基础信息 重要人员
$('#addressPhone').val(data.addressPhone) //基础信息 家庭电话 $("#addressPhone").val(data.addressPhone); //基础信息 家庭电话
//班组、工程选择 //班组、工程选择
$('#fallProject').val(data.proName) //班组、工程选择 所属工程 $("#fallProject").val(data.proName); //班组、工程选择 所属工程
if(data.isRegularPerson === '' || data.isRegularPerson === null){ if (data.isRegularPerson === "" || data.isRegularPerson === null) {
$('#teamRegularSwitch').val(0); $("#teamRegularSwitch").val(0);
}else{ } else {
$('#teamRegularSwitch').val(data.isRegularPerson);//班组、工程选择 是否为班组固定人员 $("#teamRegularSwitch").val(data.isRegularPerson); //班组、工程选择 是否为班组固定人员
} }
$('#isForeman').val(data.isForeman); $("#isForeman").val(data.isForeman);
//上传工资卡 //上传工资卡
//工资卡 //工资卡
var wageCardPath = []; var wageCardPath = [];
if(data.wageCardPath != null){ if (data.wageCardPath != null) {
wageCardPath = NoNull(data.wageCardPath).split(',') wageCardPath = NoNull(data.wageCardPath).split(",");
} }
var htmlCardPath = '' var htmlCardPath = "";
for (var i = 0; i < wageCardPath.length; i++) { for (var i = 0; i < wageCardPath.length; i++) {
htmlCardPath += '<div id="' + i + '" style="display: inline-block;text-align: center;width:150px">' htmlCardPath +=
htmlCardPath += '<img src="' + (fileUrl +"/"+ wageCardPath[i]) + '" alt="" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">' '<div id="' +
i +
'" style="display: inline-block;text-align: center;width:150px">';
htmlCardPath +=
'<img src="' +
(fileUrl + "/" + wageCardPath[i]) +
'" alt="" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">';
// htmlCardPath += '<div><span>' + (socialSecurityUnit[i].length > 8 ? (socialSecurityUnit[i].substr(0, 8) + "..") : socialSecurityUnit[i]) + '</span></div>' // htmlCardPath += '<div><span>' + (socialSecurityUnit[i].length > 8 ? (socialSecurityUnit[i].substr(0, 8) + "..") : socialSecurityUnit[i]) + '</span></div>'
htmlCardPath += '</div>' htmlCardPath += "</div>";
} }
$('#demoWageCard').append(htmlCardPath); $("#demoWageCard").append(htmlCardPath);
$('#bankName2').val(data.wageBankName) //上传工资卡 银行名称 $("#bankName2").val(data.wageBankName); //上传工资卡 银行名称
$('#bankCard2').val(data.wageBankCard) //上传工资卡 银行卡号 $("#bankCard2").val(data.wageBankCard); //上传工资卡 银行卡号
$('#subBranch').val(data.wageBankSubBranchName) //上传工资卡 银行支行名称 $("#subBranch").val(data.wageBankSubBranchName); //上传工资卡 银行支行名称
//上传合同 //上传合同
//Contract //Contract
//合同卡 //合同卡
if(data.contractType == '纸质合同' || data.contractType == null) { if (data.contractType == "纸质合同" || data.contractType == null) {
var contractPath = []; var contractPath = [];
if (data.contractPath != null) { if (data.contractPath != null) {
contractPath = data.contractPath.split(',') contractPath = data.contractPath.split(",");
} }
var htmlContract = '' var htmlContract = "";
for (var i = 0; i < contractPath.length; i++) { for (var i = 0; i < contractPath.length; i++) {
let path = fileUrl +"/"+ contractPath[i]; let path = fileUrl + "/" + contractPath[i];
if(contractPath[i].lastIndexOf(".pdf") > 0){ if (contractPath[i].lastIndexOf(".pdf") > 0) {
path = "../../../../img/filetype/pdf.png"; path = "../../../../img/filetype/pdf.png";
} }
htmlContract += '<div id="' + i + '" onclick="onclickPdf(\''+ contractPath[i] +'\')" style="display: inline-block;text-align: center;width:150px">' htmlContract +=
htmlContract += '<img src="' + (path) + '" alt="" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">' '<div id="' +
htmlContract += '</div>' i +
'" onclick="onclickPdf(\'' +
contractPath[i] +
'\')" style="display: inline-block;text-align: center;width:150px">';
htmlContract +=
'<img src="' +
path +
'" alt="" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">';
htmlContract += "</div>";
} }
$('#demoContract').append(htmlContract); $("#demoContract").append(htmlContract);
$('#contractRef').val(data.contractCode) //上传合同 合同编号 $("#contractRef").val(data.contractCode); //上传合同 合同编号
$('#contractTermType').val(data.laborContractType) //上传合同 合同期限类型 $("#contractTermType").val(data.laborContractType); //上传合同 合同期限类型
$('#contractStartTime').val(data.contractValidDate) //上传合同 合同签订日期 $("#contractStartTime").val(data.contractValidDate); //上传合同 合同签订日期
$('#contractEndTime').val(data.contractInvalidDate) //上传合同 合同终止日期 $("#contractEndTime").val(data.contractInvalidDate); //上传合同 合同终止日期
$('#salaryApprovalMode').val(data.wageApprovedWay) //上传合同 工资核定方式 $("#salaryApprovalMode").val(data.wageApprovedWay); //上传合同 工资核定方式
$('#salaryApprovalStandard').val(data.wageCriterion) //上传合同 工资核定标准 $("#salaryApprovalStandard").val(data.wageCriterion); //上传合同 工资核定标准
$('#personRole').val(data.role) //上传合同 人员角色 $("#personRole").val(data.role); //上传合同 人员角色
$('#contractType').val(data.contractType) //上传合同 合同类型 $("#contractType").val(data.contractType); //上传合同 合同类型
$('#isHealthCare').val(data.miurInsurance) //上传合同 是否参加城乡居民医疗保险 $("#isHealthCare").val(data.miurInsurance); //上传合同 是否参加城乡居民医疗保险
$('#isRetirement').val(data.endowmentInsurance) //上传合同 是否参加城乡居民养老保险 $("#isRetirement").val(data.endowmentInsurance); //上传合同 是否参加城乡居民养老保险
$('#isJob').val(data.whetherOnJob) //上传合同 是否在职 $("#isJob").val(data.whetherOnJob); //上传合同 是否在职
}else{ } else {
$('#contractModule').css('display', 'none'); $("#contractModule").css("display", "none");
$('#electronicContractModule').css('display', ''); $("#electronicContractModule").css("display", "");
contractUrl = data.contractUrl; contractUrl = data.contractUrl;
} }
$('#employmentType').val(data.employmentType); $("#employmentType").val(data.employmentType);
$('#employmentTypes').val(data.employmentTypes); $("#employmentTypes").val(data.employmentTypes);
employmentTypeChange(data.employmentType); employmentTypeChange(data.employmentType);
getProByOrgId('', '', data.proId); getProByOrgId("", "", data.proId);
$('#proId').val(data.proId); $("#proId").val(data.proId);
proChange(data.proId); proChange(data.proId);
subId = data.subId; subId = data.subId;
if(subId !== '' && subId !== null){ if (subId !== "" && subId !== null) {
$('#subId').attr('disabled','true'); $("#subId").attr("disabled", "true");
} }
if(data.teamId !== '' && data.teamId !== null){ if (data.teamId !== "" && data.teamId !== null) {
$('#teamId').attr('disabled','true'); $("#teamId").attr("disabled", "true");
} }
getSubByProId(data.proId, data.subId); getSubByProId(data.proId, data.subId);
// getSub(data.subId)//班组、工程选择 所属分包 // getSub(data.subId)//班组、工程选择 所属分包
getTeamBySubId(data.subId,data.teamId) //班组、工程选择 所属班组 getTeamBySubId(data.subId, data.teamId); //班组、工程选择 所属班组
getTeamBySubIdToData(data.subId,data.teamId); getTeamBySubIdToData(data.subId, data.teamId);
let companyExamFilePath = data.companyExamFilePath; let companyExamFilePath = data.companyExamFilePath;
let deptExamFilePath = data.deptExamFilePath; let deptExamFilePath = data.deptExamFilePath;
let teamExamFilePath = data.teamExamFilePath; let teamExamFilePath = data.teamExamFilePath;
$('#companyExamScore').val(data.companyExamScore); $("#companyExamScore").val(data.companyExamScore);
$('#deptExamScore').val(data.deptExamScore); $("#deptExamScore").val(data.deptExamScore);
$('#teamExamScore').val(data.teamExamScore); $("#teamExamScore").val(data.teamExamScore);
if(companyExamFilePath !== null && companyExamFilePath !== '' && companyExamFilePath !== 'null'){ if (
$('#companyExamTestProve').css("display","none"); companyExamFilePath !== null &&
var htmlCompany = '' companyExamFilePath !== "" &&
htmlCompany += '<div id="' + i + '" style="display: inline-block;text-align: center;width:150px">' companyExamFilePath !== "null"
htmlCompany += '<img src="' + (fileUrl +"/"+ data.teamExamFilePath) + '" alt="" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">' ) {
htmlCompany += '</div>' $("#companyExamTestProve").css("display", "none");
$('#companyExamDemoProve').append(htmlCompany); var htmlCompany = "";
htmlCompany +=
'<div id="' +
i +
'" style="display: inline-block;text-align: center;width:150px">';
htmlCompany +=
'<img src="' +
(fileUrl + "/" + data.companyExamFilePath) +
'" alt="" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">';
htmlCompany += "</div>";
$("#companyExamDemoProve").append(htmlCompany);
} }
if(deptExamFilePath !== null && deptExamFilePath !== '' && deptExamFilePath !== 'null'){ if (
$('#deptExamTestProve').css("display","none"); deptExamFilePath !== null &&
var htmlDept = '' deptExamFilePath !== "" &&
htmlDept += '<div id="' + i + '" style="display: inline-block;text-align: center;width:150px">' deptExamFilePath !== "null"
htmlDept += '<img src="' + (fileUrl +"/"+ data.deptExamFilePath) + '" alt="" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">' ) {
htmlDept += '</div>' $("#deptExamTestProve").css("display", "none");
$('#deptExamDemoProve').append(htmlDept); var htmlDept = "";
htmlDept +=
'<div id="' +
i +
'" style="display: inline-block;text-align: center;width:150px">';
htmlDept +=
'<img src="' +
(fileUrl + "/" + data.deptExamFilePath) +
'" alt="" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">';
htmlDept += "</div>";
$("#deptExamDemoProve").append(htmlDept);
} }
if(teamExamFilePath !== null && teamExamFilePath !== '' && teamExamFilePath !== 'null'){ if (
$('#teamExamTestProve').css("display","none"); teamExamFilePath !== null &&
var htmlTeam = '' teamExamFilePath !== "" &&
htmlTeam += '<div id="' + i + '" style="display: inline-block;text-align: center;width:150px">' teamExamFilePath !== "null"
htmlTeam += '<img src="' + (fileUrl +"/"+ data.teamExamFilePath) + '" alt="" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">' ) {
htmlTeam += '</div>' $("#teamExamTestProve").css("display", "none");
$('#teamExamDemoProve').append(htmlTeam); var htmlTeam = "";
htmlTeam +=
'<div id="' +
i +
'" style="display: inline-block;text-align: center;width:150px">';
htmlTeam +=
'<img src="' +
(fileUrl + "/" + data.teamExamFilePath) +
'" alt="" style="height: 80px;width: 80px;margin-right: 10px" class="layui-upload-img ">';
htmlTeam += "</div>";
$("#teamExamDemoProve").append(htmlTeam);
} }
@ -373,15 +429,15 @@ function reloading() {
window.parent.location.reload(); window.parent.location.reload();
} }
function getHoliday(value){ function getHoliday(value) {
let holiday; let holiday;
$.ajax({ $.ajax({
type: 'POST', type: "POST",
async: false, // 默认异步true,false表示同步 async: false, // 默认异步true,false表示同步
url: ctxPath + "/personComprehensive/getHolidaysList", // 请求地址 url: ctxPath + "/personComprehensive/getHolidaysList", // 请求地址
dataType: 'json', // 服务器返回数据类型 dataType: "json", // 服务器返回数据类型
data: { data: {
nation: value nation: value,
}, //获取提交的表单字段 }, //获取提交的表单字段
success: function (data) { success: function (data) {
let values = []; let values = [];
@ -389,65 +445,61 @@ function getHoliday(value){
let resultObj = data.data; let resultObj = data.data;
for (let i = 0; i < resultObj.length; i++) { for (let i = 0; i < resultObj.length; i++) {
let obj = { let obj = {
name : resultObj[i], name: resultObj[i],
value : resultObj[i], value: resultObj[i],
selected : true selected: true,
}; };
values.push(obj); values.push(obj);
} }
} else { } else {
} }
holiday = xmSelect.render({ holiday = xmSelect.render({
el: '#holidays', el: "#holidays",
language: 'zn', language: "zn",
data: values data: values,
}); });
}, },
error: function (XMLHttpRequest, textStatus, e) { error: function (XMLHttpRequest, textStatus, e) {
layer.close(loadingMsg); layer.close(loadingMsg);
layer.msg('数据请求发生异常,请稍后重试', {icon: 16, scrollbar: false}); layer.msg("数据请求发生异常,请稍后重试", {
} icon: 16,
scrollbar: false,
});
},
}); });
} }
//创建班组 //创建班组
function createTeam(){ function createTeam() {}
}
//刷新班组下拉表 //刷新班组下拉表
function refreshTeamSelect(){ function refreshTeamSelect() {}
}
//下一步 //下一步
function nextClick(e){ function nextClick(e) {
$('form>div:gt(1)').css('display','none') $("form>div:gt(1)").css("display", "none");
$(e).parent().parent().parent().next().css('display','') $(e).parent().parent().parent().next().css("display", "");
} }
//上一步 //上一步
function prevClick(e){ function prevClick(e) {
$('form>div:gt(1)').css('display','none') $("form>div:gt(1)").css("display", "none");
$(e).parent().parent().parent().prev().css('display','') $(e).parent().parent().parent().prev().css("display", "");
} }
function getTeamBySubIdToData(subId,teamId) { function getTeamBySubIdToData(subId, teamId) {
$.ajax({ $.ajax({
type: 'get', type: "get",
url: systemPath + '/select/getTeamBySubId', url: systemPath + "/select/getTeamBySubId",
data: { data: {
subId: subId subId: subId,
}, },
async: false, async: false,
success: function (data) { success: function (data) {
if(data.code == 200){ if (data.code == 200) {
let resultObj = data.data; let resultObj = data.data;
for (let i = 0; i < resultObj.length; i++) { for (let i = 0; i < resultObj.length; i++) {
if (teamId == resultObj[i].id) { if (teamId == resultObj[i].id) {
$("#fallPro").val(resultObj[i].proName); $("#fallPro").val(resultObj[i].proName);
$("#fallContract").val(resultObj[i].subContractName); $("#fallContract").val(resultObj[i].subContractName);
} }
} }
} }
@ -455,12 +507,12 @@ function getTeamBySubIdToData(subId,teamId) {
}, },
error: function (err) { error: function (err) {
console.log("获取班组下拉列表出错:", err); console.log("获取班组下拉列表出错:", err);
} },
}); });
} }
function onclickPdf(url){ function onclickPdf(url) {
if(url.lastIndexOf(".pdf") > 0){ if (url.lastIndexOf(".pdf") > 0) {
openPdfView(url); openPdfView(url);
} }
} }
@ -469,12 +521,15 @@ function openPdfView(url) {
localStorage.setItem("filePaths", fileUrl + "/" + url); localStorage.setItem("filePaths", fileUrl + "/" + url);
localStorage.removeItem("fileTimes"); localStorage.removeItem("fileTimes");
localStorage.removeItem("fileNames"); localStorage.removeItem("fileNames");
var height = '425px'; var height = "425px";
var width = '800px'; var width = "800px";
var index = layer.open({ var index = layer.open({
title: ["查看", 'color:#3B70A1;background-color:#E8ECEB;font-size:20px'], title: [
"查看",
"color:#3B70A1;background-color:#E8ECEB;font-size:20px",
],
type: 2, type: 2,
content: '../../publicFileView.html', content: "../../publicFileView.html",
area: [width, height], area: [width, height],
maxmin: false, maxmin: false,
}); });

View File

@ -318,9 +318,9 @@ function completeClick(){
companyExamScore: companyExamScore, companyExamScore: companyExamScore,
deptExamScore: deptExamScore, deptExamScore: deptExamScore,
teamExamScore: teamExamScore, teamExamScore: teamExamScore,
companyExamFilePath: companyExamFilePath, companyExamFile: companyExamFilePath,
deptExamFilePath: deptExamFilePath, deptExamFile: deptExamFilePath,
teamExamFilePath: teamExamFilePath teamExamFile: teamExamFilePath
} }
addPerson(data) addPerson(data)
} }

View File

@ -469,7 +469,7 @@ public class LocalSysFileServiceImpl implements ISysFileService {
: R.fail(FaceStatusCodeReturn.faceStatusCodeReturn(Integer.parseInt(code))); : R.fail(FaceStatusCodeReturn.faceStatusCodeReturn(Integer.parseInt(code)));
} catch (Exception e) { } catch (Exception e) {
log.error("上传文件失败", e); log.error("上传文件失败", e);
return R.fail(e.getMessage()); return R.fail("人脸识别失败,请重试");
} }
} }

11
pom.xml
View File

@ -383,7 +383,16 @@
<password>nacos</password> <password>nacos</password>
</properties> </properties>
</profile> </profile>
<profile>
<id>lp_prod</id>
<properties>
<profiles.active>lp_prod</profiles.active>
<nacos.server>192.168.1.6:4412</nacos.server>
<name.space>lp_prod</name.space>
<username>nacos</username>
<password>nacos</password>
</properties>
</profile>
<!-- 可以添加更多环境配置 --> <!-- 可以添加更多环境配置 -->
</profiles> </profiles>