bug修改提交

This commit is contained in:
方亮 2025-08-27 16:41:25 +08:00
parent 21bcc2f4b9
commit 8fbd378710
14 changed files with 93 additions and 52 deletions

View File

@ -17,21 +17,21 @@
<dependencies>
<!-- <dependency>-->
<!-- <groupId>arcsoft</groupId>-->
<!-- <artifactId>arcsoft</artifactId>-->
<!-- <version>3.0</version>-->
<!-- <scope>system</scope>-->
<!-- <systemPath>${project.basedir}/lib/arcsoft-sdk-face-3.0.0.0-linux.jar</systemPath>-->
<!-- </dependency>-->
<dependency>
<groupId>arcsoft</groupId>
<artifactId>arcsoft</artifactId>
<version>3.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/arcsoft-sdk-face-lin.jar</systemPath>
</dependency>
<dependency>
<groupId>arcsoft</groupId>
<artifactId>arcsoft</artifactId>
<version>3.0</version>
<scope>system</scope>
<systemPath>${project.basedir}/lib/arcsoft-sdk-face-3.0.0.0.jar</systemPath>
</dependency>
<!-- <dependency>-->
<!-- <groupId>arcsoft</groupId>-->
<!-- <artifactId>arcsoft</artifactId>-->
<!-- <version>3.0</version>-->
<!-- <scope>system</scope>-->
<!-- <systemPath>${project.basedir}/lib/arcsoft-sdk-face-3.0.0.0.jar</systemPath>-->
<!-- </dependency>-->
<!-- SpringCloud Openfeign -->
<dependency>

View File

