package jnpf.dmsController;
|
|
import cn.dev33.satoken.annotation.SaCheckLogin;
|
import io.swagger.v3.oas.annotations.Operation;
|
import io.swagger.v3.oas.annotations.tags.Tag;
|
import jakarta.validation.Valid;
|
import jnpf.base.ActionResult;
|
import jnpf.base.Pagination;
|
import jnpf.base.vo.PageListVO;
|
import jnpf.base.vo.PaginationVO;
|
import jnpf.dmsEntity.fenfa.form.DmsWenjianBupinghengForm;
|
import jnpf.dmsEntity.fenfa.form.DmsWenjianDayinForm;
|
import jnpf.dmsEntity.fenfa.form.DmsWenjianPiliangDayinForm;
|
import jnpf.dmsEntity.fenfa.form.DmsWenjianQianshouFafangForm;
|
import jnpf.dmsEntity.fenfa.form.DmsWenjianHuishouForm;
|
import jnpf.dmsEntity.fenfa.form.DmsWenjianHuishouSaomaForm;
|
import jnpf.dmsEntity.fenfa.form.DmsWenjianXiaohuiSaomaForm;
|
import jnpf.dmsEntity.fenfa.vo.DmsWenjianDayinJiluVO;
|
import jnpf.dmsEntity.fenfa.vo.DmsWenjianDayinRenwuVO;
|
import jnpf.dmsEntity.fenfa.vo.DmsWenjianFenfaRenwuVO;
|
import jnpf.dmsEntity.fenfa.vo.DmsWenjianJiaojieXiangqingVO;
|
import jnpf.dmsEntity.fenfa.vo.DmsWenjianHuishouMingxiVO;
|
import jnpf.dmsEntity.fenfa.vo.DmsWenjianHuishouResultVO;
|
import jnpf.dmsEntity.fenfa.vo.DmsWenjianXiaohuiMingxiVO;
|
import jnpf.dmsService.DmsWenjianFenfaService;
|
import jnpf.exception.DataException;
|
import jnpf.util.JsonUtil;
|
import lombok.RequiredArgsConstructor;
|
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.PathVariable;
|
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.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.List;
|
|
@Tag(name = "DMS公共打印任务与文件分发接口")
|
@RestController
|
@SaCheckLogin
|
@RequiredArgsConstructor
|
@RequestMapping("/biz/wenjian")
|
public class DmsWenjianFenfaController {
|
|
private final DmsWenjianFenfaService service;
|
|
@Operation(summary = "公共打印任务列表")
|
@GetMapping("/dayin/renwu")
|
public ActionResult<PageListVO<DmsWenjianDayinRenwuVO>> tasks(
|
Pagination pagination,
|
@RequestParam(name = "biz_status", required = false) String bizStatus)
|
throws DataException {
|
List<DmsWenjianDayinRenwuVO> list = service.tasks(pagination, bizStatus);
|
PaginationVO paginationVO = JsonUtil.getJsonToBean(pagination, PaginationVO.class);
|
return ActionResult.page(list, paginationVO);
|
}
|
|
@Operation(summary = "一次完整打印公共打印任务全部实体副本")
|
@PostMapping("/dayin/renwu/{id}/dayin")
|
public ActionResult<List<DmsWenjianDayinJiluVO>> print(
|
@PathVariable("id") String id,
|
@Valid @RequestBody DmsWenjianDayinForm form) throws DataException {
|
throw new DataException("此打印入口缺少客户端成功回传,请刷新并使用新版打印确认入口");
|
}
|
|
@Operation(summary = "批量一次完整打印公共打印任务全部实体副本")
|
@PostMapping("/dayin/renwu/piliang-dayin")
|
public ActionResult<List<DmsWenjianDayinJiluVO>> printRemaining(
|
@Valid @RequestBody DmsWenjianPiliangDayinForm form) throws DataException {
|
throw new DataException("此打印入口缺少客户端成功回传,请刷新并使用新版打印确认入口");
|
}
|
|
@Operation(summary = "文件分发任务列表")
|
@GetMapping("/fenfa/renwu")
|
public ActionResult<PageListVO<DmsWenjianFenfaRenwuVO>> distributionTasks(
|
Pagination pagination,
|
@RequestParam(name = "biz_status", required = false) String bizStatus)
|
throws DataException {
|
List<DmsWenjianFenfaRenwuVO> list = service.distributionTasks(pagination, bizStatus);
|
PaginationVO paginationVO = JsonUtil.getJsonToBean(pagination, PaginationVO.class);
|
return ActionResult.page(list, paginationVO);
|
}
|
|
@Operation(summary = "文件发放台账")
|
@GetMapping("/fenfa/fafang-taizhang")
|
public ActionResult<PageListVO<DmsWenjianFenfaRenwuVO>> issueLedger(
|
Pagination pagination,
|
@RequestParam(name = "fafang_status", required = false) String issueStatus)
|
throws DataException {
|
List<DmsWenjianFenfaRenwuVO> list = service.issueLedger(pagination, issueStatus);
|
PaginationVO paginationVO = JsonUtil.getJsonToBean(pagination, PaginationVO.class);
|
return ActionResult.page(list, paginationVO);
|
}
|
|
@Operation(summary = "文件签收台账")
|
@GetMapping("/fenfa/qianshou-taizhang")
|
public ActionResult<PageListVO<DmsWenjianFenfaRenwuVO>> receiptLedger(
|
Pagination pagination,
|
@RequestParam(name = "qianshou_status", required = false) String receiptStatus)
|
throws DataException {
|
List<DmsWenjianFenfaRenwuVO> list = service.receiptLedger(pagination, receiptStatus);
|
PaginationVO paginationVO = JsonUtil.getJsonToBean(pagination, PaginationVO.class);
|
return ActionResult.page(list, paginationVO);
|
}
|
|
@Operation(summary = "文件签收发放表单详情")
|
@GetMapping("/fenfa/dayin-jilu/{id}/jiaojie-xiangqing")
|
public ActionResult<DmsWenjianJiaojieXiangqingVO> handoverDetail(
|
@PathVariable("id") String id) throws DataException {
|
return ActionResult.success(service.handoverDetail(id));
|
}
|
|
@Operation(summary = "根据签收人解析当前所属部门")
|
@GetMapping("/fenfa/qianshou-ren/{userId}/bumen-id")
|
public ActionResult<String> signerDepartmentId(
|
@PathVariable("userId") String userId) throws DataException {
|
return ActionResult.success(
|
"获取签收部门成功", service.signerDepartmentId(userId));
|
}
|
|
@Operation(summary = "按打印记录完成单份实体副本现场签收发放")
|
@PostMapping("/fenfa/dayin-jilu/{id}/qianshou-fafang")
|
public ActionResult<String> handoverByRecordId(
|
@PathVariable("id") String id,
|
@Valid @RequestBody DmsWenjianQianshouFafangForm form) throws DataException {
|
service.handoverByRecordId(id, form);
|
return ActionResult.success("签收/发放成功", "签收/发放成功");
|
}
|
|
@Operation(summary = "按打印流水号完成单份实体副本现场签收发放")
|
@PostMapping("/fenfa/dayin-jilu/liushuihao/{serialNumber}/qianshou-fafang")
|
public ActionResult<String> handoverBySerialNumber(
|
@PathVariable("serialNumber") String serialNumber,
|
@Valid @RequestBody DmsWenjianQianshouFafangForm form) throws DataException {
|
service.handoverBySerialNumber(serialNumber, form);
|
return ActionResult.success("签收/发放成功", "签收/发放成功");
|
}
|
|
@Operation(summary = "登记打印记录不平衡")
|
@PostMapping("/fenfa/dayin-jilu/{id}/bupingheng")
|
public ActionResult<String> registerImbalance(
|
@PathVariable("id") String id,
|
@Valid @RequestBody DmsWenjianBupinghengForm form) throws DataException {
|
service.registerImbalance(id, form);
|
return ActionResult.success("不平衡登记成功", "不平衡登记成功");
|
}
|
|
@Operation(summary = "按打印流水号查询待回收实体副本")
|
@PostMapping("/fenfa/huishou/saoma")
|
public ActionResult<DmsWenjianHuishouMingxiVO> recycleCandidate(
|
@Valid @RequestBody DmsWenjianHuishouSaomaForm form) throws DataException {
|
return ActionResult.success(service.recycleCandidate(form.getDayinLiushuihao()));
|
}
|
|
@Operation(summary = "批量回收已签收的实体副本")
|
@PostMapping("/fenfa/huishou")
|
public ActionResult<DmsWenjianHuishouResultVO> recycle(
|
@Valid @RequestBody DmsWenjianHuishouForm form) throws DataException {
|
return ActionResult.success("回收成功", service.recycle(form));
|
}
|
|
@Operation(summary = "按打印流水号查询待销毁实体副本")
|
@PostMapping("/fenfa/xiaohui/saoma")
|
public ActionResult<DmsWenjianXiaohuiMingxiVO> destructionCandidate(
|
@Valid @RequestBody DmsWenjianXiaohuiSaomaForm form) throws DataException {
|
return ActionResult.success(service.destructionCandidate(form.getDayinLiushuihao()));
|
}
|
}
|