feat:样品库功能,开发基本完成,需进一步调细节。 报告数据微调

This commit is contained in:
FCL
2025-11-13 17:48:34 +08:00
parent c79590d36e
commit e0f6d288b1
39 changed files with 894 additions and 261 deletions

View File

@@ -1,5 +1,6 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import com.alibaba.fastjson.JSONObject;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchPageReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchSaveReqVO;
@@ -43,21 +44,47 @@ public class BusinessSampleDispatchController implements BusinessControllerMarke
@Resource
private BusinessSampleDispatchService businessSampleDispatchService;
@PostMapping("/create")
@Operation(summary = "创建样品调拨")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:create')")
public CommonResult<BusinessSampleDispatchRespVO> createBusinessSampleDispatch(@Valid @RequestBody BusinessSampleDispatchSaveReqVO createReqVO) {
return success(businessSampleDispatchService.createBusinessSampleDispatch(createReqVO));
@PostMapping("/createTempData")
@Operation(summary = "创建临时数据")
public CommonResult<BusinessSampleDispatchRespVO> createTempData() {
BusinessSampleDispatchSaveReqVO vo = new BusinessSampleDispatchSaveReqVO();
vo.setCancelStatus("-1");
return success(businessSampleDispatchService.createBusinessSampleDispatch(vo));
}
@PutMapping("/update")
@Operation(summary = "更新样品调拨")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch:update')")
public CommonResult<Boolean> updateBusinessSampleDispatch(@Valid @RequestBody BusinessSampleDispatchSaveReqVO updateReqVO) {
updateReqVO.setCancelStatus("0");
businessSampleDispatchService.updateBusinessSampleDispatch(updateReqVO);
return success(true);
}
@PutMapping("/addOrRemoveSample")
@Operation(summary = "增加或移除样品")
public CommonResult<Boolean> addOrRemoveSample(@Valid @RequestBody BusinessSampleDispatchSaveReqVO updateReqVO) {
businessSampleDispatchService.addOrRemoveSample(updateReqVO);
return success(true);
}
@PostMapping("/createProcessInstance")
@Operation(summary = "发起流程")
public CommonResult<BusinessSampleDispatchRespVO> createProcessInstance(@Valid @RequestBody BusinessSampleDispatchSaveReqVO vo) {
return businessSampleDispatchService.createProcessInstance(vo);
}
@PostMapping("/execDispatch")
@Operation(summary = "执行调拨")
public CommonResult<String> execDispatch(@Valid @RequestBody BusinessSampleDispatchSaveReqVO vo) {
return businessSampleDispatchService.execDispatch(vo);
}
@PostMapping("/execGiveback")
@Operation(summary = "调拨归还")
public CommonResult<String> execGiveback(@RequestBody JSONObject vo) {
return businessSampleDispatchService.execGiveback(vo);
}
@DeleteMapping("/delete")
@Operation(summary = "删除样品调拨")
@Parameter(name = "id", description = "编号", required = true)

View File

@@ -1,5 +1,6 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailExtendRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailPageReqVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailRespVO;
import com.zt.plat.module.qms.business.bus.controller.vo.BusinessSampleDispatchDetailSaveReqVO;
@@ -88,9 +89,9 @@ public class BusinessSampleDispatchDetailController implements BusinessControlle
@GetMapping("/page")
@Operation(summary = "获得样品调拨明细分页")
// @PreAuthorize("@ss.hasPermission('qms:business-sample-dispatch-detail:query')")
public CommonResult<PageResult<BusinessSampleDispatchDetailRespVO>> getBusinessSampleDispatchDetailPage(@Valid BusinessSampleDispatchDetailPageReqVO pageReqVO) {
PageResult<BusinessSampleDispatchDetailDO> pageResult = businessSampleDispatchDetailService.getBusinessSampleDispatchDetailPage(pageReqVO);
return success(BeanUtils.toBean(pageResult, BusinessSampleDispatchDetailRespVO.class));
public CommonResult<PageResult<BusinessSampleDispatchDetailExtendRespVO>> getBusinessSampleDispatchDetailPage(@Valid BusinessSampleDispatchDetailPageReqVO pageReqVO) {
PageResult<BusinessSampleDispatchDetailExtendRespVO> pageResult = businessSampleDispatchDetailService.getBusinessSampleDispatchDetailPage(pageReqVO);
return success(pageResult);
}
@GetMapping("/export-excel")
@@ -100,7 +101,7 @@ public class BusinessSampleDispatchDetailController implements BusinessControlle
public void exportBusinessSampleDispatchDetailExcel(@Valid BusinessSampleDispatchDetailPageReqVO pageReqVO,
HttpServletResponse response) throws IOException {
pageReqVO.setPageSize(PageParam.PAGE_SIZE_NONE);
List<BusinessSampleDispatchDetailDO> list = businessSampleDispatchDetailService.getBusinessSampleDispatchDetailPage(pageReqVO).getList();
List<BusinessSampleDispatchDetailExtendRespVO> list = businessSampleDispatchDetailService.getBusinessSampleDispatchDetailPage(pageReqVO).getList();
// 导出 Excel
ExcelUtils.write(response, "样品调拨明细.xls", "数据", BusinessSampleDispatchDetailRespVO.class,
BeanUtils.toBean(list, BusinessSampleDispatchDetailRespVO.class));

View File

@@ -1,5 +1,6 @@
package com.zt.plat.module.qms.business.bus.controller.admin;
import com.alibaba.fastjson.JSONObject;
import com.zt.plat.module.qms.business.bus.controller.vo.*;
import org.springframework.web.bind.annotation.*;
import jakarta.annotation.Resource;
@@ -105,6 +106,13 @@ public class BusinessSubSampleController implements BusinessControllerMarker {
return success(pageResult);
}
@GetMapping("/page-stock")
@Operation(summary = "查询样品库分页数据")
public CommonResult<PageResult<BusinessSubSampleExtendRespVO>> pageStock(@Valid BusinessSubSamplePageReqVO pageReqVO) {
PageResult<BusinessSubSampleExtendRespVO> pageResult = businessSubSampleService.getBusinessSubSamplePage(pageReqVO);
return success(pageResult);
}
@GetMapping("/page-task")
@Operation(summary = "获得子样业务分页")
//@PreAuthorize("@ss.hasPermission('qms:business-sub-sample:query')")
@@ -141,4 +149,24 @@ public class BusinessSubSampleController implements BusinessControllerMarker {
BeanUtils.toBean(list, BusinessSubSampleRespVO.class));
}
@PostMapping("/execReturnToStock")
@Operation(summary = "样品归库")
public CommonResult<BusinessSubSampleRespVO> execReturnToStock(@Valid @RequestBody BusinessSubSampleSaveReqVO reqVO) {
return success(businessSubSampleService.execReturnToStock(reqVO));
}
@PostMapping("/execTakeOff")
@Operation(summary = "样品下架")
public CommonResult<Integer> execTakeOff(@RequestBody JSONObject reqVO) {
Integer count = businessSubSampleService.execTakeOff(reqVO);
return success(count);
}
@PostMapping("/execChangeLocation")
@Operation(summary = "库位变更")
public CommonResult<Integer> execChangeLocation(@RequestBody JSONObject reqVO) {
Integer count = businessSubSampleService.execChangeLocation(reqVO);
return success(count);
}
}

View File

@@ -20,7 +20,7 @@ public class BusinessHandoverRecordSubSaveReqVO {
private Long businessSubSampleId;
@Schema(description = "样品流程配置ID", requiredMode = Schema.RequiredMode.REQUIRED, example = "9154")
@NotNull(message = "样品流程配置ID不能为空")
// @NotNull(message = "样品流程配置ID不能为空")
private Long configSampleFlowId;
@Schema(description = "样品流程节点KEY", requiredMode = Schema.RequiredMode.REQUIRED)
@@ -50,11 +50,11 @@ public class BusinessHandoverRecordSubSaveReqVO {
private Long operatorId;
@Schema(description = "送样人", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "送样人不能为空")
// @NotEmpty(message = "送样人不能为空")
private String sendSampleOperator;
@Schema(description = "收样人", requiredMode = Schema.RequiredMode.REQUIRED)
@NotEmpty(message = "收样人不能为空")
// @NotEmpty(message = "收样人不能为空")
private String receiveSampleOperator;
@Schema(description = "上一个交接记录ID", example = "5605")

View File

@@ -0,0 +1,32 @@
package com.zt.plat.module.qms.business.bus.controller.vo;
import lombok.Data;
import java.time.LocalDateTime;
@Data
public class BusinessSampleDispatchDetailExtendRespVO extends BusinessSampleDispatchDetailRespVO{
//样品编号
private String sampleCode;
//样品名称
private String sampleName;
//归库码
private String sampleReturnCode;
//归库状态
private String sampleReturnStatus;
//归库时间
private LocalDateTime sampleReturnTime;
//调拨状态
private String dispatchStatus;
//库位编码
private String warehouseLocationCode;
//仓库名称
private String warehouseName;
}

View File

@@ -5,6 +5,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import com.zt.plat.framework.common.pojo.PageParam;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import java.util.List;
import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND;
@@ -12,66 +13,41 @@ import static com.zt.plat.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH
@Data
public class BusinessSampleDispatchDetailPageReqVO extends PageParam {
@Schema(description = "主表数据id,支持", example = "10889")
@Schema(description = "父ID", example = "828")
private Long parentId;
@Schema(description = "业务数据ID", example = "10723")
@Schema(description = "子样数据ID", example = "828")
private Long businessSubSampleId;
@Schema(description = "领用人")
private String borrowUser;
@Schema(description = "领用人id", example = "11884")
@Schema(description = "领用人id", example = "22151")
private Long borrowUserId;
@Schema(description = "领用时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private Long[] borrowTime;
private LocalDateTime[] borrowTime;
@Schema(description = "领用状态,0-未领用1-已领用", example = "1")
private String borrowStatus;
@Schema(description = "归还人")
private String givebackUser;
@Schema(description = "归还人id", example = "30812")
@Schema(description = "归还人id", example = "23976")
private Long givebackUserId;
@Schema(description = "归还时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private Long[] givebackTime;
private LocalDateTime[] givebackTime;
@Schema(description = "申请部门")
private String applyDepartment;
@Schema(description = "申请部门id", example = "10703")
private Long applyDepartmentId;
@Schema(description = "申请时间")
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] applyTime;
@Schema(description = "提交状态,0-未提交1-已提交", example = "2")
private String submitStatus;
@Schema(description = "审批状态,0-未审批1-已审批", example = "2")
private String approvalStatus;
@Schema(description = "归还状态,0-未归还1-已归还", example = "2")
private String givebackStatus;
@Schema(description = "使用状态", example = "2")
private String useStatus;
@Schema(description = "表单数据,表单数据")
private String formData;
@Schema(description = "表单模板,表单编辑器模板")
private String formTemplate;
@Schema(description = "流程实例id", example = "25078")
private String flowInstanceId;
@Schema(description = "流程审批状态", example = "1")
private String flowStatus;
@Schema(description = "审批意见")
private String opinion;
@Schema(description = "所属部门")
private String systemDepartmentCode;
@@ -82,4 +58,13 @@ public class BusinessSampleDispatchDetailPageReqVO extends PageParam {
@DateTimeFormat(pattern = FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND)
private LocalDateTime[] createTime;
//================================扩展字段=============================================
@Schema(description = "样品号")
private String sampleCode;
@Schema(description = "idsList")
private List<Long> idList;
}

View File

@@ -10,67 +10,42 @@ import java.time.LocalDateTime;
@Data
public class BusinessSampleDispatchDetailSaveReqVO {
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "31752")
@Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "20771")
private Long id;
@Schema(description = "主表数据id,支持", requiredMode = Schema.RequiredMode.REQUIRED, example = "10889")
@NotNull(message = "主表数据id,支持不能为空")
@Schema(description = "父ID", example = "828")
private Long parentId;
@Schema(description = "业务数据ID", example = "10723")
@Schema(description = "子样数据ID", example = "828")
private Long businessSubSampleId;
@Schema(description = "领用人")
private String borrowUser;
@Schema(description = "领用人id", example = "11884")
@Schema(description = "领用人id", example = "22151")
private Long borrowUserId;
@Schema(description = "领用时间")
private Long borrowTime;
private LocalDateTime borrowTime;
@Schema(description = "领用状态,0-未领用1-已领用", example = "1")
private String borrowStatus;
@Schema(description = "归还人")
private String givebackUser;
@Schema(description = "归还人id", example = "30812")
@Schema(description = "归还人id", example = "23976")
private Long givebackUserId;
@Schema(description = "归还时间")
private Long givebackTime;
private LocalDateTime givebackTime;
@Schema(description = "申请部门")
private String applyDepartment;
@Schema(description = "申请部门id", example = "10703")
private Long applyDepartmentId;
@Schema(description = "申请时间")
private LocalDateTime applyTime;
@Schema(description = "提交状态,0-未提交1-已提交", example = "2")
private String submitStatus;
@Schema(description = "审批状态,0-未审批1-已审批", example = "2")
private String approvalStatus;
@Schema(description = "归还状态,0-未归还1-已归还", example = "2")
private String givebackStatus;
@Schema(description = "使用状态", example = "2")
private String useStatus;
@Schema(description = "表单数据,表单数据")
private String formData;
@Schema(description = "表单模板,表单编辑器模板")
private String formTemplate;
@Schema(description = "流程实例id", example = "25078")
private String flowInstanceId;
@Schema(description = "流程审批状态", example = "1")
private String flowStatus;
@Schema(description = "审批意见")
private String opinion;
@Schema(description = "所属部门")
private String systemDepartmentCode;

View File

@@ -4,6 +4,7 @@ import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;
import java.time.LocalDateTime;
import java.util.List;
@Schema(description = "管理后台 - 样品调拨新增/修改 Request VO")
@Data
@@ -60,4 +61,12 @@ public class BusinessSampleDispatchSaveReqVO {
@Schema(description = "备注")
private String remark;
//=========================扩展字段=======================================
@Schema(description = "新增子样id")
List<Long> addSubSampleIds;
@Schema(description = "移除明细id")
List<Long> removeDetailIds;
}

View File

@@ -99,6 +99,9 @@ public class BusinessSubSampleReqVO {
@Schema(description = "归库状态,【字典】【jy_sample_return_status】待归库、已归库、已调拨、已下架、待销毁、已销毁", example = "2")
private String returnStatus;
@Schema(description = "调拨状态")
private String dispatchStatus;
@Schema(description = "打印次数", example = "32651")
private Integer returnCodePrintCount;

Some files were not shown because too many files have changed in this diff Show More