zzw
2023-11-28 7748cd8a79548e94299d24e080c4650924a215da
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;
    }
}