|
@@ -32,6 +32,7 @@ import javax.servlet.http.HttpServletResponse;
|
|
|
import java.io.IOException;
|
|
|
import java.math.BigDecimal;
|
|
|
import java.util.*;
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
|
|
import static java.math.BigDecimal.ZERO;
|
|
|
|
|
@@ -42,6 +43,7 @@ import static java.math.BigDecimal.ZERO;
|
|
|
*/
|
|
|
@Service
|
|
|
@Slf4j
|
|
|
+@SuppressWarnings("all")
|
|
|
public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
|
|
|
|
|
|
@Resource
|
|
@@ -74,20 +76,20 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
|
|
|
}
|
|
|
|
|
|
|
|
|
-
|
|
|
/**
|
|
|
* @param request 新增合同数据项
|
|
|
* @return 1.成功, 0.失败, 消息描述
|
|
|
* @description 新增合同
|
|
|
* @date 2019/12/7 3:31 PM
|
|
|
*/
|
|
|
+ // TODO: 2021/1/21 合同问题
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public RestResponse add(ContractRequest request) {
|
|
|
Contracts contracts = request.getContracts();
|
|
|
Long projectId = request.getProjectId();
|
|
|
Integer contractType = contracts.getType();
|
|
|
if (Objects.isNull(projectId)) {
|
|
|
- if (5==contractType) {
|
|
|
+ if (5 == contractType) {
|
|
|
//插入大修项目
|
|
|
CapitalRepair repair = new CapitalRepair();
|
|
|
repair.setProjectName(request.getProjectName());
|
|
@@ -141,12 +143,12 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
|
|
|
return RestResponse.success(null, MessageUtils.get("msg.add.success"));
|
|
|
}
|
|
|
|
|
|
- /**
|
|
|
- * @param request 续签合同数据项
|
|
|
- * @return 1.成功, 0.失败, 消息描述
|
|
|
- * @description 续签合同
|
|
|
- * @date 2020/5/3 10:48 上午
|
|
|
- */
|
|
|
+ /**
|
|
|
+ * @param request 续签合同数据项
|
|
|
+ * @return 1.成功, 0.失败, 消息描述
|
|
|
+ * @description 续签合同
|
|
|
+ * @date 2020/5/3 10:48 上午
|
|
|
+ */
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
public RestResponse renew(ContractRequest request) {
|
|
|
Contracts contracts = request.getContracts();
|
|
@@ -287,10 +289,11 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
|
|
|
|
|
|
/**
|
|
|
* 合同导出操作
|
|
|
+ *
|
|
|
* @param contractRequest :合同导出时的参数筛选部分
|
|
|
* @return
|
|
|
*/
|
|
|
- public void export(ContractRequest contractRequest, HttpServletResponse response) {
|
|
|
+ public void export(ContractRequest contractRequest, HttpServletResponse response) {
|
|
|
/**
|
|
|
* 导出数据的集合
|
|
|
*/
|
|
@@ -321,23 +324,23 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
|
|
|
/**
|
|
|
* 维保和大修数据
|
|
|
*/
|
|
|
- List<ContractExportDto> contractAllList=contractsMapper.findAllContracts(contractRequest);
|
|
|
+ List<ContractExportDto> contractAllList = contractsMapper.findAllContracts(contractRequest);
|
|
|
|
|
|
/**
|
|
|
* 临修数据
|
|
|
*/
|
|
|
- List<ContractExportDto> contractTemList=contractsMapper.findAllErContracts(contractRequest);
|
|
|
+ List<ContractExportDto> contractTemList = contractsMapper.findAllErContracts(contractRequest);
|
|
|
|
|
|
|
|
|
/**
|
|
|
* 维保/大修合同管理数据
|
|
|
*/
|
|
|
- List<ContractManageExportDto> findAllContractsManageData=contractsMapper.findAllContractsManageData(contractRequest);
|
|
|
+ List<ContractManageExportDto> findAllContractsManageData = contractsMapper.findAllContractsManageData(contractRequest);
|
|
|
|
|
|
/**
|
|
|
* 急修数据
|
|
|
*/
|
|
|
- List<ContractManageExportDto> findAllErContractsManageData=contractsMapper.findAllErContractsManageData(contractRequest);
|
|
|
+ List<ContractManageExportDto> findAllErContractsManageData = contractsMapper.findAllErContractsManageData(contractRequest);
|
|
|
|
|
|
/**
|
|
|
* 数据合并
|
|
@@ -354,7 +357,7 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
|
|
|
*/
|
|
|
ExcelWriter writer = new ExcelWriter(true, "收款管理");
|
|
|
writer.setHeaderAlias(headerAlias);
|
|
|
- writer.write(contractAllList,true);
|
|
|
+ writer.write(contractAllList, true);
|
|
|
writer.autoSizeColumnAll();
|
|
|
writer.setSheet("合同管理");
|
|
|
Map<String, String> headerAliasE = new LinkedHashMap<>();
|
|
@@ -362,9 +365,9 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
|
|
|
headerAliasE.put("memberName", "客户名称");
|
|
|
headerAliasE.put("regionName", "区域");
|
|
|
headerAliasE.put("contractCode", "合同编号");
|
|
|
- headerAliasE.put("source","来源");
|
|
|
- headerAliasE.put("type","合同类型");
|
|
|
- headerAliasE.put("starDate","开始时间");
|
|
|
+ headerAliasE.put("source", "来源");
|
|
|
+ headerAliasE.put("type", "合同类型");
|
|
|
+ headerAliasE.put("starDate", "开始时间");
|
|
|
headerAliasE.put("endDate", "结束时间");
|
|
|
headerAliasE.put("liftNum", "台量");
|
|
|
headerAliasE.put("moneys", "金额");
|
|
@@ -374,7 +377,7 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
|
|
|
headerAliasE.put("NoPayMoney", "未收金额");
|
|
|
headerAliasE.put("partsRules", "配件条款");
|
|
|
writer.setHeaderAlias(headerAliasE);
|
|
|
- writer.write(findAllContractsManageData,true);
|
|
|
+ writer.write(findAllContractsManageData, true);
|
|
|
writer.autoSizeColumnAll();
|
|
|
response.setContentType("application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=utf-8");
|
|
|
String fileName = DateUtils.generateCode() + ".xlsx";
|
|
@@ -388,4 +391,93 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
|
|
|
log.error("合同数据数据导出失败", e);
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ public List<Map<String, Object>> getIds(Long mtCompanyId) {
|
|
|
+
|
|
|
+ //查询项目结果集
|
|
|
+ List<Project> projects = projectService.getBaseMapper().selectList(
|
|
|
+ new QueryWrapper<Project>()
|
|
|
+ .lambda()
|
|
|
+ .eq(Project::getMtCompanyId, mtCompanyId)
|
|
|
+ //1.尚未开始 2:服务中 4.逾期
|
|
|
+ .in(Project::getProjectStatus, 1, 2, 4)
|
|
|
+ .select(Project::getId, Project::getProjectName, Project::getAddress)
|
|
|
+ );
|
|
|
+ //查询大修结果集
|
|
|
+ List<CapitalRepair> capitalRepairs = capitalRepairService.getBaseMapper().selectList(
|
|
|
+ new QueryWrapper<CapitalRepair>()
|
|
|
+ .lambda()
|
|
|
+ .eq(CapitalRepair::getMtCompanyId, mtCompanyId)
|
|
|
+ //1:尚未开始
|
|
|
+ .eq(CapitalRepair::getProjectStatus, 1)
|
|
|
+ .select(CapitalRepair::getId, CapitalRepair::getProjectName, CapitalRepair::getProjectAddress)
|
|
|
+ );
|
|
|
+
|
|
|
+ ArrayList<Map<String, Object>> mapArrayList = new ArrayList<>();
|
|
|
+
|
|
|
+ for (Project project : projects) {
|
|
|
+ Map<String, Object> map = new HashMap() {{
|
|
|
+ put("id", project.getId().toString());
|
|
|
+ put("name", project.getProjectName());
|
|
|
+ put("address", project.getAddress());
|
|
|
+ put("isCapitalRepair", false);
|
|
|
+ }};
|
|
|
+ mapArrayList.add(map);
|
|
|
+ }
|
|
|
+ for (CapitalRepair capitalRepair : capitalRepairs) {
|
|
|
+ Map<String, Object> map = new HashMap() {{
|
|
|
+ put("id", capitalRepair.getId().toString());
|
|
|
+ put("name", capitalRepair.getProjectName());
|
|
|
+ put("address", capitalRepair.getProjectAddress());
|
|
|
+ put("isCapitalRepair", true);
|
|
|
+ }};
|
|
|
+ mapArrayList.add(map);
|
|
|
+ }
|
|
|
+
|
|
|
+ return mapArrayList;
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<Project> getProjects(Long mtCompanyId) {
|
|
|
+
|
|
|
+ //查询当前维保公司下的维保项目的合同列表
|
|
|
+ List<Long> list = contractsMapper.selectList(
|
|
|
+ new QueryWrapper<Contracts>()
|
|
|
+ .lambda()
|
|
|
+ .eq(Contracts::getMtCompanyId, mtCompanyId)
|
|
|
+ .ne(Contracts::getType, 5)
|
|
|
+ .select(Contracts::getProjectId)).stream().map(n -> n.getProjectId()).collect(Collectors.toList());
|
|
|
+ //查询不包含合同的项目
|
|
|
+ List<Project> projects = projectService.getBaseMapper().selectList(
|
|
|
+ new QueryWrapper<Project>()
|
|
|
+ .lambda()
|
|
|
+ .eq(Project::getMtCompanyId, mtCompanyId)
|
|
|
+ .in(Project::getProjectStatus, 1, 2, 4)
|
|
|
+ .notIn(Project::getId, list)
|
|
|
+ );
|
|
|
+
|
|
|
+ return projects;
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ public List<CapitalRepair> getCapitalRepairs(Long mtCompanyId) {
|
|
|
+
|
|
|
+ //查询当前维保公司下的维保项目的合同列表
|
|
|
+ List<Long> list = contractsMapper.selectList(
|
|
|
+ new QueryWrapper<Contracts>()
|
|
|
+ .lambda()
|
|
|
+ .eq(Contracts::getMtCompanyId, mtCompanyId)
|
|
|
+ .eq(Contracts::getType, 5)
|
|
|
+ .select(Contracts::getProjectId)).stream().map(n -> n.getProjectId()).collect(Collectors.toList());
|
|
|
+
|
|
|
+ //查询不包含合同的大修项目
|
|
|
+ List<CapitalRepair> capitalRepairs = capitalRepairService.getBaseMapper().selectList(
|
|
|
+ new QueryWrapper<CapitalRepair>()
|
|
|
+ .lambda()
|
|
|
+ .eq(CapitalRepair::getMtCompanyId, mtCompanyId)
|
|
|
+ .eq(CapitalRepair::getProjectStatus, 1)
|
|
|
+ .notIn(CapitalRepair::getId, list)
|
|
|
+ );
|
|
|
+
|
|
|
+ return capitalRepairs;
|
|
|
+ }
|
|
|
}
|