档案借阅工作流

new
parent b1978bb176
commit 2b41364824

@ -0,0 +1,32 @@
--
ALTER TABLE archives_borrow_apply ADD COLUMN `process_instance_id` varchar(255) NULL DEFAULT NULL COMMENT '';
--
ALTER TABLE archives_borrow_apply ADD COLUMN `bill_type` varchar(255) NULL DEFAULT NULL COMMENT '';
--
ALTER TABLE archives_borrow_apply ADD COLUMN `status` varchar(64) NULL DEFAULT NULL COMMENT '';
ALTER TABLE archives_borrow_apply ADD COLUMN `status` varchar(64) NULL DEFAULT NULL COMMENT '';
alter table archives_borrow_apply alter column status set default 1;
--
INSERT INTO `lyr-one`.`system_notify_template` (`id`, `name`, `code`, `nickname`, `content`, `type`, `params`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (19, '', 'BORROW_UNDEAL', '', '{billName}', 2, '[\"billName\"]', 0, NULL, '', '2023-11-09 10:59:29', '', '2023-11-09 11:01:31', b'0');
INSERT INTO `lyr-one`.`system_notify_template` (`id`, `name`, `code`, `nickname`, `content`, `type`, `params`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (20, '', 'BORROW_NOPASS', '', '{billName}\n', 2, '[\"billName\"]', 0, NULL, '', '2023-11-09 11:00:17', '', '2023-11-09 11:01:28', b'0');
INSERT INTO `lyr-one`.`system_notify_template` (`id`, `name`, `code`, `nickname`, `content`, `type`, `params`, `status`, `remark`, `creator`, `create_time`, `updater`, `update_time`, `deleted`) VALUES (21, '', 'BORROW_PASS', '', '{billName}', 2, '[\"billName\"]', 0, NULL, '', '2023-11-09 11:01:20', '', '2023-11-09 11:01:25', b'0');
--
INSERT INTO `lyr-one`.`bpm_process_definition_ext` (`id`, `process_definition_id`, `model_id`, `description`, `form_type`, `form_id`, `form_conf`, `form_fields`, `form_custom_create_path`, `form_custom_view_path`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (150, 'borrowApply_turn_over:1:b4d0a15f-7ea1-11ee-996c-9ebfc063da7b', 'ef7a711a-7ea0-11ee-996c-9ebfc063da7b', NULL, 10, 1, '{\"formRef\":\"elForm\",\"formModel\":\"formData\",\"size\":\"medium\",\"labelPosition\":\"right\",\"labelWidth\":100,\"formRules\":\"rules\",\"gutter\":15,\"disabled\":false,\"span\":24,\"formBtns\":true}', '[\"{\\\"__config__\\\":{\\\"label\\\":\\\"单行文本\\\",\\\"labelWidth\\\":null,\\\"showLabel\\\":true,\\\"changeTag\\\":true,\\\"tag\\\":\\\"el-input\\\",\\\"tagIcon\\\":\\\"input\\\",\\\"required\\\":true,\\\"layout\\\":\\\"colFormItem\\\",\\\"span\\\":24,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/input\\\",\\\"regList\\\":[],\\\"formId\\\":101,\\\"renderKey\\\":\\\"1011694592250766\\\"},\\\"__slot__\\\":{\\\"prepend\\\":\\\"\\\",\\\"append\\\":\\\"\\\"},\\\"placeholder\\\":\\\"请输入单行文本\\\",\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"clearable\\\":true,\\\"prefix-icon\\\":\\\"\\\",\\\"suffix-icon\\\":\\\"\\\",\\\"maxlength\\\":null,\\\"show-word-limit\\\":false,\\\"readonly\\\":false,\\\"disabled\\\":false,\\\"__vModel__\\\":\\\"field101\\\"}\",\"{\\\"__config__\\\":{\\\"label\\\":\\\"多行文本\\\",\\\"labelWidth\\\":null,\\\"showLabel\\\":true,\\\"tag\\\":\\\"el-input\\\",\\\"tagIcon\\\":\\\"textarea\\\",\\\"required\\\":true,\\\"layout\\\":\\\"colFormItem\\\",\\\"span\\\":24,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/input\\\",\\\"formId\\\":102,\\\"renderKey\\\":\\\"1021699431468585\\\"},\\\"type\\\":\\\"textarea\\\",\\\"placeholder\\\":\\\"请输入多行文本\\\",\\\"autosize\\\":{\\\"minRows\\\":4,\\\"maxRows\\\":4},\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"maxlength\\\":null,\\\"show-word-limit\\\":false,\\\"readonly\\\":false,\\\"disabled\\\":false,\\\"__vModel__\\\":\\\"field102\\\"}\",\"{\\\"__config__\\\":{\\\"label\\\":\\\"级联选择\\\",\\\"url\\\":\\\"https://www.fastmock.site/mock/f8d7a54fb1e60561e2f720d5a810009d/fg/cascaderList\\\",\\\"method\\\":\\\"get\\\",\\\"dataPath\\\":\\\"list\\\",\\\"dataConsumer\\\":\\\"options\\\",\\\"showLabel\\\":true,\\\"labelWidth\\\":null,\\\"tag\\\":\\\"el-cascader\\\",\\\"tagIcon\\\":\\\"cascader\\\",\\\"layout\\\":\\\"colFormItem\\\",\\\"defaultValue\\\":[],\\\"dataType\\\":\\\"dynamic\\\",\\\"span\\\":24,\\\"required\\\":true,\\\"regList\\\":[],\\\"changeTag\\\":true,\\\"document\\\":\\\"https://element.eleme.cn/#/zh-CN/component/cascader\\\",\\\"formId\\\":103,\\\"renderKey\\\":\\\"1031699431469582\\\"},\\\"options\\\":[{\\\"id\\\":1,\\\"value\\\":1,\\\"label\\\":\\\"选项1\\\",\\\"children\\\":[{\\\"id\\\":2,\\\"value\\\":2,\\\"label\\\":\\\"选项1-1\\\"}]}],\\\"placeholder\\\":\\\"请选择级联选择\\\",\\\"style\\\":{\\\"width\\\":\\\"100%\\\"},\\\"props\\\":{\\\"props\\\":{\\\"multiple\\\":false,\\\"label\\\":\\\"label\\\",\\\"value\\\":\\\"value\\\",\\\"children\\\":\\\"children\\\"}},\\\"show-all-levels\\\":true,\\\"disabled\\\":false,\\\"clearable\\\":true,\\\"filterable\\\":false,\\\"separator\\\":\\\"/\\\",\\\"__vModel__\\\":\\\"field103\\\"}\"]', NULL, NULL, '', '2023-11-09 09:45:48', '', '2023-11-09 09:45:48', b'0', 1);
INSERT INTO `lyr-one`.`bpm_task_assign_rule` (`id`, `model_id`, `process_definition_id`, `task_definition_key`, `type`, `options`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (300, 'ef7a711a-7ea0-11ee-996c-9ebfc063da7b', '', 'Activity_1miq0ca', 30, '[1]', '', '2023-11-09 09:45:43', '', '2023-11-09 09:45:43', b'0', 1);
INSERT INTO `lyr-one`.`bpm_task_assign_rule` (`id`, `model_id`, `process_definition_id`, `task_definition_key`, `type`, `options`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (301, 'ef7a711a-7ea0-11ee-996c-9ebfc063da7b', 'borrowApply_turn_over:1:b4d0a15f-7ea1-11ee-996c-9ebfc063da7b', 'Activity_1miq0ca', 30, '[1]', '', '2023-11-09 09:45:48', '', '2023-11-09 09:45:48', b'0', 1);
INSERT INTO `lyr-one`.`act_re_deployment` (`ID_`, `NAME_`, `CATEGORY_`, `KEY_`, `TENANT_ID_`, `DEPLOY_TIME_`, `DERIVED_FROM_`, `DERIVED_FROM_ROOT_`, `PARENT_DEPLOYMENT_ID_`, `ENGINE_VERSION_`) VALUES ('b4a635fc-7ea1-11ee-996c-9ebfc063da7b', '', '1', 'borrowApply_turn_over', '1', '2023-11-09 09:45:48.069', NULL, NULL, 'b4a635fc-7ea1-11ee-996c-9ebfc063da7b', NULL);
INSERT INTO `lyr-one`.`act_ge_bytearray` (`ID_`, `REV_`, `NAME_`, `DEPLOYMENT_ID_`, `BYTES_`, `GENERATED_`) VALUES ('4bf473fb-7ea1-11ee-996c-9ebfc063da7b', 2, 'source', NULL, 0x3C3F786D6C2076657273696F6E3D22312E302220656E636F64696E673D225554462D38223F3E0A3C62706D6E323A646566696E6974696F6E7320786D6C6E733A7873693D22687474703A2F2F7777772E77332E6F72672F323030312F584D4C536368656D612D696E7374616E63652220786D6C6E733A62706D6E323D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F4D4F44454C2220786D6C6E733A62706D6E64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F42504D4E2F32303130303532342F44492220786D6C6E733A64633D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F44432220786D6C6E733A64693D22687474703A2F2F7777772E6F6D672E6F72672F737065632F44442F32303130303532342F4449222069643D226469616772616D5F50726F636573735F3136393934393430383130303422207461726765744E616D6573706163653D22687474703A2F2F666C6F7761626C652E6F72672F62706D6E223E3C62706D6E323A70726F636573732069643D22626F72726F774170706C795F7475726E5F6F76657222206E616D653D22E5809FE99885E794B3E8AFB7E58D952220697345786563757461626C653D2274727565223E3C62706D6E323A73746172744576656E742069643D224576656E745F3167317361377022206E616D653D22E5BC80E5A78B223E3C62706D6E323A6F7574676F696E673E466C6F775F317064653662723C2F62706D6E323A6F7574676F696E673E3C2F62706D6E323A73746172744576656E743E3C62706D6E323A757365725461736B2069643D2241637469766974795F316D697130636122206E616D653D22E7AEA1E79086E59198223E3C62706D6E323A696E636F6D696E673E466C6F775F317064653662723C2F62706D6E323A696E636F6D696E673E3C62706D6E323A6F7574676F696E673E466C6F775F3174786D30696D3C2F62706D6E323A6F7574676F696E673E3C2F62706D6E323A757365725461736B3E3C62706D6E323A656E644576656E742069643D224576656E745F3075647177786C22206E616D653D22E7BB93E69D9F223E3C62706D6E323A696E636F6D696E673E466C6F775F3174786D30696D3C2F62706D6E323A696E636F6D696E673E3C2F62706D6E323A656E644576656E743E3C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F317064653662722220736F757263655265663D224576656E745F3167317361377022207461726765745265663D2241637469766974795F316D697130636122202F3E3C62706D6E323A73657175656E6365466C6F772069643D22466C6F775F3174786D30696D2220736F757263655265663D2241637469766974795F316D697130636122207461726765745265663D224576656E745F3075647177786C22202F3E3C2F62706D6E323A70726F636573733E3C62706D6E64693A42504D4E4469616772616D2069643D2242504D4E4469616772616D5F31223E3C62706D6E64693A42504D4E506C616E652069643D22626F72726F774170706C795F7475726E5F6F7665725F6469222062706D6E456C656D656E743D22626F72726F774170706C795F7475726E5F6F766572223E3C62706D6E64693A42504D4E456467652069643D22466C6F775F3174786D30696D5F6469222062706D6E456C656D656E743D22466C6F775F3174786D30696D223E3C64693A776179706F696E7420783D223336302220793D2232343022202F3E3C64693A776179706F696E7420783D223433322220793D2232343022202F3E3C2F62706D6E64693A42504D4E456467653E3C62706D6E64693A42504D4E456467652069643D22466C6F775F317064653662725F6469222062706D6E456C656D656E743D22466C6F775F31706465366272223E3C64693A776179706F696E7420783D223137382220793D2232343022202F3E3C64693A776179706F696E7420783D223236302220793D2232343022202F3E3C2F62706D6E64693A42504D4E456467653E3C62706D6E64693A42504D4E53686170652069643D224576656E745F316731736137705F6469222062706D6E456C656D656E743D224576656E745F31673173613770223E3C64633A426F756E647320783D223134322220793D22323232222077696474683D22333622206865696768743D22333622202F3E3C62706D6E64693A42504D4E4C6162656C3E3C64633A426F756E647320783D223134392220793D22323635222077696474683D22323322206865696768743D22313422202F3E3C2F62706D6E64693A42504D4E4C6162656C3E3C2F62706D6E64693A42504D4E53686170653E3C62706D6E64693A42504D4E53686170652069643D2241637469766974795F316D69713063615F6469222062706D6E456C656D656E743D2241637469766974795F316D6971306361223E3C64633A426F756E647320783D223236302220793D22323030222077696474683D2231303022206865696768743D22383022202F3E3C2F62706D6E64693A42504D4E53686170653E3C62706D6E64693A42504D4E53686170652069643D224576656E745F3075647177786C5F6469222062706D6E456C656D656E743D224576656E745F3075647177786C223E3C64633A426F756E647320783D223433322220793D22323232222077696474683D22333622206865696768743D22333622202F3E3C62706D6E64693A42504D4E4C6162656C3E3C64633A426F756E647320783D223433392220793D22323635222077696474683D22323322206865696768743D22313422202F3E3C2F62706D6E64693A42504D4E4C6162656C3E3C2F62706D6E64693A42504D4E53686170653E3C2F62706D6E64693A42504D4E506C616E653E3C2F62706D6E64693A42504D4E4469616772616D3E3C2F62706D6E323A646566696E6974696F6E733E, NULL);
INSERT INTO `lyr-one`.`act_re_model` (`ID_`, `REV_`, `NAME_`, `KEY_`, `CATEGORY_`, `CREATE_TIME_`, `LAST_UPDATE_TIME_`, `VERSION_`, `META_INFO_`, `DEPLOYMENT_ID_`, `EDITOR_SOURCE_VALUE_ID_`, `EDITOR_SOURCE_EXTRA_VALUE_ID_`, `TENANT_ID_`) VALUES ('ef7a711a-7ea0-11ee-996c-9ebfc063da7b', 7, '', 'borrowApply_turn_over', '1', '2023-11-09 09:40:17.271', '2023-11-09 09:45:48.392', 1, '{\"description\":null,\"formType\":10,\"formId\":1,\"formCustomCreatePath\":null,\"formCustomViewPath\":null}', 'b4a635fc-7ea1-11ee-996c-9ebfc063da7b', '4bf473fb-7ea1-11ee-996c-9ebfc063da7b', NULL, '1');
INSERT INTO `lyr-one`.`bpm_task_assign_rule` (`id`, `model_id`, `process_definition_id`, `task_definition_key`, `type`, `options`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (300, 'ef7a711a-7ea0-11ee-996c-9ebfc063da7b', '', 'Activity_1miq0ca', 30, '[1]', '', '2023-11-09 09:45:43', '', '2023-11-09 09:45:43', b'0', 1);
INSERT INTO `lyr-one`.`bpm_task_assign_rule` (`id`, `model_id`, `process_definition_id`, `task_definition_key`, `type`, `options`, `creator`, `create_time`, `updater`, `update_time`, `deleted`, `tenant_id`) VALUES (301, 'ef7a711a-7ea0-11ee-996c-9ebfc063da7b', 'borrowApply_turn_over:1:b4d0a15f-7ea1-11ee-996c-9ebfc063da7b', 'Activity_1miq0ca', 30, '[1]', '', '2023-11-09 09:45:48', '', '2023-11-09 09:45:48', b'0', 1);
--
alter table archives_borrow_apply alter column status set default 1;

@ -1,33 +0,0 @@
package cn.iocoder.yudao.module.archives.enums;
import lombok.AllArgsConstructor;
import lombok.Getter;
/**
*
*/
@AllArgsConstructor
@Getter
public enum BillTypeEnum {
DAYJ("DAYJ", "档案移交申请单"),
;
/**
*
*/
private final String value;
/**
*
*/
private final String name;
public static String getNameByValue(String targetValue) {
for (BillTypeEnum billTypeEnum : BillTypeEnum.values()) {
if (billTypeEnum.getValue().equals(targetValue)) {
return billTypeEnum.getName();
}
}
return null;
}
}

@ -1,5 +1,13 @@
package cn.iocoder.yudao.module.archives.controller.admin.borrowapply;
import cn.hutool.core.collection.CollUtil;
import cn.iocoder.yudao.module.archives.controller.admin.turnover.vo.TurnOverUpdateReqVO;
import cn.iocoder.yudao.module.archives.convert.turnover.TurnOverConvert;
import cn.iocoder.yudao.module.archives.dal.dataobject.record.RecordDO;
import cn.iocoder.yudao.module.archives.dal.dataobject.turnover.TurnOverDO;
import cn.iocoder.yudao.module.archives.service.record.RecordService;
import cn.iocoder.yudao.module.bpm.controller.admin.task.vo.task.BpmTaskRespVO;
import cn.iocoder.yudao.module.bpm.service.task.BpmTaskService;
import org.springframework.web.bind.annotation.*;
import javax.annotation.Resource;
import org.springframework.validation.annotation.Validated;
@ -37,6 +45,12 @@ public class BorrowApplyController {
@Resource
private BorrowApplyService borrowApplyService;
@Resource
private BpmTaskService taskService;
@Resource
private RecordService recordService;
@PostMapping("/create")
@Operation(summary = "创建档案借阅申请")
@PreAuthorize("@ss.hasPermission('archives:borrow-apply:create')")
@ -84,6 +98,37 @@ public class BorrowApplyController {
@PreAuthorize("@ss.hasPermission('archives:borrow-apply:query')")
public CommonResult<PageResult<BorrowApplyRespVO>> getBorrowApplyPage(@Valid BorrowApplyPageReqVO pageVO) {
PageResult<BorrowApplyDO> pageResult = borrowApplyService.getBorrowApplyPage(pageVO);
List<BorrowApplyDO> list = pageResult.getList();
if (CollUtil.isNotEmpty(list)) {
for (BorrowApplyDO t : list) {
if (t.getProcessInstanceId() != null) {
List<BpmTaskRespVO> taskListByProcessInstanceId = taskService.getTaskListByProcessInstanceId(t.getProcessInstanceId());
Optional<BpmTaskRespVO> latestTask = taskListByProcessInstanceId.stream()
.filter(task -> task.getEndTime() != null)
.sorted(Comparator.comparing(BpmTaskRespVO::getEndTime).reversed())
.findFirst();
if (latestTask.isPresent()) {
BpmTaskRespVO latest = latestTask.get();
// 找到了endTime最新的任务
BorrowApplyUpdateReqVO updateReqVO = new BorrowApplyUpdateReqVO();
updateReqVO.setId(t.getId());
if (latest.getResult().equals(2)){
updateReqVO.setBorrowState("0");//已借阅
}else {
updateReqVO.setBorrowState("1");//驳回or未借阅
}
if (!latest.getResult().toString().equals(t.getStatus())) {
updateReqVO.setStatus(latest.getResult().toString());
borrowApplyService.updateBorrowApply(updateReqVO);
}
}
}
}
PageResult<BorrowApplyDO> pageResult2 = borrowApplyService.getBorrowApplyPage(pageVO);
return success(BorrowApplyConvert.INSTANCE.convertPage(pageResult2));
}
return success(BorrowApplyConvert.INSTANCE.convertPage(pageResult));
}

@ -74,5 +74,21 @@ public class BorrowApplyBaseVO {
@Schema(description = "案卷号", example = "案卷号")
private String filesNum;
/**
*
*/
@Schema(description = "流程实例的编号", example = "流程实例的编号")
private String processInstanceId;
/**
*
*/
@Schema(description = "申请类型", example = "申请类型")
private String billType;
/**
*
*/
@Schema(description = "状态", example = "状态")
private String status;
}

@ -72,4 +72,21 @@ public class BorrowApplyExportReqVO {
@Schema(description = "案卷号", example = "案卷号")
private String filesNum;
/**
*
*/
@Schema(description = "流程实例的编号", example = "流程实例的编号")
private String processInstanceId;
/**
*
*/
@Schema(description = "申请类型", example = "申请类型")
private String billType;
/**
*
*/
@Schema(description = "状态", example = "状态")
private String status;
}

@ -79,6 +79,23 @@ public class BorrowApplyPageReqVO extends PageParam {
@Schema(description = "判断调用历史接口还是新增列表接口", example = "判断调用历史接口还是新增列表接口")
private String historyOrList;
/**
*
*/
@Schema(description = "流程实例的编号", example = "流程实例的编号")
private String processInstanceId;
/**
*
*/
@Schema(description = "申请类型", example = "申请类型")
private String billType;
/**
*
*/
@Schema(description = "状态", example = "状态")
private String status;
}

@ -106,5 +106,21 @@ public class BorrowApplyDO extends BaseDO {
*/
private String filesNum;
/**
*
*/
@Schema(description = "流程实例的编号", example = "流程实例的编号")
private String processInstanceId;
/**
*
*/
@Schema(description = "申请类型", example = "申请类型")
private String billType;
/**
*
*/
@Schema(description = "状态", example = "状态")
private String status;
}

@ -2,9 +2,15 @@ package cn.iocoder.yudao.module.archives.service.borrowapply;
import cn.iocoder.yudao.framework.common.pojo.CommonResult;
import cn.iocoder.yudao.framework.common.util.string.StringUtils;
import cn.iocoder.yudao.framework.security.core.LoginUser;
import cn.iocoder.yudao.framework.security.core.util.SecurityFrameworkUtils;
import cn.iocoder.yudao.module.archives.controller.admin.record.vo.RecordUpdateReqVO;
import cn.iocoder.yudao.module.archives.dal.dataobject.record.RecordDO;
import cn.iocoder.yudao.module.archives.service.record.RecordService;
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
import cn.iocoder.yudao.module.bs.dal.dataobject.quotationsheet.QuotationSheetDO;
import cn.iocoder.yudao.module.bs.enums.BillTypeEnum;
import org.springframework.beans.BeanUtils;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
@ -20,6 +26,7 @@ import cn.iocoder.yudao.module.archives.convert.borrowapply.BorrowApplyConvert;
import cn.iocoder.yudao.module.archives.dal.mysql.borrowapply.BorrowApplyMapper;
import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception;
import static cn.iocoder.yudao.module.archives.enums.ErrorCodeConstants.*;
import static com.baomidou.mybatisplus.extension.toolkit.Db.updateById;
/**
* Service
@ -30,12 +37,18 @@ import static cn.iocoder.yudao.module.archives.enums.ErrorCodeConstants.*;
@Validated
public class BorrowApplyServiceImpl implements BorrowApplyService {
public static final String PROCESS_KEY = "borrowApply_turn_over";
@Resource
private BorrowApplyMapper borrowApplyMapper;
@Resource
private RecordService recordService;
@Resource
private BpmProcessInstanceApi processInstanceApi;
@Override
@Transactional
public CommonResult<BorrowApplyDO> createBorrowApply(BorrowApplyCreateReqVO createReqVO) {
@ -44,17 +57,34 @@ public class BorrowApplyServiceImpl implements BorrowApplyService {
}
// 插入
BorrowApplyDO borrowApply = BorrowApplyConvert.INSTANCE.convert(createReqVO);
//修改借阅状态
RecordDO record = recordService.getRecord(createReqVO.getRecordId());
if (StringUtils.isNotNull(record.getBorrowStatus())){
if (record.getBorrowStatus().equals("0")){
/*
*
*
*/
PageResult<BorrowApplyDO> borrowApplyDOPageResult = borrowApplyMapper.selectPageHistory(new BorrowApplyPageReqVO().setFilesNum(createReqVO.getFilesNum()));
if (StringUtils.isNotNull(borrowApplyDOPageResult)){
List<BorrowApplyDO> list = borrowApplyDOPageResult.getList();
for (BorrowApplyDO b:list) {
if (b.getBorrowState().equals("0")){
return CommonResult.error("档案已被借阅");
}
}
RecordUpdateReqVO recordUpdateReqVO = new RecordUpdateReqVO();
BeanUtils.copyProperties(record,recordUpdateReqVO);
recordService.updateRecord(recordUpdateReqVO);
}
borrowApply.setBillType("BORROW");
borrowApplyMapper.insert(borrowApply);
Map<String, Object> variables = new HashMap<>();
variables.put("billId", borrowApply.getId());
variables.put("userName", createReqVO.getUserName());
variables.put("deptName", createReqVO.getDeptName());
variables.put("billName", "档案借阅申请单");
variables.put("billType","BORROW");
LoginUser loginUser = SecurityFrameworkUtils.getLoginUser();
String processInstanceId = processInstanceApi.createProcessInstance(loginUser.getId(),
new BpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(PROCESS_KEY)
.setVariables(variables).setBusinessKey(String.valueOf(borrowApply.getId())));
this.borrowApplyMapper.updateById(new BorrowApplyDO().setId(borrowApply.getId()).setProcessInstanceId(processInstanceId));
// 返回
return CommonResult.success(borrowApply);
}

@ -37,10 +37,10 @@ import cn.iocoder.yudao.module.archives.dal.mysql.authenticate.AuthenticateMappe
import cn.iocoder.yudao.module.archives.dal.mysql.record.RecordMapper;
import cn.iocoder.yudao.module.archives.enums.ArchivesStatusEnum;
import cn.iocoder.yudao.module.archives.enums.ArchivesTypeEnum;
import cn.iocoder.yudao.module.archives.enums.BillTypeEnum;
import cn.iocoder.yudao.module.bpm.api.task.BpmProcessInstanceApi;
import cn.iocoder.yudao.module.bpm.api.task.dto.BpmProcessInstanceCreateReqDTO;
import cn.iocoder.yudao.module.bpm.enums.task.BpmProcessInstanceResultEnum;
import cn.iocoder.yudao.module.bs.enums.BillTypeEnum;
import cn.iocoder.yudao.module.ea.controller.admin.electronicassets.vo.ElectronicAssetsExportReqVO;
import cn.iocoder.yudao.module.ea.controller.admin.electronicconsultation.vo.ElectronicConsultationExportReqVO;
import cn.iocoder.yudao.module.ea.controller.admin.electroniccontracts.vo.ElectronicContractsExportReqVO;
@ -60,21 +60,17 @@ import cn.iocoder.yudao.module.infra.controller.admin.file.vo.file.FilePageReqVO
import cn.iocoder.yudao.module.infra.dal.dataobject.file.FileDO;
import cn.iocoder.yudao.module.infra.service.file.FileService;
import cn.iocoder.yudao.module.setting.tools.JsonToXml;
import cn.iocoder.yudao.module.system.api.dept.DeptApi;
import cn.iocoder.yudao.module.system.api.user.AdminUserApi;
import com.alibaba.fastjson.JSON;
import com.github.yulichang.base.MPJBaseServiceImpl;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import javax.validation.Validator;
import org.springframework.validation.annotation.Validated;
import java.io.*;
import java.net.URL;
import java.net.URLConnection;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.*;

@ -20,6 +20,7 @@ public enum BillTypeEnum {
RCSQ("RCSQ", "日常申请单"),
CLBX("CLBX", "差旅报销单"),
RCBX("RCBX", "日常报销单"),
BORROW_KEY("BAYJ","借阅申请单")
;
/**

Loading…
Cancel
Save