From ec5237992ac60b6eb0df07ad3f5038b52a582882 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期五, 10 十一月 2023 11:42:26 +0800 Subject: [PATCH] Changes --- modules/mainPart/src/main/java/com/zt/life/modules/project/dto/SoftwareTestOrderDto.java | 9 +- modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java | 56 ++++++++++++++++++ web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue | 24 ------- modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderController.java | 83 ++++++++++++++++----------- 4 files changed, 109 insertions(+), 63 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderController.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderController.java index b74ea00..0a7579e 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderController.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/controller/SoftwareTestOrderController.java @@ -12,13 +12,13 @@ import com.zt.common.validator.group.AddGroup; import com.zt.common.validator.group.DefaultGroup; import com.zt.common.validator.group.UpdateGroup; -import com.zt.life.modules.project.dto.ProjectDto; +import com.zt.life.modules.project.dto.SoftwareTestOrderDto; import com.zt.life.modules.project.model.SoftwareTestOrder; +import com.zt.life.modules.project.model.SoftwareTestOrderMeasured; import com.zt.life.modules.project.service.ProjectService; import com.zt.life.modules.project.service.SoftwareTestOrderDeliverableService; import com.zt.life.modules.project.service.SoftwareTestOrderMeasuredService; import com.zt.life.modules.project.service.SoftwareTestOrderService; -import com.zt.life.modules.sysBaseInfo.model.TestAgencyInfo; import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiImplicitParam; @@ -28,24 +28,22 @@ import org.springframework.web.bind.annotation.*; import springfox.documentation.annotations.ApiIgnore; -import javax.servlet.http.HttpServletResponse; -import java.util.List; - /** * software_test_order * - * @author zt generator + * @author zt generator * @since 1.0.0 2023-11-08 */ @RestController @RequestMapping("/project/SoftwareTestOrder/") -@Api(tags="software_test_order") +@Api(tags = "software_test_order") public class SoftwareTestOrderController { @Autowired - private ProjectService projectService; - @Autowired private SoftwareTestOrderService softwareTestOrderService; + + @Autowired + private ProjectService projectService; @Autowired private SoftwareTestOrderDeliverableService softwareTestOrderDeliverableService; @Autowired @@ -56,28 +54,43 @@ @GetMapping("page") @ApiOperation("鍒嗛〉") @ApiImplicitParams({ - @ApiImplicitParam(name = Constant.Q.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT), - @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT), - @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING), - @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING), - @ApiImplicitParam(name = "testBasis", value = "娴嬭瘯渚濇嵁", dataType = Constant.QT.STRING, format = "test_basis^EQ"), - @ApiImplicitParam(name = "testType", value = "娴嬭瘯绫诲瀷", dataType = Constant.QT.STRING, format = "test_type^EQ"), - @ApiImplicitParam(name = "testStandard", value = "娴嬭瘯鏍囧噯", dataType = Constant.QT.STRING, format = "test_standard^EQ"), - @ApiImplicitParam(name = "articleNature", value = "鐗╁搧鎬ц川", dataType = Constant.QT.STRING, format = "article_nature^EQ")}) - public PageResult<SoftwareTestOrder> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ + @ApiImplicitParam(name = Constant.Q.PAGE, value = Constant.QV.PAGE, required = true, dataType = Constant.QT.INT), + @ApiImplicitParam(name = Constant.Q.LIMIT, value = Constant.QV.LIMIT, required = true, dataType = Constant.QT.INT), + @ApiImplicitParam(name = Constant.Q.ORDER_FIELD, value = Constant.QV.ORDER_FIELD, dataType = Constant.QT.STRING), + @ApiImplicitParam(name = Constant.Q.ORDER, value = Constant.QV.ORDER, dataType = Constant.QT.STRING), + @ApiImplicitParam(name = "testBasis", value = "娴嬭瘯渚濇嵁", dataType = Constant.QT.STRING, format = "test_basis^EQ"), + @ApiImplicitParam(name = "testType", value = "娴嬭瘯绫诲瀷", dataType = Constant.QT.STRING, format = "test_type^EQ"), + @ApiImplicitParam(name = "testStandard", value = "娴嬭瘯鏍囧噯", dataType = Constant.QT.STRING, format = "test_standard^EQ"), + @ApiImplicitParam(name = "articleNature", value = "鐗╁搧鎬ц川", dataType = Constant.QT.STRING, format = "article_nature^EQ")}) + public PageResult<SoftwareTestOrder> page(@ApiIgnore @QueryParam QueryFilter queryFilter) { return PageResult.ok(softwareTestOrderService.page(queryFilter)); } @GetMapping("{id}") @ApiOperation("淇℃伅") - public Result<ProjectDto> get(@PathVariable("id") Long id){ - ProjectDto data = new ProjectDto(); - SoftwareTestOrder softwareTestOrder = softwareTestOrderService.get(id); - data.setSoftwareTestOrder(softwareTestOrder); - data.setProject(projectService.get(softwareTestOrder.getProjectId())); - data.setTestAgencyInfo(testAgencyInfoService.get(softwareTestOrder.getAgencyId())); - data.setChildrenTable2(softwareTestOrderDeliverableService.childrenTables(softwareTestOrder.getId())); - data.setChildrenTable1(softwareTestOrderMeasuredService.childrenTables(softwareTestOrder.getId())); + public Result<SoftwareTestOrderDto> get(@PathVariable("id") Long id, @PathVariable("projectId") Long projectId) { + SoftwareTestOrderDto data = new SoftwareTestOrderDto(); + + if (id != null) { + data.setId(id); + SoftwareTestOrder softwareTestOrder = softwareTestOrderService.get(id); + data.setSoftwareTestOrder(softwareTestOrder); + + if (projectId == null) + projectId = softwareTestOrder.getProjectId(); + + data.setTestAgencyInfo(testAgencyInfoService.get(id)); + data.setSoftwareTestOrderDeliverableList(softwareTestOrderDeliverableService.childrenTables(id)); + data.setSoftwareTestOrderMeasuredList(softwareTestOrderMeasuredService.childrenTables(id)); + } else { + data.setTestAgencyInfo(testAgencyInfoService.get(10000L)); + } + if (projectId != null) { + data.setProjectId(projectId); + data.setProject(projectService.get(projectId)); + } + + return Result.ok(data); } @@ -85,10 +98,13 @@ @PostMapping @ApiOperation("鏂板") @LogOperation("鏂板") - public Result insert(@RequestBody SoftwareTestOrder softwareTestOrder){ + public Result insert(@RequestBody SoftwareTestOrderDto softwareTestOrderDto) { //鏁堥獙鏁版嵁 - ValidatorUtils.validateEntity(softwareTestOrder, AddGroup.class, DefaultGroup.class); - softwareTestOrderService.insert(softwareTestOrder); + + ValidatorUtils.validateEntity(softwareTestOrderDto.getSoftwareTestOrder(), AddGroup.class, DefaultGroup.class); + + Boolean result = softwareTestOrderService.save(softwareTestOrderDto); + return Result.ok(); } @@ -96,18 +112,17 @@ @PutMapping @ApiOperation("淇敼") @LogOperation("淇敼") - public Result update(@RequestBody SoftwareTestOrder softwareTestOrder){ + public Result update(@RequestBody SoftwareTestOrderDto softwareTestOrderDtor) { //鏁堥獙鏁版嵁 - ValidatorUtils.validateEntity(softwareTestOrder, UpdateGroup.class, DefaultGroup.class); - softwareTestOrderService.update(softwareTestOrder); - + ValidatorUtils.validateEntity(softwareTestOrderDtor.getSoftwareTestOrder(), UpdateGroup.class, DefaultGroup.class); + Boolean result = softwareTestOrderService.save(softwareTestOrderDtor); return Result.ok(); } @DeleteMapping @ApiOperation("鍒犻櫎") @LogOperation("鍒犻櫎") - public Result delete(@RequestBody Long[] ids){ + public Result delete(@RequestBody Long[] ids) { //鏁堥獙鏁版嵁 AssertUtils.isArrayEmpty(ids, "id"); softwareTestOrderService.delete(ids); diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/dto/ProjectDto.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/dto/SoftwareTestOrderDto.java similarity index 71% rename from modules/mainPart/src/main/java/com/zt/life/modules/project/dto/ProjectDto.java rename to modules/mainPart/src/main/java/com/zt/life/modules/project/dto/SoftwareTestOrderDto.java index 75abdc6..e86710d 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/dto/ProjectDto.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/dto/SoftwareTestOrderDto.java @@ -13,14 +13,15 @@ import java.util.List; @Data -public class ProjectDto{ - +public class SoftwareTestOrderDto { + private Long id; + private Long projectId; private SoftwareTestOrder softwareTestOrder; private Project project; private TestAgencyInfo TestAgencyInfo; @ApiModelProperty(value = "琚祴浠�") - private List<SoftwareTestOrderMeasured> childrenTable1 = new ArrayList<>(); + private List<SoftwareTestOrderMeasured> softwareTestOrderMeasuredList = new ArrayList<>(); @ApiModelProperty(value = "浜や粯浠�") - private List<SoftwareTestOrderDeliverable> childrenTable2 = new ArrayList<>(); + private List<SoftwareTestOrderDeliverable> softwareTestOrderDeliverableList = new ArrayList<>(); } diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java index 0c32f2e..0d66775 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/project/service/SoftwareTestOrderService.java @@ -2,9 +2,15 @@ import com.zt.common.service.BaseService; import com.zt.life.modules.project.dao.SoftwareTestOrderDao; +import com.zt.life.modules.project.dto.SoftwareTestOrderDto; import com.zt.life.modules.project.model.SoftwareTestOrder; +import com.zt.life.modules.project.model.SoftwareTestOrderDeliverable; +import com.zt.life.modules.project.model.SoftwareTestOrderMeasured; +import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService; +import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import com.zt.common.db.query.QueryFilter; + import javax.annotation.Resource; import java.util.List; @@ -12,11 +18,20 @@ /** * software_test_order * - * @author zt generator + * @author zt generator * @since 1.0.0 2023-11-08 */ @Service -public class SoftwareTestOrderService extends BaseService<SoftwareTestOrderDao, SoftwareTestOrder> { +public class SoftwareTestOrderService extends BaseService<SoftwareTestOrderDao, SoftwareTestOrder> { + + @Autowired + private ProjectService projectService; + @Autowired + private SoftwareTestOrderDeliverableService softwareTestOrderDeliverableService; + @Autowired + private SoftwareTestOrderMeasuredService softwareTestOrderMeasuredService; + @Autowired + private TestAgencyInfoService testAgencyInfoService; /** * 鍒嗛〉鏌ヨ @@ -38,4 +53,41 @@ super.deleteLogic(ids); } + + public Boolean save(SoftwareTestOrderDto softwareTestOrderDto) { + Long softwareTestOrderId = softwareTestOrderDto.getSoftwareTestOrder().getId(); + if (softwareTestOrderId != null) + baseDao.updateById(softwareTestOrderDto.getSoftwareTestOrder()); + else { + baseDao.insert(softwareTestOrderDto.getSoftwareTestOrder()); + softwareTestOrderId = softwareTestOrderDto.getSoftwareTestOrder().getId(); + } + + for (SoftwareTestOrderMeasured softwareTestOrderMeasured : softwareTestOrderDto.getSoftwareTestOrderMeasuredList()) { + softwareTestOrderMeasured.setOrderId(softwareTestOrderId); + if (softwareTestOrderMeasured.getId() != null) { + softwareTestOrderMeasuredService.update(softwareTestOrderMeasured); + } else { + softwareTestOrderMeasuredService.insert(softwareTestOrderMeasured); + } + } + + for (SoftwareTestOrderDeliverable softwareTestOrderDeliverable : softwareTestOrderDto.getSoftwareTestOrderDeliverableList()) { + softwareTestOrderDeliverable.setOrderId(softwareTestOrderId); + if (softwareTestOrderDeliverable.getId() != null) { + softwareTestOrderDeliverableService.update(softwareTestOrderDeliverable); + } else { + softwareTestOrderDeliverableService.insert(softwareTestOrderDeliverable); + } + } + + if (softwareTestOrderDto.getTestAgencyInfo().getId() == 10000) { + softwareTestOrderDto.getTestAgencyInfo().setId(softwareTestOrderId); + testAgencyInfoService.insert(softwareTestOrderDto.getTestAgencyInfo()); + } else { + testAgencyInfoService.update(softwareTestOrderDto.getTestAgencyInfo()); + } + return true; + } + } diff --git a/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue b/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue index aba7907..1e5b06a 100644 --- a/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue +++ b/web/src/views/modules/project/SoftwareTestOrder-AddOrUpdate.vue @@ -77,29 +77,7 @@ return { dataForm: { id: '', - projectId: '', - optEnviron: '', - programLang: '', - testBasis: '', - testType: '', - testStandard: '', - startDate: '', - endDate: '', - testVenue: '', - otherRequire: '', - testDate: '', - deliveryDate: '', - testCost: '', - articleNature: '', - sampleStatus: '', - agencyName: '', - site: '', - businContact: '', - businComplaint: '', - laborContact: '', - labContactNum: '', - postalCode: '', - fax: '' + projectId: '' } } }, -- Gitblit v1.9.1