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.DmsDanganCundangShenqingDanganheEntity; import jnpf.dmsEntity.form.DmsDanganCundangJieshouCheckForm; import jnpf.dmsEntity.form.DmsDanganCundangJieshouForm; import jnpf.dmsService.DmsDanganCundangJieshouService; import jnpf.dmsService.DmsDanganCundangShenqingTongguoService; import jnpf.exception.DataException; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; 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/dangan/cundang") @RequiredArgsConstructor public class DmsDanganCundangJieshouController { private final DmsDanganCundangJieshouService jieshouService; private final DmsDanganCundangShenqingTongguoService tongguoService; @Operation(summary = "档案存档申请通过") @PostMapping("/tongguo") public ActionResult tongguo(@RequestBody(required = false) Map formData) { String flowId = resolveParam(formData, "flow_id", "flowId"); String taskId = resolveParam(formData, "task_id", "taskId"); try { tongguoService.tongguo(flowId, taskId); return ActionResult.success("档案存档申请通过处理成功", "档案存档申请通过处理成功"); } catch (DataException e) { log.warn("档案存档申请通过处理失败:flowId={}, taskId={}, msg={}", flowId, taskId, e.getMessage()); return ActionResult.fail(e.getMessage()); } } @Operation(summary = "接收档案存档申请中的档案盒") @PostMapping("/jieshou") public ActionResult jieshou(@RequestBody(required = false) DmsDanganCundangJieshouForm form) { try { jieshouService.jieshou(form); return ActionResult.success("档案存档接收成功", "档案存档接收成功"); } catch (DataException e) { log.warn("档案存档接收失败:{}", e.getMessage()); return ActionResult.fail(e.getMessage()); } } @Operation(summary = "校验档案盒是否可接收") @PostMapping("/jieshou/check") public ActionResult check( @RequestBody(required = false) DmsDanganCundangJieshouCheckForm form) { try { DmsDanganCundangShenqingDanganheEntity danganhe = jieshouService.check(form == null ? null : form.getDanganheBianhao()); return ActionResult.success("档案盒可接收", danganhe); } catch (DataException e) { log.warn("档案盒接收校验失败:{}", 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 ? "" : String.valueOf(raw).trim(); } }