From 4b17d6c5d781316d3b5fb40c4cd0f2f52c99d083 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=A9=AC=E4=B8=89=E7=82=AE?= <15856818120@163.com> Date: Thu, 18 Sep 2025 11:16:12 +0800 Subject: [PATCH] =?UTF-8?q?=E6=9D=83=E9=99=90=E7=AE=A1=E7=90=86=EF=BC=8C?= =?UTF-8?q?=E5=8A=9F=E8=83=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/BmWorkerBlackController.java | 25 +++++++---- .../bonus/bmw/domain/vo/BmWorkerBlack.java | 10 ++++- .../bonus/bmw/domain/vo/PmAttDeviceVo.java | 10 +++++ .../bmw/service/BmWorkerBlackService.java | 6 ++- .../impl/BmWorkerBlackServiceImpl.java | 45 ++++++++++++++----- .../mapper/bmw/BmWorkerBlackMapper.xml | 17 ++++--- .../mapper/bmw/PmAttDeviceMapper.xml | 8 +++- .../main/resources/mapper/bmw/PmSubMapper.xml | 2 + .../resources/mapper/bmw/UrkSendMapper.xml | 6 +-- 9 files changed, 94 insertions(+), 35 deletions(-) diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerBlackController.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerBlackController.java index e541d0b..16f6255 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerBlackController.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/controller/BmWorkerBlackController.java @@ -1,7 +1,11 @@ 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.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.web.controller.BaseController; 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.RequiresPermissions; 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.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.servlet.http.HttpServletResponse; @@ -58,15 +59,21 @@ public class BmWorkerBlackController extends BaseController { /** * 黑名单人员添加 - * @param o + * @param fileMsg * @return */ @RequiresPermissionsOrInnerAuth(innerAuth = @InnerAuth(isUser = false), requiresPermissions = @RequiresPermissions("worker:black:insert")) @PostMapping("/insert") @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 { - return service.insert(o); + + params= Sm4Utils.decrypt(params); + fileMsg= Sm4Utils.decrypt(fileMsg); + List listFile = FastJsonHelper.jsonArrStrToBeanList(fileMsg, WebFileDto.class); + BmWorkerBlack bmWorkerBlack = FastJsonHelper.jsonStrToBean(params, BmWorkerBlack.class); + return service.insert(bmWorkerBlack,new FileBasicMsgDto(listFile, files)); + } catch (Exception e) { logger.error(e.toString(), e); } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerBlack.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerBlack.java index 9929288..14c05b3 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerBlack.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/BmWorkerBlack.java @@ -2,8 +2,11 @@ package com.bonus.bmw.domain.vo; import com.bonus.common.core.annotation.Excel; import com.bonus.common.core.web.domain.BaseEntity; +import com.bonus.system.api.model.UploadFileVo; import lombok.Data; +import java.util.List; + /** * 人员黑名单(失信人员) */ @@ -89,4 +92,9 @@ public class BmWorkerBlack extends BaseEntity { * 修改人 */ private String updateUser; -} \ No newline at end of file + + /** + * 文件列表 + */ + List contractFile; +} diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/PmAttDeviceVo.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/PmAttDeviceVo.java index b46036b..94d0d18 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/PmAttDeviceVo.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/domain/vo/PmAttDeviceVo.java @@ -86,8 +86,18 @@ public class PmAttDeviceVo { */ private Integer subId; + /** + * 分包商名称 + */ + private String subName; + /** * 班组id */ private Integer teamId; + + /** + * 班组名称 + */ + private String teamName; } diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerBlackService.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerBlackService.java index 21b234a..6d4664d 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerBlackService.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/BmWorkerBlackService.java @@ -1,7 +1,7 @@ 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.BmWorkerLight; import com.bonus.common.core.web.domain.AjaxResult; import java.util.List; @@ -19,10 +19,12 @@ public interface BmWorkerBlackService{ /** * 黑名单人员添加 + * * @param o + * @param fileBasicMsgDto * @return */ - AjaxResult insert(BmWorkerBlack o); + AjaxResult insert(BmWorkerBlack o, FileBasicMsgDto fileBasicMsgDto); /** * 黑名单人员导入 diff --git a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerBlackServiceImpl.java b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerBlackServiceImpl.java index 6ec727b..c8140d4 100644 --- a/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerBlackServiceImpl.java +++ b/bonus-modules/bonus-bmw/src/main/java/com/bonus/bmw/service/impl/BmWorkerBlackServiceImpl.java @@ -1,29 +1,29 @@ package com.bonus.bmw.service.impl; -import com.bonus.bmw.domain.vo.BmWorkerLight; -import com.bonus.bmw.domain.vo.PmWorker; +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.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.utils.StringUtils; import com.bonus.common.core.utils.bean.BeanValidators; import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.security.utils.SecurityUtils; +import com.bonus.system.api.model.UploadFileVo; import org.slf4j.Logger; import org.slf4j.LoggerFactory; -import org.springframework.stereotype.Service; - 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 com.bonus.bmw.mapper.BmWorkerBlackMapper; -import com.bonus.bmw.service.BmWorkerBlackService; - +import javax.annotation.Resource; import javax.validation.Validator; import java.time.LocalDate; import java.time.format.DateTimeFormatter; import java.time.format.DateTimeParseException; -import java.util.Collections; import java.util.List; -import java.util.Map; @Service public class BmWorkerBlackServiceImpl implements BmWorkerBlackService{ @@ -36,6 +36,9 @@ public class BmWorkerBlackServiceImpl implements BmWorkerBlackService{ @Autowired protected Validator validator; + @Resource + private FileUploadUtils fileUploadUtils; + @Override public int updateByPrimaryKey(String idNumber) { return mapper.updateByPrimaryKey(idNumber); @@ -43,11 +46,19 @@ public class BmWorkerBlackServiceImpl implements BmWorkerBlackService{ @Override public List getWorkerBlackList(BmWorkerBlack o) { - return mapper.getWorkerBlackList(o); + List res =mapper.getWorkerBlackList(o); + if (res.size()>0){ + for (BmWorkerBlack bmWorkerBlack:res) { + List contractFile = fileUploadUtils.getFileList("", bmWorkerBlack.getIdNumber(), Constants.BM_WORKER_BLACK, ""); + bmWorkerBlack.setContractFile(contractFile); + } + } + return res; } @Override - public AjaxResult insert(BmWorkerBlack o) { + @Transactional + public AjaxResult insert(BmWorkerBlack o, FileBasicMsgDto fileBasicMsgDto) { // 添加员工时,判断员工编号是否已存在 BmWorkerBlack worker = mapper.getWorkerBlackByNumber(o.getIdNumber()); if(worker != null && worker.getName() != null){ @@ -64,6 +75,16 @@ public class BmWorkerBlackServiceImpl implements BmWorkerBlackService{ o.setCreateUser(SecurityUtils.getLoginUser().getSysUser().getUserName()); o.setIsRemove(isRemove); int insert = mapper.insert(o); + //添加到文件库和minio上 + if(insert > 0 && StringUtils.isNotNull(fileBasicMsgDto.getFiles())){ + //存文件 + List fileMsg = fileBasicMsgDto.getFileMsg(); + String[] type = new String[fileMsg.size()]; + for (int i = 0; i < fileMsg.size(); i++) { + type[i] = fileMsg.get(i).getType(); + } + List uploadFileVos = fileUploadUtils.uploadFile(fileBasicMsgDto.getFiles(), Constants.BM_WORKER_BLACK, o.getIdNumber(), type,"", ""); + } return insert>0?new AjaxResult(200, "添加成功"):new AjaxResult(500, "添加失败"); } diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerBlackMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerBlackMapper.xml index a44b89a..e76f1e0 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerBlackMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/BmWorkerBlackMapper.xml @@ -17,11 +17,12 @@ + - id, worker_id, id_number, `name`, post_name, pro_name, sub_name, reason, start_time, - end_time, is_remove, create_user, update_user + id, worker_id, id_number, `name`, post_name, pro_name, sub_name, reason, start_time, + end_time, is_remove, create_user, update_user,remark @@ -40,7 +41,8 @@ reason, start_time, end_time, - is_remove + is_remove, + remark from bm_worker_black @@ -70,9 +72,9 @@ 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}, - #{endTime}, #{isRemove}, #{createUser}) + #{endTime}, #{isRemove}, #{createUser},#{remark}) @@ -100,7 +102,10 @@ end_time = #{endTime}, + + remark = #{remark}, + where id_number = #{idNumber} - \ No newline at end of file + diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmAttDeviceMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmAttDeviceMapper.xml index d257316..8aa96e2 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmAttDeviceMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmAttDeviceMapper.xml @@ -30,10 +30,14 @@ pp.is_shanghai as isShanghai, pad2.update_user as updateUser, pad2.update_time as updateTime, - pad2.sub_id as subId, - pad2.team_id as teamId + pad2.sub_id as subId, + pad2.team_id as teamId, + ps.sub_name as subName, + pst.team_name as teamName from pm_att_device pad2 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' and pad2.device_code LIKE CONCAT('%', #{deviceCode}, '%') diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubMapper.xml index fe2e2ff..3d71fad 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/PmSubMapper.xml @@ -90,5 +90,7 @@ from bm_sub_contract bsc left join pm_sub ps on bsc.sub_id= ps.id where bsc.is_active ='1' and bsc.pro_id = #{proId} + GROUP BY + bsc.sub_id diff --git a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/UrkSendMapper.xml b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/UrkSendMapper.xml index ddad16c..7d62955 100644 --- a/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/UrkSendMapper.xml +++ b/bonus-modules/bonus-bmw/src/main/resources/mapper/bmw/UrkSendMapper.xml @@ -95,10 +95,10 @@ select worker_id from bm_worker_ein_msg where pro_id=#{proId} and is_active=1 - - and sub_id=#{supId} + + and sub_id=#{subId} - + and team_id=#{teamId}