Explorar o código

Merge branch 'feature-bieao' of lift-manager/lift-server into develop

bieao %!s(int64=5) %!d(string=hai) anos
pai
achega
fece135c43

+ 5 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/controller/ContractController.java

@@ -12,12 +12,13 @@ import cn.com.ty.lift.business.contract.service.PaymentService;
 import cn.com.ty.lift.business.framework.util.MessageUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.map.MapUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.web.bind.annotation.*;
 
 import javax.annotation.Resource;
 import javax.validation.Valid;
+import java.util.Map;
 
 /**
  * @author bieao
@@ -97,11 +98,11 @@ public class ContractController {
      */
     @PostMapping("detail")
     public RestResponse detail(@Valid @RequestBody ContractDetailRequest request) {
-        Contracts contracts = contractService.detail(request.getId());
-        if (ObjectUtil.isEmpty(contracts)) {
+        Map<String,Object> resultMap = contractService.detail(request.getId());
+        if (MapUtil.isEmpty(resultMap)) {
             return RestResponse.success();
         }
-        return RestResponse.success(contracts, MessageUtils.get("msg.query.detail.success"));
+        return RestResponse.success(resultMap, MessageUtils.get("msg.query.detail.success"));
     }
 
     /**

+ 2 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/dao/entity/Payment.java

@@ -25,9 +25,9 @@ public class Payment extends BaseEntity {
 	private Long id;
 
 	/**
-	 * 合同编号
+	 * 合同id
 	 */
-	private String contractsId;
+	private Long contractsId;
 
 	/**
 	 * 收付款事项   1:合同分期费

+ 11 - 3
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/service/ContractService.java

@@ -13,6 +13,7 @@ import cn.com.ty.lift.common.utils.DateUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.util.ObjectUtil;
 import cn.hutool.core.util.StrUtil;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
@@ -23,6 +24,8 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.transaction.interceptor.TransactionAspectSupport;
 
 import javax.annotation.Resource;
+import java.util.List;
+import java.util.Map;
 
 /**
  * @author bieao
@@ -120,7 +123,7 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
             return RestResponse.fail(MessageUtils.get("msg.add.fail"));
         }
         //批量插入收款信息
-        boolean ret = paymentService.insertBatch(extend.getPaymentList(), contracts.getCode());
+        boolean ret = paymentService.insertBatch(extend.getPaymentList(), contracts.getId());
         if (!ret) {
             TransactionAspectSupport.currentTransactionStatus().setRollbackOnly();
             return RestResponse.fail(MessageUtils.get("msg.add.batch.fail"));
@@ -169,7 +172,12 @@ public class ContractService extends ServiceImpl<ContractsMapper, Contracts> {
      * @description 查看合同详情
      * @date 2019/12/7 11:50 AM
      */
-    public Contracts detail(Long id) {
-        return contractsMapper.selectById(id);
+    public Map<String, Object> detail(Long id) {
+        QueryWrapper<Contracts> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("id", id);
+        Map<String, Object> contractMap = getMap(queryWrapper);
+        List<Map<String, Object>> paymentMap = paymentService.paymentList(id);
+        contractMap.put("paymentList", paymentMap);
+        return contractMap;
     }
 }

+ 15 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/contract/service/PaymentService.java

@@ -2,10 +2,12 @@ package cn.com.ty.lift.business.contract.service;
 
 import cn.com.ty.lift.business.contract.dao.entity.Payment;
 import cn.com.ty.lift.business.contract.dao.mapper.PaymentMapper;
+import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import org.springframework.stereotype.Service;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * @author bieao
@@ -22,7 +24,7 @@ public class PaymentService extends ServiceImpl<PaymentMapper, Payment> {
      * @description 批量插入收款信息
      * @date 2019/12/11 4:34 PM
      */
-    public boolean insertBatch(List<Payment> payments, String contractId) {
+    public boolean insertBatch(List<Payment> payments, Long contractId) {
         //设置合同付款的合同编号
         payments.forEach(entry -> entry.setContractsId(contractId));
         //批量插入付款信息
@@ -38,4 +40,16 @@ public class PaymentService extends ServiceImpl<PaymentMapper, Payment> {
     public boolean modifyBatchById(List<Payment> paymentList) {
         return updateBatchById(paymentList);
     }
+
+    /**
+     * @param contractId 合同id
+     * @return paymentList 付款列表
+     * @description 查询付款列表
+     * @date 2020/1/17 2:57 下午
+     */
+    public List<Map<String, Object>> paymentList(Long contractId) {
+        QueryWrapper<Payment> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("contracts_id", contractId);
+        return listMaps(queryWrapper);
+    }
 }

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/maintenance/service/MaintenancePlanService.java

@@ -273,7 +273,7 @@ public class MaintenancePlanService extends ServiceImpl<MaintenancePlanMapper, M
         plan.setMtCompanyId(mtCompanyId);
         plan.setLiftId(liftId);
         plan.setWorkerId(request.getWorkerId());
-        Project project = projectService.detail(request.getProjectId());
+        Project project = projectService.getOne(request.getProjectId());
         if (ObjectUtil.isEmpty(project)) return false;
         LocalDate endDate = project.getEndDate();
         //获取当前的保养时间

+ 1 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/project/controller/ProjectAppController.java

@@ -155,7 +155,7 @@ public class ProjectAppController {
         if (ObjectUtil.isEmpty(response)) {
             return RestResponse.success();
         }
-        return RestResponse.success(response, MessageUtils.get("msg.query.success"));
+        return RestResponse.success(response, MessageUtils.get("msg.query.detail.success"));
     }
 
     /**

+ 4 - 4
lift-business-service/src/main/java/cn/com/ty/lift/business/project/controller/ProjectController.java

@@ -13,7 +13,7 @@ import cn.com.ty.lift.business.project.service.ProjectService;
 import cn.com.ty.lift.common.base.ExportRequest;
 import cn.com.xwy.boot.web.dto.RestResponse;
 import cn.hutool.core.collection.CollUtil;
-import cn.hutool.core.util.ObjectUtil;
+import cn.hutool.core.map.MapUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import org.springframework.web.bind.annotation.*;
 
@@ -108,11 +108,11 @@ public class ProjectController {
      */
     @PostMapping("detail")
     public RestResponse detail(@Valid @RequestBody ProjectDetailRequest request) {
-        Project project = projectService.detail(request.getId());
-        if (ObjectUtil.isEmpty(project)) {
+        Map<String, Object> resultMap = projectService.detail(request.getId());
+        if (MapUtil.isEmpty(resultMap)) {
             return RestResponse.success();
         }
-        return RestResponse.success(project, MessageUtils.get("msg.query.detail.success"));
+        return RestResponse.success(resultMap, MessageUtils.get("msg.query.detail.success"));
     }
 
     /**

+ 2 - 2
lift-business-service/src/main/java/cn/com/ty/lift/business/project/dao/entity/model/response/ProjectCompanyResponse.java

@@ -24,9 +24,9 @@ public class ProjectCompanyResponse {
     /**
      * 项目用途
      */
-    private String projectUsage;
+    private Integer projectUsage;
     /**
      * 项目台量
      */
-    private String actualNum;
+    private Integer actualNum;
 }

+ 10 - 10
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectAppService.java

@@ -36,7 +36,7 @@ import java.util.stream.Collectors;
  */
 @Slf4j
 @Service
-public class ProjectAppService extends ServiceImpl<ProjectMapper,Project> {
+public class ProjectAppService extends ServiceImpl<ProjectMapper, Project> {
 
     @Resource
     private ProjectMapper projectMapper;
@@ -67,7 +67,7 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper,Project> {
      * @description 获取项目下维保工
      * @date 2020/1/14 10:33 上午
      */
-    public List<ProjectAppUser> userList(Long projectId){
+    public List<ProjectAppUser> userList(Long projectId) {
         List<ProjectAppUser> userList = projectUserMapper.findProjectUserListById(projectId);
         return userList.stream().filter(
                 entry -> (CommonEnum.DefaultRole.MTWORK.getCode().equals(entry.getUserRole())))
@@ -85,14 +85,14 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper,Project> {
         return projectMapper.findListByProjectId(page, request);
     }
 
-     /**
-      * @param request 新增电梯数据项
-      * @return RestResponse 状态码和返回消息
-      * @description 新增电梯
-      * @date 2020/1/11 4:22 下午
-      */
+    /**
+     * @param request 新增电梯数据项
+     * @return RestResponse 状态码和返回消息
+     * @description 新增电梯
+     * @date 2020/1/11 4:22 下午
+     */
     @Transactional(rollbackFor = Exception.class)
-    public RestResponse add(LiftExtensionRequest request){
+    public RestResponse add(LiftExtensionRequest request) {
         Lift lift = request.getLift();
         boolean result = liftService.save(lift);
         if (!result) {
@@ -108,7 +108,7 @@ public class ProjectAppService extends ServiceImpl<ProjectMapper,Project> {
      * @date 2020/1/2 1:50 下午
      */
     public ProjectDetailResponse detail(ProjectDetailRequest request) {
-        return  projectMapper.findProjectById(request);
+        return projectMapper.findProjectById(request);
     }
 
     /**

+ 20 - 5
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectService.java

@@ -13,10 +13,11 @@ import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectExtension
 import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectRegionRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.request.ProjectRequest;
 import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectResponse;
+import cn.com.ty.lift.business.project.dao.entity.model.response.ProjectUserResponse;
 import cn.com.ty.lift.business.project.dao.mapper.ProjectHistoryMapper;
 import cn.com.ty.lift.business.project.dao.mapper.ProjectMapper;
 import cn.com.ty.lift.common.base.ExportRequest;
-import cn.com.ty.lift.common.constants.ApiConstants;
+import cn.com.ty.lift.common.constants.CommonEnum;
 import cn.com.ty.lift.common.export.ExportUtils;
 import cn.com.ty.lift.common.utils.DateUtils;
 import cn.com.xwy.boot.web.dto.RestResponse;
@@ -148,14 +149,28 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
         return listByIds(projectIdList);
     }
 
+    public Project getOne(Long id) {
+        QueryWrapper<Project> queryWrapper = new QueryWrapper<>();
+        queryWrapper.eq("id", id);
+        return getOne(queryWrapper);
+    }
+
     /**
      * @param id 项目id
      * @return Project 项目详情
      * @description 查询项目详情
      * @date 2019/12/6 10:51 AM
      */
-    public Project detail(Long id) {
-        return projectMapper.selectById(id);
+    public Map<String, Object> detail(Long id) {
+        Project project = getOne(id);
+        List<ProjectUserResponse> userList = projectUserService.getUserList(id);
+        Optional<Long> userId = userList.stream().filter(user -> (
+                CommonEnum.DefaultRole.CLERK.getCode().equals(user.getUserRole())
+        )).map(ProjectUserResponse::getUserId).findFirst();
+        Map<String, Object> resultMap = new HashMap<>();
+        resultMap.put("project", project);
+        resultMap.put("userId", userId);
+        return resultMap;
     }
 
     /**
@@ -180,9 +195,9 @@ public class ProjectService extends ServiceImpl<ProjectMapper,Project> {
     @Transactional(rollbackFor = Exception.class)
     public RestResponse add(ProjectExtensionRequest request) {
         Project project = request.getProject();
-        if(project.getStartDate().isAfter(LocalDate.now())){
+        if (project.getStartDate().isAfter(LocalDate.now())) {
             project.setProjectStatus("1");
-        }else{
+        } else {
             project.setProjectStatus("2");
         }
         boolean ret = saveProject(project);

+ 5 - 1
lift-business-service/src/main/java/cn/com/ty/lift/business/project/service/ProjectUserService.java

@@ -25,6 +25,10 @@ public class ProjectUserService extends ServiceImpl<ProjectUserMapper, ProjectUs
     @Resource
     private ProjectUserMapper projectUserMapper;
 
+    public List<ProjectUserResponse> getUserList(Long projectId) {
+        return projectUserMapper.findUserListById(projectId);
+    }
+
     /**
      * @param projectId 项目ID
      * @return List<ProjectUser> userList项目组成员列表
@@ -32,7 +36,7 @@ public class ProjectUserService extends ServiceImpl<ProjectUserMapper, ProjectUs
      * @date 2019/12/13 2:40 PM
      */
     public List<ProjectUserResponse> userList(Long projectId) {
-        List<ProjectUserResponse> userList = projectUserMapper.findUserListById(projectId);
+        List<ProjectUserResponse> userList = getUserList(projectId);
         return userList.stream().filter(user -> (
                 CommonEnum.DefaultRole.MTWORK.getCode().equals(user.getUserRole())
                         || CommonEnum.DefaultRole.REGION_DIRECTOR.getCode().equals(user.getUserRole())

+ 15 - 13
lift-business-service/src/main/resources/mapper/project/ProjectMapper.xml

@@ -92,25 +92,27 @@
 		<if test="request.projectStatus!=null and request.projectStatus!=''">
 			AND p.project_status = #{request.projectStatus,jdbcType=VARCHAR}
 		</if>
+        ORDER BY p.end_date
 	</select>
 
 	<!-- 根据甲方公司ID和项目状态查询公司项目管理列表-->
 	<select id="findCompanyListByCondition" resultType="cn.com.ty.lift.business.project.dao.entity.model.response.ProjectResponse"
 			parameterType="cn.com.ty.lift.business.project.dao.entity.model.request.ProjectCompanyRequest" >
 		SELECT
-		a.project_code as projectCode,
-		a.project_name as projectName,
-		a.province as province,
-		a.city as city,
-		a.district as district,
-		a.num as num,
-		a.actual_num as actualNum,
-		a.address as address,
-		a.start_date as startDate,
-		a.end_date as endDate,
-		b.name       as contactName,
-		b.telephone  as contactTelephone
-		FROM project a, property_contact b
+		       a.project_code AS projectCode,
+			   a.project_name AS projectName,
+			   a.province     AS province,
+			   a.city         AS city,
+			   a.district     AS district,
+			   a.num          AS num,
+			   a.actual_num   AS actualNum,
+			   a.address      AS address,
+			   a.start_date   AS startDate,
+			   a.end_date     AS endDate,
+			   b.name         AS contactName,
+			   b.telephone    AS contactTelephone
+		FROM project a,
+		     property_contact b
 		WHERE a.pp_contact_id = b.id
 		<if test="request.ppCompanyId!=null and request.ppCompanyId!=''">
 			AND a.pp_company_id = #{request.ppCompanyId,jdbcType=BIGINT}