package jnpf.dmsController; import io.swagger.v3.oas.annotations.Operation; import io.swagger.v3.oas.annotations.tags.Tag; import jnpf.base.ActionResult; import jnpf.dmsEntity.form.DmsWenjianBianhaoGuizeShengbanCheckForm; import jnpf.dmsService.DmsWenjianBianhaoGuizeFeiqiService; import jnpf.dmsService.DmsWenjianBianhaoGuizeShengbanCheckService; import jnpf.dmsService.DmsWenjianBianhaoGuizeTongguoService; import jnpf.exception.DataException; import lombok.extern.slf4j.Slf4j; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.PostMapping; import org.springframework.web.bind.annotation.RequestBody; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import java.util.Map; @Slf4j @Tag(name = "DMS文件编号规则接口", description = "文件编号规则业务操作") @RestController @RequestMapping("/biz/wenjian/bianhao/guize") public class DmsWenjianBianhaoGuizeController { @Autowired private DmsWenjianBianhaoGuizeFeiqiService feiqiService; @Autowired private DmsWenjianBianhaoGuizeTongguoService tongguoService; @Autowired private DmsWenjianBianhaoGuizeShengbanCheckService shengbanCheckService; @Operation(summary = "校验文件编号规则升版") @PostMapping("/shengban/check") public ActionResult checkShengban(@RequestBody(required = false) DmsWenjianBianhaoGuizeShengbanCheckForm form) { try { shengbanCheckService.check( form == null ? null : form.getFId(), form == null ? null : form.getGuizeLiushuihao(), form == null ? null : form.getBanbenhao()); return ActionResult.success("文件编号规则升版校验通过", "文件编号规则升版校验通过"); } catch (DataException e) { log.warn("文件编号规则升版校验失败:{}", e.getMessage()); return ActionResult.fail(e.getMessage()); } } @Operation(summary = "文件编号规则审核通过") @PostMapping("/tongguo") public ActionResult tongguo(@RequestBody(required = false) Map formData) { String resolvedFlowId = resolveParam(formData, "flow_id", "flowId"); String resolvedTaskId = resolveParam(formData, "task_id", "taskId"); try { tongguoService.tongguo(resolvedFlowId, resolvedTaskId); return ActionResult.success("文件编号规则审核通过处理成功", "文件编号规则审核通过处理成功"); } catch (DataException e) { log.warn("文件编号规则审核通过处理失败:flowId={}, taskId={}, msg={}", resolvedFlowId, resolvedTaskId, e.getMessage()); return ActionResult.fail(e.getMessage()); } } @Operation(summary = "废弃文件编号规则") @PostMapping("/feiqi") public ActionResult feiqi(@RequestBody(required = false) Map formData) { String resolvedFlowId = resolveParam(formData, "flow_id", "flowId"); String resolvedTaskId = resolveParam(formData, "task_id", "taskId"); try { feiqiService.feiqiGuize(resolvedFlowId, resolvedTaskId); return ActionResult.success("文件编号规则废弃成功", "文件编号规则废弃成功"); } catch (DataException e) { log.warn("文件编号规则废弃失败:flowId={}, taskId={}, msg={}", resolvedFlowId, resolvedTaskId, e.getMessage()); return ActionResult.fail(e.getMessage()); } } private String resolveParam(Map formData, String snakeCaseKey, String camelCaseKey) { if (formData == null) { return ""; } Object raw = formData.get(snakeCaseKey); if (raw == null) { raw = formData.get(camelCaseKey); } return raw == null ? "" : trimToEmpty(String.valueOf(raw)); } private String trimToEmpty(String value) { return value == null ? "" : value.trim(); } }