diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/controller/ProAuthorizeController.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/controller/ProAuthorizeController.java index 04b38482..ed96d404 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/controller/ProAuthorizeController.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/controller/ProAuthorizeController.java @@ -10,6 +10,8 @@ import com.bonus.common.core.web.domain.AjaxResult; import com.bonus.common.core.web.page.TableDataInfo; import com.bonus.common.log.annotation.SysLog; import com.bonus.common.log.enums.OperaType; +import com.bonus.material.common.annotation.PreventRepeatSubmit; +import com.bonus.material.materialStation.domain.ProAuthorizeDetails; import com.bonus.material.materialStation.domain.ProAuthorizeInfo; import com.bonus.material.materialStation.service.ProAuthorizeService; import com.bonus.material.repair.domain.vo.RepairDeviceVO; @@ -97,6 +99,44 @@ public class ProAuthorizeController extends BaseController { return service.authorizeView(bean); } + /** + * 授权委托书查看 + */ + @ApiOperation(value = "授权委托书查看") + @PostMapping("/authorizeInfoView") + public AjaxResult authorizeInfoView(@RequestBody ProAuthorizeInfo bean) { + return service.authorizeInfoView(bean); + } + /** + * 授权书电子签名 + */ + @ApiOperation(value = "授权书电子签名") + @PreventRepeatSubmit + @SysLog(title = "授权书电子签名", businessType = OperaType.UPDATE, logType = 1,module = "授权管理->授权书电子签名") + @PostMapping("/updateLeaseApplyInfoSign") + public AjaxResult updateAuthorizeInfoSign(@RequestBody @NotNull ProAuthorizeDetails bean) { + try { + return toAjax(service.updateAuthorizeInfoSign(bean)); + } catch (Exception e) { + return error("系统错误, " + e.getMessage()); + } + } + + /** + * 列表展示 + */ + @ApiOperation(value = "列表展示") + @GetMapping("/getAuthorList") + public AjaxResult getAuthorList(ProAuthorizeInfo bean) { + Integer pageIndex = Convert.toInt(ServletUtils.getParameter("pageNum"), 1); + Integer pageSize = Convert.toInt(ServletUtils.getParameter("pageSize"), 10); + try { + List list = service.getAuthorList(bean); + return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list)); + } catch (Exception e) { + return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, new ArrayList<>())); + } + } } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/domain/ProAuthorizeDetails.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/domain/ProAuthorizeDetails.java index 5b6495a7..136b0cc8 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/domain/ProAuthorizeDetails.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/domain/ProAuthorizeDetails.java @@ -60,4 +60,14 @@ public class ProAuthorizeDetails { * 修改时间 */ private String updateTime; + + /** + * 签名 + */ + private String signName; + + /** + * 签名类型 + */ + private Byte signType; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/domain/ProAuthorizeInfo.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/domain/ProAuthorizeInfo.java index 5b2c35eb..746a9349 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/domain/ProAuthorizeInfo.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/domain/ProAuthorizeInfo.java @@ -1,7 +1,10 @@ package com.bonus.material.materialStation.domain; +import com.fasterxml.jackson.annotation.JsonFormat; +import io.swagger.annotations.ApiModelProperty; import lombok.Data; +import java.util.Date; import java.util.List; /** @@ -70,4 +73,26 @@ public class ProAuthorizeInfo { * 关联外部(第三方)的工程ID */ private String externalId; + + private String leaseUnit; + + private String leaseProject; + + private String userName; + + private String leaseSignUrl; + + private Byte leaseSignType; + + private String signStatus; + + @JsonFormat(pattern = "yyyy-MM-dd") + private Date startTime; + + @JsonFormat(pattern = "yyyy-MM-dd") + private Date endTime; + + private String keyWord; + + private String code; } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/mapper/ProAuthorizeMapper.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/mapper/ProAuthorizeMapper.java index 8b9d16c8..81454105 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/mapper/ProAuthorizeMapper.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/mapper/ProAuthorizeMapper.java @@ -56,4 +56,12 @@ public interface ProAuthorizeMapper { * @return */ int deleteProAuthorizeDetails(Long authId); + + ProAuthorizeInfo selectProAuthorizeInfoView(ProAuthorizeInfo bean); + + List getAuthorList(ProAuthorizeInfo bean); + + int updateAuthorizeInfoSign(ProAuthorizeDetails bean); + + int updateAuthorizeInfoSignStatus(ProAuthorizeDetails bean); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/ProAuthorizeService.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/ProAuthorizeService.java index 14264556..27c23283 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/ProAuthorizeService.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/ProAuthorizeService.java @@ -4,6 +4,7 @@ package com.bonus.material.materialStation.service; import com.bonus.common.biz.domain.lease.LeaseApplyInfo; import com.bonus.common.biz.domain.lease.LeasePublishInfo; import com.bonus.common.core.web.domain.AjaxResult; +import com.bonus.material.materialStation.domain.ProAuthorizeDetails; import com.bonus.material.materialStation.domain.ProAuthorizeInfo; import org.springframework.web.bind.annotation.RequestPart; import org.springframework.web.multipart.MultipartFile; @@ -46,4 +47,14 @@ public interface ProAuthorizeService { * @return */ AjaxResult authorizeView(ProAuthorizeInfo bean); + + AjaxResult authorizeInfoView(ProAuthorizeInfo bean); + + + /** + * 授权书电子签名 + */ + int updateAuthorizeInfoSign(ProAuthorizeDetails bean); + + List getAuthorList(ProAuthorizeInfo bean); } diff --git a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/impl/ProAuthorizeServiceImpl.java b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/impl/ProAuthorizeServiceImpl.java index f04af5ab..bffb531b 100644 --- a/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/impl/ProAuthorizeServiceImpl.java +++ b/bonus-modules/bonus-material/src/main/java/com/bonus/material/materialStation/service/impl/ProAuthorizeServiceImpl.java @@ -206,6 +206,65 @@ public class ProAuthorizeServiceImpl implements ProAuthorizeService { } } + @Override + public AjaxResult authorizeInfoView(ProAuthorizeInfo bean) { + try { + if (bean.getLeaseId()!= null){ + //查询授权信息 + ProAuthorizeInfo info = mapper.selectProAuthorizeInfoView(bean); + if (info != null){ + List detailsList = mapper.getDetailsList(info.getId()); + // 电子签名进行base64拼接 + if(!detailsList.isEmpty()){ + detailsList.forEach(details -> { + details.setSignName("data:image/png;base64," + details.getSignName()); + }); + } + info.setDetailsList(detailsList); + } + return AjaxResult.success(info); + } else { + log.error("授权查看没有id"); + return AjaxResult.error("授权信息查看失败"); + } + } catch (Exception e) { + log.error("授权信息查看失败", e.getMessage()); + return AjaxResult.error("授权信息查看失败"); + } + } + + /** + * 授权书电子签名 + * + * @param bean + */ + @Override + public int updateAuthorizeInfoSign(ProAuthorizeDetails bean) { + // 领用电子签名修改 + int count = 0; + //修改pro_authorize_user表 + count = mapper.updateAuthorizeInfoSign(bean); + if(count==0){ + throw new RuntimeException("授权书电子签名失败"); + }else{ + //修改pro_authorize_info表 + return mapper.updateAuthorizeInfoSignStatus(bean); + } + + + } + + @Override + public List getAuthorList(ProAuthorizeInfo bean) { + try { + List list = mapper.getAuthorList(bean); + return list; + } catch (Exception e){ + log.error("项目部授权列表查询", e.getMessage()); + return new ArrayList<>(); + } + } + /** * 判断关键字是否包含在item中 * @param item diff --git a/bonus-modules/bonus-material/src/main/resources/mapper/material/materialStation/ProAuthorizeMapper.xml b/bonus-modules/bonus-material/src/main/resources/mapper/material/materialStation/ProAuthorizeMapper.xml index eb29698c..55e13699 100644 --- a/bonus-modules/bonus-material/src/main/resources/mapper/material/materialStation/ProAuthorizeMapper.xml +++ b/bonus-modules/bonus-material/src/main/resources/mapper/material/materialStation/ProAuthorizeMapper.xml @@ -50,6 +50,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" create_time, update_by, update_time) values (#{parentId}, #{name}, #{idNumber}, #{frontUrl}, #{backUrl}, #{createBy}, NOW(),#{createBy},NOW()) + + update pro_authorize_user set sign_url = #{signName}, sign_type = #{signType} + where parent_id = #{parentId} + + + update pro_authorize_info set sign_status = 1 + where id = #{parentId} + delete @@ -124,8 +132,63 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" `name`, id_number as idNumber, front_url as frontUrl, - back_url as backUrl + back_url as backUrl, + sign_url as signName, + sign_type as signType FROM pro_authorize_user WHERE parent_id = #{id} + + \ No newline at end of file