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.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.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 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;
|
|
|
/**
|
* item_circulat_order
|
*
|
* @author zt generator
|
* @since 1.0.0 2023-11-22
|
*/
|
@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;
|
/**
|
* 分页查询
|
*
|
* @param queryFilter
|
* @return
|
*/
|
public List<ItemCirculatOrder> page(QueryFilter queryFilter) {
|
return baseDao.getList(queryFilter.getQueryParams());
|
}
|
|
/**
|
* 删除
|
*
|
* @param ids
|
*/
|
public void delete(Long[] ids) {
|
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);
|
}
|
sysOssConfigService.updateOss(circulatOrderTechnical.getId(), circulatOrderTechnical.getFiles());// 保存附件
|
}
|
|
if (itemCirculatOrderDto.getTestAgencyInfo().getId() == 10000) {
|
itemCirculatOrderDto.getTestAgencyInfo().setId(circulatOrderid);
|
testAgencyInfoService.insert(itemCirculatOrderDto.getTestAgencyInfo());
|
} else {
|
testAgencyInfoService.update(itemCirculatOrderDto.getTestAgencyInfo());
|
}
|
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);
|
List<?> resultList = technicalService.itemList(projectId);
|
List<?> technicalList = resultList;
|
data.setTechnicalList((List<ItemCirculatOrderTechnical>) technicalList);
|
}
|
|
if (projectId != null) {
|
data.setProjectId(projectId);
|
data.setProject(projectService.get(projectId));
|
}
|
|
if (data.getTestAgencyInfo() == null)
|
data.setTestAgencyInfo(testAgencyInfoService.get(10000L));
|
|
return data;
|
}
|
|
}
|