dev_xd
姜玉琦 2025-02-08 00:21:22 +08:00
parent 674595d683
commit ee3ac9904a
3 changed files with 70 additions and 22 deletions

View File

@ -838,8 +838,23 @@ 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<BasSignet> 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.setUseStatus(UseStateEnums.IN.getCode());
proProjectInfoSubdeptsUsers.setApproveStatus(ApproveStatus.exempt.getCode()); proProjectInfoSubdeptsUsers.setApproveStatus(ApproveStatus.exempt.getCode());
@ -855,9 +870,23 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
@Override @Override
public void approveSubDeptsUserGroSign(Long id){ public void approveSubDeptsUserGroSign(Long id){
ProProjectInfoSubdeptsUsers proProjectInfoSubdeptsUsers = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersById(id); ProProjectInfoSubdeptsUsers proProjectInfoSubdeptsUsers = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersById(id);
ProProjectInfoSubdeptsUsers myProUser = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersByParamId(proProjectInfoSubdeptsUsers.getProjectId(),SecurityUtils.getUserId());
String filePath = proProjectInfoSubdeptsUsers.getEduFilePath().replace(ProfileConfig.profile, ProfileConfig.profilePath); String filePath = proProjectInfoSubdeptsUsers.getEduFilePath().replace(ProfileConfig.profile, ProfileConfig.profilePath);
PdfImageSignetUtil.imageWaterMark(filePath, filePath, myProUser.gets().replace(Constants.RESOURCE_PREFIX, AppConfig.getProfile()),SignetTypeEnum.USER.getCode()); BasSignet query = new BasSignet();
query.setProjectId(proProjectInfoSubdeptsUsers.getProjectId());
query.setUserId(SecurityUtils.getUserId());
List<BasSignet> 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","-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);
} }
/** /**
@ -867,6 +896,23 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
@Override @Override
public void approveSubDeptsUserProSign(Long id){ public void approveSubDeptsUserProSign(Long id){
ProProjectInfoSubdeptsUsers proProjectInfoSubdeptsUsers = proProjectInfoSubdeptsUsersMapper.selectProProjectInfoSubdeptsUsersById(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<BasSignet> 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","-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);
} }
/** /**
@ -877,6 +923,8 @@ public class ProProjectInfoSubdeptsUsersServiceImpl implements IProProjectInfoSu
*/ */
private Map<String, Object> getUserDataMap(ProProjectInfoSubdeptsUsers proSubdeptsUser,String signPath){ private Map<String, Object> getUserDataMap(ProProjectInfoSubdeptsUsers proSubdeptsUser,String signPath){
Map<String, Object> dataMap = new HashMap<>(); Map<String, Object> dataMap = new HashMap<>();
dataMap.put("fProName",proSubdeptsUser.getProjectName());
dataMap.put("fSubDeptName",proSubdeptsUser.getSubDeptName());
dataMap.put("fName",proSubdeptsUser.getUserName()); dataMap.put("fName",proSubdeptsUser.getUserName());
dataMap.put("fSex",proSubdeptsUser.getUserSex()); dataMap.put("fSex",proSubdeptsUser.getUserSex());
dataMap.put("fAge",StringUtils.getAgeFromIdCard(proSubdeptsUser.getCardCode())); dataMap.put("fAge",StringUtils.getAgeFromIdCard(proSubdeptsUser.getCardCode()));

View File

@ -53,7 +53,7 @@ export function findMyTask(data) {
// 获取身份证正面信息 // 获取身份证正面信息
export function findCardOcrFront(url){ export function findCardOcrFront(url){
return request({ return request({
url: '/wxApi/cardOCR/front?url='+url, url: '/manage/wxApi/cardOCR/front?url='+url,
method: 'get' method: 'get'
}) })
} }
@ -61,7 +61,7 @@ export function findCardOcrFront(url){
// 获取身份证反面信息 // 获取身份证反面信息
export function findCardOcrBack(url){ export function findCardOcrBack(url){
return request({ return request({
url: '/wxApi/cardOCR/back?url='+url, url: '/manage/wxApi/cardOCR/back?url='+url,
method: 'get' method: 'get'
}) })
} }

View File

@ -74,13 +74,13 @@
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">法定代表人姓名</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">法定代表人姓名</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<input placeholder="请填写法定代表人姓名" placeholder-style="color:#6777aa;" model:value="{{form.subDeptInfos.legalPerson}}" bindinput="inputInfoslegalPerson" class="inspect_input_fill_in" maxlength="30" /> <input placeholder="请填写法定代表人姓名" placeholder-style="color:#6777aa;" model:value="{{form.subDeptInfos.legalPerson}}" disabled bindinput="inputInfoslegalPerson" class="inspect_input_fill_in" maxlength="30" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">法定代表人身份证号</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">法定代表人身份证号</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<input placeholder="请填写法定代表人身份证号" placeholder-style="color:#6777aa;" model:value="{{form.subDeptInfos.legalPersonCard}}" bindinput="inputInfoslegalPersonCard" class="inspect_input_fill_in" maxlength="30" /> <input placeholder="请填写法定代表人身份证号" placeholder-style="color:#6777aa;" model:value="{{form.subDeptInfos.legalPersonCard}}" disabled bindinput="inputInfoslegalPersonCard" class="inspect_input_fill_in" maxlength="30" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">
@ -144,13 +144,13 @@
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">委托代理人姓名</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">委托代理人姓名</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<input placeholder="请填写委托代理人姓名" placeholder-style="color:#6777aa;" model:value="{{form.subDeptLeaderName}}" bindinput="inputLeaderName" class="inspect_input_fill_in" maxlength="30" /> <input placeholder="请填写委托代理人姓名" placeholder-style="color:#6777aa;" model:value="{{form.subDeptLeaderName}}" disabled bindinput="inputLeaderName" class="inspect_input_fill_in" maxlength="30" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">委托代理人身份证号</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">委托代理人身份证号</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<input placeholder="请填写委托代理人身份证号" placeholder-style="color:#6777aa;" model:value="{{form.subDeptLeaderCode}}" bindinput="inputLeaderCode" class="inspect_input_fill_in" maxlength="30" /> <input placeholder="请填写委托代理人身份证号" placeholder-style="color:#6777aa;" model:value="{{form.subDeptLeaderCode}}" disabled bindinput="inputLeaderCode" class="inspect_input_fill_in" maxlength="30" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">
@ -232,13 +232,13 @@
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">项目经理姓名</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">项目经理姓名</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<input placeholder="请填写项目经理姓名" placeholder-style="color:#6777aa;" bindinput="inputUserName" class="inspect_input_fill_in" maxlength="30" model:value="{{form.userName}}" /> <input placeholder="请填写项目经理姓名" placeholder-style="color:#6777aa;" bindinput="inputUserName" class="inspect_input_fill_in" disabled maxlength="30" model:value="{{form.userName}}" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">项目经理身份证号</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">项目经理身份证号</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<input placeholder="请填写项目经理身份证号" placeholder-style="color:#6777aa;" bindinput="inputUserCode" class="inspect_input_fill_in" maxlength="30" model:value="{{form.cardCode}}" /> <input placeholder="请填写项目经理身份证号" placeholder-style="color:#6777aa;" bindinput="inputUserCode" disabled class="inspect_input_fill_in" maxlength="30" model:value="{{form.cardCode}}" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">
@ -250,13 +250,13 @@
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">籍贯民族</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">籍贯民族</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<input placeholder="请填写籍贯民族" placeholder-style="color:#6777aa;" bindinput="inputOriginNative" class="inspect_input_fill_in" maxlength="30" model:value="{{form.nativePlace}}" /> <input placeholder="请填写籍贯民族" placeholder-style="color:#6777aa;" bindinput="inputOriginNative" class="inspect_input_fill_in" disabled maxlength="30" model:value="{{form.nativePlace}}" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">籍贯地址</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">籍贯地址</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<textarea class="add_textarea" placeholder="请填写籍贯地址" placeholder-style="color:#6777aa;" maxlength="64" bindblur="inputOriginAddress" model:value="{{form.address}}" /> <textarea class="add_textarea" placeholder="请填写籍贯地址" placeholder-style="color:#6777aa;" maxlength="64" disabled bindblur="inputOriginAddress" model:value="{{form.address}}" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">
@ -368,13 +368,13 @@
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">姓名</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">姓名</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<input placeholder="请填写姓名" placeholder-style="color:#6777aa;" bindinput="inputUserName" class="inspect_input_fill_in" maxlength="30" model:value="{{form.userName}}" /> <input placeholder="请填写姓名" placeholder-style="color:#6777aa;" bindinput="inputUserName" class="inspect_input_fill_in" disabled maxlength="30" model:value="{{form.userName}}" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">身份证号</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">身份证号</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<input placeholder="请填写身份证号" placeholder-style="color:#6777aa;" bindinput="inputUserCode" class="inspect_input_fill_in" maxlength="30" model:value="{{form.cardCode}}" /> <input placeholder="请填写身份证号" placeholder-style="color:#6777aa;" bindinput="inputUserCode" class="inspect_input_fill_in" disabled maxlength="30" model:value="{{form.cardCode}}" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">
@ -386,13 +386,13 @@
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">籍贯民族</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">籍贯民族</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<input placeholder="请填写籍贯民族" placeholder-style="color:#6777aa;" bindinput="inputOriginNative" class="inspect_input_fill_in" maxlength="30" model:value="{{form.nativePlace}}" /> <input placeholder="请填写籍贯民族" placeholder-style="color:#6777aa;" bindinput="inputOriginNative" class="inspect_input_fill_in" disabled maxlength="30" model:value="{{form.nativePlace}}" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">籍贯地址</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">籍贯地址</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<textarea class="add_textarea" placeholder="请填写籍贯地址" placeholder-style="color:#6777aa;" maxlength="64" bindblur="inputOriginAddress" model:value="{{form.address}}" /> <textarea class="add_textarea" placeholder="请填写籍贯地址" placeholder-style="color:#6777aa;" maxlength="64" disabled bindblur="inputOriginAddress" model:value="{{form.address}}" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">
@ -478,13 +478,13 @@
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">姓名</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">姓名</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<input placeholder="请填写姓名" placeholder-style="color:#6777aa;" bindinput="inputUserName" class="inspect_input_fill_in" maxlength="30" model:value="{{form.userName}}" /> <input placeholder="请填写姓名" placeholder-style="color:#6777aa;" bindinput="inputUserName" class="inspect_input_fill_in" disabled maxlength="30" model:value="{{form.userName}}" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">身份证号</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">身份证号</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<input placeholder="请填写身份证号" placeholder-style="color:#6777aa;" bindinput="inputUserCode" class="inspect_input_fill_in" maxlength="30" model:value="{{form.cardCode}}" /> <input placeholder="请填写身份证号" placeholder-style="color:#6777aa;" bindinput="inputUserCode" class="inspect_input_fill_in" disabled maxlength="30" model:value="{{form.cardCode}}" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">
@ -496,13 +496,13 @@
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">籍贯民族</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">籍贯民族</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<input placeholder="请填写籍贯民族" placeholder-style="color:#6777aa;" bindinput="inputOriginNative" class="inspect_input_fill_in" maxlength="30" model:value="{{form.nativePlace}}" /> <input placeholder="请填写籍贯民族" placeholder-style="color:#6777aa;" bindinput="inputOriginNative" class="inspect_input_fill_in" disabled maxlength="30" model:value="{{form.nativePlace}}" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">
<view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">籍贯地址</view> <view class="inspect_info_title" style="padding: 20rpx 0 10rpx;">籍贯地址</view>
<view class="inspect_info_content"> <view class="inspect_info_content">
<textarea class="add_textarea" placeholder="请填写籍贯地址" placeholder-style="color:#6777aa;" maxlength="64" bindblur="inputOriginAddress" model:value="{{form.address}}" /> <textarea class="add_textarea" placeholder="请填写籍贯地址" placeholder-style="color:#6777aa;" maxlength="64" disabled bindblur="inputOriginAddress" model:value="{{form.address}}" />
</view> </view>
</view> </view>
<view class="inspect_info_list"> <view class="inspect_info_list">