Merge remote-tracking branch 'origin/main'

This commit is contained in:
haozq 2025-09-18 13:24:16 +08:00
commit 5e01a4c707
9 changed files with 94 additions and 35 deletions

View File

@ -1,7 +1,11 @@
package com.bonus.bmw.controller; package com.bonus.bmw.controller;
import com.bonus.bmw.domain.vo.*;
import com.bonus.bmw.domain.dto.FileBasicMsgDto;
import com.bonus.bmw.domain.dto.WebFileDto;
import com.bonus.bmw.domain.vo.BmWorkerBlack;
import com.bonus.bmw.service.BmWorkerBlackService; import com.bonus.bmw.service.BmWorkerBlackService;
import com.bonus.bmw.service.impl.BmWorkerBlackServiceImpl; import com.bonus.common.core.utils.encryption.Sm4Utils;
import com.bonus.common.core.utils.json.FastJsonHelper;
import com.bonus.common.core.utils.poi.ExcelUtil; import com.bonus.common.core.utils.poi.ExcelUtil;
import com.bonus.common.core.web.controller.BaseController; import com.bonus.common.core.web.controller.BaseController;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
@ -11,11 +15,8 @@ import com.bonus.common.log.enums.OperaType;
import com.bonus.common.security.annotation.InnerAuth; import com.bonus.common.security.annotation.InnerAuth;
import com.bonus.common.security.annotation.RequiresPermissions; import com.bonus.common.security.annotation.RequiresPermissions;
import com.bonus.common.security.annotation.RequiresPermissionsOrInnerAuth; import com.bonus.common.security.annotation.RequiresPermissionsOrInnerAuth;
import com.bonus.common.security.utils.SecurityUtils;
import org.springframework.validation.annotation.Validated;
import org.springframework.web.bind.annotation.*;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse; import javax.servlet.http.HttpServletResponse;
@ -58,15 +59,21 @@ public class BmWorkerBlackController extends BaseController {
/** /**
* 黑名单人员添加 * 黑名单人员添加
* @param o * @param fileMsg
* @return * @return
*/ */
@RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false), requiresPermissions = @RequiresPermissions("worker:black:insert")) @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false), requiresPermissions = @RequiresPermissions("worker:black:insert"))
@PostMapping("/insert") @PostMapping("/insert")
@SysLog(title = "人员入场管理", businessType = OperaType.UPDATE, logType = 0, module = "施工人员->出入场管理->人员入场管理", details = "黑名单人员添加") @SysLog(title = "人员入场管理", businessType = OperaType.UPDATE, logType = 0, module = "施工人员->出入场管理->人员入场管理", details = "黑名单人员添加")
public AjaxResult insert(@Validated @RequestBody BmWorkerBlack o) { public AjaxResult insert(@RequestParam(value = "files",required = false) MultipartFile[] files, @RequestParam(value = "fileMsg",required = false) String fileMsg, @RequestParam(value = "params")String params) {
try { try {
return service.insert(o);
params= Sm4Utils.decrypt(params);
fileMsg= Sm4Utils.decrypt(fileMsg);
List<WebFileDto> listFile = FastJsonHelper.jsonArrStrToBeanList(fileMsg, WebFileDto.class);
BmWorkerBlack bmWorkerBlack = FastJsonHelper.jsonStrToBean(params, BmWorkerBlack.class);
return service.insert(bmWorkerBlack,new FileBasicMsgDto(listFile, files));
} catch (Exception e) { } catch (Exception e) {
logger.error(e.toString(), e); logger.error(e.toString(), e);
} }

View File

@ -2,8 +2,11 @@ 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 com.bonus.common.core.web.domain.BaseEntity;
import com.bonus.system.api.model.UploadFileVo;
import lombok.Data; import lombok.Data;
import java.util.List;
/** /**
* 人员黑名单失信人员 * 人员黑名单失信人员
*/ */
@ -89,4 +92,9 @@ public class BmWorkerBlack extends BaseEntity {
* 修改人 * 修改人
*/ */
private String updateUser; private String updateUser;
}
/**
* 文件列表
*/
List<UploadFileVo> contractFile;
}

View File

@ -86,8 +86,18 @@ public class PmAttDeviceVo {
*/ */
private Integer subId; private Integer subId;
/**
* 分包商名称
*/
private String subName;
/** /**
* 班组id * 班组id
*/ */
private Integer teamId; private Integer teamId;
/**
* 班组名称
*/
private String teamName;
} }

View File

