bug修改提交
This commit is contained in:
parent
21bcc2f4b9
commit
8fbd378710
Binary file not shown.
Binary file not shown.
|
|
@ -17,21 +17,21 @@
|
||||||
|
|
||||||
<dependencies>
|
<dependencies>
|
||||||
|
|
||||||
<!-- <dependency>-->
|
<dependency>
|
||||||
<!-- <groupId>arcsoft</groupId>-->
|
<groupId>arcsoft</groupId>
|
||||||
<!-- <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-lin.jar</systemPath>
|
||||||
<!-- </dependency>-->
|
</dependency>
|
||||||
|
|
||||||
<dependency>
|
<!-- <dependency>-->
|
||||||
<groupId>arcsoft</groupId>
|
<!-- <groupId>arcsoft</groupId>-->
|
||||||
<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.jar</systemPath>
|
<!-- <systemPath>${project.basedir}/lib/arcsoft-sdk-face-3.0.0.0.jar</systemPath>-->
|
||||||
</dependency>
|
<!-- </dependency>-->
|
||||||
|
|
||||||
<!-- SpringCloud Openfeign -->
|
<!-- SpringCloud Openfeign -->
|
||||||
<dependency>
|
<dependency>
|
||||||
|
|
|
||||||
|
|
@ -21,6 +21,7 @@ import org.springframework.web.multipart.MultipartFile;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
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"))
|
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false), requiresPermissions = @RequiresPermissions("worker:black:import"))
|
||||||
@PostMapping("/workerBlackImport")
|
@PostMapping("/workerBlackImport")
|
||||||
@SysLog(title = "失信人员导入", businessType = OperaType.IMPORT, logType = 0, module = "施工人员->红绿灯管理->失信人员管理", details = "失信人员导入")
|
@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 {
|
try {
|
||||||
ExcelUtil<BmWorkerBlack> util = new ExcelUtil<>(BmWorkerBlack.class);
|
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);
|
String message = service.importWorkerBlack(workerList, updateSupport);
|
||||||
return success(message);
|
return success(message);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
||||||
|
|
@ -33,6 +33,8 @@ import java.io.IOException;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
import java.util.List;
|
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"))
|
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth, requiresPermissions = @RequiresPermissions("worker:ein:import"))
|
||||||
@PostMapping("/workerEinImport")
|
@PostMapping("/workerEinImport")
|
||||||
@SysLog(title = "人员信息导入", businessType = OperaType.IMPORT, logType = 0, module = "施工人员->红绿灯管理->入场管理", details = "人员信息导入")
|
@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 {
|
try {
|
||||||
ExcelUtil<PmWorker> util = new ExcelUtil<>(PmWorker.class);
|
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);
|
String message = service.importWorker(workerList, updateSupport);
|
||||||
return success(message);
|
return success(message);
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
||||||
|
|
@ -1,16 +1,19 @@
|
||||||
package com.bonus.bmw.domain.vo;
|
package com.bonus.bmw.domain.vo;
|
||||||
|
|
||||||
import com.bonus.common.core.annotation.Excel;
|
import com.bonus.common.core.annotation.Excel;
|
||||||
|
import com.bonus.common.core.web.domain.BaseEntity;
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 人员黑名单(失信人员)
|
* 人员黑名单(失信人员)
|
||||||
*/
|
*/
|
||||||
@Data
|
@Data
|
||||||
public class BmWorkerBlack {
|
public class BmWorkerBlack extends BaseEntity {
|
||||||
|
|
||||||
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
//用于excel导出的序号一列,不需要业务逻辑处理
|
//用于excel导出的序号一列,不需要业务逻辑处理
|
||||||
@Excel(name = "序号", isSequence = true, type = Excel.Type.EXPORT,sort = 1)
|
@Excel(name = "序号", isSequence = true, type = Excel.Type.EXPORT, sort = 1)
|
||||||
int sequence;
|
int sequence;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -62,13 +65,13 @@ public class BmWorkerBlack {
|
||||||
/**
|
/**
|
||||||
* 开始时间
|
* 开始时间
|
||||||
*/
|
*/
|
||||||
@Excel(name = "开始时间", sort = 8)
|
@Excel(name = "开始日期", sort = 8)
|
||||||
private String startTime;
|
private String startTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 结束时间
|
* 结束时间
|
||||||
*/
|
*/
|
||||||
@Excel(name = "结束时间", sort = 9)
|
@Excel(name = "结束日期", sort = 9)
|
||||||
private String endTime;
|
private String endTime;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -95,7 +95,7 @@ public class PmWorker {
|
||||||
/**
|
/**
|
||||||
* 入场状态 0未入场 1 已入场
|
* 入场状态 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;
|
private Integer einStatus;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -110,4 +110,13 @@ public interface PmWorkerMapper {
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
PmWorker getBlackWorkerByNumber(String idNumber);
|
PmWorker getBlackWorkerByNumber(String idNumber);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据身份证查询人员手机号
|
||||||
|
*
|
||||||
|
* @param idNumber
|
||||||
|
* @param phone
|
||||||
|
* @return
|
||||||
|
*/
|
||||||
|
PmWorker getWorkerByPhone(String phone,String idNumber);
|
||||||
}
|
}
|
||||||
|
|
@ -70,15 +70,20 @@ public class PmWorkerServiceImpl implements PmWorkerService{
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public AjaxResult insert(PmWorker record,List<WebFileDto> fileMsg) throws Exception {
|
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());
|
PmWorker worker = mapper.getWorkerByNumber(record.getIdNumber());
|
||||||
if(worker != null && worker.getId() != null){
|
if(worker != null && worker.getId() != null){
|
||||||
return new AjaxResult(500, "施工人员身份证已存在,当前系统姓名为"+worker.getName()+"如果想入场请去修改数据即可");
|
return new AjaxResult(500, "施工人员身份证已存在,当前系统姓名为"+worker.getName()+"如果想入场请去修改数据即可");
|
||||||
}
|
}
|
||||||
//是否失信人员名单
|
// 添加员工时,判断员工编号是否已存在
|
||||||
PmWorker worker2 = mapper.getBlackWorkerByNumber(record.getIdNumber());
|
PmWorker worker3 = mapper.getWorkerByPhone(record.getPhone(),record.getIdNumber());
|
||||||
if(worker2 != null && worker2.getId() != null){
|
if(worker3 != null && worker3.getName() != null){
|
||||||
return new AjaxResult(500, worker2.getName()+"施工人员在失信人员名单,无法入场");
|
return new AjaxResult(500, "注册的手机号已存在,手机号拥有者姓名为"+worker3.getName()+",请去确认手机号是否有误");
|
||||||
}
|
}
|
||||||
record.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName());
|
record.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName());
|
||||||
int insert = mapper.insert(record);
|
int insert = mapper.insert(record);
|
||||||
|
|
@ -169,9 +174,14 @@ public class PmWorkerServiceImpl implements PmWorkerService{
|
||||||
public AjaxResult updateByPrimaryKey(PmWorker record,List<WebFileDto> fileMsg) throws Exception {
|
public AjaxResult updateByPrimaryKey(PmWorker record,List<WebFileDto> fileMsg) throws Exception {
|
||||||
//是否失信人员名单
|
//是否失信人员名单
|
||||||
PmWorker worker2 = mapper.getBlackWorkerByNumber(record.getIdNumber());
|
PmWorker worker2 = mapper.getBlackWorkerByNumber(record.getIdNumber());
|
||||||
if(worker2 != null && worker2.getId() != null){
|
if(worker2 != null && worker2.getName() != null){
|
||||||
return new AjaxResult(500, worker2.getName()+"施工人员在失信人员名单,无法入场");
|
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());
|
record.setUpdateUser(SecurityUtils.getLoginUser().getSysUser().getUserName());
|
||||||
int update = mapper.updateByPrimaryKey(record);
|
int update = mapper.updateByPrimaryKey(record);
|
||||||
|
|
|
||||||
|
|
@ -69,20 +69,17 @@
|
||||||
pp.id as pro_id,
|
pp.id as pro_id,
|
||||||
pp.pro_name,
|
pp.pro_name,
|
||||||
pp.pro_status,
|
pp.pro_status,
|
||||||
ps.sub_name,
|
COUNT(DISTINCT bsc.sub_id) AS subNum,
|
||||||
pst.id as team_id,
|
COUNT(DISTINCT bstc.team_id) AS teamNum,
|
||||||
pst.team_name,
|
|
||||||
COUNT(DISTINCT bwem.worker_id) AS einNum,
|
COUNT(DISTINCT bwem.worker_id) AS einNum,
|
||||||
COUNT(DISTINCT bap.worker_id) AS attNum
|
COUNT(DISTINCT bap.worker_id) AS attNum
|
||||||
FROM
|
FROM
|
||||||
pm_project pp
|
pm_project pp
|
||||||
LEFT JOIN bm_sub_contract bsc ON bsc.pro_id = pp.id
|
LEFT JOIN bm_sub_contract bsc ON bsc.pro_id = pp.id
|
||||||
AND bsc.is_active = 1
|
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
|
LEFT JOIN pm_sub_team_contract bstc ON bstc.sub_id = bsc.sub_id
|
||||||
AND bsc.pro_id = bstc.pro_id
|
AND bsc.pro_id = bstc.pro_id
|
||||||
AND bstc.is_active = 1
|
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_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_att_person bap ON bap.pro_id = pp.id AND bap.att_day = #{startDate}
|
||||||
WHERE
|
WHERE
|
||||||
|
|
@ -95,7 +92,7 @@
|
||||||
AND pp.org_id = #{orgId}
|
AND pp.org_id = #{orgId}
|
||||||
</if>
|
</if>
|
||||||
GROUP BY
|
GROUP BY
|
||||||
bstc.id
|
pp.id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getTeamAttList" resultMap="BaseResultMap">
|
<select id="getTeamAttList" resultMap="BaseResultMap">
|
||||||
|
|
@ -117,14 +114,13 @@
|
||||||
AND bsc.pro_id = bstc.pro_id
|
AND bsc.pro_id = bstc.pro_id
|
||||||
AND bstc.is_active = 1
|
AND bstc.is_active = 1
|
||||||
LEFT JOIN pm_sub_team pst ON pst.id = bstc.team_id
|
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 pst.id = bwem.team_id AND bwem.ein_day = #{startDate}
|
||||||
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 pst.id = bap.team_id AND bap.att_day = #{startDate}
|
||||||
LEFT JOIN bm_att_person bap ON bap.pro_id = pp.id AND bap.att_day = #{startDate}
|
|
||||||
WHERE
|
WHERE
|
||||||
pp.id = #{proId}
|
pp.id = #{proId}
|
||||||
AND pp.is_active = 1
|
AND pp.is_active = 1
|
||||||
GROUP BY
|
GROUP BY
|
||||||
bstc.id
|
pst.id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="getWorkerEinMsgListByDateRange" resultMap="BaseResultMap">
|
<select id="getWorkerEinMsgListByDateRange" resultMap="BaseResultMap">
|
||||||
|
|
@ -148,7 +144,9 @@
|
||||||
WHERE ein_day >= #{startDate}
|
WHERE ein_day >= #{startDate}
|
||||||
AND ein_day <= #{endDate}
|
AND ein_day <= #{endDate}
|
||||||
and pro_id = #{proId}
|
and pro_id = #{proId}
|
||||||
and team_id = #{teamId}
|
<if test="teamId != null and teamId != ''">
|
||||||
|
and team_id = #{teamId}
|
||||||
|
</if>
|
||||||
GROUP BY worker_id
|
GROUP BY worker_id
|
||||||
) latest ON bwedr.worker_id = latest.worker_id
|
) latest ON bwedr.worker_id = latest.worker_id
|
||||||
AND bwedr.ein_day = latest.max_current_day
|
AND bwedr.ein_day = latest.max_current_day
|
||||||
|
|
|
||||||
|
|
@ -245,4 +245,20 @@
|
||||||
WHERE
|
WHERE
|
||||||
bwb.id_number = #{idNumber} and bwb.is_remove = 0 and bwb.is_active = 1
|
bwb.id_number = #{idNumber} and bwb.is_remove = 0 and bwb.is_active = 1
|
||||||
</select>
|
</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>
|
</mapper>
|
||||||
|
|
@ -35,6 +35,7 @@
|
||||||
and bsc.pro_id = #{proId}
|
and bsc.pro_id = #{proId}
|
||||||
</if>
|
</if>
|
||||||
</where>
|
</where>
|
||||||
|
group by ps.id
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
<select id="selectTeam" resultType="com.bonus.bmw.domain.vo.MapBeanVo">
|
<select id="selectTeam" resultType="com.bonus.bmw.domain.vo.MapBeanVo">
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,3 @@
|
||||||
Spring Boot Version: ${spring-boot.version}
|
Spring Boot Version: ${spring-boot.version}
|
||||||
Spring Application Name: ${spring.application.name}
|
Spring Application Name: ${spring.application.name}
|
||||||
_ _
|
--------------------------------------------- bns-bmw ---------------------------------------------
|
||||||
(_) | |
|
|
||||||
_ __ _ _ ___ _ _ _ ______ ___ _ _ ___ | |_ ___ _ __ ___
|
|
||||||
| '__|| | | | / _ \ | | | || ||______|/ __|| | | |/ __|| __| / _ \| '_ ` _ \
|
|
||||||
| | | |_| || (_) || |_| || | \__ \| |_| |\__ \| |_ | __/| | | | | |
|
|
||||||
|_| \__,_| \___/ \__, ||_| |___/ \__, ||___/ \__| \___||_| |_| |_|
|
|
||||||
__/ | __/ |
|
|
||||||
|___/ |___/
|
|
||||||
|
|
@ -7,15 +7,15 @@ spring:
|
||||||
cloud:
|
cloud:
|
||||||
nacos:
|
nacos:
|
||||||
username: nacos
|
username: nacos
|
||||||
password: Jjsp@nacos2023
|
password: nacos
|
||||||
discovery:
|
discovery:
|
||||||
# 服务注册地址
|
# 服务注册地址
|
||||||
server-addr: 127.0.0.1:18848
|
server-addr: 192.168.0.14:8848
|
||||||
namespace: rela_name_system
|
namespace: huadong_realname_local
|
||||||
config:
|
config:
|
||||||
# 配置中心地址
|
# 配置中心地址
|
||||||
server-addr: 127.0.0.1:18848
|
server-addr: 192.168.0.14:8848
|
||||||
namespace: rela_name_system
|
namespace: huadong_realname_local
|
||||||
# 配置文件格式
|
# 配置文件格式
|
||||||
file-extension: yml
|
file-extension: yml
|
||||||
# 共享配置
|
# 共享配置
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue