考勤bug解决

This commit is contained in:
Administrator 2023-03-08 09:44:07 +08:00
parent c11143bd17
commit 567a611f44
4 changed files with 100 additions and 19 deletions

View File

@ -9,7 +9,10 @@ import lombok.extern.slf4j.Slf4j;
import org.apache.commons.collections.MapUtils;
import org.apache.commons.lang3.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
@ -118,8 +121,9 @@ public class UfaceCallbackController {
@ApiOperation(value = " 接收外部考勤数据", notes = "接收外部考勤数据", httpMethod="POST")
@PostMapping(value = "/addAttendanceData")
public String addAttendanceData(@RequestBody Map<String,Object> map) {
log.info("-------接收外部考勤数据识别回调------deviceSerial"+ MapUtils.getString(map,"deviceSerial")+"---personSerial"
+MapUtils.getString(map,"personSerial")+"--snapTime:"+MapUtils.getString(map,"snapTime"));
log.info("-------接收外部考勤数据识别回调------deviceSerial" + MapUtils.getString(map, "deviceSerial") + "---personSerial"
+ MapUtils.getString(map, "personSerial") + "--snapTime:" + MapUtils.getString(map, "snapTime"));
log.info("addAttendanceData接受参数{}", JSONObject.toJSONString(map));
workerAttendanceService.addAttendanceData(map);
String result = "{\"result\":1,\"success\":true}";
return result;

View File

@ -4,16 +4,16 @@ import com.arcsoft.face.FaceFeature;
import com.arcsoft.face.FaceInfo;
import com.arcsoft.face.toolkit.ImageInfo;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.zhgd.xmgl.modules.worker.entity.WorkerInfo;
import com.zhgd.xmgl.modules.worker.entity.WorkerPhotoFeatures;
import com.zhgd.xmgl.modules.worker.mapper.WorkerInfoMapper;
import com.zhgd.xmgl.modules.worker.mapper.WorkerPhotoFeaturesMapper;
import com.zhgd.xmgl.modules.worker.service.IWorkerPhotoFeaturesService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Service;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
@ -24,7 +24,7 @@ import static com.zhgd.xmgl.config.FaceRunner.faceEngine;
/**
* @Description: 人员现场采集照特征值
* @author pds
* @date 2021-07-13
* @date 2021-07-13
* @version V1.0
*/
@Service
@ -33,30 +33,32 @@ public class WorkerPhotoFeaturesServiceImpl extends ServiceImpl<WorkerPhotoFeatu
private WorkerPhotoFeaturesMapper workerPhotoFeaturesMapper;
@Value("${basePath}")
private String basePath;
@Autowired
private WorkerInfoMapper workerInfoMapper;
@Override
public void saveWorkerPhotoFeatures(WorkerInfo workerInfo) {
try {
QueryWrapper<WorkerPhotoFeatures> queryWrapper=new QueryWrapper<>();
queryWrapper.lambda().eq(WorkerPhotoFeatures::getPersonSn,workerInfo.getPersonSn());
WorkerPhotoFeatures workerPhotoFeatures=workerPhotoFeaturesMapper.selectOne(queryWrapper);
if(workerPhotoFeatures!=null){
if(!workerInfo.getFieldAcquisitionUrl().equals(workerPhotoFeatures.getImageUrl())){
if(workerInfo.getFieldAcquisitionUrl().startsWith("http")) {
QueryWrapper<WorkerPhotoFeatures> queryWrapper = new QueryWrapper<>();
queryWrapper.lambda().eq(WorkerPhotoFeatures::getPersonSn, workerInfo.getPersonSn());
WorkerPhotoFeatures workerPhotoFeatures = workerPhotoFeaturesMapper.selectOne(queryWrapper);
if (workerPhotoFeatures != null) {
if (!workerInfo.getFieldAcquisitionUrl().equals(workerPhotoFeatures.getImageUrl())) {
if (workerInfo.getFieldAcquisitionUrl().startsWith("http")) {
File infoFile = new File(basePath + "/" + workerInfo.getFieldAcquisitionUrl());
workerPhotoFeatures.setFeahongruan(getFaceFeaByhongruan(infoFile));
}
workerPhotoFeaturesMapper.updateById(workerPhotoFeatures);
}
}else{
WorkerPhotoFeatures tempWorkerPhotoFeatures=new WorkerPhotoFeatures();
} else {
WorkerPhotoFeatures tempWorkerPhotoFeatures = new WorkerPhotoFeatures();
tempWorkerPhotoFeatures.setPersonSn(workerInfo.getPersonSn());
tempWorkerPhotoFeatures.setImageUrl(workerInfo.getFieldAcquisitionUrl());
if(workerInfo.getFieldAcquisitionUrl().startsWith("http")) {
File infoFile = new File(basePath + "/" + workerInfo.getFieldAcquisitionUrl());
tempWorkerPhotoFeatures.setFeahongruan(getFaceFeaByhongruan(infoFile));
}
File infoFile = new File(basePath + "/" + workerInfo.getFieldAcquisitionUrl());
tempWorkerPhotoFeatures.setFeahongruan(getFaceFeaByhongruan(infoFile));
workerPhotoFeaturesMapper.insert(tempWorkerPhotoFeatures);
}
}catch (Exception e){
e.printStackTrace();

View File

@ -47,7 +47,10 @@ public class JxjUfaceUtil {
jsonObject.put("imageContent", basePath + workerInfo.getFieldAcquisitionUrl());
}
jsonObject.put("attendanceNumber", workerInfo.getAttendanceNumber());
String result = HttpUtil.post(projectUfaceConfig.getServiceUrl() + "/addOrUpdateWorkerInfo", jsonObject.toString());
String url = projectUfaceConfig.getServiceUrl() + "/addOrUpdateWorkerInfo";
String body = jsonObject.toString();
log.info("http添加人员结果addWorkerInfourl{}body{}", url, body);
String result = HttpUtil.post(url, body);
log.info("添加人员结果:" + result);
}

View File

@ -0,0 +1,72 @@
#\u5357\u660C\u5730\u94C1\u9879\u76EE\u914D\u7F6E\u6587\u4EF6
http.port=9091
spring.datasource.url=jdbc:mysql://127.0.0.1:3306/wisdomsite?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true&useSSL=false
#spring.datasource.url=jdbc:mysql://127.0.0.1:3306/wisdomsite?useUnicode=true&characterEncoding=utf-8&zeroDateTimeBehavior=convertToNull&autoReconnect=true
spring.datasource.username=ENC(XR4C/hvTYCUqudS49Wh/jA==)
spring.datasource.password=ENC(hHkiHEc6vSWjqfOtg2/2Uiihs0vX3l7V)
server.port=5038
basePath=C:/zhgd/itbgpImage/
server.tomcat.basedir=C:/zhgd/tempImage/
arcsoft.dllPath=C:/zhgd/dll
#basePath=C:/itbgpImage/
#server.tomcat.basedir=C:/tempImage/
#arcsoft.dllPath=C:/demo/wisdomSite/src/main/resources/dll
security.enable=true
isGetStandardData=false
isGetEnvironmentData=false
#\u5F55\u5165\u4EBA\u8138\u8BC6\u522B\u5B58\u50A8\u4EBA\u8138\u7279\u5F81
isGetFaceFeatureDate=true
#\u6D77\u5EB7\u89C6\u9891\u62A5\u8B66\u56FE\u7247IP\u7AEF\u53E3\u66FF\u6362
video.alarm.newUrl=
wx-appid=
wx-AppSecret=
mqtt-scope=schzqTopic
serverUrl=http://58.250.210.4:9090
#\u89C6\u9891\u5206\u6790url
video-analysis-url=
#\u9ED8\u8BA4\u653F\u52A1\u521B\u5EFA\u9879\u76EE\u6240\u5C5E\u4F01\u4E1A
defaultZwComapnySn=
#\u6587\u4EF6\u5B58\u50A8\u914D\u7F6E
#\u9ED8\u8BA4\u4F7F\u7528\u7684\u5B58\u50A8\u5E73\u53F0
spring.file-storage.default-platform=local
#".min.jpg" #\u7F29\u7565\u56FE\u540E\u7F00\uFF0C\u4F8B\u5982\u3010.min.jpg\u3011\u3010.png\u3011
spring.file-storage.thumbnail-suffix=.jpg
# \u672C\u5730\u5B58\u50A8\uFF0C\u4E0D\u4F7F\u7528\u7684\u60C5\u51B5\u4E0B\u53EF\u4EE5\u4E0D\u5199
# \u5B58\u50A8\u5E73\u53F0\u6807\u8BC6
spring.file-storage.local[0].platform=local
#\u542F\u7528\u5B58\u50A8
spring.file-storage.local[0].enable-storage=true
#\u542F\u7528\u8BBF\u95EE\uFF08\u7EBF\u4E0A\u8BF7\u4F7F\u7528 Nginx \u914D\u7F6E\uFF0C\u6548\u7387\u66F4\u9AD8\uFF09
spring.file-storage.local[0].enable-access=false
# \u8BBF\u95EE\u57DF\u540D\uFF0C\u4F8B\u5982\uFF1A\u201Chttp://127.0.0.1:6023/image/\u201D\uFF0C\u6CE8\u610F\u540E\u9762\u8981\u548C path-patterns \u4FDD\u6301\u4E00\u81F4\uFF0C\u201C/\u201D\u7ED3\u5C3E\uFF0C\u672C\u5730\u5B58\u50A8\u5EFA\u8BAE\u4F7F\u7528\u76F8\u5BF9\u8DEF\u5F84\uFF0C\u65B9\u4FBF\u540E\u671F\u66F4\u6362\u57DF\u540D
spring.file-storage.local[0].domain=
# \u5B58\u50A8\u5730\u5740
spring.file-storage.local[0].base-path=C:/zhgd/itbgpImage/
# \u8BBF\u95EE\u8DEF\u5F84\uFF0C\u5F00\u542F enable-access \u540E\uFF0C\u901A\u8FC7\u6B64\u8DEF\u5F84\u53EF\u4EE5\u8BBF\u95EE\u5230\u4E0A\u4F20\u7684\u6587\u4EF6
spring.file-storage.local[0].path-patterns=
spring.file-storage.aliyun-oss[0].platform=aliyun-oss
spring.file-storage.aliyun-oss[0].enable-storage=false
spring.file-storage.aliyun-oss[0].access-key=
spring.file-storage.aliyun-oss[0].secret-key=
spring.file-storage.aliyun-oss[0].end-point=
spring.file-storage.aliyun-oss[0].bucket-name=
# \u8BBF\u95EE\u57DF\u540D\uFF0C\u6CE8\u610F\u201C/\u201D\u7ED3\u5C3E\uFF0C\u4F8B\u5982\uFF1Ahttps://abc.oss-cn-shanghai.aliyuncs.com/
spring.file-storage.aliyun-oss[0].domain=
spring.file-storage.aliyun-oss[0].base-path=
#\u5BA2\u6237\u7AEF License\u76F8\u5173\u914D\u7F6E
license.licensePath=C:/zhgdy/sjjt/license/license.lic
license.publicKeysStorePath=C:/zhgdy/sjjt/license/publicCerts.keystore
# admin\u4E2D\u5BF9\u5E94\u7684\u5730\u5740\u53CA\u5B9E\u4F8B\u540D
spring.boot.admin.client.instance.service-url=http://localhost:7070
spring.boot.admin.client.instance.name=sjjt
# \u6C34\u7535\u6570\u636E\u63A8\u9001\u5730\u5740
double-carbon.water-data-url=https://solar.koyoe.com
double-carbon.ammeter-data-url=https://solar.koyoe.com