| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | |
| | | import javax.imageio.ImageIO; |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.awt.image.BufferedImage; |
| | | import java.io.*; |
| | | import java.lang.reflect.Field; |
| | | import java.util.*; |
| | |
| | | } else if (staticFieldValue != null) { |
| | | String valStr = staticFieldValue.toString(); |
| | | if (valStr.contains("文件图片:")) { |
| | | valStr = valStr.replace("文件图片:", ""); |
| | | valStr = localPath + valStr.replace("文件图片:", ""); |
| | | File file = new File(valStr); |
| | | if (file.exists()) { |
| | | try (InputStream in = ossEncryptService.decrypt(file)) { |
| | | staticFieldValue = new PictureRenderData(500, 500, ".png", in); |
| | | InputStream in2 = ossEncryptService.decrypt(file); |
| | | BufferedImage bufferedImage = ImageIO.read(in2); |
| | | int width = bufferedImage.getWidth(); |
| | | int height = bufferedImage.getHeight(); |
| | | staticFieldValue = new PictureRenderData(width, height, ".png", in); |
| | | /*staticFieldValue = new PictureRenderData(80, 100, "d://" + valStr);*/ |
| | | } catch (IOException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } else { |
| | | staticFieldValue = new PictureRenderData(100, 30, "template/noSign.png"); |
| | | } |
| | | if (wordData.get(fieldName) == null) |
| | | wordData.put(fieldName, staticFieldValue); |
| | | } |
| | | } |
| | | if (wordData.get(fieldName) == null) |
| | | wordData.put(fieldName, staticFieldValue); |
| | | } |
| | | } |
| | | } |
| | |
| | | @ApiModelProperty(value = "项目ID") |
| | | private Long projectId; |
| | | |
| | | @ApiModelProperty(value = "检查单ID") |
| | | private Long checkId; |
| | | |
| | | @ApiModelProperty(value = "配置项入库编号") |
| | | private String code; |
| | | |
| | |
| | | import org.springframework.web.bind.annotation.*; |
| | | import springfox.documentation.annotations.ApiIgnore; |
| | | |
| | | import javax.servlet.http.HttpServletRequest; |
| | | import javax.servlet.http.HttpServletResponse; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | |
| | | @ApiOperation("信息") |
| | | public Result<ItemCirculatOrderDto> getDto(Long projectId, Long circulatOrderid) { |
| | | ItemCirculatOrderDto data = itemCirculatOrderService.getDto(projectId, circulatOrderid); |
| | | if (circulatOrderid!=null) { |
| | | for (ItemCirculatOrderTechnical technical : data.getTechnicalList()) { |
| | | Long technicalId = technical.getId(); |
| | | OssDto ossDto = sysOssConfigService.getOssByBusiType(technicalId, "circulat_order"); |
| | | if (ossDto != null) { |
| | | technical.setFiles(ossDto); |
| | | } |
| | | } |
| | | } |
| | | return Result.ok(data); |
| | | } |
| | | |
| | |
| | | return Result.ok(); |
| | | } |
| | | |
| | | @GetMapping("exportCirculatOrder") |
| | | @ApiOperation("打印物品流转单") |
| | | @LogOperation("打印物品流转单") |
| | | public void exportCirculatOrder(Long id, HttpServletRequest request, HttpServletResponse response) { |
| | | itemCirculatOrderService.exportCirculatOrder(id, request, response); |
| | | } |
| | | |
| | | } |
| | |
| | | @ApiModelProperty(value = "其他要求") |
| | | private String itemRequireStr; |
| | | |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "物品接收情况说明") |
| | | private String acceptSituationStr; |
| | | |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "校准检测情况说明") |
| | | private String detectSituationStr; |
| | | |
| | | @TableField(exist = false) |
| | | @ApiModelProperty(value = "物品发放情况说明") |
| | | private String issueSituationStr; |
| | | |
| | | |
| | | } |
| | |
| | | package com.zt.life.modules.itemCirculatOrder.service; |
| | | |
| | | import cn.hutool.core.convert.Convert; |
| | | import com.zt.common.service.BaseService; |
| | | import com.zt.core.sys.dto.DictDto; |
| | | import com.zt.core.sys.dto.DictItemDto; |
| | | import com.zt.core.sys.dto.DictLeafDto; |
| | | import com.zt.life.export.dto.WordFile; |
| | | import com.zt.life.export.service.WordFileService; |
| | | import com.zt.life.modules.itemCirculatOrder.dao.ItemCirculatOrderDao; |
| | | import com.zt.life.modules.itemCirculatOrder.dao.ItemCirculatOrderTechnicalDao; |
| | | import com.zt.life.modules.itemCirculatOrder.dto.ItemCirculatOrderDto; |
| | | import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrder; |
| | | import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical; |
| | | import com.zt.life.modules.project.dto.SoftwareTestOrderDto; |
| | | import com.zt.life.modules.mainPart.utils.GetShowDictList; |
| | | import com.zt.life.modules.mainPart.utils.GetFilesPath; |
| | | import com.zt.life.modules.project.model.*; |
| | | import com.zt.life.modules.project.service.ProjectService; |
| | | import com.zt.life.modules.project.service.SoftwareTestOrderService; |
| | | import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService; |
| | | import com.zt.life.sys.dto.OssDto; |
| | | import com.zt.life.sys.service.SysOssConfigService; |
| | |
| | | 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.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.stream.Collectors; |
| | | |
| | | |
| | | /** |
| | |
| | | |
| | | @Autowired |
| | | private WorkflowService workflowService; |
| | | |
| | | @Autowired |
| | | private GetShowDictList getShowDictList; |
| | | |
| | | @Autowired |
| | | private WordFileService wordFileService; |
| | | |
| | | @Autowired |
| | | private GetFilesPath getFilesPath; |
| | | |
| | | |
| | | /** |
| | | * 分页查询 |
| | |
| | | Long bizId = itemCirculatOrderDto.getCirculatOrder().getId(); |
| | | FlowInfoDto flowInfoDto = itemCirculatOrderDto.getFlowInfoDto(); |
| | | |
| | | if (flowInfoDto != null && "tj,bl".contains(flowInfoDto.getSubmitType())) { |
| | | if (flowInfoDto != null && flowInfoDto.getSubmitType() != null && "tj,bl".contains(flowInfoDto.getSubmitType())) { |
| | | if ("tj".equals(flowInfoDto.getSubmitType())) { |
| | | workflowService.startFlow(flowInfoDto.getFlowCode(), bizId); |
| | | } |
| | |
| | | project.setSoftwareType(type); |
| | | data.setProject(project); |
| | | } |
| | | |
| | | if (data.getTestAgencyInfo() == null) |
| | | data.setTestAgencyInfo(testAgencyInfoService.get(10000L)); |
| | | |
| | | if (circulatOrderid != null) { |
| | | for (ItemCirculatOrderTechnical technical : data.getTechnicalList()) { |
| | | Long technicalId = technical.getId(); |
| | | OssDto ossDto = sysOssConfigService.getOssByBusiType(technicalId, "circulat_order"); |
| | | if (ossDto != null) { |
| | | technical.setFiles(ossDto); |
| | | } |
| | | } |
| | | } |
| | | return data; |
| | | } |
| | | |
| | | public void exportCirculatOrder(Long id, HttpServletRequest request, HttpServletResponse response) { |
| | | try { |
| | | ItemCirculatOrderDto dataObj = this.getDto(null, id); |
| | | |
| | | String acceptorPath = "文件图片:"+ getFilesPath.getSignPath(Convert.toLong(dataObj.getCirculatOrder().getItemAcceptorId())); |
| | | dataObj.getCirculatOrder().setItemAcceptor(acceptorPath); |
| | | String detectorPath = "文件图片:"+getFilesPath.getSignPath(Convert.toLong(dataObj.getCirculatOrder().getCalibratDetectorId())); |
| | | dataObj.getCirculatOrder().setCalibratDetector(detectorPath); |
| | | String issuerPath = "文件图片:"+getFilesPath.getSignPath(Convert.toLong(dataObj.getCirculatOrder().getItemIssuerId())); |
| | | dataObj.getCirculatOrder().setItemIssuer(issuerPath); |
| | | //通用字典列表字符串生成 |
| | | String itemRequireStr = getShowDictList.getShowDictList(dataObj.getCirculatOrder().getItemRequire(), "is_or_not", false); |
| | | dataObj.getCirculatOrder().setItemRequireStr(itemRequireStr); |
| | | |
| | | String acceptSituationStr = getShowDictList.getShowDictList(dataObj.getCirculatOrder().getAcceptSituation(), "is_or_not", false); |
| | | dataObj.getCirculatOrder().setAcceptSituationStr(acceptSituationStr); |
| | | |
| | | String detectSituationStr = getShowDictList.getShowDictList(dataObj.getCirculatOrder().getDetectSituation(), "is_or_not", false); |
| | | dataObj.getCirculatOrder().setDetectSituationStr(detectSituationStr); |
| | | |
| | | String issueSituationStr = getShowDictList.getShowDictList(dataObj.getCirculatOrder().getIssueSituation(), "is_or_not", false); |
| | | dataObj.getCirculatOrder().setIssueSituationStr(issueSituationStr); |
| | | |
| | | for (ItemCirculatOrderTechnical technical : dataObj.getTechnicalList()) { |
| | | String value = technical.getSecretClass(); |
| | | String secretClassStr = getShowDictList.getShowDictList(value, "secret_class", false); |
| | | technical.setSecretClass(secretClassStr); |
| | | } |
| | | |
| | | |
| | | WordFile wordFile = new WordFile(); |
| | | wordFile.setModulePath("物品流转单.docx"); |
| | | wordFile.setWordName(dataObj.getProject().getSoftwareName() + "_物品流转单.docx"); |
| | | wordFileService.exportWordFile(request, dataObj, wordFile, response); |
| | | } catch (UnsupportedEncodingException e) { |
| | | e.printStackTrace(); |
| | | } catch (FileNotFoundException e) { |
| | | e.printStackTrace(); |
| | | } |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.zt.life.modules.mainPart.utils; |
| | | |
| | | import com.zt.core.sys.model.SysUser; |
| | | import com.zt.life.sys.dto.OssDto; |
| | | import com.zt.modules.oss.cloud.LocalStorageService; |
| | | import com.zt.modules.oss.model.SysOss; |
| | | import com.zt.modules.oss.service.SysOssService; |
| | | import com.zt.modules.sys.service.SysUserService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.beans.factory.annotation.Value; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | @Service |
| | | public class GetFilesPath { |
| | | @Autowired |
| | | private SysUserService sysUserService; |
| | | |
| | | @Autowired |
| | | private SysOssService sysOssService; |
| | | |
| | | public String getSignPath(Long userId) { |
| | | SysUser data = sysUserService.getUserInfo(userId); |
| | | OssDto oss = data.getFiles2(); |
| | | return getFirstImagePath(oss); |
| | | } |
| | | |
| | | public String getFirstImagePath(OssDto oss) { |
| | | String filePath = ""; |
| | | if (oss != null) { |
| | | if (oss.getGroups().size() > 0) { |
| | | OssDto.OssFieldGroupDto group = oss.getGroups().get(0); |
| | | if (group.getFields().size() > 0) { |
| | | OssDto.OssFieldDto field = group.getFields().get(0); |
| | | if (field.getFiles().size() > 0) { |
| | | com.zt.core.oss.dto.OssDto file = field.getFiles().get(0); |
| | | SysOss sysOss = sysOssService.get(file.getId()); |
| | | filePath = sysOss.getPath(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return filePath; |
| | | } |
| | | } |
| | |
| | | import com.zt.core.sys.dto.DictLeafDto; |
| | | import com.zt.life.export.dto.WordFile; |
| | | import com.zt.life.export.service.WordFileService; |
| | | import com.zt.life.modules.mainPart.utils.GetFilesPath; |
| | | import com.zt.life.modules.mainPart.utils.GetShowDictList; |
| | | import com.zt.life.modules.project.dao.EnvironDao; |
| | | import com.zt.life.modules.project.dto.EnvironDto; |
| | |
| | | private SysOssService sysOssService; |
| | | |
| | | @Autowired |
| | | private LocalStorageService localStorageService; |
| | | private GetFilesPath getFilesPath; |
| | | |
| | | @Value("${zt.oss.local-path}") |
| | | private String localPath; |
| | |
| | | public void exportEnviron(Long id, HttpServletRequest request, HttpServletResponse response) { |
| | | try { |
| | | EnvironDto dataObj = this.getDto(id, null); |
| | | String imagePath = "文件图片:"+getFirstImagePath(dataObj.getFiles()); |
| | | String imagePath = "文件图片:"+getFilesPath.getFirstImagePath(dataObj.getFiles()); |
| | | dataObj.getEnviron().setTestEnvirontDiagram(imagePath); |
| | | //通用字典列表字符串生成 |
| | | String isVirusScanStr = getShowDictList.getShowDictList(dataObj.getEnviron().getIsVirusScan(), "is_or_not", false); |
| | |
| | | } |
| | | } |
| | | |
| | | public String getFirstImagePath(OssDto oss) { |
| | | String filePath = ""; |
| | | if (oss != null) { |
| | | if (oss.getGroups().size() > 0) { |
| | | OssDto.OssFieldGroupDto group = oss.getGroups().get(0); |
| | | if (group.getFields().size() > 0) { |
| | | OssDto.OssFieldDto field = group.getFields().get(0); |
| | | if (field.getFiles().size() > 0) { |
| | | com.zt.core.oss.dto.OssDto file = field.getFiles().get(0); |
| | | SysOss sysOss = sysOssService.get(file.getId()); |
| | | filePath = localPath+sysOss.getPath(); |
| | | } |
| | | } |
| | | } |
| | | } |
| | | return filePath; |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.zt.life.modules.testCheckOrder.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.project.dto.EnvironDto; |
| | | import com.zt.life.modules.project.dto.SoftwareTestOrderDto; |
| | | import com.zt.life.modules.testCheckOrder.dto.CheckOrderDto; |
| | | import com.zt.life.modules.testCheckOrder.model.TestCheckOrder; |
| | | import com.zt.life.modules.testCheckOrder.service.TestCheckOrderService; |
| | | import com.zt.modules.coderule.service.SysCodeRuleService; |
| | | 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.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | |
| | | /** |
| | | * test_check_order |
| | | * |
| | | * @author zt generator |
| | | * @since 1.0.0 2023-12-05 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/testCheckOrder/TestCheckOrder/") |
| | | @Api(tags="test_check_order") |
| | | public class TestCheckOrderController { |
| | | @Autowired |
| | | private TestCheckOrderService testCheckOrderService; |
| | | |
| | | @Autowired |
| | | private SysCodeRuleService sysCodeRuleService; |
| | | |
| | | @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 = "softwareidentity", value = "项目标识", dataType = Constant.QT.STRING, format = "softwareIdentity^LK"), @ApiImplicitParam(name = "softwarename", value = "项目名称", dataType = Constant.QT.STRING, format = "softwareName^LK") }) |
| | | public PageResult<TestCheckOrder> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ |
| | | |
| | | return PageResult.ok(testCheckOrderService.page(queryFilter)); |
| | | } |
| | | |
| | | @GetMapping("getDto") |
| | | @ApiOperation("信息") |
| | | public Result<CheckOrderDto> getDto(Long checkId, Long projectId,String itemType) { |
| | | CheckOrderDto data = testCheckOrderService.getDto(checkId, projectId,itemType); |
| | | return Result.ok(data); |
| | | } |
| | | |
| | | @PostMapping |
| | | @ApiOperation("新增") |
| | | @LogOperation("新增") |
| | | public Result insert(@RequestBody CheckOrderDto checkOrderDto){ |
| | | //效验数据 |
| | | ValidatorUtils.validateEntity(checkOrderDto, AddGroup.class, DefaultGroup.class); |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("funCode", "test_check_order"); |
| | | map.put("projectId",checkOrderDto.getProjectId().toString()); |
| | | checkOrderDto.getCheckOrder().setCode(sysCodeRuleService.getNewCode(map)); |
| | | Boolean result = testCheckOrderService.save(checkOrderDto); |
| | | return Result.ok(); |
| | | } |
| | | |
| | | @PutMapping |
| | | @ApiOperation("修改") |
| | | @LogOperation("修改") |
| | | public Result update(@RequestBody CheckOrderDto checkOrderDto){ |
| | | //效验数据 |
| | | ValidatorUtils.validateEntity(checkOrderDto, UpdateGroup.class, DefaultGroup.class); |
| | | Boolean result = testCheckOrderService.save(checkOrderDto); |
| | | |
| | | return Result.ok(); |
| | | } |
| | | |
| | | @DeleteMapping("deleteCheckOrder") |
| | | @ApiOperation("删除") |
| | | @LogOperation("删除") |
| | | public Result delete(@RequestBody Long[] ids){ |
| | | //效验数据 |
| | | AssertUtils.isArrayEmpty(ids, "id"); |
| | | testCheckOrderService.delete(ids); |
| | | |
| | | return Result.ok(); |
| | | } |
| | | |
| | | /*@GetMapping("exportCheckOrder") |
| | | @ApiOperation("打印测试环境建立确认表") |
| | | @LogOperation("打印测试环境建立确认表") |
| | | public void exportEnviron(Long id, HttpServletRequest request, HttpServletResponse response) { |
| | | environService.exportEnviron(id, request, response); |
| | | }*/ |
| | | } |
New file |
| | |
| | | package com.zt.life.modules.testCheckOrder.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.testCheckOrder.model.TestCheckOrderList; |
| | | import com.zt.life.modules.testCheckOrder.service.TestCheckOrderListService; |
| | | 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; |
| | | |
| | | |
| | | /** |
| | | * test_check_order_list |
| | | * |
| | | * @author zt generator |
| | | * @since 1.0.0 2023-12-05 |
| | | */ |
| | | @RestController |
| | | @RequestMapping("/testCheckOrder/TestCheckOrderList/") |
| | | @Api(tags="test_check_order_list") |
| | | public class TestCheckOrderListController { |
| | | @Autowired |
| | | private TestCheckOrderListService testCheckOrderListService; |
| | | |
| | | @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 = "softwareName", value = "软件名称", dataType = Constant.QT.STRING, format = "software_name^EQ"), |
| | | }) |
| | | public PageResult<TestCheckOrderList> page(@ApiIgnore @QueryParam QueryFilter queryFilter){ |
| | | |
| | | return PageResult.ok(testCheckOrderListService.page(queryFilter)); |
| | | } |
| | | |
| | | @GetMapping("{id}") |
| | | @ApiOperation("信息") |
| | | public Result<TestCheckOrderList> get(@PathVariable("id") Long id){ |
| | | TestCheckOrderList data = testCheckOrderListService.get(id); |
| | | |
| | | return Result.ok(data); |
| | | } |
| | | |
| | | @PostMapping |
| | | @ApiOperation("新增") |
| | | @LogOperation("新增") |
| | | public Result insert(@RequestBody TestCheckOrderList testCheckOrderList){ |
| | | //效验数据 |
| | | ValidatorUtils.validateEntity(testCheckOrderList, AddGroup.class, DefaultGroup.class); |
| | | testCheckOrderListService.insert(testCheckOrderList); |
| | | |
| | | return Result.ok(); |
| | | } |
| | | |
| | | @PutMapping |
| | | @ApiOperation("修改") |
| | | @LogOperation("修改") |
| | | public Result update(@RequestBody TestCheckOrderList testCheckOrderList){ |
| | | //效验数据 |
| | | ValidatorUtils.validateEntity(testCheckOrderList, UpdateGroup.class, DefaultGroup.class); |
| | | testCheckOrderListService.update(testCheckOrderList); |
| | | |
| | | return Result.ok(); |
| | | } |
| | | |
| | | @DeleteMapping |
| | | @ApiOperation("删除") |
| | | @LogOperation("删除") |
| | | public Result delete(@RequestBody Long[] ids){ |
| | | //效验数据 |
| | | AssertUtils.isArrayEmpty(ids, "id"); |
| | | testCheckOrderListService.delete(ids); |
| | | |
| | | return Result.ok(); |
| | | } |
| | | |
| | | } |
New file |
| | |
| | | package com.zt.life.modules.testCheckOrder.dao; |
| | | |
| | | import com.zt.common.dao.BaseDao; |
| | | import com.zt.life.modules.testCheckOrder.model.TestCheckOrder; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | |
| | | /** |
| | | * test_check_order |
| | | * |
| | | * @author zt generator |
| | | * @since 1.0.0 2023-12-05 |
| | | */ |
| | | @Mapper |
| | | public interface TestCheckOrderDao extends BaseDao<TestCheckOrder> { |
| | | |
| | | List<TestCheckOrder> getList(Map<String, Object> params); |
| | | |
| | | } |
New file |
| | |
| | | package com.zt.life.modules.testCheckOrder.dao; |
| | | |
| | | import com.zt.common.dao.BaseDao; |
| | | import com.zt.life.modules.testCheckOrder.model.TestCheckOrderList; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | |
| | | /** |
| | | * test_check_order_list |
| | | * |
| | | * @author zt generator |
| | | * @since 1.0.0 2023-12-05 |
| | | */ |
| | | @Mapper |
| | | public interface TestCheckOrderListDao extends BaseDao<TestCheckOrderList> { |
| | | |
| | | List<TestCheckOrderList> getList(Map<String, Object> params); |
| | | |
| | | List<TestCheckOrderList> itemList(String dictType); |
| | | } |
New file |
| | |
| | | package com.zt.life.modules.testCheckOrder.dto; |
| | | |
| | | import com.zt.life.modules.project.model.*; |
| | | import com.zt.life.modules.sysBaseInfo.model.TestAgencyInfo; |
| | | import com.zt.life.modules.testCheckOrder.model.TestCheckOrder; |
| | | import com.zt.life.modules.testCheckOrder.model.TestCheckOrderList; |
| | | import com.zt.life.sys.dto.OssDto; |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.util.ArrayList; |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | public class CheckOrderDto { |
| | | private Long id;//ID |
| | | private Long projectId;//项目ID |
| | | private Long checkId;//检查单ID |
| | | private Long configOrderId;//入库单ID |
| | | private Long configItemId;//配置项ID |
| | | private String configItemType;//配置项类型 |
| | | |
| | | |
| | | @ApiModelProperty(value = "测试项目基本信息") |
| | | private Project project; |
| | | @ApiModelProperty(value = "检查单") |
| | | private TestCheckOrder checkOrder; |
| | | |
| | | @ApiModelProperty(value = "检查单列表") |
| | | private List<TestCheckOrderList> checkOrderList = new ArrayList<>(); |
| | | } |
New file |
| | |
| | | package com.zt.life.modules.testCheckOrder.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; |
| | | |
| | | /** |
| | | * test_check_order |
| | | * |
| | | * @author zt generator |
| | | * @since 1.0.0 2023-12-05 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper=false) |
| | | @TableName("test_check_order") |
| | | public class TestCheckOrder extends BusiEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "项目ID") |
| | | private Long projectId; |
| | | |
| | | @ApiModelProperty(value = "配置项入库/变更单ID") |
| | | private Long configOrderId; |
| | | |
| | | @ApiModelProperty(value = "配置项ID") |
| | | private Long configItemId; |
| | | |
| | | @ApiModelProperty(value = "配置项类型") |
| | | private Long configItemType; |
| | | |
| | | @ApiModelProperty(value = "编号") |
| | | private String code; |
| | | |
| | | @ApiModelProperty(value = "项目标识") |
| | | private String softwareIdentity; |
| | | |
| | | @ApiModelProperty(value = "项目名称") |
| | | private String softwareName; |
| | | |
| | | @ApiModelProperty(value = "检查人") |
| | | private String examiner; |
| | | |
| | | @ApiModelProperty(value = "检查时间") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date examDate; |
| | | |
| | | @ApiModelProperty(value = "问题描述") |
| | | private String problemDescription; |
| | | |
| | | @ApiModelProperty(value = "问题处理") |
| | | private String problemProcess; |
| | | |
| | | @ApiModelProperty(value = "处理人") |
| | | private String processor; |
| | | |
| | | @ApiModelProperty(value = "处理人ID") |
| | | private Long processorId; |
| | | |
| | | @ApiModelProperty(value = "处理日期") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date processDate; |
| | | |
| | | @ApiModelProperty(value = "验证人") |
| | | private String verifier; |
| | | |
| | | @ApiModelProperty(value = "验证人ID") |
| | | private String verifierId; |
| | | |
| | | @ApiModelProperty(value = "验证日期") |
| | | @JsonFormat(pattern = "yyyy-MM-dd") |
| | | private Date verifyDate; |
| | | |
| | | @ApiModelProperty(value = "年份") |
| | | private String year; |
| | | |
| | | } |
New file |
| | |
| | | package com.zt.life.modules.testCheckOrder.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; |
| | | |
| | | /** |
| | | * test_check_order_list |
| | | * |
| | | * @author zt generator |
| | | * @since 1.0.0 2023-12-05 |
| | | */ |
| | | @Data |
| | | @EqualsAndHashCode(callSuper=false) |
| | | @TableName("test_check_order_list") |
| | | public class TestCheckOrderList extends BusiEntity { |
| | | private static final long serialVersionUID = 1L; |
| | | |
| | | @ApiModelProperty(value = "检查单ID") |
| | | private Long checkOrderId; |
| | | |
| | | @ApiModelProperty(value = "序号") |
| | | private Integer no; |
| | | |
| | | @ApiModelProperty(value = "主要检查内容") |
| | | private String checkContent; |
| | | |
| | | @ApiModelProperty(value = "检查结果") |
| | | private String checkResult; |
| | | |
| | | @ApiModelProperty(value = "备注") |
| | | private String remark; |
| | | |
| | | } |
New file |
| | |
| | | package com.zt.life.modules.testCheckOrder.service; |
| | | |
| | | import com.zt.common.service.BaseService; |
| | | import com.zt.life.modules.project.model.EnvironSoftwareResources; |
| | | import com.zt.life.modules.testCheckOrder.dao.TestCheckOrderListDao; |
| | | 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; |
| | | |
| | | |
| | | /** |
| | | * test_check_order_list |
| | | * |
| | | * @author zt generator |
| | | * @since 1.0.0 2023-12-05 |
| | | */ |
| | | @Service |
| | | public class TestCheckOrderListService extends BaseService<TestCheckOrderListDao, TestCheckOrderList> { |
| | | |
| | | /** |
| | | * 分页查询 |
| | | * |
| | | * @param queryFilter |
| | | * @return |
| | | */ |
| | | public List<TestCheckOrderList> page(QueryFilter queryFilter) { |
| | | return baseDao.getList(queryFilter.getQueryParams()); |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | * |
| | | * @param ids |
| | | */ |
| | | public void delete(Long[] ids) { |
| | | super.deleteLogic(ids); |
| | | } |
| | | |
| | | public List<TestCheckOrderList> getList(Long checkId) { |
| | | Map<String, Object> params = new HashMap<>(); |
| | | params.put("checkId",checkId); |
| | | return baseDao.getList(params); |
| | | } |
| | | |
| | | public List<TestCheckOrderList> itemList(String dictType) { |
| | | return baseDao.itemList(dictType); |
| | | } |
| | | } |
New file |
| | |
| | | package com.zt.life.modules.testCheckOrder.service; |
| | | |
| | | import com.zt.common.service.BaseService; |
| | | import com.zt.life.modules.configItemWarehouse.dto.ConfigItemWarehouseDto; |
| | | import com.zt.life.modules.configItemWarehouse.model.WarehouseCmAudit; |
| | | import com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem; |
| | | import com.zt.life.modules.configItemWarehouse.model.WarehouseQaAudit; |
| | | import com.zt.life.modules.itemCirculatOrder.dto.ItemCirculatOrderDto; |
| | | import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrder; |
| | | import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical; |
| | | import com.zt.life.modules.project.model.Project; |
| | | import com.zt.life.modules.project.service.ProjectService; |
| | | import com.zt.life.modules.testCheckOrder.dao.TestCheckOrderDao; |
| | | 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.life.sys.dto.OssDto; |
| | | import com.zt.modules.coderule.service.SysCodeRuleService; |
| | | import com.zt.modules.workflow.dto.FlowInfoDto; |
| | | 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.ArrayList; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | |
| | | /** |
| | | * test_check_order |
| | | * |
| | | * @author zt generator |
| | | * @since 1.0.0 2023-12-05 |
| | | */ |
| | | @Service |
| | | public class TestCheckOrderService extends BaseService<TestCheckOrderDao, TestCheckOrder> { |
| | | @Autowired |
| | | private TestCheckOrderListService checkOrderListService; |
| | | |
| | | @Autowired |
| | | private ProjectService projectService; |
| | | |
| | | @Autowired |
| | | private SysCodeRuleService sysCodeRuleService; |
| | | |
| | | |
| | | /** |
| | | * 分页查询 |
| | | * |
| | | * @param queryFilter |
| | | * @return |
| | | */ |
| | | public List<TestCheckOrder> page(QueryFilter queryFilter) { |
| | | return baseDao.getList(queryFilter.getQueryParams()); |
| | | } |
| | | |
| | | /** |
| | | * 删除 |
| | | * |
| | | * @param ids |
| | | */ |
| | | public void delete(Long[] ids) { |
| | | super.deleteLogic(ids); |
| | | } |
| | | |
| | | |
| | | public CheckOrderDto getDto(Long checkId, Long projectId,String itemType) { |
| | | CheckOrderDto data = new CheckOrderDto(); |
| | | if (checkId != null) { |
| | | data.setId(checkId); |
| | | TestCheckOrder checkOrder = this.get(checkId); |
| | | data.setCheckOrder(checkOrder); |
| | | if (projectId == null) { |
| | | projectId = checkOrder.getProjectId(); |
| | | } |
| | | |
| | | List<TestCheckOrderList> checkOrderList = checkOrderListService.getList(checkId); |
| | | data.setCheckOrderList(checkOrderList); |
| | | |
| | | } else { |
| | | TestCheckOrder checkOrder = new TestCheckOrder(); |
| | | data.setCheckOrder(checkOrder); |
| | | List<TestCheckOrderList> checkOrderList =new ArrayList(); |
| | | if (itemType.equals("plan")){ |
| | | checkOrderList = checkOrderListService.itemList("plan_check_item"); |
| | | }else if (itemType.equals("explain")){ |
| | | checkOrderList = checkOrderListService.itemList("explain_check_item"); |
| | | }else if(itemType.equals("record")){ |
| | | checkOrderList = checkOrderListService.itemList("record_check_item"); |
| | | }else if (itemType.equals("report")){ |
| | | checkOrderList = checkOrderListService.itemList("report_check_item"); |
| | | } |
| | | data.setCheckOrderList(checkOrderList); |
| | | } |
| | | if (projectId != null) { |
| | | data.setProjectId(projectId); |
| | | data.setProject(projectService.get(projectId)); |
| | | } |
| | | return data; |
| | | } |
| | | |
| | | public Boolean save(CheckOrderDto checkOrderDto) { |
| | | Long checkId = checkOrderDto.getCheckOrder().getId(); |
| | | if (checkId != null) |
| | | baseDao.updateById(checkOrderDto.getCheckOrder()); |
| | | else { |
| | | Map<String, String> map = new HashMap<>(); |
| | | map.put("funCode", "test_check_order"); |
| | | map.put("projectId", checkOrderDto.getProjectId().toString()); |
| | | checkOrderDto.getCheckOrder().setProjectId(checkOrderDto.getProjectId()); |
| | | checkOrderDto.getCheckOrder().setCode(sysCodeRuleService.getNewCode(map)); |
| | | baseDao.insert(checkOrderDto.getCheckOrder()); |
| | | checkId = checkOrderDto.getCheckOrder().getId(); |
| | | } |
| | | |
| | | for (TestCheckOrderList checkOrderList : checkOrderDto.getCheckOrderList()) { |
| | | checkOrderList.setCheckOrderId(checkId); |
| | | if (checkOrderList.getId() != null) { |
| | | checkOrderListService.update(checkOrderList); |
| | | } else { |
| | | checkOrderList.setCheckOrderId(checkId); |
| | | checkOrderListService.insert(checkOrderList); |
| | | } |
| | | } |
| | | return true; |
| | | } |
| | | } |
New file |
| | |
| | | <?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.testCheckOrder.dao.TestCheckOrderDao"> |
| | | |
| | | <select id="getList" resultType="com.zt.life.modules.testCheckOrder.model.TestCheckOrder"> |
| | | select a.* ,p.* |
| | | from test_check_order a |
| | | INNER JOIN project p ON p.id = a.project_id |
| | | <where> |
| | | a.is_delete = 0 and p.is_delete = 0 |
| | | <if test="whereSql!=null"> |
| | | and ${whereSql} |
| | | </if> |
| | | </where> |
| | | <if test="orderBySql!=null"> |
| | | ORDER BY ${orderBySql} |
| | | </if> |
| | | </select> |
| | | |
| | | </mapper> |
New file |
| | |
| | | <?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.testCheckOrder.dao.TestCheckOrderListDao"> |
| | | |
| | | <select id="getList" resultType="com.zt.life.modules.testCheckOrder.model.TestCheckOrderList"> |
| | | select a.* |
| | | from test_check_order_list a |
| | | <where> |
| | | a.is_delete = 0 |
| | | <if test="whereSql!=null"> |
| | | and ${whereSql} |
| | | </if> |
| | | </where> |
| | | <if test="orderBySql!=null"> |
| | | ORDER BY ${orderBySql} |
| | | </if> |
| | | </select> |
| | | <select id="itemList" resultType="com.zt.life.modules.testCheckOrder.model.TestCheckOrderList"> |
| | | SET @row_number = 0; |
| | | SELECT dd.dict_label AS checkContent, |
| | | (@row_number := @row_number + 1) AS no |
| | | FROM sys_dict_type dt |
| | | JOIN sys_dict_data dd ON dt.ID = dd.DICT_TYPE_ID |
| | | <where> |
| | | dd.IS_DELETE = 0 |
| | | <if test="dictType != null and dictType != ''"> |
| | | and dt.DICT_TYPE = #{dictType} |
| | | </if> |
| | | </where> |
| | | ORDER BY dd.sort |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | this.$refs.mainNavbar.refresh() |
| | | } |
| | | this.$nextTick(() => { |
| | | console.log(route.meta.params,"route.meta.params") |
| | | this.$router.push({name: route.name, query: route.meta.params, params: route.meta.params}) |
| | | }) |
| | | } |
| | |
| | | <el-input v-model="dataForm.project.softwareName" placeholder="请输入项目名称"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="申请人" style="width: 49%"> |
| | | <el-input v-model="dataForm.configItemWarehouse.applicant" placeholder="请输入申请人"></el-input> |
| | | <el-input :disabled="stepMarker=='pzxrk_first'"v-model="dataForm.configItemWarehouse.applicant" placeholder="请输入申请人"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="申请日期" style="width: 49%"> |
| | | <el-date-picker |
| | | :disabled="stepMarker=='pzxrk_first'" |
| | | v-model="dataForm.configItemWarehouse.applyDate" |
| | | type="date" |
| | | placeholder="请选择申请日期"> |
| | |
| | | <el-table-column prop="examineItem" min-width="300" label="检查项"></el-table-column> |
| | | <el-table-column label="检查结果" width="250" align="center"> |
| | | <template slot-scope="scope"> |
| | | <zt-dict :disabled="getRoleName.indexOf('QA角色')===-1" v-model="scope.row.examineResult" placeholder="检查结果" dict="tristate2" :radio="true" |
| | | <zt-dict :disabled="stepMarker=='wplz_qash'" v-model="scope.row.examineResult" placeholder="检查结果" dict="tristate2" :radio="true" |
| | | clearable></zt-dict> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column align="center" width="120" label="不适用说明"> |
| | | <template v-slot="{ row }"> |
| | | <el-input v-if="getRoleName.indexOf('QA角色')>=0" v-model="row.notApplyExplan" placeholder="不适用说明"></el-input> |
| | | <el-input v-if="stepMarker=='wplz_qash'" v-model="row.notApplyExplan" placeholder="不适用说明"></el-input> |
| | | <span v-else>{{row.notApplyExplan}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="el-border-top"> |
| | | <el-form-item label="审核结果" style="width: 99%"> |
| | | <zt-dict :disabled="getRoleName.indexOf('QA角色')===-1" v-model="dataForm.configItemWarehouse.qaAuditResults" dict="is_pass" :radio="true" |
| | | <zt-dict :disabled="stepMarker=='wplz_qash'" v-model="dataForm.configItemWarehouse.qaAuditResults" dict="is_pass" :radio="true" |
| | | clearable></zt-dict> |
| | | </el-form-item> |
| | | <el-form-item label="审核人:" style="width: 48%"> |
| | |
| | | <el-table-column prop="examineItem" min-width="300" label="检查项"></el-table-column> |
| | | <el-table-column label="检查结果" width="250" align="center"> |
| | | <template slot-scope="scope"> |
| | | <zt-dict :disabled="getRoleName.indexOf('CM角色')===-1" v-model="scope.row.examineResult" placeholder="检查结果" dict="tristate2" :radio="true" |
| | | <zt-dict :disabled="stepMarker=='wplz_cmsh'" v-model="scope.row.examineResult" placeholder="检查结果" dict="tristate2" :radio="true" |
| | | clearable></zt-dict> |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column prop="notApplyExplan" align="center" width="120" label="不适用说明"> |
| | | <template v-slot="{ row }"> |
| | | <el-input v-if="getRoleName.indexOf('CM角色')>=0" v-model="row.notApplyExplan" placeholder="不适用说明"></el-input> |
| | | <el-input v-if="stepMarker=='wplz_cmsh'" v-model="row.notApplyExplan" placeholder="不适用说明"></el-input> |
| | | <span v-else>{{row.notApplyExplan}}</span> |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | <div class="el-border-top"> |
| | | <el-form-item label="审核结果" style="width: 99%"> |
| | | <zt-dict :disabled="getRoleName.indexOf('CM角色')===-1" v-model="dataForm.configItemWarehouse.cmAuditResults" placeholder="审核结果" dict="is_pass" :radio="true" |
| | | <zt-dict :disabled="stepMarker=='wplz_cmsh'" v-model="dataForm.configItemWarehouse.cmAuditResults" placeholder="审核结果" dict="is_pass" :radio="true" |
| | | clearable></zt-dict> |
| | | </el-form-item> |
| | | <el-form-item label="审核人:" style="width: 48%"> |
| | |
| | | </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%"> |
| | | <zt-dict :disabled="getRoleName.indexOf('部门SCCB角色')===-1" v-model="dataForm.configItemWarehouse.approvalOpinions" dict="is_pass" :radio="true" |
| | | <zt-dict :disabled="stepMarker=='wplz_bmsh'" v-model="dataForm.configItemWarehouse.approvalOpinions" dict="is_pass" :radio="true" |
| | | clearable></zt-dict> |
| | | </el-form-item> |
| | | <el-form-item label-width="80%" label="签字:" style="width: 65%"> |
| | |
| | | </div> |
| | | <div style="width: calc(100% - 120px)" class="el-border-left"> |
| | | <el-form-item class="el-CMTextarea" style="width: 100%;padding: 5px"> |
| | | <el-input v-if="getRoleName.indexOf('CM角色')>=0" type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.configItemWarehouse.projectCmOperations"></el-input> |
| | | <el-input v-if="stepMarker=='wplz_cmcz'" type="textarea" :rows="2" placeholder="请输入内容" v-model="dataForm.configItemWarehouse.projectCmOperations"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label-width="80%" label="操作人:" style="width: 65%"> |
| | | <span>{{dataForm.configItemWarehouse.operator}}</span> |
| | |
| | | <div style="width: calc(100% - 120px);"> |
| | | <div class="el-border-left"> |
| | | <el-form-item label="物品是否需要返还" label-width="150px" style="width:100%;padding-left:20px;margin-bottom:0"> |
| | | <zt-dict v-model="dataForm.circulatOrder.itemRequire" :radio="true" |
| | | <zt-dict :disabled="stepMarker=='wplz_first'" v-model="dataForm.circulatOrder.itemRequire" :radio="true" |
| | | dict="is_or_not"></zt-dict> |
| | | </el-form-item> |
| | | <el-form-item label="物品的其他要求:" label-width="150px" style="width:100%;padding-left:20px;margin-bottom:0"> |
| | | <el-input v-model="dataForm.circulatOrder.itemOther"></el-input> |
| | | <el-input :disabled="stepMarker=='wplz_first'" v-model="dataForm.circulatOrder.itemOther"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="el-border-left " style="width: 35%;height: 80px;"> |
| | | <el-form-item label="是否完成病毒查杀" label-width="150px" style="padding-left:20px;margin-bottom:0"> |
| | | <zt-dict v-model="dataForm.circulatOrder.acceptSituation" :radio="true" dict="is_or_not"></zt-dict> |
| | | <zt-dict :disabled="stepMarker=='wplz_first'" v-model="dataForm.circulatOrder.acceptSituation" :radio="true" dict="is_or_not"></zt-dict> |
| | | </el-form-item> |
| | | <el-form-item label="病毒库版本:" label-width="150px" style="width:100%;padding-left:20px;margin-bottom:0"> |
| | | <el-input v-model="dataForm.circulatOrder.virusLibraryVersion"></el-input> |
| | | <el-input :disabled="stepMarker=='wplz_first'" v-model="dataForm.circulatOrder.virusLibraryVersion"></el-input> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="el-border-left " style="width: 35%;height: 40px;"> |
| | | <el-form-item label="是否满足测试要求" label-width="150px" style="padding-left:20px;margin-bottom:0"> |
| | | <zt-dict :disabled="getRoleName.indexOf('QA角色')===-1" v-model="dataForm.circulatOrder.detectSituation" :radio="true" dict="is_or_not"></zt-dict> |
| | | <zt-dict :disabled="stepMarker=='wplz_xzjc'" v-model="dataForm.circulatOrder.detectSituation" :radio="true" dict="is_or_not"></zt-dict> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | <div class="el-border-left " style="width: 35%;height: 40px;"> |
| | | <el-form-item label="是否完成样品发放" label-width="150px" style="padding-left:20px;margin-bottom:0"> |
| | | <zt-dict v-model="dataForm.circulatOrder.issueSituation" :radio="true" dict="is_or_not"></zt-dict> |
| | | <zt-dict :disabled="stepMarker=='wplz_wpff'"v-model="dataForm.circulatOrder.issueSituation" :radio="true" dict="is_or_not"></zt-dict> |
| | | </el-form-item> |
| | | </div> |
| | | </div> |
| | |
| | | </div> |
| | | </div> |
| | | </el-form> |
| | | <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"; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | |
| | | } |
| | | console.log(this.dataForm, "getInfo this.dataForm") |
| | | }, |
| | | async print(){ |
| | | var params = qs.stringify({ |
| | | token: Cookies.get('token'), |
| | | id:this.dataForm.id |
| | | }) |
| | | let apiURL = `/itemCirculatOrder/ItemCirculatOrder/exportCirculatOrder/` |
| | | window.location.href = `${window.SITE_CONFIG['apiURL']}${apiURL}?${params}` |
| | | }, |
| | | // 表单提交 |
| | | async formSubmit(submitType) { |
| | | console.log(this.dataForm, "this.dataForm11111") |
New file |
| | |
| | | <template> |
| | | <zt-dialog ref="dialog" column="2" @confirm="formSubmit"> |
| | | <el-form :model="dataForm" ref="dataForm" :disabled="dataForm.disabled" label-width="120px"> |
| | | <zt-form-item label="编号" prop="code" rules="required"> |
| | | <el-input v-model="dataForm.code"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="项目标识" prop="softwareidentity" rules="required"> |
| | | <el-input v-model="dataForm.softwareidentity"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="项目名称" prop="softwarename" rules="required"> |
| | | <el-input v-model="dataForm.softwarename"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="检查人" prop="examiner" rules="required"> |
| | | <el-input v-model="dataForm.examiner"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="检查时间" prop="examDate" rules="required"> |
| | | <el-input v-model="dataForm.examDate"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="问题描述" prop="problemDescription" rules="required"> |
| | | <el-input v-model="dataForm.problemDescription"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="问题处理" prop="problemProcess" rules="required"> |
| | | <el-input v-model="dataForm.problemProcess"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="处理人" prop="processor" rules="required"> |
| | | <el-input v-model="dataForm.processor"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="处理日期" prop="processDate" rules="required"> |
| | | <el-input v-model="dataForm.processDate"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="验证人" prop="verifier" rules="required"> |
| | | <el-input v-model="dataForm.verifier"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="验证日期" prop="verifyDate" rules="required"> |
| | | <el-input v-model="dataForm.verifyDate"></el-input> |
| | | </zt-form-item> |
| | | <zt-form-item label="年份" prop="year" rules="required"> |
| | | <el-input v-model="dataForm.year"></el-input> |
| | | </zt-form-item> |
| | | </el-form> |
| | | </zt-dialog> |
| | | </template> |
| | | |
| | | <script> |
| | | export default { |
| | | data() { |
| | | return { |
| | | dataForm: { |
| | | id: '', |
| | | projectId: '', |
| | | code: '', |
| | | softwareidentity: '', |
| | | softwarename: '', |
| | | examiner: '', |
| | | examDate: '', |
| | | problemDescription: '', |
| | | problemProcess: '', |
| | | processor: '', |
| | | processorId: '', |
| | | processDate: '', |
| | | verifier: '', |
| | | verifierId: '', |
| | | verifyDate: '', |
| | | year: '' |
| | | } |
| | | } |
| | | }, |
| | | methods: { |
| | | // 获取信息 |
| | | async getInfo() { |
| | | let res = await this.$http.get(`/testCheckOrder/TestCheckOrder/${this.dataForm.id}`) |
| | | this.dataForm = { |
| | | ...this.dataForm, |
| | | ...res.data |
| | | } |
| | | }, |
| | | // 表单提交 |
| | | async formSubmit() { |
| | | let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/testCheckOrder/TestCheckOrder/', this.dataForm) |
| | | if (res.success) { |
| | | await this.$tip.success() |
| | | this.$refs.dialog.close() |
| | | this.$emit('refreshDataList') |
| | | } |
| | | } |
| | | } |
| | | } |
| | | </script> |
New file |
| | |
| | | <template> |
| | | <el-card shadow="never" class="aui-card--fill"> |
| | | <div class="mod-testCheckOrder-testCheckOrder}"> |
| | | <zt-table-wraper query-url="/testCheckOrder/TestCheckOrder/page" delete-url="/testCheckOrder/TestCheckOrder" 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> |
| | | <el-input v-model="dataForm.softwarename" placeholder="请输入项目名称" clearable></el-input> |
| | | </el-form-item> |
| | | <el-form-item> |
| | | <zt-button type="query" @click="table.query()"/> |
| | | <zt-button type="add" perm="testCheckOrder:add" @click="table.editHandle()"/> |
| | | <zt-button type="delete" perm="testCheckOrder: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="编号"/> |
| | | <el-table-column prop="softwareIdentity" label="项目标识"/> |
| | | <el-table-column prop="softwareName" label="项目名称"/> |
| | | <zt-table-column-handle :table="table" edit-perm="testCheckOrder:update" delete-perm="testCheckOrder::delete"/> |
| | | </el-table> |
| | | <!-- 弹窗, 新增 / 修改 --> |
| | | <add-or-update @refreshDataList="table.query"/> |
| | | </zt-table-wraper> |
| | | </div> |
| | | </el-card> |
| | | </template> |
| | | |
| | | <script> |
| | | import AddOrUpdate from './TestCheckOrder-AddOrUpdate' |
| | | export default { |
| | | props: { |
| | | pageCode: { |
| | | type: String, |
| | | default: '' |
| | | }, |
| | | pageRead: { |
| | | type: String, |
| | | default: 'yes' |
| | | } |
| | | }, |
| | | data() { |
| | | return { |
| | | dataForm: { |
| | | code: '', |
| | | softwareidentity: '', |
| | | softwarename: '', |
| | | } |
| | | } |
| | | }, |
| | | components: { |
| | | AddOrUpdate |
| | | } |
| | | } |
| | | </script> |
New file |
| | |
| | | <template> |
| | | <test-check-order ref="projectListObj" :pageCode="pageCode" :pageRead="pageRead" :isShow="isShow"/> |
| | | </template> |
| | | |
| | | <script> |
| | | import TestCheckOrder from './TestCheckOrder' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | pageCode: 'explain', |
| | | pageRead: 'no' |
| | | } |
| | | }, |
| | | components: { |
| | | TestCheckOrder, |
| | | }, |
| | | mounted() { |
| | | }, |
| | | methods: {} |
| | | } |
| | | </script> |
New file |
| | |
| | | <template> |
| | | <test-check-order ref="projectListObj" :pageCode="pageCode" :pageRead="pageRead" :isShow="isShow"/> |
| | | </template> |
| | | |
| | | <script> |
| | | import TestCheckOrder from './TestCheckOrder' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | pageCode: 'plan', |
| | | pageRead: 'no' |
| | | } |
| | | }, |
| | | components: { |
| | | TestCheckOrder, |
| | | }, |
| | | mounted() { |
| | | }, |
| | | methods: {} |
| | | } |
| | | </script> |
New file |
| | |
| | | <template> |
| | | <test-check-order ref="projectListObj" :pageCode="pageCode" :pageRead="pageRead" :isShow="isShow"/> |
| | | </template> |
| | | |
| | | <script> |
| | | import TestCheckOrder from './TestCheckOrder' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | pageCode: 'record', |
| | | pageRead: 'no' |
| | | } |
| | | }, |
| | | components: { |
| | | TestCheckOrder, |
| | | }, |
| | | mounted() { |
| | | }, |
| | | methods: {} |
| | | } |
| | | </script> |
New file |
| | |
| | | <template> |
| | | <test-check-order ref="projectListObj" :pageCode="pageCode" :pageRead="pageRead" :isShow="isShow"/> |
| | | </template> |
| | | |
| | | <script> |
| | | import TestCheckOrder from './TestCheckOrder' |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | pageCode: 'report', |
| | | pageRead: 'no' |
| | | } |
| | | }, |
| | | components: { |
| | | TestCheckOrder, |
| | | }, |
| | | mounted() { |
| | | }, |
| | | methods: {} |
| | | } |
| | | </script> |
| | |
| | | @ApiOperation("信息") |
| | | @RequiresPermissions("sys:user:info") |
| | | public Result<SysUser> get(@PathVariable("id") Long id) { |
| | | SysUser data = sysUserService.get(id); |
| | | if (data != null) { |
| | | OssDto ossDto= sysOssConfigService.getOssByBusiType(data.getId() , "users_avatar"); |
| | | if (ossDto != null) { |
| | | data.setFiles(ossDto); |
| | | } |
| | | OssDto ossDto2= sysOssConfigService.getOssByBusiType(data.getId() , "users_sign"); |
| | | if (ossDto2 != null) { |
| | | data.setFiles2(ossDto2); |
| | | } |
| | | } |
| | | SysUser data = sysUserService.getUserInfo(id); |
| | | // 用户岗位列表 |
| | | data.setPostIdList(sysPostUserService.getUserPosts(id).stream().map(post -> post.getId()) |
| | | .collect(Collectors.toList())); |
| | |
| | | public List<SysUser> getUsersList() { |
| | | return baseDao.getUsersList(); |
| | | } |
| | | |
| | | public SysUser getUserInfo(Long id) { |
| | | SysUser data = super.get(id); |
| | | if (data != null) { |
| | | OssDto ossDto= sysOssConfigService.getOssByBusiType(data.getId() , "users_avatar"); |
| | | if (ossDto != null) { |
| | | data.setFiles(ossDto); |
| | | } |
| | | OssDto ossDto2= sysOssConfigService.getOssByBusiType(data.getId() , "users_sign"); |
| | | if (ossDto2 != null) { |
| | | data.setFiles2(ossDto2); |
| | | } |
| | | } |
| | | return data; |
| | | } |
| | | } |
| | |
| | | <mapper namespace="com.zt.modules.sys.dao.SysPostDao"> |
| | | |
| | | <select id="getList" resultType="com.zt.modules.sys.model.SysPost"> |
| | | select a.* ,(select t2.dept_name from SYS_DEPT t2 where t2.dept_id=a.dept_id) deptName |
| | | select a.* ,(select t2.name from SYS_DEPT t2 where t2.id=a.dept_id) deptName |
| | | from SYS_POST a |
| | | where a.is_delete = 0 |
| | | <if test="name != null"> |
| | |
| | | <mapper namespace="com.zt.modules.sys.dao.SysTenantDao"> |
| | | |
| | | <select id="getList" resultType="com.zt.modules.sys.model.SysTenant"> |
| | | select a.*, u.phonenumber adminMobile, u.nick_name adminRealName |
| | | from SYS_TENANT a left join SYS_USER u on a.admin_user_id = u.user_id |
| | | select a.*, u.MOBILE adminMobile, u.real_name adminRealName |
| | | from SYS_TENANT a left join SYS_USER u on a.admin_user_id = u.id |
| | | where a.is_delete = 0 |
| | | <if test="code != null"> |
| | | and a.code like #{code} |