@ -21,6 +21,7 @@ import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
/**
* 失信人员
@ -112,10 +113,14 @@ public class BmWorkerBlackController extends BaseController {
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false), requiresPermissions = @RequiresPermissions("worker:black:import"))
@PostMapping("/workerBlackImport")
@SysLog(title = "失信人员导入", businessType = OperaType.IMPORT, logType = 0, module = "施工人员->红绿灯管理->失信人员管理", details = "失信人员导入")
public AjaxResult workerEinImport(MultipartFile file, boolean updateSupport) throws Exception {
public AjaxResult workerEinImport(@RequestParam(value = "file") MultipartFile file, boolean updateSupport) throws Exception {
try {
ExcelUtil<BmWorkerBlack> util = new ExcelUtil<>(BmWorkerBlack.class);
List<BmWorkerBlack> workerList = util.importExcel(file.getInputStream());
List<BmWorkerBlack> workerList = util.importExcel(file.getInputStream(),1);
boolean allNull = workerList.stream().allMatch(Objects::isNull);
if (allNull) {
return error("导入文件为空或字段不匹配");
}
String message = service.importWorkerBlack(workerList, updateSupport);
return success(message);
} catch (Exception e) {

View File

@ -33,6 +33,8 @@ import java.io.IOException;
import java.nio.file.Files;
import java.util.ArrayList;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
/**
* 人员入场
@ -208,10 +210,14 @@ public class PmWorkerController extends BaseController {
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("worker:ein:import"))
@PostMapping("/workerEinImport")
@SysLog(title = "人员信息导入", businessType = OperaType.IMPORT, logType = 0, module = "施工人员->红绿灯管理->入场管理", details = "人员信息导入")
public AjaxResult workerEinImport(MultipartFile file, boolean updateSupport) throws Exception {
public AjaxResult workerEinImport(@RequestParam(value = "file") MultipartFile file, boolean updateSupport) throws Exception {
try {
ExcelUtil<PmWorker> util = new ExcelUtil<>(PmWorker.class);
List<PmWorker> workerList = util.importExcel(file.getInputStream());
List<PmWorker> workerList = util.importExcel(file.getInputStream(),1);
boolean allNull = workerList.stream().allMatch(Objects::isNull);
if (allNull) {
return error("导入文件为空或字段不匹配");
}
String message = service.importWorker(workerList, updateSupport);
return success(message);
} catch (Exception e) {

View File

@ -1,16 +1,19 @@
package com.bonus.bmw.domain.vo;
import com.bonus.common.core.annotation.Excel;
import com.bonus.common.core.web.domain.BaseEntity;
import lombok.Data;
/**
* 人员黑名单失信人员
*/
@Data
public class BmWorkerBlack {
public class BmWorkerBlack extends BaseEntity {
private static final long serialVersionUID = 1L;
//用于excel导出的序号一列,不需要业务逻辑处理
@Excel(name = "序号", isSequence = true, type = Excel.Type.EXPORT,sort = 1)
@Excel(name = "序号", isSequence = true, type = Excel.Type.EXPORT, sort = 1)
int sequence;
/**
@ -62,13 +65,13 @@ public class BmWorkerBlack {
/**
* 开始时间
*/
@Excel(name = "开始时间", sort = 8)
@Excel(name = "开始日期", sort = 8)
private String startTime;
/**
* 结束时间
*/
@Excel(name = "结束时间", sort = 9)
@Excel(name = "结束日期", sort = 9)
private String endTime;
/**

View File

@ -95,7 +95,7 @@ public class PmWorker {
/**
* 入场状态 0未入场 1 已入场
*/
@Excel(name = "入场状态", type = Excel.Type.EXPORT, sort = 8,readConverterExp = "1=入场,0=未入场,2=未入")
@Excel(name = "入场状态", type = Excel.Type.EXPORT, sort = 8,readConverterExp = "1=入场,0=出场,2=出")
private Integer einStatus;
/**

View File

@ -110,4 +110,13 @@ public interface PmWorkerMapper {
* @return
*/
PmWorker getBlackWorkerByNumber(String idNumber);
/**
* 根据身份证查询人员手机号
*
* @param idNumber
* @param phone
* @return
*/
PmWorker getWorkerByPhone(String phone,String idNumber);
}

View File

@ -70,15 +70,20 @@ public class PmWorkerServiceImpl implements PmWorkerService{
@Override
@Transactional
public AjaxResult insert(PmWorker record,List<WebFileDto> fileMsg) throws Exception {
//是否失信人员名单
PmWorker worker2 = mapper.getBlackWorkerByNumber(record.getIdNumber());
if(worker2 != null && worker2.getName() != null){
return new AjaxResult(500, worker2.getName()+"施工人员在失信人员名单,无法入场");
}
// 添加员工时判断员工编号是否已存在
PmWorker worker = mapper.getWorkerByNumber(record.getIdNumber());
if(worker != null && worker.getId() != null){
return new AjaxResult(500, "施工人员身份证已存在,当前系统姓名为"+worker.getName()+"如果想入场请去修改数据即可");
}
//是否失信人员名单
PmWorker worker2 = mapper.getBlackWorkerByNumber(record.getIdNumber());
if(worker2 != null && worker2.getId() != null){
return new AjaxResult(500, worker2.getName()+"施工人员在失信人员名单,无法入场");
// 添加员工时判断员工编号是否已存在
PmWorker worker3 = mapper.getWorkerByPhone(record.getPhone(),record.getIdNumber());
if(worker3 != null && worker3.getName() != null){
return new AjaxResult(500, "注册的手机号已存在,手机号拥有者姓名为"+worker3.getName()+",请去确认手机号是否有误");
}
record.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName());
int insert = mapper.insert(record);
@ -169,9 +174,14 @@ public class PmWorkerServiceImpl implements PmWorkerService{
public AjaxResult updateByPrimaryKey(PmWorker record,List<WebFileDto> fileMsg) throws Exception {
//是否失信人员名单
PmWorker worker2 = mapper.getBlackWorkerByNumber(record.getIdNumber());
if(worker2 != null && worker2.getId() != null){
if(worker2 != null && worker2.getName() != null){
return new AjaxResult(500, worker2.getName()+"施工人员在失信人员名单,无法入场");
}
// 添加员工时判断员工编号是否已存在
PmWorker worker3 = mapper.getWorkerByPhone(record.getPhone(),record.getIdNumber());
if(worker3 != null && worker3.getName() != null){
return new AjaxResult(500, "注册的手机号已存在,手机号拥有者姓名为"+worker3.getName()+",请去确认手机号是否有误");
}
//更新基础数据
record.setUpdateUser(SecurityUtils.getLoginUser().getSysUser().getUserName());
int update = mapper.updateByPrimaryKey(record);

View File

@ -69,20 +69,17 @@
pp.id as pro_id,
pp.pro_name,
pp.pro_status,
ps.sub_name,
pst.id as team_id,
pst.team_name,
COUNT(DISTINCT bsc.sub_id) AS subNum,
COUNT(DISTINCT bstc.team_id) AS teamNum,
COUNT(DISTINCT bwem.worker_id) AS einNum,
COUNT(DISTINCT bap.worker_id) AS attNum
FROM
pm_project pp
LEFT JOIN bm_sub_contract bsc ON bsc.pro_id = pp.id
AND bsc.is_active = 1
LEFT JOIN pm_sub ps ON ps.id = bsc.sub_id
LEFT JOIN pm_sub_team_contract bstc ON bstc.sub_id = bsc.sub_id
AND bsc.pro_id = bstc.pro_id
AND bstc.is_active = 1
LEFT JOIN pm_sub_team pst ON pst.id = bstc.team_id
LEFT JOIN bm_worker_ein_day_record bwem ON pp.id = bwem.pro_id and bwem.ein_day = #{startDate}
LEFT JOIN bm_att_person bap ON bap.pro_id = pp.id AND bap.att_day = #{startDate}
WHERE
@ -95,7 +92,7 @@
AND pp.org_id = #{orgId}
</if>
GROUP BY
bstc.id
pp.id
</select>
<select id="getTeamAttList" resultMap="BaseResultMap">
@ -117,14 +114,13 @@
AND bsc.pro_id = bstc.pro_id
AND bstc.is_active = 1
LEFT JOIN pm_sub_team pst ON pst.id = bstc.team_id
<!-- LEFT JOIN bm_worker_ein_msg bwem ON pp.id = bwem.pro_id-->
LEFT JOIN bm_worker_ein_day_record bwem ON pp.id = bwem.pro_id and bwem.ein_day = #{startDate}
LEFT JOIN bm_att_person bap ON bap.pro_id = pp.id AND bap.att_day = #{startDate}
LEFT JOIN bm_worker_ein_day_record bwem ON pp.id = bwem.pro_id AND pst.id = bwem.team_id AND bwem.ein_day = #{startDate}
LEFT JOIN bm_att_person bap ON bap.pro_id = pp.id AND pst.id = bap.team_id AND bap.att_day = #{startDate}
WHERE
pp.id = #{proId}
AND pp.is_active = 1
GROUP BY
bstc.id
pst.id
</select>
<select id="getWorkerEinMsgListByDateRange" resultMap="BaseResultMap">
@ -148,7 +144,9 @@
WHERE ein_day &gt;= #{startDate}
AND ein_day &lt;= #{endDate}
and pro_id = #{proId}
and team_id = #{teamId}
<if test="teamId != null and teamId != ''">
and team_id = #{teamId}
</if>
GROUP BY worker_id
) latest ON bwedr.worker_id = latest.worker_id
AND bwedr.ein_day = latest.max_current_day

View File

@ -245,4 +245,20 @@
WHERE
bwb.id_number = #{idNumber} and bwb.is_remove = 0 and bwb.is_active = 1
</select>
<select id="getWorkerByPhone" resultMap="BaseResultMap">
SELECT
pw.id,
pw.`name`,
pw.phone
FROM
pm_worker pw
WHERE
pw.phone = #{phone} and pw.is_active = 1
<where>
<if test="idNumber != null and idNumber != ''">
AND pw.id_number != #{idNumber}
</if>
</where>
</select>
</mapper>

View File

@ -35,6 +35,7 @@
and bsc.pro_id = #{proId}
</if>
</where>
group by ps.id
</select>
<select id="selectTeam" resultType="com.bonus.bmw.domain.vo.MapBeanVo">

View File

@ -1,10 +1,3 @@
Spring Boot Version: ${spring-boot.version}
Spring Application Name: ${spring.application.name}
_ _
(_) | |
_ __ _ _ ___ _ _ _ ______ ___ _ _ ___ | |_ ___ _ __ ___
| '__|| | | | / _ \ | | | || ||______|/ __|| | | |/ __|| __| / _ \| '_ ` _ \
| | | |_| || (_) || |_| || | \__ \| |_| |\__ \| |_ | __/| | | | | |
|_| \__,_| \___/ \__, ||_| |___/ \__, ||___/ \__| \___||_| |_| |_|
__/ | __/ |
|___/ |___/
--------------------------------------------- bns-bmw ---------------------------------------------

View File

@ -7,15 +7,15 @@ spring:
cloud:
nacos:
username: nacos
password: Jjsp@nacos2023
password: nacos
discovery:
# 服务注册地址
server-addr: 127.0.0.1:18848
namespace: rela_name_system
server-addr: 192.168.0.14:8848
namespace: huadong_realname_local
config:
# 配置中心地址
server-addr: 127.0.0.1:18848
namespace: rela_name_system
server-addr: 192.168.0.14:8848
namespace: huadong_realname_local
# 配置文件格式
file-extension: yml
# 共享配置