From 48009ac677243ce3ce974feb173c85a752623874 Mon Sep 17 00:00:00 2001 From: jinlin <jinlin> Date: 星期一, 18 十二月 2023 17:08:28 +0800 Subject: [PATCH] 修改 --- web/src/views/modules/baselineRelease/BaselineRelease-AddOrUpdate.vue | 233 +++++++++++++ modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/model/BaselineReleaseRemark.java | 45 ++ modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java | 1 modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/dao/BaselineReleaseRemarkDao.java | 23 + modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/dao/BaselineReleaseDao.java | 23 + modules/mainPart/src/main/resources/mapper/baselineRelease/BaselineReleaseDao.xml | 20 + web/src/views/modules/contractReview/ContractReview-AddOrUpdate.vue | 11 web/src/views/modules/baselineRelease/BaselineRelease.vue | 87 +++++ modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/model/BaselineRelease.java | 73 ++++ modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/service/BaselineReleaseRemarkService.java | 48 ++ web/src/views/modules/contractReview/ContractReview.vue | 1 web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue | 3 modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/controller/BaselineReleaseController.java | 115 ++++++ modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/dto/BaselineDto.java | 29 + modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/service/BaselineReleaseService.java | 195 +++++++++++ modules/mainPart/src/main/resources/mapper/baselineRelease/BaselineReleaseRemarkDao.xml | 15 modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/controller/BaselineReleaseRemarkController.java | 96 +++++ 17 files changed, 1,012 insertions(+), 6 deletions(-) diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/controller/BaselineReleaseController.java b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/controller/BaselineReleaseController.java new file mode 100644 index 0000000..bf75f90 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/controller/BaselineReleaseController.java @@ -0,0 +1,115 @@ +package com.zt.life.modules.baselineRelease.controller; + + +import com.zt.common.annotation.LogOperation; +import com.zt.common.constant.Constant; +import com.zt.common.annotation.QueryParam; +import com.zt.common.db.query.QueryFilter; +import com.zt.common.servlet.Result; +import com.zt.common.servlet.PageResult; +import com.zt.common.validator.AssertUtils; +import com.zt.common.validator.ValidatorUtils; +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.baselineRelease.dto.BaselineDto; +import com.zt.life.modules.baselineRelease.model.BaselineRelease; +import com.zt.life.modules.baselineRelease.service.BaselineReleaseService; +import com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem; +import com.zt.life.modules.configItemWarehouse.service.WarehouseConfigItemService; +import com.zt.life.modules.testCheckOrder.dto.CheckOrderDto; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; + +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.util.List; + + +/** + * baseline_release + * + * @author zt generator + * @since 1.0.0 2023-12-18 + */ +@RestController +@RequestMapping("/baselineRelease/BaselineRelease/") +@Api(tags="baseline_release") +public class BaselineReleaseController { + @Autowired + private BaselineReleaseService baselineReleaseService; + + @Autowired + private WarehouseConfigItemService configItemService; + + @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 = "code", value = "鍩虹嚎鍙戝竷缂栧彿", dataType = Constant.QT.STRING, format = "code^LK"), + @ApiImplicitParam(name = "baselineType", value = "鍩虹嚎绫诲瀷", dataType = Constant.QT.STRING, format = "baseline_type^EQ"), + @ApiImplicitParam(name = "baselineName", value = "鍩虹嚎鍚嶇О", dataType = Constant.QT.STRING, format = "baseline_name^LK") }) + public PageResult<BaselineRelease> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ + return PageResult.ok(baselineReleaseService.page(queryFilter)); + } + + @GetMapping("getDto") + @ApiOperation("淇℃伅") + public Result<BaselineDto> getDto(Long baselineId, Long projectId, String pageCode) { + BaselineDto data = baselineReleaseService.getDto(baselineId, projectId, pageCode); + return Result.ok(data); + } + + @PostMapping + @ApiOperation("鏂板") + @LogOperation("鏂板") + public Result<Long> insert(@RequestBody BaselineDto baselineDto) { + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(baselineDto, AddGroup.class, DefaultGroup.class); + Long result = baselineReleaseService.save(baselineDto); + return Result.ok(result); + } + + @PutMapping + @ApiOperation("淇敼") + @LogOperation("淇敼") + public Result<Long> update(@RequestBody BaselineDto baselineDto) { + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(baselineDto, UpdateGroup.class, DefaultGroup.class); + Long result = baselineReleaseService.save(baselineDto); + + return Result.ok(result); + } + + @DeleteMapping("deleteBaseline") + @ApiOperation("鍒犻櫎") + @LogOperation("鍒犻櫎") + public Result delete(@RequestBody Long[] ids){ + //鏁堥獙鏁版嵁 + AssertUtils.isArrayEmpty(ids, "id"); + baselineReleaseService.delete(ids); + + return Result.ok(); + } + /* @GetMapping("exportBaseline") + @ApiOperation("鎵撳嵃鍩虹嚎鍙戝竷涔�") + @LogOperation("鎵撳嵃鍩虹嚎鍙戝竷涔�") + public void exportBaseline(Long id, String pageCode, HttpServletRequest request, HttpServletResponse response) { + baselineReleaseService.exportBaseline(id,pageCode, request, response); + }*/ + + @GetMapping("getItemList") + @ApiOperation("鑾峰彇鍏ュ簱閰嶇疆椤瑰垪琛�") + public PageResult<WarehouseConfigItem> getItemList(Long projectId, String ids) { + List<WarehouseConfigItem> resultList = configItemService.warehouseConfigList(projectId,ids); + return PageResult.ok(resultList); + } +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/controller/BaselineReleaseRemarkController.java b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/controller/BaselineReleaseRemarkController.java new file mode 100644 index 0000000..b2e8cee --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/controller/BaselineReleaseRemarkController.java @@ -0,0 +1,96 @@ +package com.zt.life.modules.baselineRelease.controller; + + +import com.zt.common.annotation.LogOperation; +import com.zt.common.constant.Constant; +import com.zt.common.annotation.QueryParam; +import com.zt.common.db.query.QueryFilter; +import com.zt.common.servlet.Result; +import com.zt.common.servlet.PageResult; +import com.zt.common.validator.AssertUtils; +import com.zt.common.validator.ValidatorUtils; +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.baselineRelease.model.BaselineReleaseRemark; +import com.zt.life.modules.baselineRelease.service.BaselineReleaseRemarkService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiImplicitParams; +import io.swagger.annotations.ApiOperation; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.web.bind.annotation.*; +import springfox.documentation.annotations.ApiIgnore; + +import javax.servlet.http.HttpServletResponse; +import java.util.List; + + +/** + * baseline_release_remark + * + * @author zt generator + * @since 1.0.0 2023-12-18 + */ +@RestController +@RequestMapping("/baselineRelease/BaselineReleaseRemark/") +@Api(tags="baseline_release_remark") +public class BaselineReleaseRemarkController { + @Autowired + private BaselineReleaseRemarkService baselineReleaseRemarkService; + + @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), + }) + public PageResult<BaselineReleaseRemark> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ + + return PageResult.ok(baselineReleaseRemarkService.page(queryFilter)); + } + + @GetMapping("{id}") + @ApiOperation("淇℃伅") + public Result<BaselineReleaseRemark> get(@PathVariable("id") Long id){ + BaselineReleaseRemark data = baselineReleaseRemarkService.get(id); + + return Result.ok(data); + } + + @PostMapping + @ApiOperation("鏂板") + @LogOperation("鏂板") + public Result insert(@RequestBody BaselineReleaseRemark baselineReleaseRemark){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(baselineReleaseRemark, AddGroup.class, DefaultGroup.class); + baselineReleaseRemarkService.insert(baselineReleaseRemark); + + return Result.ok(); + } + + @PutMapping + @ApiOperation("淇敼") + @LogOperation("淇敼") + public Result update(@RequestBody BaselineReleaseRemark baselineReleaseRemark){ + //鏁堥獙鏁版嵁 + ValidatorUtils.validateEntity(baselineReleaseRemark, UpdateGroup.class, DefaultGroup.class); + baselineReleaseRemarkService.update(baselineReleaseRemark); + + return Result.ok(); + } + + @DeleteMapping + @ApiOperation("鍒犻櫎") + @LogOperation("鍒犻櫎") + public Result delete(@RequestBody Long[] ids){ + //鏁堥獙鏁版嵁 + AssertUtils.isArrayEmpty(ids, "id"); + baselineReleaseRemarkService.delete(ids); + + return Result.ok(); + } + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/dao/BaselineReleaseDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/dao/BaselineReleaseDao.java new file mode 100644 index 0000000..4f499e1 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/dao/BaselineReleaseDao.java @@ -0,0 +1,23 @@ +package com.zt.life.modules.baselineRelease.dao; + +import com.zt.common.dao.BaseDao; +import com.zt.life.modules.baselineRelease.model.BaselineRelease; +import org.apache.ibatis.annotations.Mapper; + + +import java.util.List; +import java.util.Map; + + +/** + * baseline_release + * + * @author zt generator + * @since 1.0.0 2023-12-18 + */ +@Mapper +public interface BaselineReleaseDao extends BaseDao<BaselineRelease> { + + List<BaselineRelease> getList(Map<String, Object> params); + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/dao/BaselineReleaseRemarkDao.java b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/dao/BaselineReleaseRemarkDao.java new file mode 100644 index 0000000..6427181 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/dao/BaselineReleaseRemarkDao.java @@ -0,0 +1,23 @@ +package com.zt.life.modules.baselineRelease.dao; + +import com.zt.common.dao.BaseDao; +import com.zt.life.modules.baselineRelease.model.BaselineReleaseRemark; +import org.apache.ibatis.annotations.Mapper; + + +import java.util.List; +import java.util.Map; + + +/** + * baseline_release_remark + * + * @author zt generator + * @since 1.0.0 2023-12-18 + */ +@Mapper +public interface BaselineReleaseRemarkDao extends BaseDao<BaselineReleaseRemark> { + + List<BaselineReleaseRemark> getList(Map<String, Object> params); + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/dto/BaselineDto.java b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/dto/BaselineDto.java new file mode 100644 index 0000000..73649e5 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/dto/BaselineDto.java @@ -0,0 +1,29 @@ +package com.zt.life.modules.baselineRelease.dto; + +import com.zt.life.modules.baselineRelease.model.BaselineRelease; +import com.zt.life.modules.baselineRelease.model.BaselineReleaseRemark; +import com.zt.life.modules.project.model.Project; +import com.zt.modules.workflow.dto.FlowInfoDto; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import java.util.ArrayList; +import java.util.List; + +@Data +public class BaselineDto { + private Long id;//ID + private Long projectId;//椤圭洰ID + private String pageCode;//閰嶇疆椤圭被鍨� + + private FlowInfoDto flowInfoDto; + + @ApiModelProperty(value = "鍩虹嚎鍙戝竷涔�") + private BaselineRelease baseline; + @ApiModelProperty(value = "娴嬭瘯椤圭洰鍩烘湰淇℃伅") + private Project project; + + + @ApiModelProperty(value = "妫�鏌ュ崟鍒楄〃") + private List<BaselineReleaseRemark> remarkList = new ArrayList<>(); +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/model/BaselineRelease.java b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/model/BaselineRelease.java new file mode 100644 index 0000000..d4c2d15 --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/model/BaselineRelease.java @@ -0,0 +1,73 @@ +package com.zt.life.modules.baselineRelease.model; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.fasterxml.jackson.annotation.JsonFormat; +import com.zt.common.entity.BusiEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * baseline_release + * + * @author zt generator + * @since 1.0.0 2023-12-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("baseline_release") +public class BaselineRelease extends BusiEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "椤圭洰ID") + private Long projectId; + + @ApiModelProperty(value = "鍩虹嚎鍙戝竷缂栧彿") + private String code; + + @ApiModelProperty(value = "椤甸潰鏍囪瘑") + private String pageCode; + + @ApiModelProperty(value = "鍩虹嚎绫诲瀷") + private String baselineType; + + @ApiModelProperty(value = "鍩虹嚎鍚嶇О") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date baselineName; + + @ApiModelProperty(value = "鍩虹嚎鐗堟湰") + private String baselineVersion; + + @ApiModelProperty(value = "澶囨敞") + private String remark; + + @ApiModelProperty(value = "鍙戝竷浜�") + private String publisher; + + @ApiModelProperty(value = "鍙戝竷浜篒D") + private Long publisherId; + + @ApiModelProperty(value = "鍙戝竷鏃堕棿") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date publishDate; + + @ApiModelProperty(value = "閮ㄩ棬鎰忚") + private String departOpinion; + + @ApiModelProperty(value = "閮ㄩ棬绛惧瓧") + private String departSign; + + @ApiModelProperty(value = "绛惧瓧ID") + private Long signId; + + @ApiModelProperty(value = "绛惧瓧鏃ユ湡") + @JsonFormat(pattern = "yyyy-MM-dd") + private Date signDate; + + @ApiModelProperty(value = "骞翠唤") + private String year; + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/model/BaselineReleaseRemark.java b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/model/BaselineReleaseRemark.java new file mode 100644 index 0000000..cceb9fd --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/model/BaselineReleaseRemark.java @@ -0,0 +1,45 @@ +package com.zt.life.modules.baselineRelease.model; + +import com.baomidou.mybatisplus.annotation.TableName; +import com.zt.common.entity.BusiEntity; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; +import lombok.EqualsAndHashCode; + +import java.util.Date; + +/** + * baseline_release_remark + * + * @author zt generator + * @since 1.0.0 2023-12-18 + */ +@Data +@EqualsAndHashCode(callSuper=false) +@TableName("baseline_release_remark") +public class BaselineReleaseRemark extends BusiEntity { + private static final long serialVersionUID = 1L; + + @ApiModelProperty(value = "椤圭洰ID") + private Long projectId; + + @ApiModelProperty(value = "鍏ュ簱ID") + private Long warehouseId; + + @ApiModelProperty(value = "鍩虹嚎ID") + private Long baselineId; + + @ApiModelProperty(value = "鏄庣粏鍒嗙被") + private String pageCode; + + @ApiModelProperty(value = "搴忓彿") + private Integer no; + + @ApiModelProperty(value = "閰嶇疆椤瑰悕绉�") + private String itemName; + + @ApiModelProperty(value = "閫夋嫨鐨勬暟鎹甀D") + private Long selectId; + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/service/BaselineReleaseRemarkService.java b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/service/BaselineReleaseRemarkService.java new file mode 100644 index 0000000..8bfcefe --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/service/BaselineReleaseRemarkService.java @@ -0,0 +1,48 @@ +package com.zt.life.modules.baselineRelease.service; + +import com.zt.common.service.BaseService; +import com.zt.life.modules.baselineRelease.dao.BaselineReleaseRemarkDao; +import com.zt.life.modules.baselineRelease.model.BaselineReleaseRemark; +import com.zt.life.modules.testCheckOrder.model.TestCheckOrderList; +import org.springframework.stereotype.Service; +import com.zt.common.db.query.QueryFilter; +import javax.annotation.Resource; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * baseline_release_remark + * + * @author zt generator + * @since 1.0.0 2023-12-18 + */ +@Service +public class BaselineReleaseRemarkService extends BaseService<BaselineReleaseRemarkDao, BaselineReleaseRemark> { + + /** + * 鍒嗛〉鏌ヨ + * + * @param queryFilter + * @return + */ + public List<BaselineReleaseRemark> page(QueryFilter queryFilter) { + return baseDao.getList(queryFilter.getQueryParams()); + } + + /** + * 鍒犻櫎 + * + * @param ids + */ + public void delete(Long[] ids) { + super.deleteLogic(ids); + } + public List<BaselineReleaseRemark> getList(Long baselineId) { + Map<String, Object> params = new HashMap<>(); + params.put("baselineId",baselineId); + return baseDao.getList(params); + } + +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/service/BaselineReleaseService.java b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/service/BaselineReleaseService.java new file mode 100644 index 0000000..b659b6b --- /dev/null +++ b/modules/mainPart/src/main/java/com/zt/life/modules/baselineRelease/service/BaselineReleaseService.java @@ -0,0 +1,195 @@ +package com.zt.life.modules.baselineRelease.service; + +import cn.hutool.core.convert.Convert; +import com.zt.common.service.BaseService; +import com.zt.life.export.dto.WordFile; +import com.zt.life.export.service.WordFileService; +import com.zt.life.modules.baselineRelease.dao.BaselineReleaseDao; +import com.zt.life.modules.baselineRelease.dto.BaselineDto; +import com.zt.life.modules.baselineRelease.model.BaselineRelease; +import com.zt.life.modules.baselineRelease.model.BaselineReleaseRemark; +import com.zt.life.modules.mainPart.utils.GetFilesPath; +import com.zt.life.modules.mainPart.utils.GetShowDictList; +import com.zt.life.modules.project.service.ProjectService; +import com.zt.life.modules.testCheckOrder.dto.CheckOrderDto; +import com.zt.life.modules.testCheckOrder.model.TestCheckOrder; +import com.zt.life.modules.testCheckOrder.model.TestCheckOrderList; +import com.zt.modules.coderule.service.SysCodeRuleService; +import com.zt.modules.workflow.dto.FlowInfoDto; +import com.zt.modules.workflow.service.WorkflowService; +import org.springframework.beans.factory.annotation.Autowired; +import org.springframework.stereotype.Service; +import com.zt.common.db.query.QueryFilter; +import javax.annotation.Resource; +import javax.servlet.http.HttpServletRequest; +import javax.servlet.http.HttpServletResponse; +import java.io.FileNotFoundException; +import java.io.UnsupportedEncodingException; +import java.util.HashMap; +import java.util.List; +import java.util.Map; + + +/** + * baseline_release + * + * @author zt generator + * @since 1.0.0 2023-12-18 + */ +@Service +public class BaselineReleaseService extends BaseService<BaselineReleaseDao, BaselineRelease> { + @Autowired + private ProjectService projectService; + + @Autowired + private GetShowDictList getShowDictList; + + @Autowired + private SysCodeRuleService sysCodeRuleService; + + @Autowired + private WorkflowService workflowService; + + @Autowired + private GetFilesPath getFilesPath; + + @Autowired + private WordFileService wordFileService; + + @Autowired + private BaselineReleaseRemarkService remarkService; + + /** + * 鍒嗛〉鏌ヨ + * + * @param queryFilter + * @return + */ + public List<BaselineRelease> page(QueryFilter queryFilter) { + List<BaselineRelease> list = baseDao.getList(queryFilter.getQueryParams()); + if (list.size() > 0) { + workflowService.getRunFlow(list, "jxfb"); + } + return baseDao.getList(queryFilter.getQueryParams()); + } + + /** + * 鍒犻櫎 + * + * @param ids + */ + public void delete(Long[] ids) { + super.deleteLogic(ids); + } + + public BaselineDto getDto(Long baselineId, Long projectId, String pageCode) { + BaselineDto data = new BaselineDto(); + data.setPageCode(pageCode); + if (baselineId != null) { + data.setId(baselineId); + BaselineRelease baseline = this.get(baselineId); + data.setBaseline(baseline); + if (projectId == null) { + projectId = baseline.getProjectId(); + } + List<BaselineReleaseRemark> remarkList = remarkService.getList(baselineId); + data.setRemarkList(remarkList); + + } else { + BaselineRelease baseline = new BaselineRelease(); + baseline.setPageCode(pageCode); + data.setBaseline(baseline); + } + if (projectId != null) { + data.setProjectId(projectId); + data.setProject(projectService.get(projectId)); + } + return data; + } + + + public Long save(BaselineDto baselineDto) { + Long baselineId = baselineDto.getBaseline().getId(); + if (baselineId != null) + baseDao.updateById(baselineDto.getBaseline()); + else { + Map<String, String> map = new HashMap<>(); + String pagecode = baselineDto.getPageCode(); + map.put("funCode", "baseline_release_" + pagecode); + map.put("projectId", baselineDto.getProjectId().toString()); + baselineDto.getBaseline().setProjectId(baselineDto.getProjectId()); + baselineDto.getBaseline().setCode(sysCodeRuleService.getNewCode(map)); + baseDao.insert(baselineDto.getBaseline()); + baselineId = baselineDto.getBaseline().getId(); + } + + for (BaselineReleaseRemark remark : baselineDto.getRemarkList()) { + remark.setBaselineId(baselineId); + if (remark.getId() != null) { + remarkService.update(remark); + } else { + remark.setBaselineId(baselineId); + remarkService.insert(remark); + } + } + + Long bizId = baselineDto.getBaseline().getId(); + FlowInfoDto flowInfoDto = baselineDto.getFlowInfoDto(); + + if (flowInfoDto != null && flowInfoDto.getSubmitType() != null && "tj,bl".contains(flowInfoDto.getSubmitType())) { + if ("tj".equals(flowInfoDto.getSubmitType())) { + workflowService.startFlow(flowInfoDto.getFlowCode(), bizId); + } + workflowService.approvePass(flowInfoDto.getFlowCode(), bizId, flowInfoDto.getStepIdMark()); + } + return baselineId; + } + + /* public void exportCheckOrder(Long id, String pageCode, HttpServletRequest request, HttpServletResponse response) { + try { + CheckOrderDto dataObj = this.getDto(id, null, pageCode); + + String processorPath = "鏂囦欢鍥剧墖:" + getFilesPath.getSignPath(Convert.toLong(dataObj.getCheckOrder().getProcessorId())); + dataObj.getCheckOrder().setProcessor(processorPath); + String verifierPath = "鏂囦欢鍥剧墖:" + getFilesPath.getSignPath(Convert.toLong(dataObj.getCheckOrder().getVerifierId())); + dataObj.getCheckOrder().setVerifier(verifierPath); + //閫氱敤瀛楀吀鍒楄〃瀛楃涓茬敓鎴� + for (TestCheckOrderList checkOrderList : dataObj.getCheckOrderList()) { + String value = checkOrderList.getCheckResult(); + String checkResultStr=""; + if ("plan".equals(pageCode) || "report".equals(pageCode) || "record".equals(pageCode) || "explain".equals(pageCode)) { + checkResultStr = getShowDictList.getShowDictList(value, "tristate1", false); + }else{ + checkResultStr = getShowDictList.getShowDictList(value, "tristate2", false); + } + checkOrderList.setCheckResult(checkResultStr); + } + + Map<String, String> map = new HashMap<>(); + map.put("plan", "璁″垝"); + map.put("report", "鎶ュ憡"); + map.put("record", "璁板綍"); + map.put("explain", "璇存槑"); + map.put("contract", "鍚堝悓璇勫"); + map.put("require", "娴嬭瘯闇�姹傚垎鏋愪笌绛栧垝"); + map.put("execute", "娴嬭瘯璁捐銆佸疄鐜颁笌鎵ц"); + map.put("summary", "娴嬭瘯鎬荤粨"); + String type = map.get(pageCode); + dataObj.setPageCode(type); + WordFile wordFile = new WordFile(); + + if ("plan".equals(pageCode) || "report".equals(pageCode) || "record".equals(pageCode) || "explain".equals(pageCode)) { + wordFile.setModulePath("杞欢娴嬭瘯妫�鏌ュ崟.docx"); + wordFile.setWordName(dataObj.getProject().getSoftwareName() + "_杞欢娴嬭瘯" + type + "妫�鏌ュ崟.docx"); + } else { + wordFile.setModulePath("璐ㄩ噺淇濊瘉妫�鏌ュ崟.docx"); + wordFile.setWordName(dataObj.getProject().getSoftwareName() + "_璐ㄩ噺淇濊瘉妫�鏌ュ崟(" + type + ").docx"); + } + wordFileService.exportWordFile(request, dataObj, wordFile, response); + } catch (UnsupportedEncodingException e) { + e.printStackTrace(); + } catch (FileNotFoundException e) { + e.printStackTrace(); + } + }*/ +} diff --git a/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java index d5d38cc..e98c842 100644 --- a/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java +++ b/modules/mainPart/src/main/java/com/zt/life/modules/contractReview/service/ContractReviewService.java @@ -124,6 +124,7 @@ } else { testAgencyInfoService.update(reviewDto.getTestAgencyInfo()); } + sysOssConfigService.updateOss(reviewDto.getId(), reviewDto.getFiles());// 淇濆瓨闄勪欢 return true; } diff --git a/modules/mainPart/src/main/resources/mapper/baselineRelease/BaselineReleaseDao.xml b/modules/mainPart/src/main/resources/mapper/baselineRelease/BaselineReleaseDao.xml new file mode 100644 index 0000000..87bb09f --- /dev/null +++ b/modules/mainPart/src/main/resources/mapper/baselineRelease/BaselineReleaseDao.xml @@ -0,0 +1,20 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +<mapper namespace="com.zt.life.modules.baselineRelease.dao.BaselineReleaseDao"> + + <select id="getList" resultType="com.zt.life.modules.baselineRelease.model.BaselineRelease"> + select a.* + from baseline_release a + <where> + a.is_delete = 0 + <if test="whereSql!=null"> + and ${whereSql} + </if> + </where> + <if test="orderBySql!=null"> + ORDER BY ${orderBySql} + </if> + </select> + +</mapper> diff --git a/modules/mainPart/src/main/resources/mapper/baselineRelease/BaselineReleaseRemarkDao.xml b/modules/mainPart/src/main/resources/mapper/baselineRelease/BaselineReleaseRemarkDao.xml new file mode 100644 index 0000000..1086c00 --- /dev/null +++ b/modules/mainPart/src/main/resources/mapper/baselineRelease/BaselineReleaseRemarkDao.xml @@ -0,0 +1,15 @@ +<?xml version="1.0" encoding="UTF-8"?> +<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd"> + +<mapper namespace="com.zt.life.modules.baselineRelease.dao.BaselineReleaseRemarkDao"> + + <select id="getList" resultType="com.zt.life.modules.baselineRelease.model.BaselineReleaseRemark"> + select * + from baseline_release_remark + where baseline_id = ${baselineId} + and is_delete = 0 + ORDER BY no + + </select> + +</mapper> diff --git a/web/src/views/modules/baselineRelease/BaselineRelease-AddOrUpdate.vue b/web/src/views/modules/baselineRelease/BaselineRelease-AddOrUpdate.vue new file mode 100644 index 0000000..56a3d61 --- /dev/null +++ b/web/src/views/modules/baselineRelease/BaselineRelease-AddOrUpdate.vue @@ -0,0 +1,233 @@ +<template> + <zt-dialog ref="dialog" column="2" @confirm="formSubmit" :stepMarker="stepMarker" :append-to-body="true"> + <el-form :model="dataForm" :inline="true" ref="dataForm" style="padding-top: 0" :disabled="dataForm.disabled" + label-width="120px" class="testCheckFormAuto"> + <div> + <el-form-item label-width="60px" label="缂栧彿:" style="width:100%;margin-bottom: -5px"> + <span>{{ dataForm.baseline.code || '缂栧彿鑷姩鐢熸垚' }}</span> + </el-form-item> + </div> + <div style="border: 1px solid rgba(0,0,0,.2);width: 99%"> + <div style="border-bottom: 1px solid rgba(0,0,0,.2);" class="testCheckContentWidth"> + <el-form-item class="marginTopAndMarginBottom" label="椤圭洰鏍囪瘑" style="width: 49%"> + <el-input v-model="dataForm.project.softwareIdentity" placeholder="椤圭洰鏍囪瘑"></el-input> + </el-form-item> + <el-form-item class="marginTopAndMarginBottom" label="椤圭洰鍚嶇О" style="width: 49%"> + <el-input v-model="dataForm.project.softwareName" placeholder="椤圭洰鍚嶇О"></el-input> + </el-form-item> + </div> + <div style="border-bottom: 1px solid rgba(0,0,0,.2);"> + <div style="padding-left:5px;padding-right:5px;"> + <div style="width: 112px;text-align: center;font-weight: 600">鍩虹嚎鍙戝竷鎻忚堪</div> + <div class="table-container"> + <el-form-item class="marginTopAndMarginBottom" label="鍩虹嚎绫诲瀷" style="width: 49%"> + <zt-dict v-model="dataForm.baseline.baselineType" placeholder="鍩虹嚎绫诲瀷" dict="baseline_type" + :radio="true"></zt-dict> + </el-form-item> + <el-form-item class="marginTopAndMarginBottom" label="鍩虹嚎鍚嶇О" style="width: 49%"> + <el-input v-model="dataForm.baseline.baselineName" placeholder="鍩虹嚎鍚嶇О"></el-input> + </el-form-item> + <el-form-item class="marginTopAndMarginBottom" label="鍩虹嚎鐗堟湰" style="width: 49%"> + <el-input v-model="dataForm.baseline.baselineVersion" placeholder="鍩虹嚎鐗堟湰"></el-input> + </el-form-item> + </div> + </div> + </div> + <div class="el-flexCirculationDialog el-border-bottom"> + <div style="width: 112px;text-align: center;font-weight: 600"> + 澶囨敞 + </div> + <div class="el-border-left acceptDate" style="height: 80px;width: 80%;"> + <div class="table-container"> + <el-table ref="tableCirculatOrderList" class="el-software el-margin-top-bot" border + :data="dataForm.remarkList" + stripe> + <el-table-column prop="no" align="center" width="60" label="搴忓彿"> + <template slot-scope="scope"> + <span v-html="indexFormat(scope.$index)"></span> + </template> + </el-table-column> + <el-table-column prop="itemName" min-width="180" label="閰嶇疆椤瑰悕绉�"> + </el-table-column> + </el-table> + <div v-if="!dataForm.disabled" class="icon-container" @click="handleCommand"> + <!-- 鏀剧疆鍥哄畾鐨勫浘鏍� --> + <i class="el-icon-plus"></i> + </div> + </div> + </div> + </div> + <div class="el-flexCirculationDialog"> + <div style="width: 112px;text-align: center;font-weight: 600"> + 鍙戝竷浜� + </div> + <div class="el-border-left-right acceptDate1" style="width: 40%;height: 40px;"> + <el-form-item style="width: 100%;padding-left:20px;margin:0;"> + <span>{{ dataForm.baseline.publisher}}</span> + </el-form-item> + </div> + <div style="width: 112px;text-align: center;font-weight: 600"> + 鍙戝竷鏃堕棿 + </div> + <div class="el-border-left-right acceptDate1" style="width: 40%;height: 40px;"> + <el-form-item style="width: 100%;padding-left:20px;margin:0;"> + <span>{{ dataForm.baseline.publishDate}}</span> + </el-form-item> + </div> + <div style="width: 84px;text-align: center;font-weight: 600"> + 鍩虹嚎鎵瑰噯 + </div> + <div class="el-configChangeDialog el-border-bottom"> + <div class="DFormWidth DAlign DHold"> + 閮ㄩ棬鎰忚 + </div> + <div style="width: calc(100% - 120px)" class="el-border-left"> + <el-form-item class="el-wt-form-item-margin" label-width="20px" style="width: 85%"> + <el-input :disabled="stepMarker!=='pzxbg_bmsh'" v-model="dataForm.baseline.departOpinion"></el-input> + </el-form-item> + <el-form-item label-width="80%" label="绛惧瓧锛�" style="width: 65%"> + <span>{{dataForm.baseline.departSign}}</span> + </el-form-item> + <el-form-item label="鏃ユ湡锛�" style="width: 20%"> + <span>{{dataForm.baseline.signDate}}</span> + </el-form-item> + </div> + </div> + </div> + </div> + </el-form> + <ConfigItemList ref="configItemList" @getChangeItemList="getChangeItemList"></ConfigItemList> + <template v-slot:footer> + <el-button v-if="dataForm.disabled" type="primary" @click="print()">鎵撳嵃</el-button> + </template> + </zt-dialog> + + +</template> + +<script> + import qs from "qs"; + import Cookies from "js-cookie"; + import ConfigItemList from '../configItemChange/configItemList.vue' + import AddOrUpdateCheck from "../testCheckOrder/TestCheckOrder-AddOrUpdate"; + + export default { + data() { + return { + dataForm: { + id: '', + pageCode: '', + stepMarker: '', + pageName: { + demand: '闇�姹傚熀绾�', product:'浜у搧鍩虹嚎' + }, + baseline: { + code: '', + baselineType: '', + baselineName: '', + baselineVersion: '', + remark: '', + publisher: '', + publishDate: '', + departOpinion: '', + departSign: '', + signDate: '', + }, + project: { + softwareIdentity: '', + softwareName: '' + }, + remarkList: [] + } + } + }, + components: { + ConfigItemList + }, + methods: { + init(id, row) { + if (id) { + this.dataForm.id = id + } else { + this.dataForm.id = row.id + } + this.pageCode = row.pageCode + if (row.projectId) { + this.dataForm.projectId = row.projectId + } + /* if (this.configDetailRow) { + if (!row.stepMarker) { + this.stepMarker = 'csjcd_first' + this.title = '鍙戣捣娴嬭瘯妫�鏌ュ崟' + } else { + this.title = row.stepName + this.stepMarker = row.stepMarker + } + }*/ + //this.dataForm.disabled + this.getInfo() + + //console.log(this.dataForm.id, this.dataForm.projectId, this.stepMarker, 'this.dataForm.id, this.dataForm.projectId,this.stepMarker') + }, + indexFormat(index) { + return index += 1 + }, + handleCommand() { + this.$nextTick(()=>{ + console.log(this.dataForm.projectId,'this.dataForm.projectId') + this.ids = this.dataForm.configChangeList.map(item=>item.selectId).join(',') + this.$refs.configItemList.$refs.dialog.init(this.dataForm.projectId,this.ids) + }) + }, + // 鑾峰彇淇℃伅 + async getInfo() { + let params = { + baselineId: this.dataForm.id, + projectId: this.dataForm.projectId, + pageCode: this.pageCode + } + console.log(this.pageCode, "getInfo pageCode") + let res = await this.$http.get(`/baselineRelease/BaselineRelease/getDto`, {params: params}) + this.dataForm = { + ...this.dataForm, + ...res.data + } + console.log(this.dataForm, 'this.dataForm this.dataForm') + }, + getChangeItemList(data){ + console.log(data.configChangeList,'getChangeItemList(data)') + if(data.configChangeList){ + this.dataForm.configChangeList=this.dataForm.configChangeList.concat(data.configChangeList) + } + console.log(this.dataForm.configChangeList,ids,'this.dataForm.configChangeList') + }, + async print() { + var params = qs.stringify({ + token: Cookies.get('token'), + id: this.dataForm.id, + pageCode: this.pageCode + }) + let apiURL = `/baselineRelease/BaselineRelease/exportbaseline` + window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}` + }, + // 琛ㄥ崟鎻愪氦 + async formSubmit(submitType) { + if (submitType == 'tj' || submitType == 'bl' ) { + let flowInfo = { + flowCode: 'jxfb', + stepIdMark: this.stepMarker, + submitType: submitType + } + this.dataForm.flowInfoDto = flowInfo; + } + console.log(this.dataForm, "this.dataForm formSubmit(submitType)") + let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/baselineRelease/BaselineRelease/', this.dataForm) + if (res.success) { + await this.$tip.success() + this.$refs.dialog.close() + this.$emit('refreshDataList') + } + } + } + } +</script> diff --git a/web/src/views/modules/baselineRelease/BaselineRelease.vue b/web/src/views/modules/baselineRelease/BaselineRelease.vue new file mode 100644 index 0000000..ebaf647 --- /dev/null +++ b/web/src/views/modules/baselineRelease/BaselineRelease.vue @@ -0,0 +1,87 @@ +<template> + <el-card shadow="never" class="aui-card--fill"> + <div class="mod-baselineRelease-baselineRelease}"> + <zt-table-wraper query-url="/baselineRelease/BaselineRelease/page" delete-url="/baselineRelease/BaselineRelease" v-slot="{ table }"> + <el-form :inline="true" :model="dataForm" @keyup.enter.native="table.query()"> + <el-form-item> + <el-input v-model="dataForm.code" placeholder="璇疯緭鍏ュ熀绾垮彂甯冪紪鍙�" clearable></el-input> + </el-form-item> + <el-form-item> + <zt-dict v-model="dataForm.baselineType" dict="baseline_type" clearable></zt-dict> + </el-form-item> + <el-form-item> + <el-input v-model="dataForm.baselineName" placeholder="璇疯緭鍏ュ熀绾垮悕绉�" clearable></el-input> + </el-form-item> + <el-form-item> + <zt-button type="query" @click="table.query()"/> + <zt-button type="add" @click="add()"/> + <zt-button type="delete" perm="baselineRelease:delete" @click="table.deleteHandle()"/> + </el-form-item> + </el-form> + <el-table v-loading="table.dataLoading" :data="table.dataList" height="100px" v-adaptive="{bottomOffset:70}" border @selection-change="table.selectionChangeHandle"> + <el-table-column type="selection" width="40"/> + <el-table-column prop="code" label="鍩虹嚎鍙戝竷缂栧彿"/> + <zt-table-column-dict prop="baselineType" label="鍩虹嚎绫诲瀷" dict="baseline_type"/> + <el-table-column prop="baselineName" label="鍩虹嚎鍚嶇О"/> + <el-table-column prop="baselineVersion" label="鍩虹嚎鐗堟湰"/> + <template v-slot="{row}"> + <zt-table-button type="primary" @click="openEditWin(row)">淇敼</zt-table-button> + </template> + </el-table> + <!-- 寮圭獥, 鏂板 / 淇敼 --> + <add-or-update ref="addOrUpdate" @recall="table.query"/> + <ProjectSelect :pageCode="pageCode" ref="projectSelect" + @refreshDataList="table.query" + @setProjectInfo="openAddWin"> + </ProjectSelect> + <Preview ref="view"></Preview> + </zt-table-wraper> + </div> + </el-card> +</template> + +<script> + import AddOrUpdate from './BaselineRelease-AddOrUpdate' + import ProjectSelect from "../project/Project-select" + import Preview from '@/views/pages/view' + export default { + data() { + return { + pageCode: '', + dataForm: { + code: '', + baselineType: '', + baselineName: '', + pageCode:this.$route.query.pageCode + } + } + }, + mounted() { + this.pageCode = this.$route.query.pageCode + this.dataForm.pageCode = this.$route.query.pageCode + console.log(this.pageCode,'this.pageCode this.pageCode') + }, + components: { + AddOrUpdate, + ProjectSelect, + Preview + }, + methods: { + add() { + console.log(this.pageCode, 'this.pageCode') + this.$refs.projectSelect.$refs.dialog.init("test_check_order", {pageCode: this.pageCode}) + }, + openAddWin(projectRow) { + console.log(projectRow, 'openAddWin(projectRow) projectRow') + this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: projectRow.id, pageCode: this.pageCode}) + }, + openEditWin(checkOrderRow){ + console.log(checkOrderRow,'openEditWin(checkOrderRow)') + this.$refs.addOrUpdate.$refs.dialog.init(checkOrderRow.id, {id: checkOrderRow.id, projectId: checkOrderRow.projectId, pageCode: this.pageCode}) + }, + preview(row) { + this.$refs.view.openAccessoryFormatSingle(row) + } + } + } +</script> diff --git a/web/src/views/modules/contractReview/ContractReview-AddOrUpdate.vue b/web/src/views/modules/contractReview/ContractReview-AddOrUpdate.vue index 1a169de..1d384e1 100644 --- a/web/src/views/modules/contractReview/ContractReview-AddOrUpdate.vue +++ b/web/src/views/modules/contractReview/ContractReview-AddOrUpdate.vue @@ -90,14 +90,19 @@ </div> <div style="width: calc(100% - 120px)" class="el-border-left"> <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px"> - <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ュ唴瀹�" + <el-input type="textarea" :rows="2" placeholder="璇疯緭鍏ヨ瘎瀹$粨璁�" v-model="dataForm.contractReview.reviewConclusion"></el-input> </el-form-item> <el-form-item label="鎶�鏈礋璐d汉锛�" style="width: 48%"> - <span>{{ dataForm.contractReview.technicalDirector }}</span> + <el-input type="textarea" :rows="1" placeholder="璇疯緭鍏ユ妧鏈礋璐d汉" + v-model="dataForm.contractReview.technicalDirector"></el-input> </el-form-item> <el-form-item label="鏃ユ湡锛�" style="width: 48%"> - {{ dataForm.contractReview.reviewDate | filterTime('YYYY骞碝M鏈圖D鏃�') }} + <el-date-picker + v-model="dataForm.contractReview.reviewDate" + type="date" + placeholder="璇烽�夋嫨鏃ユ湡"> + </el-date-picker> </el-form-item> </div> </div> diff --git a/web/src/views/modules/contractReview/ContractReview.vue b/web/src/views/modules/contractReview/ContractReview.vue index 0d18622..acac3cd 100644 --- a/web/src/views/modules/contractReview/ContractReview.vue +++ b/web/src/views/modules/contractReview/ContractReview.vue @@ -41,6 +41,7 @@ return { dataForm: { reviewType: '', + orderCode:'' } } }, diff --git a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue index 8a13444..497e643 100644 --- a/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue +++ b/web/src/views/modules/testCheckOrder/TestCheckOrder-AddOrUpdate.vue @@ -121,9 +121,6 @@ <template v-slot:footer> <el-button v-if="dataForm.disabled" type="primary" @click="print()">鎵撳嵃</el-button> </template> - <template v-slot:footer> - <el-button v-if="dataForm.disabled" type="primary" @click="print()">鎵撳嵃</el-button> - </template> </zt-dialog> </template> -- Gitblit v1.9.1