@ -1,7 +1,7 @@
package com.bonus.bmw.service; package com.bonus.bmw.service;
import com.bonus.bmw.domain.dto.FileBasicMsgDto;
import com.bonus.bmw.domain.vo.BmWorkerBlack; import com.bonus.bmw.domain.vo.BmWorkerBlack;
import com.bonus.bmw.domain.vo.BmWorkerLight;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
import java.util.List; import java.util.List;
@ -19,10 +19,12 @@ public interface BmWorkerBlackService{
/** /**
* 黑名单人员添加 * 黑名单人员添加
*
* @param o * @param o
* @param fileBasicMsgDto
* @return * @return
*/ */
AjaxResult insert(BmWorkerBlack o); AjaxResult insert(BmWorkerBlack o, FileBasicMsgDto fileBasicMsgDto);
/** /**
* 黑名单人员导入 * 黑名单人员导入

View File

@ -1,29 +1,29 @@
package com.bonus.bmw.service.impl; package com.bonus.bmw.service.impl;
import com.bonus.bmw.domain.vo.BmWorkerLight; import com.bonus.bmw.domain.dto.FileBasicMsgDto;
import com.bonus.bmw.domain.vo.PmWorker; import com.bonus.bmw.domain.dto.WebFileDto;
import com.bonus.bmw.domain.vo.BmWorkerBlack;
import com.bonus.bmw.mapper.BmWorkerBlackMapper;
import com.bonus.bmw.service.BmWorkerBlackService;
import com.bonus.common.core.constant.Constants;
import com.bonus.common.core.exception.ServiceException; import com.bonus.common.core.exception.ServiceException;
import com.bonus.common.core.utils.StringUtils; import com.bonus.common.core.utils.StringUtils;
import com.bonus.common.core.utils.bean.BeanValidators; import com.bonus.common.core.utils.bean.BeanValidators;
import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.domain.AjaxResult;
import com.bonus.common.security.utils.SecurityUtils; import com.bonus.common.security.utils.SecurityUtils;
import com.bonus.system.api.model.UploadFileVo;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import com.bonus.bmw.domain.vo.BmWorkerBlack; import javax.annotation.Resource;
import com.bonus.bmw.mapper.BmWorkerBlackMapper;
import com.bonus.bmw.service.BmWorkerBlackService;
import javax.validation.Validator; import javax.validation.Validator;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.time.format.DateTimeParseException; import java.time.format.DateTimeParseException;
import java.util.Collections;
import java.util.List; import java.util.List;
import java.util.Map;
@Service @Service
public class BmWorkerBlackServiceImpl implements BmWorkerBlackService{ public class BmWorkerBlackServiceImpl implements BmWorkerBlackService{
@ -36,6 +36,9 @@ public class BmWorkerBlackServiceImpl implements BmWorkerBlackService{
@Autowired @Autowired
protected Validator validator; protected Validator validator;
@Resource
private FileUploadUtils fileUploadUtils;
@Override @Override
public int updateByPrimaryKey(String idNumber) { public int updateByPrimaryKey(String idNumber) {
return mapper.updateByPrimaryKey(idNumber); return mapper.updateByPrimaryKey(idNumber);
@ -43,11 +46,19 @@ public class BmWorkerBlackServiceImpl implements BmWorkerBlackService{
@Override @Override
public List<BmWorkerBlack> getWorkerBlackList(BmWorkerBlack o) { public List<BmWorkerBlack> getWorkerBlackList(BmWorkerBlack o) {
return mapper.getWorkerBlackList(o); List<BmWorkerBlack> res =mapper.getWorkerBlackList(o);
if (res.size()>0){
for (BmWorkerBlack bmWorkerBlack:res) {
List<UploadFileVo> contractFile = fileUploadUtils.getFileList("", bmWorkerBlack.getIdNumber(), Constants.BM_WORKER_BLACK, "");
bmWorkerBlack.setContractFile(contractFile);
}
}
return res;
} }
@Override @Override
public AjaxResult insert(BmWorkerBlack o) { @Transactional
public AjaxResult insert(BmWorkerBlack o, FileBasicMsgDto fileBasicMsgDto) {
// 添加员工时判断员工编号是否已存在 // 添加员工时判断员工编号是否已存在
BmWorkerBlack worker = mapper.getWorkerBlackByNumber(o.getIdNumber()); BmWorkerBlack worker = mapper.getWorkerBlackByNumber(o.getIdNumber());
if(worker != null && worker.getName() != null){ if(worker != null && worker.getName() != null){
@ -64,6 +75,16 @@ public class BmWorkerBlackServiceImpl implements BmWorkerBlackService{
o.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); o.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName());
o.setIsRemove(isRemove); o.setIsRemove(isRemove);
int insert = mapper.insert(o); int insert = mapper.insert(o);
//添加到文件库和minio上
if(insert > 0 && StringUtils.isNotNull(fileBasicMsgDto.getFiles())){
//存文件
List<WebFileDto> fileMsg = fileBasicMsgDto.getFileMsg();
String[] type = new String[fileMsg.size()];
for (int i = 0; i < fileMsg.size(); i++) {
type[i] = fileMsg.get(i).getType();
}
List<UploadFileVo> uploadFileVos = fileUploadUtils.uploadFile(fileBasicMsgDto.getFiles(), Constants.BM_WORKER_BLACK, o.getIdNumber(), type,"", "");
}
return insert>0?new AjaxResult(200, "添加成功"):new AjaxResult(500, "添加失败"); return insert>0?new AjaxResult(200, "添加成功"):new AjaxResult(500, "添加失败");
} }

View File

@ -17,11 +17,12 @@
<result column="is_remove" property="isRemove" /> <result column="is_remove" property="isRemove" />
<result column="create_user" property="createUser" /> <result column="create_user" property="createUser" />
<result column="update_user" property="updateUser" /> <result column="update_user" property="updateUser" />
<result column="remark" property="remark" />
</resultMap> </resultMap>
<sql id="Base_Column_List"> <sql id="Base_Column_List">
<!--@mbg.generated--> <!--@mbg.generated-->
id, worker_id, id_number, `name`, post_name, pro_name, sub_name, reason, start_time, id, worker_id, id_number, `name`, post_name, pro_name, sub_name, reason, start_time,
end_time, is_remove, create_user, update_user end_time, is_remove, create_user, update_user,remark
</sql> </sql>
<update id="updateByPrimaryKey" parameterType="com.bonus.bmw.domain.vo.BmWorkerBlack"> <update id="updateByPrimaryKey" parameterType="com.bonus.bmw.domain.vo.BmWorkerBlack">
<!--@mbg.generated--> <!--@mbg.generated-->
@ -40,7 +41,8 @@
reason, reason,
start_time, start_time,
end_time, end_time,
is_remove is_remove,
remark
from bm_worker_black from bm_worker_black
<where> <where>
<if test="name != null and name != ''"> <if test="name != null and name != ''">
@ -70,9 +72,9 @@
<insert id="insert"> <insert id="insert">
insert into bm_worker_black (id_number, `name`, post_name, pro_name, sub_name, reason, start_time, insert into bm_worker_black (id_number, `name`, post_name, pro_name, sub_name, reason, start_time,
end_time, is_remove,create_user) end_time, is_remove,create_user,remark)
values (#{idNumber}, #{name}, #{postName}, #{proName}, #{subName}, #{reason}, #{startTime}, values (#{idNumber}, #{name}, #{postName}, #{proName}, #{subName}, #{reason}, #{startTime},
#{endTime}, #{isRemove}, #{createUser}) #{endTime}, #{isRemove}, #{createUser},#{remark})
</insert> </insert>
<update id="updateBasicWorkerBlackData"> <update id="updateBasicWorkerBlackData">
@ -100,7 +102,10 @@
<if test="endTime != null"> <if test="endTime != null">
end_time = #{endTime}, end_time = #{endTime},
</if> </if>
<if test="remark != null">
remark = #{remark},
</if>
</set> </set>
where id_number = #{idNumber} where id_number = #{idNumber}
</update> </update>
</mapper> </mapper>

View File

@ -30,10 +30,14 @@
pp.is_shanghai as isShanghai, pp.is_shanghai as isShanghai,
pad2.update_user as updateUser, pad2.update_user as updateUser,
pad2.update_time as updateTime, pad2.update_time as updateTime,
pad2.sub_id as subId, pad2.sub_id as subId,
pad2.team_id as teamId pad2.team_id as teamId,
ps.sub_name as subName,
pst.team_name as teamName
from pm_att_device pad2 from pm_att_device pad2
left join pm_project pp on pp.id = pad2.pro_id left join pm_project pp on pp.id = pad2.pro_id
left join pm_sub ps on ps.id = pad2.sub_id
left join pm_sub_team pst on pst.id = pad2.team_id
where pad2.is_active = '1' where pad2.is_active = '1'
<if test="deviceCode!=null and deviceCode!=''"> <if test="deviceCode!=null and deviceCode!=''">
and pad2.device_code LIKE CONCAT('%', #{deviceCode}, '%') and pad2.device_code LIKE CONCAT('%', #{deviceCode}, '%')

View File

@ -90,5 +90,7 @@
from bm_sub_contract bsc from bm_sub_contract bsc
left join pm_sub ps on bsc.sub_id= ps.id left join pm_sub ps on bsc.sub_id= ps.id
where bsc.is_active ='1' and bsc.pro_id = #{proId} where bsc.is_active ='1' and bsc.pro_id = #{proId}
GROUP BY
bsc.sub_id
</select> </select>
</mapper> </mapper>

View File

@ -95,10 +95,10 @@
select worker_id select worker_id
from bm_worker_ein_msg from bm_worker_ein_msg
where pro_id=#{proId} and is_active=1 where pro_id=#{proId} and is_active=1
<if test='supId!=null and supId!=0 AND supId!="0"'> <if test='subId!=null and subId!=0 and subId!="0"'>
and sub_id=#{supId} and sub_id=#{subId}
</if> </if>
<if test='teamId!=null and teamId!=0 AND teamId!="0"'> <if test='teamId!=null and teamId!=0 and teamId!="0"'>
and team_id=#{teamId} and team_id=#{teamId}
</if> </if>
</select> </select>