zzw
2023-11-28 7748cd8a79548e94299d24e080c4650924a215da
Merge remote-tracking branch 'origin/master'
3个文件已修改
23个文件已添加
1598 ■■■■■ 已修改文件
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/controller/ConfigItemWarehouseController.java 120 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/controller/WarehouseCmAuditController.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/controller/WarehouseConfigItemController.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/controller/WarehouseQaAuditController.java 96 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/ConfigItemWarehouseDao.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/WarehouseCmAuditDao.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/WarehouseConfigItemDao.java 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/WarehouseQaAuditDao.java 23 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dto/ConfigItemWarehouseDto.java 38 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/ConfigItemWarehouse.java 87 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseCmAudit.java 42 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java 45 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseQaAudit.java 40 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java 167 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseCmAuditService.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseConfigItemService.java 53 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseQaAuditService.java 48 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml 35 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseCmAuditDao.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml 32 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseQaAuditDao.xml 20 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/assets/css/custom.css 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue 338 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/configItemWarehouse/ConfigItemWarehouse.vue 72 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
zt/common/src/main/java/com/zt/core/sys/dto/DictIstance.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/controller/ConfigItemWarehouseController.java
New file
@@ -0,0 +1,120 @@
package com.zt.life.modules.configItemWarehouse.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.configItemWarehouse.dto.ConfigItemWarehouseDto;
import com.zt.life.modules.configItemWarehouse.model.ConfigItemWarehouse;
import com.zt.life.modules.configItemWarehouse.service.ConfigItemWarehouseService;
import com.zt.life.modules.itemCirculatOrder.dto.ItemCirculatOrderDto;
import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
import com.zt.life.sys.dto.OssDto;
import com.zt.life.sys.service.SysOssConfigService;
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.HttpServletResponse;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
/**
 * config_item_warehouse
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@RestController
@RequestMapping("/configItemWarehouse/ConfigItemWarehouse/")
@Api(tags="config_item_warehouse")
public class ConfigItemWarehouseController {
    @Autowired
    private ConfigItemWarehouseService configItemWarehouseService;
    @Autowired
    private SysCodeRuleService sysCodeRuleService;
    @Autowired
    private SysOssConfigService sysOssConfigService;
    @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 = "projectCode", value = "项目编号", dataType = Constant.QT.STRING, format = "project_code^LK"),
        @ApiImplicitParam(name = "projectName", value = "项目名称", dataType = Constant.QT.STRING, format = "project_name^LK"),
        @ApiImplicitParam(name = "libraryType", value = "库类型", dataType = Constant.QT.STRING, format = "library_type^EQ")    })
    public PageResult<ConfigItemWarehouse> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
        return PageResult.ok(configItemWarehouseService.page(queryFilter));
    }
    @GetMapping("getDto")
    @ApiOperation("信息")
    public Result<ConfigItemWarehouseDto> getDto(Long projectId, Long warehouseId) {
        ConfigItemWarehouseDto data =configItemWarehouseService.getDto(projectId, warehouseId);
        if (warehouseId!=null) {
            OssDto ossDto = sysOssConfigService.getOssByBusiType(warehouseId, "config_item_warehouse");
            if (ossDto != null) {
                data.setFiles(ossDto);
            }
        }
        return Result.ok(data);
    }
    @PostMapping
    @ApiOperation("新增")
    @LogOperation("新增")
    public Result insert(@RequestBody ConfigItemWarehouseDto configItemDto){
        //效验数据
        ValidatorUtils.validateEntity(configItemDto, AddGroup.class, DefaultGroup.class);
        Map<String, String> map = new HashMap<>();
        map.put("funCode", "config_item_warehouse");
        map.put("projectId",configItemDto.getProjectId().toString());
        configItemDto.getConfigItemWarehouse().setCode(sysCodeRuleService.getNewCode(map));
        Boolean result = configItemWarehouseService.save(configItemDto);
        return Result.ok();
    }
    @PutMapping
    @ApiOperation("修改")
    @LogOperation("修改")
    public Result update(@RequestBody ConfigItemWarehouseDto configItemDto){
        //效验数据
        ValidatorUtils.validateEntity(configItemDto, UpdateGroup.class, DefaultGroup.class);
        Boolean result = configItemWarehouseService.save(configItemDto);
        return Result.ok();
    }
    @DeleteMapping
    @ApiOperation("删除")
    @LogOperation("删除")
    public Result delete(@RequestBody Long[] ids){
        //效验数据
        AssertUtils.isArrayEmpty(ids, "id");
        configItemWarehouseService.delete(ids);
        return Result.ok();
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/controller/WarehouseCmAuditController.java
New file
@@ -0,0 +1,96 @@
package com.zt.life.modules.configItemWarehouse.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.configItemWarehouse.model.WarehouseCmAudit;
import com.zt.life.modules.configItemWarehouse.service.WarehouseCmAuditService;
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;
/**
 * warehouse_cm_audit
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@RestController
@RequestMapping("/configItemWarehouse/WarehouseCmAudit/")
@Api(tags="warehouse_cm_audit")
public class WarehouseCmAuditController {
    @Autowired
    private WarehouseCmAuditService warehouseCmAuditService;
    @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<WarehouseCmAudit> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
        return PageResult.ok(warehouseCmAuditService.page(queryFilter));
    }
    @GetMapping("{id}")
    @ApiOperation("信息")
    public Result<WarehouseCmAudit> get(@PathVariable("id") Long id){
        WarehouseCmAudit data = warehouseCmAuditService.get(id);
        return Result.ok(data);
    }
    @PostMapping
    @ApiOperation("新增")
    @LogOperation("新增")
    public Result insert(@RequestBody WarehouseCmAudit warehouseCmAudit){
        //效验数据
        ValidatorUtils.validateEntity(warehouseCmAudit, AddGroup.class, DefaultGroup.class);
        warehouseCmAuditService.insert(warehouseCmAudit);
        return Result.ok();
    }
    @PutMapping
    @ApiOperation("修改")
    @LogOperation("修改")
    public Result update(@RequestBody WarehouseCmAudit warehouseCmAudit){
        //效验数据
        ValidatorUtils.validateEntity(warehouseCmAudit, UpdateGroup.class, DefaultGroup.class);
        warehouseCmAuditService.update(warehouseCmAudit);
        return Result.ok();
    }
    @DeleteMapping
    @ApiOperation("删除")
    @LogOperation("删除")
    public Result delete(@RequestBody Long[] ids){
        //效验数据
        AssertUtils.isArrayEmpty(ids, "id");
        warehouseCmAuditService.delete(ids);
        return Result.ok();
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/controller/WarehouseConfigItemController.java
New file
@@ -0,0 +1,96 @@
package com.zt.life.modules.configItemWarehouse.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.configItemWarehouse.model.WarehouseConfigItem;
import com.zt.life.modules.configItemWarehouse.service.WarehouseConfigItemService;
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;
/**
 * warehouse_config_item
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@RestController
@RequestMapping("/configItemWarehouse/WarehouseConfigItem/")
@Api(tags="warehouse_config_item")
public class WarehouseConfigItemController {
    @Autowired
    private WarehouseConfigItemService warehouseConfigItemService;
    @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<WarehouseConfigItem> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
        return PageResult.ok(warehouseConfigItemService.page(queryFilter));
    }
    @GetMapping("{id}")
    @ApiOperation("信息")
    public Result<WarehouseConfigItem> get(@PathVariable("id") Long id){
        WarehouseConfigItem data = warehouseConfigItemService.get(id);
        return Result.ok(data);
    }
    @PostMapping
    @ApiOperation("新增")
    @LogOperation("新增")
    public Result insert(@RequestBody WarehouseConfigItem warehouseConfigItem){
        //效验数据
        ValidatorUtils.validateEntity(warehouseConfigItem, AddGroup.class, DefaultGroup.class);
        warehouseConfigItemService.insert(warehouseConfigItem);
        return Result.ok();
    }
    @PutMapping
    @ApiOperation("修改")
    @LogOperation("修改")
    public Result update(@RequestBody WarehouseConfigItem warehouseConfigItem){
        //效验数据
        ValidatorUtils.validateEntity(warehouseConfigItem, UpdateGroup.class, DefaultGroup.class);
        warehouseConfigItemService.update(warehouseConfigItem);
        return Result.ok();
    }
    @DeleteMapping
    @ApiOperation("删除")
    @LogOperation("删除")
    public Result delete(@RequestBody Long[] ids){
        //效验数据
        AssertUtils.isArrayEmpty(ids, "id");
        warehouseConfigItemService.delete(ids);
        return Result.ok();
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/controller/WarehouseQaAuditController.java
New file
@@ -0,0 +1,96 @@
package com.zt.life.modules.configItemWarehouse.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.configItemWarehouse.model.WarehouseQaAudit;
import com.zt.life.modules.configItemWarehouse.service.WarehouseQaAuditService;
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;
/**
 * warehouse_qa_audit
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@RestController
@RequestMapping("/configItemWarehouse/WarehouseQaAudit/")
@Api(tags="warehouse_qa_audit")
public class WarehouseQaAuditController {
    @Autowired
    private WarehouseQaAuditService warehouseQaAuditService;
    @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<WarehouseQaAudit> page(@ApiIgnore @QueryParam QueryFilter queryFilter){
        return PageResult.ok(warehouseQaAuditService.page(queryFilter));
    }
    @GetMapping("{id}")
    @ApiOperation("信息")
    public Result<WarehouseQaAudit> get(@PathVariable("id") Long id){
        WarehouseQaAudit data = warehouseQaAuditService.get(id);
        return Result.ok(data);
    }
    @PostMapping
    @ApiOperation("新增")
    @LogOperation("新增")
    public Result insert(@RequestBody WarehouseQaAudit warehouseQaAudit){
        //效验数据
        ValidatorUtils.validateEntity(warehouseQaAudit, AddGroup.class, DefaultGroup.class);
        warehouseQaAuditService.insert(warehouseQaAudit);
        return Result.ok();
    }
    @PutMapping
    @ApiOperation("修改")
    @LogOperation("修改")
    public Result update(@RequestBody WarehouseQaAudit warehouseQaAudit){
        //效验数据
        ValidatorUtils.validateEntity(warehouseQaAudit, UpdateGroup.class, DefaultGroup.class);
        warehouseQaAuditService.update(warehouseQaAudit);
        return Result.ok();
    }
    @DeleteMapping
    @ApiOperation("删除")
    @LogOperation("删除")
    public Result delete(@RequestBody Long[] ids){
        //效验数据
        AssertUtils.isArrayEmpty(ids, "id");
        warehouseQaAuditService.delete(ids);
        return Result.ok();
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/ConfigItemWarehouseDao.java
New file
@@ -0,0 +1,25 @@
package com.zt.life.modules.configItemWarehouse.dao;
import com.zt.common.dao.BaseDao;
import com.zt.life.modules.configItemWarehouse.model.ConfigItemWarehouse;
import com.zt.life.modules.configItemWarehouse.model.WarehouseCmAudit;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
 * config_item_warehouse
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@Mapper
public interface ConfigItemWarehouseDao extends BaseDao<ConfigItemWarehouse> {
    List<ConfigItemWarehouse> getList(Map<String, Object> params);
    List<WarehouseCmAudit> itemList(String dictType);
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/WarehouseCmAuditDao.java
New file
@@ -0,0 +1,23 @@
package com.zt.life.modules.configItemWarehouse.dao;
import com.zt.common.dao.BaseDao;
import com.zt.life.modules.configItemWarehouse.model.WarehouseCmAudit;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
 * warehouse_cm_audit
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@Mapper
public interface WarehouseCmAuditDao extends BaseDao<WarehouseCmAudit> {
    List<WarehouseCmAudit> getList(Map<String, Object> params);
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/WarehouseConfigItemDao.java
New file
@@ -0,0 +1,25 @@
package com.zt.life.modules.configItemWarehouse.dao;
import com.zt.common.dao.BaseDao;
import com.zt.core.sys.dto.DictIstance;
import com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
 * warehouse_config_item
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@Mapper
public interface WarehouseConfigItemDao extends BaseDao<WarehouseConfigItem> {
    List<WarehouseConfigItem> getList(Map<String, Object> params);
    List<DictIstance> itemList(Long projectId);
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dao/WarehouseQaAuditDao.java
New file
@@ -0,0 +1,23 @@
package com.zt.life.modules.configItemWarehouse.dao;
import com.zt.common.dao.BaseDao;
import com.zt.life.modules.configItemWarehouse.model.WarehouseQaAudit;
import org.apache.ibatis.annotations.Mapper;
import java.util.List;
import java.util.Map;
/**
 * warehouse_qa_audit
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@Mapper
public interface WarehouseQaAuditDao extends BaseDao<WarehouseQaAudit> {
    List<WarehouseQaAudit> getList(Map<String, Object> params);
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/dto/ConfigItemWarehouseDto.java
New file
@@ -0,0 +1,38 @@
package com.zt.life.modules.configItemWarehouse.dto;
import com.zt.life.modules.configItemWarehouse.model.ConfigItemWarehouse;
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.model.ItemCirculatOrder;
import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
import com.zt.life.modules.project.model.Project;
import com.zt.life.modules.sysBaseInfo.model.TestAgencyInfo;
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 ConfigItemWarehouseDto {
    private Long id;
    private Long projectId;
    private Long warehouseId;
    @ApiModelProperty(value = "测试项目基本信息")
    private Project project;
    @ApiModelProperty(value = "配置项入库")
    private ConfigItemWarehouse configItemWarehouse;
    @ApiModelProperty(value = "附件")
    private OssDto files;
    @ApiModelProperty(value = "入库配置项")
    private List<WarehouseConfigItem> configItemList = new ArrayList<>();
    @ApiModelProperty(value = "CM审核")
    private List<WarehouseCmAudit> cmAuditList = new ArrayList<>();
    @ApiModelProperty(value = "QA审核")
    private List<WarehouseQaAudit> qaAuditList = new ArrayList<>();
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/ConfigItemWarehouse.java
New file
@@ -0,0 +1,87 @@
package com.zt.life.modules.configItemWarehouse.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;
/**
 * config_item_warehouse
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("config_item_warehouse")
public class ConfigItemWarehouse extends BusiEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "项目ID")
    private Long projectId;
    @ApiModelProperty(value = "配置项入库编号")
    private String code;
    @ApiModelProperty(value = "申请人")
    private String applicant;
    @ApiModelProperty(value = "申请日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date applyDate;
    @ApiModelProperty(value = "库类型")
    private String libraryType;
    @ApiModelProperty(value = "QA审核结果")
    private String qaAuditResults;
    @ApiModelProperty(value = "QA审核人")
    private String qaAuditor;
    @ApiModelProperty(value = "QA审核日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date qaAuditDate;
    @ApiModelProperty(value = "CM审核结果")
    private String cmAuditResults;
    @ApiModelProperty(value = "CM审核人")
    private String cmAuditor;
    @ApiModelProperty(value = "CM审核日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date cmAuditDate;
    @ApiModelProperty(value = "批准意见")
    private String approvalOpinions;
    @ApiModelProperty(value = "批准签字")
    private String approvalSign;
    @ApiModelProperty(value = "批准日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date approvalDate;
    @ApiModelProperty(value = "项目CM操作")
    private String projectCmOperations;
    @ApiModelProperty(value = "操作人")
    private String operator;
    @ApiModelProperty(value = "操作日期")
    @JsonFormat(pattern = "yyyy-MM-dd")
    private Date operateDate;
    @ApiModelProperty(value = "备注")
    private String remark;
    @ApiModelProperty(value = "年份")
    private String year;
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseCmAudit.java
New file
@@ -0,0 +1,42 @@
package com.zt.life.modules.configItemWarehouse.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;
/**
 * warehouse_cm_audit
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("warehouse_cm_audit")
public class WarehouseCmAudit extends BusiEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "入库ID")
    private Long warehouseId;
    @ApiModelProperty(value = "序号")
    private Integer no;
    @ApiModelProperty(value = "检查项")
    private String examineItem;
    @ApiModelProperty(value = "检查结果")
    private String examineResult;
    @ApiModelProperty(value = "不适用说明")
    private String notApplyExplan;
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseConfigItem.java
New file
@@ -0,0 +1,45 @@
package com.zt.life.modules.configItemWarehouse.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;
/**
 * warehouse_config_item
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("warehouse_config_item")
public class WarehouseConfigItem extends BusiEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "入库ID")
    private Long warehouseId;
    @ApiModelProperty(value = "序号")
    private Integer no;
    @ApiModelProperty(value = "配置项名称")
    private String itemName;
    @ApiModelProperty(value = "配置项标识")
    private String itemDentify;
    @ApiModelProperty(value = "版本")
    private String version;
    @ApiModelProperty(value = "上溯版")
    private Integer retrospectVersion;
    @ApiModelProperty(value = "密级")
    private String secretClass;
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/model/WarehouseQaAudit.java
New file
@@ -0,0 +1,40 @@
package com.zt.life.modules.configItemWarehouse.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;
/**
 * warehouse_qa_audit
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@Data
@EqualsAndHashCode(callSuper=false)
@TableName("warehouse_qa_audit")
public class WarehouseQaAudit extends BusiEntity {
    private static final long serialVersionUID = 1L;
    @ApiModelProperty(value = "入库ID")
    private Long warehouseId;
    @ApiModelProperty(value = "序号")
    private Integer no;
    @ApiModelProperty(value = "检查项")
    private String examineItem;
    @ApiModelProperty(value = "检查结果")
    private String examineResult;
    @ApiModelProperty(value = "不适用说明")
    private String notApplyExplan;
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/ConfigItemWarehouseService.java
New file
@@ -0,0 +1,167 @@
package com.zt.life.modules.configItemWarehouse.service;
import com.zt.common.service.BaseService;
import com.zt.life.modules.configItemWarehouse.dao.ConfigItemWarehouseDao;
import com.zt.life.modules.configItemWarehouse.dto.ConfigItemWarehouseDto;
import com.zt.life.modules.configItemWarehouse.model.ConfigItemWarehouse;
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.itemCirculatOrder.service.ItemCirculatOrderTechnicalService;
import com.zt.life.modules.project.model.SoftwareTestOrderDeliverable;
import com.zt.life.modules.project.model.SoftwareTestOrderMeasured;
import com.zt.life.modules.project.service.ProjectService;
import com.zt.life.modules.sysBaseInfo.service.TestAgencyInfoService;
import com.zt.life.sys.service.SysOssConfigService;
import com.zt.modules.coderule.service.SysCodeRuleService;
import com.zt.modules.oss.service.SysOssService;
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.HashMap;
import java.util.List;
import java.util.Map;
/**
 * config_item_warehouse
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@Service
public class ConfigItemWarehouseService  extends BaseService<ConfigItemWarehouseDao, ConfigItemWarehouse> {
    @Autowired
    private SysOssConfigService sysOssConfigService;
    @Autowired
    private SysOssService sysOssService;
    @Autowired
    private TestAgencyInfoService testAgencyInfoService;
    @Autowired
    private SysCodeRuleService sysCodeRuleService;
    @Autowired
    private ProjectService projectService;
    @Autowired
    private WarehouseCmAuditService cmAuditService;
    @Autowired
    private WarehouseQaAuditService qaAuditService;
    @Autowired
    private WarehouseConfigItemService configItemService;
    /**
     * 分页查询
     *
     * @param queryFilter
     * @return
     */
    public List<ConfigItemWarehouse> page(QueryFilter queryFilter) {
        return baseDao.getList(queryFilter.getQueryParams());
    }
    /**
     * 删除
     *
     * @param ids
     */
    public void delete(Long[] ids) {
        super.deleteLogic(ids);
    }
    public Boolean save(ConfigItemWarehouseDto configItemDto) {
        Long warehouseId = configItemDto.getConfigItemWarehouse().getId();
        if (warehouseId != null)
            baseDao.updateById(configItemDto.getConfigItemWarehouse());
        else {
            Map<String, String> map = new HashMap<>();
            map.put("funCode", "config_item_warehouse");
            map.put("projectId",configItemDto.getProjectId().toString());
            configItemDto.getConfigItemWarehouse().setProjectId(configItemDto.getProjectId());
            configItemDto.getConfigItemWarehouse().setCode(sysCodeRuleService.getNewCode(map));
            baseDao.insert(configItemDto.getConfigItemWarehouse());
            warehouseId = configItemDto.getConfigItemWarehouse().getId();
        }
        for (WarehouseConfigItem configItem : configItemDto.getConfigItemList()) {
            configItem.setWarehouseId(warehouseId);
            if (configItem.getId() != null) {
                configItemService.update(configItem);
            } else {
                configItem.setWarehouseId(warehouseId);
                configItemService.insert(configItem);
            }
        }
        for (WarehouseCmAudit cmAudit : configItemDto.getCmAuditList()) {
            cmAudit.setWarehouseId(warehouseId);
            if (cmAudit.getId() != null) {
                cmAuditService.update(cmAudit);
            } else {
                cmAudit.setWarehouseId(warehouseId);
                cmAuditService.insert(cmAudit);
            }
        }
        for (WarehouseQaAudit qaAudit : configItemDto.getQaAuditList()) {
            qaAudit.setWarehouseId(warehouseId);
            if (qaAudit.getId() != null) {
                qaAuditService.update(qaAudit);
            } else {
                qaAudit.setWarehouseId(warehouseId);
                qaAuditService.insert(qaAudit);
            }
        }
        sysOssConfigService.updateOss(configItemDto.getId(), configItemDto.getFiles());// 保存附件
        return true;
    }
    public ConfigItemWarehouseDto getDto(Long projectId, Long warehouseId) {
        ConfigItemWarehouseDto data = new ConfigItemWarehouseDto();
        if (warehouseId != null) {
            data.setId(warehouseId);
            ConfigItemWarehouse configItemWarehouse = this.get(warehouseId);
            data.setConfigItemWarehouse(configItemWarehouse);
            projectId = configItemWarehouse.getProjectId();
            List<WarehouseCmAudit> CmAuditList = cmAuditService.getList(warehouseId);
            data.setCmAuditList(CmAuditList);
            List<WarehouseQaAudit> QaAuditList = qaAuditService.getList(warehouseId);
            data.setQaAuditList(QaAuditList);
            List<WarehouseConfigItem> ConfigItemList = configItemService.getList(warehouseId);
            data.setConfigItemList(ConfigItemList);
        } else {
            ConfigItemWarehouse configItemWarehouse =new ConfigItemWarehouse();
            data.setConfigItemWarehouse(configItemWarehouse);
            List<?> cmList = baseDao.itemList("warehouse_cm_audit");
            List<?> CmAuditList = cmList;
            data.setCmAuditList((List<WarehouseCmAudit>) CmAuditList);
            List<?> qaList = baseDao.itemList("warehouse_qa_audit");
            List<?> QaAuditList = qaList;
            data.setQaAuditList((List<WarehouseQaAudit>) QaAuditList);
            List<?> resultList = configItemService.ConfigItemList(projectId);
            List<?> ConfigItemList = resultList;
            data.setConfigItemList((List<WarehouseConfigItem>) ConfigItemList);
        }
        if (projectId != null) {
            data.setProjectId(projectId);
            data.setProject(projectService.get(projectId));
        }
        return data;
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseCmAuditService.java
New file
@@ -0,0 +1,48 @@
package com.zt.life.modules.configItemWarehouse.service;
import com.zt.common.service.BaseService;
import com.zt.life.modules.configItemWarehouse.dao.WarehouseCmAuditDao;
import com.zt.life.modules.configItemWarehouse.model.WarehouseCmAudit;
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;
/**
 * warehouse_cm_audit
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@Service
public class WarehouseCmAuditService  extends BaseService<WarehouseCmAuditDao, WarehouseCmAudit> {
    /**
     * 分页查询
     *
     * @param queryFilter
     * @return
     */
    public List<WarehouseCmAudit> page(QueryFilter queryFilter) {
        return baseDao.getList(queryFilter.getQueryParams());
    }
    /**
     * 删除
     *
     * @param ids
     */
    public void delete(Long[] ids) {
        super.deleteLogic(ids);
    }
    public List<WarehouseCmAudit> getList(Long warehouseId) {
        Map<String, Object> params = new HashMap<>();
        params.put("warehouseId",warehouseId);
        return baseDao.getList(params);
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseConfigItemService.java
New file
@@ -0,0 +1,53 @@
package com.zt.life.modules.configItemWarehouse.service;
import com.zt.common.service.BaseService;
import com.zt.core.sys.dto.DictIstance;
import com.zt.life.modules.configItemWarehouse.dao.WarehouseConfigItemDao;
import com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem;
import com.zt.life.modules.itemCirculatOrder.model.ItemCirculatOrderTechnical;
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;
/**
 * warehouse_config_item
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@Service
public class WarehouseConfigItemService  extends BaseService<WarehouseConfigItemDao, WarehouseConfigItem> {
    /**
     * 分页查询
     *
     * @param queryFilter
     * @return
     */
    public List<WarehouseConfigItem> page(QueryFilter queryFilter) {
        return baseDao.getList(queryFilter.getQueryParams());
    }
    /**
     * 删除
     *
     * @param ids
     */
    public void delete(Long[] ids) {
        super.deleteLogic(ids);
    }
    public List<WarehouseConfigItem> getList(Long warehouseId) {
        Map<String, Object> params = new HashMap<>();
        params.put("warehouseId",warehouseId);
        return baseDao.getList(params);
    }
    public List<DictIstance> ConfigItemList(Long projectId) {
        return baseDao.itemList(projectId);
    }
}
modules/mainPart/src/main/java/com/zt/life/modules/configItemWarehouse/service/WarehouseQaAuditService.java
New file
@@ -0,0 +1,48 @@
package com.zt.life.modules.configItemWarehouse.service;
import com.zt.common.service.BaseService;
import com.zt.life.modules.configItemWarehouse.dao.WarehouseQaAuditDao;
import com.zt.life.modules.configItemWarehouse.model.WarehouseQaAudit;
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;
/**
 * warehouse_qa_audit
 *
 * @author zt generator
 * @since 1.0.0 2023-11-27
 */
@Service
public class WarehouseQaAuditService  extends BaseService<WarehouseQaAuditDao, WarehouseQaAudit> {
    /**
     * 分页查询
     *
     * @param queryFilter
     * @return
     */
    public List<WarehouseQaAudit> page(QueryFilter queryFilter) {
        return baseDao.getList(queryFilter.getQueryParams());
    }
    /**
     * 删除
     *
     * @param ids
     */
    public void delete(Long[] ids) {
        super.deleteLogic(ids);
    }
    public List<WarehouseQaAudit> getList(Long warehouseId) {
        Map<String, Object> params = new HashMap<>();
        params.put("warehouseId",warehouseId);
        return baseDao.getList(params);
    }
}
modules/mainPart/src/main/resources/mapper/configItemWarehouse/ConfigItemWarehouseDao.xml
New file
@@ -0,0 +1,35 @@
<?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.configItemWarehouse.dao.ConfigItemWarehouseDao">
    <select id="getList" resultType="com.zt.life.modules.configItemWarehouse.model.ConfigItemWarehouse">
        select a.* ,p.*
        from config_item_warehouse 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>
    <select id="itemList" resultType="com.zt.life.modules.configItemWarehouse.model.WarehouseCmAudit">
        SET @row_number = 0;
        SELECT  dd.dict_label AS name,
        (@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>
modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseCmAuditDao.xml
New file
@@ -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.configItemWarehouse.dao.WarehouseCmAuditDao">
    <select id="getList" resultType="com.zt.life.modules.configItemWarehouse.model.WarehouseCmAudit">
        select a.*
        from warehouse_cm_audit a
        <where>
            a.is_delete = 0
            <if test="warehouseId!=null">
                and warehouse_id = ${warehouseId}
            </if>
        </where>
        <if test="orderBySql!=null">
            ORDER BY ${orderBySql}
        </if>
    </select>
</mapper>
modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseConfigItemDao.xml
New file
@@ -0,0 +1,32 @@
<?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.configItemWarehouse.dao.WarehouseConfigItemDao">
    <select id="getList" resultType="com.zt.life.modules.configItemWarehouse.model.WarehouseConfigItem">
        select a.*
        from warehouse_config_item a
        <where>
            a.is_delete = 0
            <if test="warehouseId!=null">
                and warehouse_id = ${warehouseId}
            </if>
        </where>
        <if test="orderBySql!=null">
            ORDER BY ${orderBySql}
        </if>
    </select>
    <select id="itemList" resultType="com.zt.core.sys.dto.DictIstance">
        SELECT m.*, p.secret_class
        FROM software_test_order_measured m
        JOIN software_test_order s ON s.id = m.order_id
        JOIN project p ON p.id = ${projectId}
        <where>
            s.is_delete = 0 and m.is_delete = 0
            <if test="projectId!=null">
                and s.project_id = ${projectId}
            </if>
        </where>
    </select>
</mapper>
modules/mainPart/src/main/resources/mapper/configItemWarehouse/WarehouseQaAuditDao.xml
New file
@@ -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.configItemWarehouse.dao.WarehouseQaAuditDao">
    <select id="getList" resultType="com.zt.life.modules.configItemWarehouse.model.WarehouseQaAudit">
        select a.*
        from warehouse_qa_audit a
        <where>
            a.is_delete = 0
            <if test="warehouseId!=null">
                and warehouse_id = ${warehouseId}
            </if>
        </where>
        <if test="orderBySql!=null">
            ORDER BY ${orderBySql}
        </if>
    </select>
</mapper>
web/src/assets/css/custom.css
@@ -324,6 +324,9 @@
.el-border-left {
  border-left: 1px solid rgba(0, 0, 0, .2);
}
.el-border-top {
  border-top: 1px solid rgba(0, 0, 0, .2);
}
.el-border-bottom {
  border-bottom: 1px solid rgba(0, 0, 0, .2);
}
web/src/views/modules/configItemWarehouse/ConfigItemWarehouse-AddOrUpdate.vue
New file
@@ -0,0 +1,338 @@
<template>
  <zt-dialog ref="dialog" column="2" @confirm="formSubmit">
    <el-form ref="dataForm" style="padding-top: 0" :inline="true" :disabled="dataForm.disabled" :model="dataForm" label-width="120px" class="warehouseFormAuto">
      <div >
        <el-form-item label-width="60px" label="编号:" style="width:100%;margin-bottom: -5px">
          <span>{{dataForm.configItemWarehouse.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="warehouseContentWidth">
        <el-form-item class="marginTopAndMarginBottom" label="项目编号" style="width: 49%">
          <el-input v-model="dataForm.project.code" 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>
        <el-form-item label="申请人" style="width: 49%">
          <el-input v-model="dataForm.configItemWarehouse.applicant" placeholder="请输入申请人"></el-input>
        </el-form-item>
        <el-form-item label="申请日期" style="width: 49%">
          <el-date-picker
            v-model="dataForm.configItemWarehouse.applyDate"
            type="date"
            placeholder="请选择申请日期">
          </el-date-picker>
        </el-form-item>
        <el-form-item class="marginTopAndMarginBottom2" label="库类型" style="width: 99%">
          <zt-dict v-model="dataForm.configItemWarehouse.libraryType" :radio="true" dict="library_type"></zt-dict>
        </el-form-item>
        </div>
        <div class="el-flexManageDialog el-border-bottom">
          <div class="DFormWidth DAlign DHold">
            入库配置项
          </div>
          <div class="el-border-left" style="width: calc(100% - 120px)">
            <div class="table-container">
            <el-table ref="tableConfigItemList" class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px" border :data="dataForm.configItemList"
                      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="200" label="配置项名称">
                <template v-slot="{ row }">
                  <el-input v-model="row.itemName" placeholder="配置项名称"></el-input>
                </template>
              </el-table-column>
              <el-table-column prop="itemDentify" align="center" width="220" label="配置项标识">
                <template v-slot="{ row }">
                  <el-input v-model="row.itemDentify" placeholder="配置项标识"></el-input>
                </template>
              </el-table-column>
              <el-table-column prop="version" align="center" width="120" label="版本">
                <template v-slot="{ row }">
                  <el-input v-model="row.version" placeholder="版本"></el-input>
                </template>
              </el-table-column>
              <el-table-column prop="retrospectVersion" label="上溯版" width="120"  align="center">
                <template v-slot="{ row }">
                  <el-input v-model="row.retrospectVersion" placeholder="上溯版"></el-input>
                </template>
              </el-table-column>
              <el-table-column prop="secretClass" label="密级" width="80"  align="center">
                <template v-slot="{ row }">
                  <zt-dict v-model="row.secretClass" placeholder="密级" dict="secret_class"
                           clearable></zt-dict>
                </template>
              </el-table-column>
            </el-table>
              <div class="icon-container" @click="addConfigItemWarehouseRow()">
                <!-- 放置固定的图标 -->
                <i class="el-icon-plus"></i>
              </div>
            </div>
          </div>
        </div>
        <div class="el-flexManageDialog el-border-bottom">
          <div class="DFormWidth DAlign DHold">
            项目QA审核
          </div>
          <div class="el-border-left" style="width: calc(100% - 120px)">
            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px"  border :data="dataForm.qaAuditList"
                      stripe>
              <el-table-column prop="no" align="center" width="80" label="序号"></el-table-column>
              <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 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="不适用说明"></el-table-column>
            </el-table>
            <div class="el-border-top">
            <el-form-item label="审核结果" style="width: 99%">
              <zt-dict v-model="dataForm.configItemWarehouse.qaAuditResults" dict="is_pass" :radio="true"
                       clearable></zt-dict>
            </el-form-item>
            <el-form-item label="审核人:" style="width: 48%">
              <span>{{dataForm.configItemWarehouse.qaAuditor}}</span>
            </el-form-item>
            <el-form-item label="审核日期:" style="width: 48%">
              <span>{{dataForm.configItemWarehouse.qaAuditDate}}</span>
            </el-form-item>
            </div>
          </div>
        </div>
        <div class="el-flexManageDialog el-border-bottom">
          <div class="DFormWidth DAlign DHold">
            CM审核
          </div>
          <div class="el-border-left" style="width: calc(100% - 120px)">
            <el-table class="el-software el-margin-top-bot" style="width: 99%;margin-left: 5px"  border :data="dataForm.cmAuditList"
                      stripe>
              <el-table-column prop="no" align="center" width="80" label="序号"></el-table-column>
              <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 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="不适用说明"></el-table-column>
            </el-table>
            <div class="el-border-top">
              <el-form-item label="审核结果" style="width: 99%">
                <zt-dict v-model="dataForm.configItemWarehouse.cmAuditResults" placeholder="审核结果" dict="is_pass" :radio="true"
                         clearable></zt-dict>
              </el-form-item>
              <el-form-item label="审核人:" style="width: 48%">
                <span>{{dataForm.configItemWarehouse.cmAuditor}}</span>
              </el-form-item>
              <el-form-item label="审核日期:" style="width: 48%">
                <span>{{dataForm.configItemWarehouse.cmAuditDate}}</span>
              </el-form-item>
            </div>
          </div>
        </div>
        <div class="el-flexManageDialog 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%">
              <zt-dict 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%">
              <span>{{dataForm.configItemWarehouse.approvalSign}}</span>
            </el-form-item>
            <el-form-item label="日期:" style="width: 20%">
              <span>{{dataForm.configItemWarehouse.approvalDate}}</span>
            </el-form-item>
          </div>
        </div>
        <div class="el-flexManageDialog el-border-bottom">
          <div class="DFormWidth DAlign DHold">
            项目CM操作
          </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="请输入内容" 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>
            </el-form-item>
            <el-form-item label="日期:" style="width: 20%">
              <span>{{dataForm.configItemWarehouse.operateDate}}</span>
            </el-form-item>
          </div>
        </div>
        <div class="el-flexManageDialog">
          <div class="DFormWidth DAlign DHold">
            备注
          </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="请输入内容" v-model="dataForm.configItemWarehouse.remark"></el-input>
            </el-form-item>
          </div>
        </div>
      </div>
    </el-form>
  </zt-dialog>
</template>
<script>
  export default {
    data() {
      return {
        dataForm: {
          id: '',
          configItemWarehouse:{
            id:"",
            code: "",
            applicant: "",
            applyDate: "",
            libraryType: "",
            qaAuditResults:"",
            qaAuditor:"",
            qaAuditDate:"",
            cmAuditResults:"",
            cmAuditor:"",
            cmAuditDate:"",
            approvalOpinions: "",
            approvalSign: "",
            approvalDate: "",
            projectCmOperations: "",
            operator: "",
            operateDate: "",
            remark: "",
          },
          project: {
            code: '',
            softwareName: '',
          },
          cmAuditList:[],
          configItemList:[],
          qaAuditList:[],
        }
      }
    },
    methods: {
      indexFormat(index){
        return index += 1
      },
      init(id,row){
        this.dataForm.id = row.id
        this.dataForm.projectId = row.projectId
        // this.dataForm.disabled
        this.getInfo()
        console.log(this.dataForm.id,this.dataForm.projectId,'params params')
      },
      addConfigItemWarehouseRow(){
        this.dataForm.configItemList.push({})
        this.$nextTick(()=>{
          const tableBody=this.$refs.tableConfigItemList.$el.querySelector('.el-table__body-wrapper')
          tableBody.scrollTop = tableBody.scrollHeight;
        })
      },
      // 获取信息
      async getInfo() {
        let params = {
          warehouseId: this.dataForm.id,
          projectId: this.dataForm.projectId
        }
        let res = await this.$http.get(`/configItemWarehouse/ConfigItemWarehouse/getDto`,{params: params})
        this.dataForm = {
          ...this.dataForm,
          ...res.data
        }
        console.log(this.dataForm,"getInfo this.dataForm")
      },
      // 表单提交
      async formSubmit() {
        let res = await this.$http[!this.dataForm.id ? 'post' : 'put']('/configItemWarehouse/ConfigItemWarehouse/', this.dataForm)
        if (res.success) {
          await this.$tip.success()
          this.$refs.dialog.close()
          this.$emit('refreshDataList')
        }
      }
    }
  }
</script>
<style>
.ManageFormAuto {
  width: 70%;
  margin: 0 auto;
}
.confirmDAuto{
  border: 1px solid;
}
.el-flexManageDialog {
  display: flex;
  align-items: center;
}
.DFormWidth {
  width: 120px;
}
.DAlign {
  text-align: center;
}
.DManageForm{
  /*border-left: 1px solid;*/
  width: 100%;
}
.DManageForm> .el-form-item > .el-form-item__content {
  width: calc(100% - 120px);
}
.el-form-item.el-CMTextarea>.el-form-item__content{
  width: 100%;
}
.el-form .el-form-item.el-wt-form-item-margin{
  margin-left: 120px;
}
.el-form-border{
  border-top: 1px solid;
  border-bottom: 1px solid;
}
.el-margin-top-bot{
  margin-top:5px;
  margin-bottom:5px;
}
.zt .el-table.el-software th {
  background: transparent;
}
.zt .el-table.el-software th > .cell {
  font-weight: 500;
}
.DHold{
  font-weight: 600;
}
.zt .el-table.el-software{
  font-size: 14px;
}
.warehouseContentWidth > .el-form-item > .el-form-item__content {
  width: calc(100% - 120px);
}
.warehouseContentWidth > .el-form-item.lastChild > .el-form-item__content {
  width: calc(100% - 142px);
}
.warehouseFormAuto .marginTopAndMarginBottom {
  margin-top: 10px !important;
  margin-bottom: 0 !important;
}
.warehouseFormAuto .marginTopAndMarginBottom2 {
  margin-top: -10px !important;
  margin-bottom: 0 !important;
}
</style>
web/src/views/modules/configItemWarehouse/ConfigItemWarehouse.vue
New file
@@ -0,0 +1,72 @@
<template>
  <el-card shadow="never" class="aui-card--fill">
    <div class="mod-configItemWarehouse-configItemWarehouse}">
      <zt-table-wraper query-url="/configItemWarehouse/ConfigItemWarehouse/page" delete-url="/configItemWarehouse/ConfigItemWarehouse" 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.projectCode" placeholder="请输入项目编号" clearable></el-input>
          </el-form-item>
          <el-form-item>
            <el-input v-model="dataForm.projectName" placeholder="请输入项目名称" clearable></el-input>
          </el-form-item>
          <el-form-item>
            <zt-dict v-model="dataForm.libraryType" dict="library_type" clearable></zt-dict>
          </el-form-item>
          <el-form-item>
            <zt-button type="query" @click="table.query()"/>
            <zt-button type="primary" class="el-icon-edit" perm="configItemWarehouse:add" @click="add()">新增</zt-button>
            <zt-button type="delete" perm="configItemWarehouse: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="projectCode" label="项目编号"/>
                <el-table-column prop="projectName" label="项目名称"/>
                <zt-table-column-dict prop="libraryType" label="库类型" dict="library_type"/>
              <zt-table-column-handle :table="table" edit-perm="configItemWarehouse:update" delete-perm="configItemWarehouse::delete"/>
        </el-table>
        <!-- 弹窗, 新增 / 修改 -->
        <add-or-update ref="addOrUpdate" @refreshDataList="table.query"/>
        <ProjectSelect ref="projectSelect"
                       @refreshDataList="table.query"
                       @setProjectInfo="openAddWin">
        </ProjectSelect>
      </zt-table-wraper>
    </div>
  </el-card>
</template>
<script>
  import AddOrUpdate from './ConfigItemWarehouse-AddOrUpdate'
  import ProjectSelect from "../project/Project-select";
  export default {
    data() {
      return {
        dataForm: {
          code: '',
          projectCode: '',
          projectName: '',
          libraryType: '',
        }
      }
    },
    components: {
      AddOrUpdate,
      ProjectSelect
    },
    methods:{
      add() {
        this.$refs.projectSelect.$refs.dialog.init("config_item_warehouse")
      },
      openAddWin(row) {
        console.log(row.id, 'row.id')
        // this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id})
        this.$refs.addOrUpdate.$refs.dialog.init(null, {id: null, projectId: row.id})
      },
    }
  }
</script>
web/src/views/modules/itemCirculatOrder/ItemCirculatOrder-AddOrUpdate.vue
@@ -1,7 +1,7 @@
<template>
  <zt-dialog ref="dialog" column="3" @confirm="formSubmit">
    <el-form :model="dataForm" :inline="true" ref="dataForm" style="padding-top: 0" :disabled="dataForm.disabled" label-width="120px" class="circulationFormAuto">
      <div class="">
      <div>
        <el-form-item label-width="60px" label="编号:" style="width:100%;margin-bottom: -5px">
          <span>{{dataForm.circulatOrder.code}}</span>
        </el-form-item>
zt/common/src/main/java/com/zt/core/sys/dto/DictIstance.java
@@ -12,6 +12,10 @@
    private String identify;
    private String version;
    private String secretClass;
    private String retrospect_version;
}