diff --git a/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/RemoteProService.java b/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/RemoteProService.java index 81064a49..69d7987e 100644 --- a/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/RemoteProService.java +++ b/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/RemoteProService.java @@ -41,6 +41,16 @@ public interface RemoteProService @GetMapping("/proProjectInfoSubdeptsUsers/approveSubDeptsUser/{busKey}") public R approveSubDeptsUser(@PathVariable("busKey") Long busKey, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + /** + * 公司安全承诺书文件签名章 + * + * @param busKey 业务主键 + * @param source 请求来源 + * @return 结果 + */ + @GetMapping("/proProjectInfoSubdeptsUsers/subDeptsUserComSign/{busKey}") + public R subDeptsUserComSign(@PathVariable("busKey") Long busKey, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + /** * 项目安全承诺书文件签名章 * @@ -61,6 +71,36 @@ public interface RemoteProService @GetMapping("/proProjectInfoSubdeptsUsers/subDeptsUserGroSign/{busKey}") public R subDeptsUserGroSign(@PathVariable("busKey") Long busKey, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + /** + * 查询公司安全承诺书文件签名章 + * + * @param busKey 业务主键 + * @param source 请求来源 + * @return 结果 + */ + @GetMapping("/proProjectInfoSubdeptsUsers/findUserComSign/{busKey}") + public R findUserComSign(@PathVariable("busKey") Long busKey, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 查询项目安全承诺书文件签名章 + * + * @param busKey 业务主键 + * @param source 请求来源 + * @return 结果 + */ + @GetMapping("/proProjectInfoSubdeptsUsers/findUserProSign/{busKey}") + public R findUserProSign(@PathVariable("busKey") Long busKey, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + + /** + * 查询班组安全承诺书文件签名章 + * + * @param busKey 业务主键 + * @param source 请求来源 + * @return 结果 + */ + @GetMapping("/proProjectInfoSubdeptsUsers/findUserGroSign/{busKey}") + public R findUserGroSign(@PathVariable("busKey") Long busKey, @RequestHeader(SecurityConstants.FROM_SOURCE) String source); + /** * 系统人员添加修改信息同步 * diff --git a/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/factory/RemoteProFallbackFactory.java b/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/factory/RemoteProFallbackFactory.java index 79abcff8..51400c4c 100644 --- a/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/factory/RemoteProFallbackFactory.java +++ b/yanzhu-api/yanzhu-api-system/src/main/java/com/yanzhu/system/api/factory/RemoteProFallbackFactory.java @@ -38,12 +38,36 @@ public class RemoteProFallbackFactory implements FallbackFactory subDeptsUserComSign(Long busKey, String source) + { + return R.fail("公司承诺书签名章失败:" + throwable.getMessage()); + } + @Override public R subDeptsUserProSign(Long busKey, String source) { return R.fail("项目承诺书签名章失败:" + throwable.getMessage()); } + @Override + public R findUserGroSign(Long busKey, String source) + { + return R.fail("班组承诺书签名章失败:" + throwable.getMessage()); + } + + @Override + public R findUserComSign(Long busKey, String source) + { + return R.fail("公司承诺书签名章失败:" + throwable.getMessage()); + } + + @Override + public R findUserProSign(Long busKey, String source) + { + return R.fail("项目承诺书签名章失败:" + throwable.getMessage()); + } + @Override public R subDeptsUserGroSign(Long busKey, String source) { diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/BasTemplateMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/BasTemplateMapper.xml index 978986e0..0d9d5c6b 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/BasTemplateMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/manage/BasTemplateMapper.xml @@ -32,6 +32,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" and bt.com_id = #{comId} and bt.project_id = #{projectId} + and bt.com_id = #{activeComId} + and bt.project_id = #{activeProjectId} and bt.tem_name like concat('%', #{temName}, '%') and bt.tem_type = #{temType} and bt.is_del = #{isDel} diff --git a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysUserMapper.xml b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysUserMapper.xml index 7c8e26f4..8f4d9d86 100644 --- a/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysUserMapper.xml +++ b/yanzhu-common/yanzhu-common-mapper/src/main/resources/mapper/system/SysUserMapper.xml @@ -80,7 +80,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" from sys_user u left join sys_dept d on u.dept_id = d.dept_id left join sys_user_ext ex on u.user_id=ex.user_id - where u.del_flag = '0' + where u.del_flag = '0' and u.user_type= '00' AND u.user_id = #{userId} diff --git a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/listener/FlowComSignListener.java b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/listener/FlowComSignListener.java new file mode 100644 index 00000000..c769fe9a --- /dev/null +++ b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/listener/FlowComSignListener.java @@ -0,0 +1,41 @@ +package com.yanzhu.flowable.listener; + +import com.yanzhu.common.core.constant.SecurityConstants; +import com.yanzhu.common.core.text.Convert; +import com.yanzhu.system.api.RemoteProService; +import lombok.extern.slf4j.Slf4j; +import org.flowable.engine.delegate.DelegateExecution; +import org.flowable.engine.delegate.ExecutionListener; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.context.annotation.Lazy; +import org.springframework.stereotype.Component; + +/** + * 公司审批签名执行监听器 + * + * 执行监听器允许在执行过程中执行Java代码。 + * 执行监听器可以捕获事件的类型: + * 流程实例启动,结束 + * 输出流捕获 + * 获取启动,结束 + * 路由开始,结束 + * 中间事件开始,结束 + * 触发开始事件,触发结束事件 + * + * @author JiangYuQi + * @date 2024/12/16 + */ +@Slf4j +@Component +public class FlowComSignListener implements ExecutionListener { + + @Lazy + @Autowired + private RemoteProService remoteProService; + + @Override + public void notify(DelegateExecution execution) { + log.info("公司审批签名执行监听器:{}", execution.getProcessInstanceBusinessKey()); + remoteProService.subDeptsUserComSign(Convert.toLong(execution.getProcessInstanceBusinessKey(),null), SecurityConstants.INNER); + } +} diff --git a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowTaskServiceImpl.java b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowTaskServiceImpl.java index 87764930..ed3eb024 100644 --- a/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowTaskServiceImpl.java +++ b/yanzhu-modules/yanzhu-flowable/src/main/java/com/yanzhu/flowable/service/impl/FlowTaskServiceImpl.java @@ -6,7 +6,10 @@ import com.alibaba.fastjson2.JSON; import com.alibaba.fastjson2.JSONObject; import com.alibaba.fastjson2.TypeReference; import com.github.pagehelper.PageInfo; +import com.yanzhu.common.core.constant.SecurityConstants; +import com.yanzhu.common.core.exception.ServiceException; import com.yanzhu.common.core.exception.base.BaseException; +import com.yanzhu.common.core.text.Convert; import com.yanzhu.common.core.web.domain.AjaxResult; import com.yanzhu.common.redis.service.RedisService; import com.yanzhu.common.security.utils.SecurityUtils; @@ -30,6 +33,7 @@ import com.yanzhu.flowable.service.IFlowTaskService; import com.yanzhu.flowable.service.ISysDeployFormService; import com.yanzhu.flowable.service.ISysFormService; import com.yanzhu.flowable.util.WorkflowUtil; +import com.yanzhu.system.api.RemoteProService; import com.yanzhu.system.api.domain.SysRole; import com.yanzhu.system.api.domain.SysUser; import lombok.extern.slf4j.Slf4j; @@ -87,6 +91,9 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask @Resource private ISysFormService sysFormService; + @Resource + private RemoteProService remoteProService; + @Resource private RemoteSystemService remoteSystemService; @@ -106,6 +113,24 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask return AjaxResult.error("任务不存在"); } String userId = taskVo.getUserId(); + if(task.getName().indexOf("安全教育")>-1){ + Boolean vis = remoteProService.findUserComSign(Convert.toLong(task.getCaseVariables().get("businessKey")), SecurityConstants.INNER).getData(); + if(!vis){ + throw new ServiceException("未查询到三级安全教育主管签名信息..."); + } + } + if(task.getName().indexOf("安质部")>-1){ + Boolean vis = remoteProService.findUserGroSign(Convert.toLong(task.getCaseVariables().get("businessKey")), SecurityConstants.INNER).getData(); + if(!vis){ + throw new ServiceException("未查询到安质部部长签名信息..."); + } + } + if(task.getName().indexOf("班组")>-1){ + Boolean vis = remoteProService.findUserGroSign(Convert.toLong(task.getCaseVariables().get("businessKey")), SecurityConstants.INNER).getData(); + if(!vis){ + throw new ServiceException("未查询到班组长签名信息..."); + } + } if (DelegationState.PENDING.equals(task.getDelegationState())) { taskService.addComment(taskVo.getTaskId(), taskVo.getInstanceId(), FlowComment.DELEGATE.getType(), taskVo.getComment()); taskService.resolveTask(taskVo.getTaskId(), taskVo.getVariables()); @@ -113,7 +138,7 @@ public class FlowTaskServiceImpl extends FlowServiceFactory implements IFlowTask if(StringUtils.isNotEmpty(taskVo.getComment())){ taskService.addComment(taskVo.getTaskId(), taskVo.getInstanceId(), FlowComment.NORMAL.getType(), taskVo.getComment()); }else{ - taskService.addComment(taskVo.getTaskId(), taskVo.getInstanceId(), FlowComment.NORMAL.getType(), taskVo.getAssignee()+"重新提交流程申请!!"); + taskService.addComment(taskVo.getTaskId(), taskVo.getInstanceId(), FlowComment.NORMAL.getType(), taskVo.getAssignee()+"提交流程申请!!"); } taskService.setAssignee(taskVo.getTaskId(), userId); taskService.complete(taskVo.getTaskId(), taskVo.getVariables()); diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoSubdeptsUsersController.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoSubdeptsUsersController.java index 5ae7d451..6aa4d322 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoSubdeptsUsersController.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/controller/ProProjectInfoSubdeptsUsersController.java @@ -160,13 +160,13 @@ public class ProProjectInfoSubdeptsUsersController extends BaseController } /** - * 班组安全承诺书文件签名章 + * 公司安全承诺书文件签名章 */ @InnerAuth - @GetMapping("/subDeptsUserGroSign/{busKey}") - public R subDeptsUserGroSign(@PathVariable("busKey") Long busKey) + @GetMapping("/subDeptsUserComSign/{busKey}") + public R subDeptsUserComSign(@PathVariable("busKey") Long busKey) { - proProjectInfoSubdeptsUsersService.approveSubDeptsUserGroSign(busKey); + proProjectInfoSubdeptsUsersService.approveSubDeptsUserComSign(busKey); return R.ok(AjaxResult.success()); } @@ -181,6 +181,47 @@ public class ProProjectInfoSubdeptsUsersController extends BaseController return R.ok(AjaxResult.success()); } + /** + * 班组安全承诺书文件签名章 + */ + @InnerAuth + @GetMapping("/subDeptsUserGroSign/{busKey}") + public R subDeptsUserGroSign(@PathVariable("busKey") Long busKey) + { + proProjectInfoSubdeptsUsersService.approveSubDeptsUserGroSign(busKey); + return R.ok(AjaxResult.success()); + } + + /** + * 公司安全承诺书文件签名章 + */ + @InnerAuth + @GetMapping("/findUserComSign/{busKey}") + public R findUserComSign(@PathVariable("busKey") Long busKey) + { + return R.ok(proProjectInfoSubdeptsUsersService.findUserComSign(busKey)); + } + + /** + * 项目安全承诺书文件签名章 + */ + @InnerAuth + @GetMapping("/findUserProSign/{busKey}") + public R findUserProSign(@PathVariable("busKey") Long busKey) + { + return R.ok(proProjectInfoSubdeptsUsersService.findUserProSign(busKey)); + } + + /** + * 班组安全承诺书文件签名章 + */ + @InnerAuth + @GetMapping("/findUserGroSign/{busKey}") + public R findUserGroSign(@PathVariable("busKey") Long busKey) + { + return R.ok(proProjectInfoSubdeptsUsersService.findUserGroSign(busKey)); + } + /** * 修改人员进场状态 * @param ids diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/CraftPostEnums.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/CraftPostEnums.java index 9a9a7329..6dde05aa 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/CraftPostEnums.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/CraftPostEnums.java @@ -6,7 +6,9 @@ package com.yanzhu.manage.enums; public enum CraftPostEnums { WTDL("1022", "委托代理人"), - XMJL("1023", "项目经理"); + XMJL("1023", "项目经理"), + AQZY("1024", "安全专员"), + CLZY("1025", "材料专员"); private final String code; private final String info; diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/DeptGroupEnums.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/DeptGroupEnums.java index c4fd28f7..7ebf73d9 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/DeptGroupEnums.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/DeptGroupEnums.java @@ -5,7 +5,8 @@ package com.yanzhu.manage.enums; */ public enum DeptGroupEnums { - MANAGE("DEFAULT", "管理班组"); + MANAGE("DEFAULT", "管理班组"), + SPECIAL("SPECIAL", "特殊工种班组"); private final String code; private final String info; diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/UserPostEnums.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/UserPostEnums.java index 389266e3..30e493f8 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/UserPostEnums.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/enums/UserPostEnums.java @@ -9,6 +9,7 @@ public enum UserPostEnums { XMJL("2", "项目经理"), BZZ("3", "班组长"), LWGR("4", "劳务工人"), + TSGZ("5", "特殊工种"), CLRY("6", "材料员"), AQRY("8", "安全员"), JSDWGL("66", "建设单位管理"), diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProProjectInfoSubdeptsUsersService.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProProjectInfoSubdeptsUsersService.java index 641b9fd8..0c90198e 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProProjectInfoSubdeptsUsersService.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/IProProjectInfoSubdeptsUsersService.java @@ -1,5 +1,6 @@ package com.yanzhu.manage.service; +import com.sun.org.apache.xpath.internal.operations.Bool; import com.yanzhu.manage.domain.ProProjectInfoSubdeptsUsers; import com.yanzhu.manage.domain.SignetFileVo; @@ -124,6 +125,12 @@ public interface IProProjectInfoSubdeptsUsersService */ public void approveSubDeptsUserProSign(Long id); + /** + * 公司安全承诺书文件签名章 + * @param id + */ + public void approveSubDeptsUserComSign(Long id); + /** * 新增建设单位人员 * @@ -159,4 +166,10 @@ public interface IProProjectInfoSubdeptsUsersService * @return 结果 */ int editDefaultProjectById(Long id); + + Boolean findUserComSign(Long id); + + Boolean findUserProSign(Long id); + + Boolean findUserGroSign(Long id); } diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java index d14424ef..0c84629e 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/service/impl/ProProjectInfoSubdeptsUsersServiceImpl.java @@ -318,7 +318,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu // 班组信息处理 if(Objects.nonNull(proProjectInfoSubdeptsUsers.getUserPost())){ if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(), UserPostEnums.XMJL.getCode())){ - //查询管理班组 + // 查询管理班组 ProProjectInfoSubdeptsGroup query = new ProProjectInfoSubdeptsGroup(); query.setProjectId(parUsers.getProjectId()); query.setSubDeptId(parUsers.getSubDeptId()); @@ -332,6 +332,39 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu proProjectInfoSubdeptsUsers.setCraftType(CraftTypeEnums.GLRY.getCode()); proProjectInfoSubdeptsUsers.setCraftPost(CraftPostEnums.XMJL.getCode()); sysUser.setUserType(UserTypeEnums.FBXMJL.getCode()); + + // 设置特殊工种班组 + ProProjectInfoSubdeptsGroup GroupQuery = new ProProjectInfoSubdeptsGroup(); + GroupQuery.setProjectId(parUsers.getProjectId()); + GroupQuery.setSubDeptId(parUsers.getSubDeptId()); + GroupQuery.setGroupCode(DeptGroupEnums.SPECIAL.getCode()); + List specialGroups = proProjectInfoSubdeptsGroupMapper.selectProProjectInfoSubdeptsGroupList(query); + + if(Objects.nonNull(specialGroups) && specialGroups.size()>0){ + ProProjectInfoSubdeptsGroup specialGroup = specialGroups.get(0); + specialGroup.setGroupLeaderName(proProjectInfoSubdeptsUsers.getUserName()); + specialGroup.setGroupLeaderCode(proProjectInfoSubdeptsUsers.getCardCode()); + specialGroup.setGroupLeaderPhone(proProjectInfoSubdeptsUsers.getUserPhone()); + proProjectInfoSubdeptsGroupMapper.updateProProjectInfoSubdeptsGroup(specialGroup); + }else{ + ProProjectInfoSubdeptsGroup specialGroup = new ProProjectInfoSubdeptsGroup(); + specialGroup.setComId(proProjectInfoSubdeptsUsers.getComId()); + specialGroup.setProjectId(proProjectInfoSubdeptsUsers.getProjectId()); + specialGroup.setSubDeptId(proProjectInfoSubdeptsUsers.getSubDeptId()); + specialGroup.setSubDeptName(proProjectInfoSubdeptsUsers.getSubDeptName()); + specialGroup.setSubDeptType(proProjectInfoSubdeptsUsers.getSubDeptType()); + specialGroup.setGroupCode(DeptGroupEnums.SPECIAL.getCode()); + specialGroup.setGroupName(DeptGroupEnums.SPECIAL.getInfo()); + specialGroup.setCraftType(CraftTypeEnums.TSGZ.getCode()); + specialGroup.setGroupLeaderName(proProjectInfoSubdeptsUsers.getUserName()); + specialGroup.setGroupLeaderCode(proProjectInfoSubdeptsUsers.getCardCode()); + specialGroup.setGroupLeaderPhone(proProjectInfoSubdeptsUsers.getUserPhone()); + specialGroup.setUseStatus(UseStateEnums.AW.getCode()); + specialGroup.setApproveStatus(ApproveStatus.await.getCode()); + specialGroup.setCreateBy(DataSourceEnuns.APP.getInfo()); + specialGroup.setCreateTime(DateUtils.getNowDate()); + proProjectInfoSubdeptsGroupMapper.insertProProjectInfoSubdeptsGroup(specialGroup); + } }else if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(), UserPostEnums.BZZ.getCode())){ // 班组长新增班组 ProProjectInfoSubdeptsGroup query = new ProProjectInfoSubdeptsGroup(); @@ -364,7 +397,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu sysUser.setUserType(UserTypeEnums.FBBZZZ.getCode()); }else if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(), UserPostEnums.CLRY.getCode())){ - //查询管理班组 + // 查询管理班组 ProProjectInfoSubdeptsGroup query = new ProProjectInfoSubdeptsGroup(); query.setProjectId(parUsers.getProjectId()); query.setSubDeptId(parUsers.getSubDeptId()); @@ -375,10 +408,11 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu proProjectInfoSubdeptsUsers.setSubDeptGroup(groups.get(0).getId()); proProjectInfoSubdeptsUsers.setSubDeptGroupName(groups.get(0).getGroupName()); } - + proProjectInfoSubdeptsUsers.setCraftType(CraftTypeEnums.GLRY.getCode()); + proProjectInfoSubdeptsUsers.setCraftPost(CraftPostEnums.CLZY.getCode()); sysUser.setUserType(UserTypeEnums.FBCLRY.getCode()); }else if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(), UserPostEnums.AQRY.getCode())){ - //查询管理班组 + // 查询管理班组 ProProjectInfoSubdeptsGroup query = new ProProjectInfoSubdeptsGroup(); query.setProjectId(parUsers.getProjectId()); query.setSubDeptId(parUsers.getSubDeptId()); @@ -389,8 +423,22 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu proProjectInfoSubdeptsUsers.setSubDeptGroup(groups.get(0).getId()); proProjectInfoSubdeptsUsers.setSubDeptGroupName(groups.get(0).getGroupName()); } - + proProjectInfoSubdeptsUsers.setCraftType(CraftTypeEnums.GLRY.getCode()); + proProjectInfoSubdeptsUsers.setCraftPost(CraftPostEnums.AQZY.getCode()); sysUser.setUserType(UserTypeEnums.FBAQRY.getCode()); + }else if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(), UserPostEnums.TSGZ.getCode())){ + // 查询特殊工种绑定班组信息 + ProProjectInfoSubdeptsGroup query = new ProProjectInfoSubdeptsGroup(); + query.setProjectId(parUsers.getProjectId()); + query.setSubDeptId(parUsers.getSubDeptId()); + query.setGroupCode(DeptGroupEnums.SPECIAL.getCode()); + List groups = proProjectInfoSubdeptsGroupMapper.selectProProjectInfoSubdeptsGroupList(query); + + if(Objects.nonNull(groups) && groups.size()>0){ + proProjectInfoSubdeptsUsers.setSubDeptGroup(groups.get(0).getId()); + proProjectInfoSubdeptsUsers.setSubDeptGroupName(groups.get(0).getGroupName()); + } + sysUser.setUserType(UserTypeEnums.FBLWRY.getCode()); }else if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(), UserPostEnums.LWGR.getCode())){ // 劳务人员绑定班组信息 proProjectInfoSubdeptsUsers.setSubDeptGroup(parUsers.getSubDeptGroup()); @@ -457,6 +505,7 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu throw new ServiceException("用户信息异常...请重新扫码"); } + proProjectInfoSubdeptsUsers.setComId(parUsers.getComId()); proProjectInfoSubdeptsUsers.setProjectId(parUsers.getProjectId()); proProjectInfoSubdeptsUsers.setSubDeptId(parUsers.getSubDeptId()); @@ -491,6 +540,40 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu proProjectInfoSubdeptsUsers.setCraftType(CraftTypeEnums.GLRY.getCode()); proProjectInfoSubdeptsUsers.setCraftPost(CraftPostEnums.XMJL.getCode()); sysUser.setUserType(UserTypeEnums.FBXMJL.getCode()); + + // 设置特殊工种班组 + ProProjectInfoSubdeptsGroup GroupQuery = new ProProjectInfoSubdeptsGroup(); + GroupQuery.setProjectId(parUsers.getProjectId()); + GroupQuery.setSubDeptId(parUsers.getSubDeptId()); + GroupQuery.setGroupCode(DeptGroupEnums.SPECIAL.getCode()); + List specialGroups = proProjectInfoSubdeptsGroupMapper.selectProProjectInfoSubdeptsGroupList(query); + + if(Objects.nonNull(specialGroups) && specialGroups.size()>0){ + ProProjectInfoSubdeptsGroup specialGroup = specialGroups.get(0); + specialGroup.setGroupLeaderName(proProjectInfoSubdeptsUsers.getUserName()); + specialGroup.setGroupLeaderCode(proProjectInfoSubdeptsUsers.getCardCode()); + specialGroup.setGroupLeaderPhone(proProjectInfoSubdeptsUsers.getUserPhone()); + proProjectInfoSubdeptsGroupMapper.updateProProjectInfoSubdeptsGroup(specialGroup); + }else{ + ProProjectInfoSubdeptsGroup specialGroup = new ProProjectInfoSubdeptsGroup(); + specialGroup.setComId(proProjectInfoSubdeptsUsers.getComId()); + specialGroup.setProjectId(proProjectInfoSubdeptsUsers.getProjectId()); + specialGroup.setSubDeptId(proProjectInfoSubdeptsUsers.getSubDeptId()); + specialGroup.setSubDeptName(proProjectInfoSubdeptsUsers.getSubDeptName()); + specialGroup.setSubDeptType(proProjectInfoSubdeptsUsers.getSubDeptType()); + specialGroup.setGroupCode(DeptGroupEnums.SPECIAL.getCode()); + specialGroup.setGroupName(DeptGroupEnums.SPECIAL.getInfo()); + specialGroup.setCraftType(CraftTypeEnums.TSGZ.getCode()); + specialGroup.setGroupLeaderName(proProjectInfoSubdeptsUsers.getUserName()); + specialGroup.setGroupLeaderCode(proProjectInfoSubdeptsUsers.getCardCode()); + specialGroup.setGroupLeaderPhone(proProjectInfoSubdeptsUsers.getUserPhone()); + specialGroup.setUseStatus(UseStateEnums.AW.getCode()); + specialGroup.setApproveStatus(ApproveStatus.await.getCode()); + specialGroup.setCreateBy(DataSourceEnuns.APP.getInfo()); + specialGroup.setCreateTime(DateUtils.getNowDate()); + proProjectInfoSubdeptsGroupMapper.insertProProjectInfoSubdeptsGroup(specialGroup); + } + }else if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(), UserPostEnums.BZZ.getCode())){ ProProjectInfoSubdeptsGroup query = new ProProjectInfoSubdeptsGroup(); query.setProjectId(proProjectInfoSubdeptsUsers.getProjectId()); @@ -575,6 +658,8 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu proProjectInfoSubdeptsUsers.setSubDeptGroupName(groups.get(0).getGroupName()); } + proProjectInfoSubdeptsUsers.setCraftType(CraftTypeEnums.GLRY.getCode()); + proProjectInfoSubdeptsUsers.setCraftPost(CraftPostEnums.CLZY.getCode()); sysUser.setUserType(UserTypeEnums.FBCLRY.getCode()); }else if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(), UserPostEnums.AQRY.getCode())){ //查询管理班组 @@ -589,7 +674,22 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu proProjectInfoSubdeptsUsers.setSubDeptGroupName(groups.get(0).getGroupName()); } + proProjectInfoSubdeptsUsers.setCraftType(CraftTypeEnums.GLRY.getCode()); + proProjectInfoSubdeptsUsers.setCraftPost(CraftPostEnums.AQZY.getCode()); sysUser.setUserType(UserTypeEnums.FBAQRY.getCode()); + }else if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(), UserPostEnums.TSGZ.getCode())){ + // 查询特殊工种绑定班组信息 + ProProjectInfoSubdeptsGroup query = new ProProjectInfoSubdeptsGroup(); + query.setProjectId(parUsers.getProjectId()); + query.setSubDeptId(parUsers.getSubDeptId()); + query.setGroupCode(DeptGroupEnums.SPECIAL.getCode()); + List groups = proProjectInfoSubdeptsGroupMapper.selectProProjectInfoSubdeptsGroupList(query); + + if(Objects.nonNull(groups) && groups.size()>0){ + proProjectInfoSubdeptsUsers.setSubDeptGroup(groups.get(0).getId()); + proProjectInfoSubdeptsUsers.setSubDeptGroupName(groups.get(0).getGroupName()); + } + sysUser.setUserType(UserTypeEnums.FBLWRY.getCode()); }else if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(), UserPostEnums.LWGR.getCode())){ // 劳务人员绑定班组信息 proProjectInfoSubdeptsUsers.setSubDeptGroup(parUsers.getSubDeptGroup()); @@ -790,6 +890,9 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(),UserPostEnums.WTDL.getCode())){ ProProjectInfoSubdepts proProjectInfoSubdepts = proProjectInfoSubdeptsMapper.selectProProjectInfoSubdeptsById(proProjectInfoSubdeptsUsers.getSubDeptId()); proProjectInfoSubdepts.setApproveStatus(ApproveStatus.exempt.getCode()); + if(Objects.isNull(proProjectInfoSubdepts.getUseStatus()) && Objects.equals(proProjectInfoSubdepts.getUseStatus(),UseStateEnums.AW.getCode())){ + proProjectInfoSubdepts.setUseStatus(UseStateEnums.IN.getCode()); + } // 生成二维码 try { String accessToken = wxMaService.getAccessToken(); @@ -807,6 +910,21 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu } proProjectInfoSubdeptsMapper.updateProProjectInfoSubdepts(proProjectInfoSubdepts); }else if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(),UserPostEnums.XMJL.getCode())){ + // 查询特殊工种绑定班组信息 + ProProjectInfoSubdeptsGroup query = new ProProjectInfoSubdeptsGroup(); + query.setProjectId(proProjectInfoSubdeptsUsers.getProjectId()); + query.setSubDeptId(proProjectInfoSubdeptsUsers.getSubDeptId()); + query.setGroupCode(DeptGroupEnums.SPECIAL.getCode()); + List groups = proProjectInfoSubdeptsGroupMapper.selectProProjectInfoSubdeptsGroupList(query); + + if(Objects.nonNull(groups) && groups.size()>0){ + ProProjectInfoSubdeptsGroup specialGroup = groups.get(0); + specialGroup.setApproveStatus(ApproveStatus.exempt.getCode()); + if(Objects.isNull(specialGroup.getUseStatus()) && Objects.equals(specialGroup.getUseStatus(),UseStateEnums.AW.getCode())){ + specialGroup.setUseStatus(UseStateEnums.IN.getCode()); + } + proProjectInfoSubdeptsGroupMapper.updateProProjectInfoSubdeptsGroup(specialGroup); + } try { String accessToken = wxMaService.getAccessToken(); String filePath = DateUtils.datePath()+"/"+System.currentTimeMillis()+".png"; @@ -823,6 +941,9 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu }else if(Objects.equals(proProjectInfoSubdeptsUsers.getUserPost(),UserPostEnums.BZZ.getCode())){ ProProjectInfoSubdeptsGroup proProjectInfoSubdeptsGroup = proProjectInfoSubdeptsGroupMapper.selectProProjectInfoSubdeptsGroupById(proProjectInfoSubdeptsUsers.getSubDeptGroup()); proProjectInfoSubdeptsGroup.setApproveStatus(ApproveStatus.exempt.getCode()); + if(Objects.isNull(proProjectInfoSubdeptsGroup.getUseStatus()) && Objects.equals(proProjectInfoSubdeptsGroup.getUseStatus(),UseStateEnums.AW.getCode())){ + proProjectInfoSubdeptsGroup.setUseStatus(UseStateEnums.IN.getCode()); + } proProjectInfoSubdeptsGroupMapper.updateProProjectInfoSubdeptsGroup(proProjectInfoSubdeptsGroup); try { String accessToken = wxMaService.getAccessToken(); @@ -839,24 +960,6 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu } } - // 审核文件签名 - String filePath = proProjectInfoSubdeptsUsers.getEduFilePath().replace(ProfileConfig.profile, ProfileConfig.profilePath); - BasSignet query = new BasSignet(); - query.setProjectId(proProjectInfoSubdeptsUsers.getProjectId()); - query.setUserId(SecurityUtils.getUserId()); - List signets = basSignetMapper.selectBasSignetList(query); - if(StringUtils.isEmpty(signets)){ - throw new ServiceException("获取签名异常"); - } - File pdfFile = org.apache.commons.io.FileUtils.getFile(filePath); - if (!pdfFile.getParentFile().exists()) { - boolean mkdirs = pdfFile.getParentFile().mkdirs(); - log.info("创建目录...{}...{}",mkdirs,filePath); - } - String newFilePath = filePath.replace(".pdf","-c.pdf"); - PdfImageSignetUtil.imageWaterMark(filePath, filePath, signets.get(0).getSignetPath().replace(ProfileConfig.profile, ProfileConfig.profilePath),SignetKeyEnums.COMPANY_SIGN.getCode()); - proProjectInfoSubdeptsUsers.setEduFilePath(newFilePath); - proProjectInfoSubdeptsUsers.setUseStatus(UseStateEnums.IN.getCode()); proProjectInfoSubdeptsUsers.setApproveStatus(ApproveStatus.exempt.getCode()); proProjectInfoSubdeptsUsersMapper.updateProProjectInfoSubdeptsUsers(proProjectInfoSubdeptsUsers); @@ -872,22 +975,29 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu public void approveSubDeptsUserGroSign(Long id){ ProProjectInfoSubdeptsUsers proProjectInfoSubdeptsUsers = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersById(id); String filePath = proProjectInfoSubdeptsUsers.getEduFilePath().replace(ProfileConfig.profile, ProfileConfig.profilePath); - BasSignet query = new BasSignet(); - query.setProjectId(proProjectInfoSubdeptsUsers.getProjectId()); - query.setUserId(SecurityUtils.getUserId()); - List signets = basSignetMapper.selectBasSignetList(query); - if(StringUtils.isEmpty(signets)){ - throw new ServiceException("获取签名异常"); + + // 查询班组长签名 + if(proProjectInfoSubdeptsUsers.getSubDeptGroup()!=null){ + ProProjectInfoSubdeptsGroup group = proProjectInfoSubdeptsGroupMapper.selectProProjectInfoSubdeptsGroupById(proProjectInfoSubdeptsUsers.getSubDeptGroup()); + if(group!=null && StringUtils.isNotEmpty(group.getGroupLeaderPhone())){ + ProProjectInfoSubdeptsUsers userQuery = new ProProjectInfoSubdeptsUsers(); + userQuery.setUserPhone(group.getGroupLeaderPhone()); + userQuery.setProjectId(group.getProjectId()); + List users = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersList(userQuery); + if(StringUtils.isNotEmpty(users)){ + BasSignet query = new BasSignet(); + query.setProjectId(users.get(0).getProjectId()); + query.setUserId(users.get(0).getUserId()); + List signets = basSignetMapper.selectBasSignetList(query); + if(StringUtils.isNotEmpty(signets)){ + String newFilePath = filePath.replace(".pdf","-g.pdf"); + PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signets.get(0).getSignetPath().replace(ProfileConfig.profile, ProfileConfig.profilePath),SignetKeyEnums.GROUP_SIGN.getCode()); + proProjectInfoSubdeptsUsers.setEduFilePath(newFilePath.replace(ProfileConfig.profilePath,ProfileConfig.profile)); + proProjectInfoSubdeptsUsersMapper.updateProProjectInfoSubdeptsUsers(proProjectInfoSubdeptsUsers); + } + } + } } - File pdfFile = org.apache.commons.io.FileUtils.getFile(filePath); - if (!pdfFile.getParentFile().exists()) { - boolean mkdirs = pdfFile.getParentFile().mkdirs(); - log.info("创建目录...{}...{}",mkdirs,filePath); - } - String newFilePath = filePath.replace(".pdf","-g.pdf"); - PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signets.get(0).getSignetPath().replace(ProfileConfig.profile, ProfileConfig.profilePath),SignetKeyEnums.GROUP_SIGN.getCode()); - proProjectInfoSubdeptsUsers.setEduFilePath(newFilePath); - proProjectInfoSubdeptsUsersMapper.updateProProjectInfoSubdeptsUsers(proProjectInfoSubdeptsUsers); } /** @@ -898,22 +1008,120 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu public void approveSubDeptsUserProSign(Long id){ ProProjectInfoSubdeptsUsers proProjectInfoSubdeptsUsers = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersById(id); String filePath = proProjectInfoSubdeptsUsers.getEduFilePath().replace(ProfileConfig.profile, ProfileConfig.profilePath); - BasSignet query = new BasSignet(); - query.setProjectId(proProjectInfoSubdeptsUsers.getProjectId()); - query.setUserId(SecurityUtils.getUserId()); - List signets = basSignetMapper.selectBasSignetList(query); - if(StringUtils.isEmpty(signets)){ - throw new ServiceException("获取签名异常"); + ProProjectInfoSubdeptsUsers userQuery = new ProProjectInfoSubdeptsUsers(); + userQuery.setWorkType(18L); + userQuery.setProjectId(proProjectInfoSubdeptsUsers.getProjectId()); + List users = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersList(userQuery); + if(StringUtils.isNotEmpty(users)){ + BasSignet query = new BasSignet(); + query.setProjectId(users.get(0).getProjectId()); + query.setUserId(users.get(0).getUserId()); + List signets = basSignetMapper.selectBasSignetList(query); + if(StringUtils.isNotEmpty(signets)){ + String newFilePath = filePath.replace(".pdf","-p.pdf"); + PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signets.get(0).getSignetPath().replace(ProfileConfig.profile, ProfileConfig.profilePath),SignetKeyEnums.PROJECT_SIGN.getCode()); + proProjectInfoSubdeptsUsers.setEduFilePath(newFilePath.replace(ProfileConfig.profilePath,ProfileConfig.profile)); + proProjectInfoSubdeptsUsersMapper.updateProProjectInfoSubdeptsUsers(proProjectInfoSubdeptsUsers); + } } - File pdfFile = org.apache.commons.io.FileUtils.getFile(filePath); - if (!pdfFile.getParentFile().exists()) { - boolean mkdirs = pdfFile.getParentFile().mkdirs(); - log.info("创建目录...{}...{}",mkdirs,filePath); + } + + /** + * 公司安全承诺书文件签名章 + * @param id + */ + @Override + public void approveSubDeptsUserComSign(Long id){ + // 审核文件签名 + ProProjectInfoSubdeptsUsers proProjectInfoSubdeptsUsers = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersById(id); + String filePath = proProjectInfoSubdeptsUsers.getEduFilePath().replace(ProfileConfig.profile, ProfileConfig.profilePath); + ProProjectInfoSubdeptsUsers userQuery = new ProProjectInfoSubdeptsUsers(); + userQuery.setWorkType(18L); + userQuery.setProjectId(proProjectInfoSubdeptsUsers.getProjectId()); + List users = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersList(userQuery); + if(StringUtils.isNotEmpty(users)){ + BasSignet query = new BasSignet(); + query.setProjectId(users.get(0).getProjectId()); + query.setUserId(users.get(0).getUserId()); + List signets = basSignetMapper.selectBasSignetList(query); + if(StringUtils.isNotEmpty(signets)){ + String newFilePath = filePath.replace(".pdf","-c.pdf"); + PdfImageSignetUtil.imageWaterMark(filePath, newFilePath, signets.get(0).getSignetPath().replace(ProfileConfig.profile, ProfileConfig.profilePath),SignetKeyEnums.PROJECT_SIGN.getCode()); + proProjectInfoSubdeptsUsers.setEduFilePath(newFilePath.replace(ProfileConfig.profilePath,ProfileConfig.profile)); + proProjectInfoSubdeptsUsersMapper.updateProProjectInfoSubdeptsUsers(proProjectInfoSubdeptsUsers); + } } - String newFilePath = filePath.replace(".pdf","-p.pdf"); - PdfImageSignetUtil.imageWaterMark(filePath, filePath, signets.get(0).getSignetPath().replace(ProfileConfig.profile, ProfileConfig.profilePath),SignetKeyEnums.PROJECT_SIGN.getCode()); - proProjectInfoSubdeptsUsers.setEduFilePath(newFilePath); - proProjectInfoSubdeptsUsersMapper.updateProProjectInfoSubdeptsUsers(proProjectInfoSubdeptsUsers); + } + + @Override + public Boolean findUserComSign(Long id){ + // 审核文件签名 + ProProjectInfoSubdeptsUsers proProjectInfoSubdeptsUsers = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersById(id); + ProProjectInfoSubdeptsUsers userQuery = new ProProjectInfoSubdeptsUsers(); + userQuery.setWorkType(18L); + userQuery.setProjectId(proProjectInfoSubdeptsUsers.getProjectId()); + List users = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersList(userQuery); + if(StringUtils.isNotEmpty(users)){ + BasSignet query = new BasSignet(); + query.setProjectId(users.get(0).getProjectId()); + query.setUserId(users.get(0).getUserId()); + List signets = basSignetMapper.selectBasSignetList(query); + if(StringUtils.isNotEmpty(signets)){ + return true; + } + } + return false; + } + + @Override + public Boolean findUserProSign(Long id){ + ProProjectInfoSubdeptsUsers proProjectInfoSubdeptsUsers = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersById(id); + ProProjectInfoSubdeptsUsers userQuery = new ProProjectInfoSubdeptsUsers(); + userQuery.setWorkType(18L); + userQuery.setProjectId(proProjectInfoSubdeptsUsers.getProjectId()); + List users = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersList(userQuery); + if(StringUtils.isNotEmpty(users)){ + BasSignet query = new BasSignet(); + query.setProjectId(users.get(0).getProjectId()); + query.setUserId(users.get(0).getUserId()); + List signets = basSignetMapper.selectBasSignetList(query); + if(StringUtils.isNotEmpty(signets)){ + return true; + } + } + return false; + } + + @Override + public Boolean findUserGroSign(Long id){ + ProProjectInfoSubdeptsUsers proProjectInfoSubdeptsUsers = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersById(id); + // 查询班组长签名 + if(proProjectInfoSubdeptsUsers.getSubDeptGroup()!=null){ + ProProjectInfoSubdeptsGroup group = proProjectInfoSubdeptsGroupMapper.selectProProjectInfoSubdeptsGroupById(proProjectInfoSubdeptsUsers.getSubDeptGroup()); + if(group!=null && StringUtils.isNotEmpty(group.getGroupLeaderPhone())){ + ProProjectInfoSubdeptsUsers userQuery = new ProProjectInfoSubdeptsUsers(); + userQuery.setUserPhone(group.getGroupLeaderPhone()); + userQuery.setProjectId(group.getProjectId()); + List users = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersList(userQuery); + if(StringUtils.isNotEmpty(users)){ + BasSignet query = new BasSignet(); + query.setProjectId(users.get(0).getProjectId()); + query.setUserId(users.get(0).getUserId()); + List signets = basSignetMapper.selectBasSignetList(query); + if(StringUtils.isNotEmpty(signets)){ + return true; + } + } + } + } + return false; + } + + public static void main(String[] args) { + String path = "D:\\meta\\test.pdf"; + String newPath = path.replace(".pdf","-c.pdf");; + String signPath = "D:\\meta\\sign.png.v1.png"; + PdfImageSignetUtil.imageWaterMark(path, newPath, signPath, SignetKeyEnums.PROJECT_SIGN.getCode()); } /** diff --git a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/utils/pdf/PdfImageSignetUtil.java b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/utils/pdf/PdfImageSignetUtil.java index a57b58d3..59d27247 100644 --- a/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/utils/pdf/PdfImageSignetUtil.java +++ b/yanzhu-modules/yanzhu-manage/src/main/java/com/yanzhu/manage/utils/pdf/PdfImageSignetUtil.java @@ -127,26 +127,7 @@ public class PdfImageSignetUtil { pdfReader = new PdfReader(srcPdfPath); FileOutputStream out = org.apache.commons.io.FileUtils.openOutputStream(org.apache.commons.io.FileUtils.getFile(newPdfPath)); pdfStamper = new PdfStamper(pdfReader, out); - BufferedImage bufferedImage = ImageIO.read(org.apache.commons.io.FileUtils.getFile(imagePath)); - // 这里裁剪图片可能报错,报错用原图 - int[] array = bufferedImageToIntArray(bufferedImage,bufferedImage.getWidth(),bufferedImage.getHeight()); - // blank是作为四周边距留白 - int blank = 20; - boolean cutResult = false; - try { - // 图片裁剪 - ImgUtil.cut(FileUtil.file(imagePath), - FileUtil.file(imagePath + ".v1.png"), new Rectangle(array[0]-blank,array[1]-blank,array[2]+blank*2, array[3]+blank*2)); - cutResult = true; - }catch (Exception ex){ - log.error("图片裁剪发生未知异常:" + ex); - } - // 图片压缩 - // ImgUtil.scale(FileUtil.file(cutResult?(imagePath + ".v0.png"):imagePath), - // FileUtil.file(imagePath + ".v1.png"), (float) (60.0/bufferedImage.getWidth())); - // 图片旋转 - ImgUtil.rotate(FileUtil.file(cutResult?(imagePath + ".v1.png"):imagePath),270,FileUtil.file(imagePath + ".v2.png")); - Image qrcodeImage = Image.getInstance(imagePath+".v2.png"); + Image qrcodeImage = Image.getInstance(imagePath); //设置图片宽高 qrcodeImage.scaleToFit(qrcodeImage.getWidth()/20, qrcodeImage.getHeight()/20); for(int i=0;i