jinlin
2023-11-22 d363e8168a9d821a87ff75406aec9a87ed19722a
modules/mainPart/src/main/java/com/zt/life/modules/itemCirculatOrder/service/ItemCirculatOrderService.java
@@ -1,12 +1,35 @@
package com.zt.life.modules.itemCirculatOrder.service;
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.modules.itemCirculatOrder.dao.ItemCirculatOrderDao;
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.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.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 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;
/**
@@ -17,7 +40,26 @@
 */
@Service
public class ItemCirculatOrderService  extends BaseService<ItemCirculatOrderDao, ItemCirculatOrder> {
    @Autowired
    private SysOssConfigService sysOssConfigService;
    @Autowired
    private SysOssService sysOssService;
    @Autowired
    private TestAgencyInfoService testAgencyInfoService;
    @Autowired
    private SysCodeRuleService sysCodeRuleService;
    @Autowired
    private ProjectService projectService;
    @Autowired
    private ItemCirculatOrderTechnicalService technicalService;
    @Autowired
    private SoftwareTestOrderService softwareTestOrderService;
    /**
     * 分页查询
     *
@@ -37,4 +79,68 @@
        super.deleteLogic(ids);
    }
    public Boolean save(ItemCirculatOrderDto itemCirculatOrderDto) {
        Long circulatOrderid = itemCirculatOrderDto.getCirculatOrder().getId();
        if (circulatOrderid != null)
            baseDao.updateById(itemCirculatOrderDto.getCirculatOrder());
        else {
            Map<String, String> map = new HashMap<>();
            map.put("funCode", "item_circulat_order");
            map.put("projectId",itemCirculatOrderDto.getProjectId().toString());
            itemCirculatOrderDto.getCirculatOrder().setProjectId(itemCirculatOrderDto.getProjectId());
            itemCirculatOrderDto.getCirculatOrder().setCode(sysCodeRuleService.getNewCode(map));
            baseDao.insert(itemCirculatOrderDto.getCirculatOrder());
            circulatOrderid = itemCirculatOrderDto.getCirculatOrder().getId();
        }
        for (ItemCirculatOrderTechnical circulatOrderTechnical : itemCirculatOrderDto.getTechnicalList()) {
            circulatOrderTechnical.setCirculatOrderId(circulatOrderid);
            if (circulatOrderTechnical.getId() != null) {
                technicalService.update(circulatOrderTechnical);
            } else {
                circulatOrderTechnical.setCirculatOrderId(circulatOrderid);
                technicalService.insert(circulatOrderTechnical);
            }
        }
        if (itemCirculatOrderDto.getTestAgencyInfo().getId() == 10000) {
            itemCirculatOrderDto.getTestAgencyInfo().setId(circulatOrderid);
            testAgencyInfoService.insert(itemCirculatOrderDto.getTestAgencyInfo());
        } else {
            testAgencyInfoService.update(itemCirculatOrderDto.getTestAgencyInfo());
        }
        sysOssConfigService.updateOss(itemCirculatOrderDto.getId(), itemCirculatOrderDto.getFiles());// 保存附件
        return true;
    }
    public ItemCirculatOrderDto getDto(Long projectId, Long circulatOrderid) {
        ItemCirculatOrderDto data = new ItemCirculatOrderDto();
        if (circulatOrderid != null) {
            data.setId(circulatOrderid);
            ItemCirculatOrder itemCirculatOrder = this.get(circulatOrderid);
            data.setCirculatOrder(itemCirculatOrder);
            projectId = itemCirculatOrder.getProjectId();
            data.setTestAgencyInfo(testAgencyInfoService.get(circulatOrderid));
            List<ItemCirculatOrderTechnical> technicalList = technicalService.getList(circulatOrderid);
            data.setTechnicalList(technicalList);
        } else {
            ItemCirculatOrder itemCirculatOrder =new ItemCirculatOrder();
            data.setCirculatOrder(itemCirculatOrder);
        }
        if (projectId != null) {
            data.setProjectId(projectId);
            data.setProject(projectService.get(projectId));
        }
        if (data.getTestAgencyInfo() == null)
            data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
        return data;
    }
}