diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 4e02809..c59faa6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -11,10 +11,8 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.customer.CustomerService; @@ -72,7 +70,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return customerService.customerDetail(idDTO.getId()); + return ReturnUtil.success(customerService.customerDetail(idDTO.getId())); } @ApiOperation("根据客户id查询样品记录-分页") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 4e02809..c59faa6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -11,10 +11,8 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.customer.CustomerService; @@ -72,7 +70,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return customerService.customerDetail(idDTO.getId()); + return ReturnUtil.success(customerService.customerDetail(idDTO.getId())); } @ApiOperation("根据客户id查询样品记录-分页") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java index a42dc64..7747976 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java @@ -1,6 +1,8 @@ package com.casic.missiles.controller.customer; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.service.customer.CustomerWorkbenchService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -8,9 +10,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; - @Api(tags = "客户工作台资源") @RestController @RequestMapping("/customer/workbench") @@ -21,25 +20,25 @@ @ApiOperation("样品新增趋势") @RequestMapping("/sample/increaseTrend") - public ReturnDTO>> increaseTrend() { - return customerWorkbenchService.sampleIncreaseTrend(); + public ReturnDTO increaseTrend() { + return ReturnUtil.success(customerWorkbenchService.sampleIncreaseTrend()); } @ApiOperation("样品到期趋势") @RequestMapping("/sample/expireTrend") - public ReturnDTO>> querySampleExpireTrend() { - return customerWorkbenchService.querySampleExpireTrend(); + public ReturnDTOquerySampleExpireTrend() { + return ReturnUtil.success(customerWorkbenchService.querySampleExpireTrend()); } @ApiOperation("客户新增趋势") @RequestMapping("/increaseTrend") - public ReturnDTO>> customerIncreaseTrend() { - return customerWorkbenchService.customerIncreaseTrend(); + public ReturnDTO customerIncreaseTrend() { + return ReturnUtil.success(customerWorkbenchService.customerIncreaseTrend()); } @ApiOperation("优质客户名单") @RequestMapping("/excellentList") - public ReturnDTO>> customerExcellentList() { - return customerWorkbenchService.customerExcellentList(); + public ReturnDTO customerExcellentList() { + return ReturnUtil.success(customerWorkbenchService.customerExcellentList()); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 4e02809..c59faa6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -11,10 +11,8 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.customer.CustomerService; @@ -72,7 +70,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return customerService.customerDetail(idDTO.getId()); + return ReturnUtil.success(customerService.customerDetail(idDTO.getId())); } @ApiOperation("根据客户id查询样品记录-分页") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java index a42dc64..7747976 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java @@ -1,6 +1,8 @@ package com.casic.missiles.controller.customer; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.service.customer.CustomerWorkbenchService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -8,9 +10,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; - @Api(tags = "客户工作台资源") @RestController @RequestMapping("/customer/workbench") @@ -21,25 +20,25 @@ @ApiOperation("样品新增趋势") @RequestMapping("/sample/increaseTrend") - public ReturnDTO>> increaseTrend() { - return customerWorkbenchService.sampleIncreaseTrend(); + public ReturnDTO increaseTrend() { + return ReturnUtil.success(customerWorkbenchService.sampleIncreaseTrend()); } @ApiOperation("样品到期趋势") @RequestMapping("/sample/expireTrend") - public ReturnDTO>> querySampleExpireTrend() { - return customerWorkbenchService.querySampleExpireTrend(); + public ReturnDTOquerySampleExpireTrend() { + return ReturnUtil.success(customerWorkbenchService.querySampleExpireTrend()); } @ApiOperation("客户新增趋势") @RequestMapping("/increaseTrend") - public ReturnDTO>> customerIncreaseTrend() { - return customerWorkbenchService.customerIncreaseTrend(); + public ReturnDTO customerIncreaseTrend() { + return ReturnUtil.success(customerWorkbenchService.customerIncreaseTrend()); } @ApiOperation("优质客户名单") @RequestMapping("/excellentList") - public ReturnDTO>> customerExcellentList() { - return customerWorkbenchService.customerExcellentList(); + public ReturnDTO customerExcellentList() { + return ReturnUtil.success(customerWorkbenchService.customerExcellentList()); } } diff --git a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml index 0f59d8e..b0d7272 100644 --- a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml @@ -11,7 +11,7 @@ AND is_del=0 GROUP BY create_time ) sampleInfo - GROUP BY create_time + GROUP BY increaseTime diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 4e02809..c59faa6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -11,10 +11,8 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.customer.CustomerService; @@ -72,7 +70,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return customerService.customerDetail(idDTO.getId()); + return ReturnUtil.success(customerService.customerDetail(idDTO.getId())); } @ApiOperation("根据客户id查询样品记录-分页") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java index a42dc64..7747976 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java @@ -1,6 +1,8 @@ package com.casic.missiles.controller.customer; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.service.customer.CustomerWorkbenchService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -8,9 +10,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; - @Api(tags = "客户工作台资源") @RestController @RequestMapping("/customer/workbench") @@ -21,25 +20,25 @@ @ApiOperation("样品新增趋势") @RequestMapping("/sample/increaseTrend") - public ReturnDTO>> increaseTrend() { - return customerWorkbenchService.sampleIncreaseTrend(); + public ReturnDTO increaseTrend() { + return ReturnUtil.success(customerWorkbenchService.sampleIncreaseTrend()); } @ApiOperation("样品到期趋势") @RequestMapping("/sample/expireTrend") - public ReturnDTO>> querySampleExpireTrend() { - return customerWorkbenchService.querySampleExpireTrend(); + public ReturnDTOquerySampleExpireTrend() { + return ReturnUtil.success(customerWorkbenchService.querySampleExpireTrend()); } @ApiOperation("客户新增趋势") @RequestMapping("/increaseTrend") - public ReturnDTO>> customerIncreaseTrend() { - return customerWorkbenchService.customerIncreaseTrend(); + public ReturnDTO customerIncreaseTrend() { + return ReturnUtil.success(customerWorkbenchService.customerIncreaseTrend()); } @ApiOperation("优质客户名单") @RequestMapping("/excellentList") - public ReturnDTO>> customerExcellentList() { - return customerWorkbenchService.customerExcellentList(); + public ReturnDTO customerExcellentList() { + return ReturnUtil.success(customerWorkbenchService.customerExcellentList()); } } diff --git a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml index 0f59d8e..b0d7272 100644 --- a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml @@ -11,7 +11,7 @@ AND is_del=0 GROUP BY create_time ) sampleInfo - GROUP BY create_time + GROUP BY increaseTime diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java new file mode 100644 index 0000000..bfbc41b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.customer; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class WorkbenceTrendResponse { + + @ApiModelProperty(value = "日期(月份)", dataType = "String") + private String Date; + + @ApiModelProperty(value = "累计值", dataType = "String") + private String count; + +} diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 4e02809..c59faa6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -11,10 +11,8 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.customer.CustomerService; @@ -72,7 +70,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return customerService.customerDetail(idDTO.getId()); + return ReturnUtil.success(customerService.customerDetail(idDTO.getId())); } @ApiOperation("根据客户id查询样品记录-分页") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java index a42dc64..7747976 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java @@ -1,6 +1,8 @@ package com.casic.missiles.controller.customer; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.service.customer.CustomerWorkbenchService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -8,9 +10,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; - @Api(tags = "客户工作台资源") @RestController @RequestMapping("/customer/workbench") @@ -21,25 +20,25 @@ @ApiOperation("样品新增趋势") @RequestMapping("/sample/increaseTrend") - public ReturnDTO>> increaseTrend() { - return customerWorkbenchService.sampleIncreaseTrend(); + public ReturnDTO increaseTrend() { + return ReturnUtil.success(customerWorkbenchService.sampleIncreaseTrend()); } @ApiOperation("样品到期趋势") @RequestMapping("/sample/expireTrend") - public ReturnDTO>> querySampleExpireTrend() { - return customerWorkbenchService.querySampleExpireTrend(); + public ReturnDTOquerySampleExpireTrend() { + return ReturnUtil.success(customerWorkbenchService.querySampleExpireTrend()); } @ApiOperation("客户新增趋势") @RequestMapping("/increaseTrend") - public ReturnDTO>> customerIncreaseTrend() { - return customerWorkbenchService.customerIncreaseTrend(); + public ReturnDTO customerIncreaseTrend() { + return ReturnUtil.success(customerWorkbenchService.customerIncreaseTrend()); } @ApiOperation("优质客户名单") @RequestMapping("/excellentList") - public ReturnDTO>> customerExcellentList() { - return customerWorkbenchService.customerExcellentList(); + public ReturnDTO customerExcellentList() { + return ReturnUtil.success(customerWorkbenchService.customerExcellentList()); } } diff --git a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml index 0f59d8e..b0d7272 100644 --- a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml @@ -11,7 +11,7 @@ AND is_del=0 GROUP BY create_time ) sampleInfo - GROUP BY create_time + GROUP BY increaseTime diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java new file mode 100644 index 0000000..bfbc41b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.customer; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class WorkbenceTrendResponse { + + @ApiModelProperty(value = "日期(月份)", dataType = "String") + private String Date; + + @ApiModelProperty(value = "累计值", dataType = "String") + private String count; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9e224b3..3e46642 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -42,5 +42,4 @@ @TableField("sample_status") private String sampleStatus; - } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 4e02809..c59faa6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -11,10 +11,8 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.customer.CustomerService; @@ -72,7 +70,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return customerService.customerDetail(idDTO.getId()); + return ReturnUtil.success(customerService.customerDetail(idDTO.getId())); } @ApiOperation("根据客户id查询样品记录-分页") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java index a42dc64..7747976 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java @@ -1,6 +1,8 @@ package com.casic.missiles.controller.customer; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.service.customer.CustomerWorkbenchService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -8,9 +10,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; - @Api(tags = "客户工作台资源") @RestController @RequestMapping("/customer/workbench") @@ -21,25 +20,25 @@ @ApiOperation("样品新增趋势") @RequestMapping("/sample/increaseTrend") - public ReturnDTO>> increaseTrend() { - return customerWorkbenchService.sampleIncreaseTrend(); + public ReturnDTO increaseTrend() { + return ReturnUtil.success(customerWorkbenchService.sampleIncreaseTrend()); } @ApiOperation("样品到期趋势") @RequestMapping("/sample/expireTrend") - public ReturnDTO>> querySampleExpireTrend() { - return customerWorkbenchService.querySampleExpireTrend(); + public ReturnDTOquerySampleExpireTrend() { + return ReturnUtil.success(customerWorkbenchService.querySampleExpireTrend()); } @ApiOperation("客户新增趋势") @RequestMapping("/increaseTrend") - public ReturnDTO>> customerIncreaseTrend() { - return customerWorkbenchService.customerIncreaseTrend(); + public ReturnDTO customerIncreaseTrend() { + return ReturnUtil.success(customerWorkbenchService.customerIncreaseTrend()); } @ApiOperation("优质客户名单") @RequestMapping("/excellentList") - public ReturnDTO>> customerExcellentList() { - return customerWorkbenchService.customerExcellentList(); + public ReturnDTO customerExcellentList() { + return ReturnUtil.success(customerWorkbenchService.customerExcellentList()); } } diff --git a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml index 0f59d8e..b0d7272 100644 --- a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml @@ -11,7 +11,7 @@ AND is_del=0 GROUP BY create_time ) sampleInfo - GROUP BY create_time + GROUP BY increaseTime diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java new file mode 100644 index 0000000..bfbc41b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.customer; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class WorkbenceTrendResponse { + + @ApiModelProperty(value = "日期(月份)", dataType = "String") + private String Date; + + @ApiModelProperty(value = "累计值", dataType = "String") + private String count; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9e224b3..3e46642 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -42,5 +42,4 @@ @TableField("sample_status") private String sampleStatus; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java index 81dc9da..947f87a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,64 +18,80 @@ @Data @TableName("customer_advice_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerAdviceInfo implements Serializable { private static final long serialVersionUID = 1L; private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "反馈编号",order = 0) private String adviceNo; @ApiModelProperty(value = "投诉类型-字典", dataType = "String") private String adviceClass; - @ApiModelProperty(value = "投诉类型", dataType = "String") + @ApiModelProperty(value = "投诉类别", dataType = "String") @DictCodeField(message = "投诉类型描述不合法", cacheName = MeterDictCode.ADVICE_TYPE) private String adviceType; @TableField(exist = false) @ApiModelProperty(value = "投诉类型名称", dataType = "String") + @ExcelProperty(value = "投诉类别",order = 1) private String adviceTypeName; @ApiModelProperty(value = "投诉人", dataType = "String") + @ExcelProperty(value = "投诉人",order = 2) private String advicePerson; @ApiModelProperty(value = "投诉人联系方式", dataType = "String") + @ExcelProperty(value = "投诉人联系方式",order = 3) private String personPhone; @ApiModelProperty(value = "客户编号", dataType = "String") + @ExcelProperty(value = "客户编号",order = 4) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 5) private String customerName; @ApiModelProperty(value = "客户id", dataType = "String") private Long customerId; @ApiModelProperty(value = "投诉内容", dataType = "String") + @ExcelProperty(value = "投诉内容",order = 6) private String content; @ApiModelProperty(value = "处置状态-0未处置,1已处置", dataType = "String") - private String handleStatus; //投诉人联系方式 + private String handleStatus; @ApiModelProperty(value = "处置意见", dataType = "String") - private String handleMessage; //投诉人联系方式 + @ExcelProperty(value = "处置意见",order = 7) + private String handleMessage; - @ApiModelProperty(value = "创建用户id", dataType = "String") - private Long createUser; //投诉人联系方式 + @ApiModelProperty(value = "创建用户id", dataType = "Long") + private Long createUser; - @ApiModelProperty(value = "编辑用户id", dataType = "String") - private Long updateUser; //投诉人联系方式 + @ApiModelProperty(value = "编辑用户id", dataType = "Long") + private Long updateUser; - @ApiModelProperty(value = "删除标记", dataType = "String") - private Integer isDel; //投诉人联系方式 + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; @ApiModelProperty(value = "投诉时间", dataType = "String") - private String adviceTime; //投诉人联系方式 + @ExcelProperty(value = "投诉时间",order = 8) + private String adviceTime; @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; //投诉人联系方式 + @ExcelProperty(value = "创建时间",order = 9) + private String createTime; - @ApiModelProperty(value = "创建时间", dataType = "String") - private String updateTime; //投诉人联系方式 + @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order = 10) + private String updateTime; } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 4e02809..c59faa6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -11,10 +11,8 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.customer.CustomerService; @@ -72,7 +70,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return customerService.customerDetail(idDTO.getId()); + return ReturnUtil.success(customerService.customerDetail(idDTO.getId())); } @ApiOperation("根据客户id查询样品记录-分页") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java index a42dc64..7747976 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java @@ -1,6 +1,8 @@ package com.casic.missiles.controller.customer; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.service.customer.CustomerWorkbenchService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -8,9 +10,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; - @Api(tags = "客户工作台资源") @RestController @RequestMapping("/customer/workbench") @@ -21,25 +20,25 @@ @ApiOperation("样品新增趋势") @RequestMapping("/sample/increaseTrend") - public ReturnDTO>> increaseTrend() { - return customerWorkbenchService.sampleIncreaseTrend(); + public ReturnDTO increaseTrend() { + return ReturnUtil.success(customerWorkbenchService.sampleIncreaseTrend()); } @ApiOperation("样品到期趋势") @RequestMapping("/sample/expireTrend") - public ReturnDTO>> querySampleExpireTrend() { - return customerWorkbenchService.querySampleExpireTrend(); + public ReturnDTOquerySampleExpireTrend() { + return ReturnUtil.success(customerWorkbenchService.querySampleExpireTrend()); } @ApiOperation("客户新增趋势") @RequestMapping("/increaseTrend") - public ReturnDTO>> customerIncreaseTrend() { - return customerWorkbenchService.customerIncreaseTrend(); + public ReturnDTO customerIncreaseTrend() { + return ReturnUtil.success(customerWorkbenchService.customerIncreaseTrend()); } @ApiOperation("优质客户名单") @RequestMapping("/excellentList") - public ReturnDTO>> customerExcellentList() { - return customerWorkbenchService.customerExcellentList(); + public ReturnDTO customerExcellentList() { + return ReturnUtil.success(customerWorkbenchService.customerExcellentList()); } } diff --git a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml index 0f59d8e..b0d7272 100644 --- a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml @@ -11,7 +11,7 @@ AND is_del=0 GROUP BY create_time ) sampleInfo - GROUP BY create_time + GROUP BY increaseTime diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java new file mode 100644 index 0000000..bfbc41b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.customer; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class WorkbenceTrendResponse { + + @ApiModelProperty(value = "日期(月份)", dataType = "String") + private String Date; + + @ApiModelProperty(value = "累计值", dataType = "String") + private String count; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9e224b3..3e46642 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -42,5 +42,4 @@ @TableField("sample_status") private String sampleStatus; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java index 81dc9da..947f87a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,64 +18,80 @@ @Data @TableName("customer_advice_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerAdviceInfo implements Serializable { private static final long serialVersionUID = 1L; private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "反馈编号",order = 0) private String adviceNo; @ApiModelProperty(value = "投诉类型-字典", dataType = "String") private String adviceClass; - @ApiModelProperty(value = "投诉类型", dataType = "String") + @ApiModelProperty(value = "投诉类别", dataType = "String") @DictCodeField(message = "投诉类型描述不合法", cacheName = MeterDictCode.ADVICE_TYPE) private String adviceType; @TableField(exist = false) @ApiModelProperty(value = "投诉类型名称", dataType = "String") + @ExcelProperty(value = "投诉类别",order = 1) private String adviceTypeName; @ApiModelProperty(value = "投诉人", dataType = "String") + @ExcelProperty(value = "投诉人",order = 2) private String advicePerson; @ApiModelProperty(value = "投诉人联系方式", dataType = "String") + @ExcelProperty(value = "投诉人联系方式",order = 3) private String personPhone; @ApiModelProperty(value = "客户编号", dataType = "String") + @ExcelProperty(value = "客户编号",order = 4) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 5) private String customerName; @ApiModelProperty(value = "客户id", dataType = "String") private Long customerId; @ApiModelProperty(value = "投诉内容", dataType = "String") + @ExcelProperty(value = "投诉内容",order = 6) private String content; @ApiModelProperty(value = "处置状态-0未处置,1已处置", dataType = "String") - private String handleStatus; //投诉人联系方式 + private String handleStatus; @ApiModelProperty(value = "处置意见", dataType = "String") - private String handleMessage; //投诉人联系方式 + @ExcelProperty(value = "处置意见",order = 7) + private String handleMessage; - @ApiModelProperty(value = "创建用户id", dataType = "String") - private Long createUser; //投诉人联系方式 + @ApiModelProperty(value = "创建用户id", dataType = "Long") + private Long createUser; - @ApiModelProperty(value = "编辑用户id", dataType = "String") - private Long updateUser; //投诉人联系方式 + @ApiModelProperty(value = "编辑用户id", dataType = "Long") + private Long updateUser; - @ApiModelProperty(value = "删除标记", dataType = "String") - private Integer isDel; //投诉人联系方式 + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; @ApiModelProperty(value = "投诉时间", dataType = "String") - private String adviceTime; //投诉人联系方式 + @ExcelProperty(value = "投诉时间",order = 8) + private String adviceTime; @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; //投诉人联系方式 + @ExcelProperty(value = "创建时间",order = 9) + private String createTime; - @ApiModelProperty(value = "创建时间", dataType = "String") - private String updateTime; //投诉人联系方式 + @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order = 10) + private String updateTime; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java index 94ac9e3..068bf49 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,7 +18,12 @@ import java.util.List; @Data -@TableName("customer_info ") +@TableName("customer_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -19,48 +31,63 @@ private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "编号",order = 0) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 1) private String customerName; @ApiModelProperty(value = "公司简称", dataType = "String") + @ExcelProperty(value = "公司简称",order = 2) private String briefName; @ApiModelProperty(value = "业务内容", dataType = "String") + @ExcelProperty(value = "业务内容",order = 3) private String businessContent; @ApiModelProperty(value = "税号", dataType = "String") + @ExcelProperty(value = "税号",order = 4) private String taxNumber; @ApiModelProperty(value = "银行账户名", dataType = "String") + @ExcelProperty(value = "银行账户名",order = 5) private String bankAccount; @ApiModelProperty(value = "银行名称", dataType = "String") + @ExcelProperty(value = "银行名称",order = 6) private String bankName; @ApiModelProperty(value = "银行账号", dataType = "String") + @ExcelProperty(value = "银行账号",order = 7) private String bankAccountNumber; @ApiModelProperty(value = "邮编", dataType = "String") + @ExcelProperty(value = "邮编",order = 8) private String postalCode; @ApiModelProperty(value = "负责人", dataType = "String") + @ExcelProperty(value = "负责人",order = 9) private String director; @ApiModelProperty(value = "电话", dataType = "String") + @ExcelProperty(value = "电话",order = 10) private String phone; @ApiModelProperty(value = "传真", dataType = "String") + @ExcelProperty(value = "电话",order = 11) private String fax; @ApiModelProperty(value = "手机", dataType = "String") + @ExcelProperty(value = "手机",order = 12) private String mobile; @ApiModelProperty(value = "邮箱", dataType = "String") + @ExcelProperty(value = "邮箱",order = 13) private String email; @ApiModelProperty(value = "网址", dataType = "String") + @ExcelProperty(value = "网址",order =14) private String website; @ApiModelProperty(value = "履约评级-字典", dataType = "String") @@ -103,6 +130,7 @@ private String addressArea; @ApiModelProperty(value = "公司地址-详细地址", dataType = "String") + @ExcelProperty(value = "详细地址",order =15) private String fullAddress; @ApiModelProperty(value = "公司地址-国家名字", dataType = "String") @@ -145,6 +173,7 @@ private String invoiceAreaName; @ApiModelProperty(value = "业务范围", dataType = "String") + @ExcelProperty(value = "业务范围",order =16) private String businessScope; @ApiModelProperty(value = "minio存储文件名", dataType = "String") @@ -163,9 +192,11 @@ private Integer isDel; @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间",order =17) private String createTime; @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order =18) private String updateTime; @TableField(exist = false) diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 4e02809..c59faa6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -11,10 +11,8 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.customer.CustomerService; @@ -72,7 +70,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return customerService.customerDetail(idDTO.getId()); + return ReturnUtil.success(customerService.customerDetail(idDTO.getId())); } @ApiOperation("根据客户id查询样品记录-分页") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java index a42dc64..7747976 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java @@ -1,6 +1,8 @@ package com.casic.missiles.controller.customer; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.service.customer.CustomerWorkbenchService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -8,9 +10,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; - @Api(tags = "客户工作台资源") @RestController @RequestMapping("/customer/workbench") @@ -21,25 +20,25 @@ @ApiOperation("样品新增趋势") @RequestMapping("/sample/increaseTrend") - public ReturnDTO>> increaseTrend() { - return customerWorkbenchService.sampleIncreaseTrend(); + public ReturnDTO increaseTrend() { + return ReturnUtil.success(customerWorkbenchService.sampleIncreaseTrend()); } @ApiOperation("样品到期趋势") @RequestMapping("/sample/expireTrend") - public ReturnDTO>> querySampleExpireTrend() { - return customerWorkbenchService.querySampleExpireTrend(); + public ReturnDTOquerySampleExpireTrend() { + return ReturnUtil.success(customerWorkbenchService.querySampleExpireTrend()); } @ApiOperation("客户新增趋势") @RequestMapping("/increaseTrend") - public ReturnDTO>> customerIncreaseTrend() { - return customerWorkbenchService.customerIncreaseTrend(); + public ReturnDTO customerIncreaseTrend() { + return ReturnUtil.success(customerWorkbenchService.customerIncreaseTrend()); } @ApiOperation("优质客户名单") @RequestMapping("/excellentList") - public ReturnDTO>> customerExcellentList() { - return customerWorkbenchService.customerExcellentList(); + public ReturnDTO customerExcellentList() { + return ReturnUtil.success(customerWorkbenchService.customerExcellentList()); } } diff --git a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml index 0f59d8e..b0d7272 100644 --- a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml @@ -11,7 +11,7 @@ AND is_del=0 GROUP BY create_time ) sampleInfo - GROUP BY create_time + GROUP BY increaseTime diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java new file mode 100644 index 0000000..bfbc41b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.customer; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class WorkbenceTrendResponse { + + @ApiModelProperty(value = "日期(月份)", dataType = "String") + private String Date; + + @ApiModelProperty(value = "累计值", dataType = "String") + private String count; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9e224b3..3e46642 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -42,5 +42,4 @@ @TableField("sample_status") private String sampleStatus; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java index 81dc9da..947f87a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,64 +18,80 @@ @Data @TableName("customer_advice_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerAdviceInfo implements Serializable { private static final long serialVersionUID = 1L; private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "反馈编号",order = 0) private String adviceNo; @ApiModelProperty(value = "投诉类型-字典", dataType = "String") private String adviceClass; - @ApiModelProperty(value = "投诉类型", dataType = "String") + @ApiModelProperty(value = "投诉类别", dataType = "String") @DictCodeField(message = "投诉类型描述不合法", cacheName = MeterDictCode.ADVICE_TYPE) private String adviceType; @TableField(exist = false) @ApiModelProperty(value = "投诉类型名称", dataType = "String") + @ExcelProperty(value = "投诉类别",order = 1) private String adviceTypeName; @ApiModelProperty(value = "投诉人", dataType = "String") + @ExcelProperty(value = "投诉人",order = 2) private String advicePerson; @ApiModelProperty(value = "投诉人联系方式", dataType = "String") + @ExcelProperty(value = "投诉人联系方式",order = 3) private String personPhone; @ApiModelProperty(value = "客户编号", dataType = "String") + @ExcelProperty(value = "客户编号",order = 4) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 5) private String customerName; @ApiModelProperty(value = "客户id", dataType = "String") private Long customerId; @ApiModelProperty(value = "投诉内容", dataType = "String") + @ExcelProperty(value = "投诉内容",order = 6) private String content; @ApiModelProperty(value = "处置状态-0未处置,1已处置", dataType = "String") - private String handleStatus; //投诉人联系方式 + private String handleStatus; @ApiModelProperty(value = "处置意见", dataType = "String") - private String handleMessage; //投诉人联系方式 + @ExcelProperty(value = "处置意见",order = 7) + private String handleMessage; - @ApiModelProperty(value = "创建用户id", dataType = "String") - private Long createUser; //投诉人联系方式 + @ApiModelProperty(value = "创建用户id", dataType = "Long") + private Long createUser; - @ApiModelProperty(value = "编辑用户id", dataType = "String") - private Long updateUser; //投诉人联系方式 + @ApiModelProperty(value = "编辑用户id", dataType = "Long") + private Long updateUser; - @ApiModelProperty(value = "删除标记", dataType = "String") - private Integer isDel; //投诉人联系方式 + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; @ApiModelProperty(value = "投诉时间", dataType = "String") - private String adviceTime; //投诉人联系方式 + @ExcelProperty(value = "投诉时间",order = 8) + private String adviceTime; @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; //投诉人联系方式 + @ExcelProperty(value = "创建时间",order = 9) + private String createTime; - @ApiModelProperty(value = "创建时间", dataType = "String") - private String updateTime; //投诉人联系方式 + @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order = 10) + private String updateTime; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java index 94ac9e3..068bf49 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,7 +18,12 @@ import java.util.List; @Data -@TableName("customer_info ") +@TableName("customer_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -19,48 +31,63 @@ private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "编号",order = 0) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 1) private String customerName; @ApiModelProperty(value = "公司简称", dataType = "String") + @ExcelProperty(value = "公司简称",order = 2) private String briefName; @ApiModelProperty(value = "业务内容", dataType = "String") + @ExcelProperty(value = "业务内容",order = 3) private String businessContent; @ApiModelProperty(value = "税号", dataType = "String") + @ExcelProperty(value = "税号",order = 4) private String taxNumber; @ApiModelProperty(value = "银行账户名", dataType = "String") + @ExcelProperty(value = "银行账户名",order = 5) private String bankAccount; @ApiModelProperty(value = "银行名称", dataType = "String") + @ExcelProperty(value = "银行名称",order = 6) private String bankName; @ApiModelProperty(value = "银行账号", dataType = "String") + @ExcelProperty(value = "银行账号",order = 7) private String bankAccountNumber; @ApiModelProperty(value = "邮编", dataType = "String") + @ExcelProperty(value = "邮编",order = 8) private String postalCode; @ApiModelProperty(value = "负责人", dataType = "String") + @ExcelProperty(value = "负责人",order = 9) private String director; @ApiModelProperty(value = "电话", dataType = "String") + @ExcelProperty(value = "电话",order = 10) private String phone; @ApiModelProperty(value = "传真", dataType = "String") + @ExcelProperty(value = "电话",order = 11) private String fax; @ApiModelProperty(value = "手机", dataType = "String") + @ExcelProperty(value = "手机",order = 12) private String mobile; @ApiModelProperty(value = "邮箱", dataType = "String") + @ExcelProperty(value = "邮箱",order = 13) private String email; @ApiModelProperty(value = "网址", dataType = "String") + @ExcelProperty(value = "网址",order =14) private String website; @ApiModelProperty(value = "履约评级-字典", dataType = "String") @@ -103,6 +130,7 @@ private String addressArea; @ApiModelProperty(value = "公司地址-详细地址", dataType = "String") + @ExcelProperty(value = "详细地址",order =15) private String fullAddress; @ApiModelProperty(value = "公司地址-国家名字", dataType = "String") @@ -145,6 +173,7 @@ private String invoiceAreaName; @ApiModelProperty(value = "业务范围", dataType = "String") + @ExcelProperty(value = "业务范围",order =16) private String businessScope; @ApiModelProperty(value = "minio存储文件名", dataType = "String") @@ -163,9 +192,11 @@ private Integer isDel; @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间",order =17) private String createTime; @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order =18) private String updateTime; @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index c12ec97..91b8097 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -17,6 +17,7 @@ private Long id; + @TableField(exist = false) @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; @@ -94,7 +95,7 @@ @ApiModelProperty(value = "标签绑定", dataType = "String") private String labelBind; - @ApiModelProperty(value = "删除标记", dataType = "String") + @ApiModelProperty(value = "删除标记", dataType = "Integer") private Integer isDel; @ApiModelProperty(value = "创建人", dataType = "String") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 4e02809..c59faa6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -11,10 +11,8 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.customer.CustomerService; @@ -72,7 +70,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return customerService.customerDetail(idDTO.getId()); + return ReturnUtil.success(customerService.customerDetail(idDTO.getId())); } @ApiOperation("根据客户id查询样品记录-分页") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java index a42dc64..7747976 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java @@ -1,6 +1,8 @@ package com.casic.missiles.controller.customer; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.service.customer.CustomerWorkbenchService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -8,9 +10,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; - @Api(tags = "客户工作台资源") @RestController @RequestMapping("/customer/workbench") @@ -21,25 +20,25 @@ @ApiOperation("样品新增趋势") @RequestMapping("/sample/increaseTrend") - public ReturnDTO>> increaseTrend() { - return customerWorkbenchService.sampleIncreaseTrend(); + public ReturnDTO increaseTrend() { + return ReturnUtil.success(customerWorkbenchService.sampleIncreaseTrend()); } @ApiOperation("样品到期趋势") @RequestMapping("/sample/expireTrend") - public ReturnDTO>> querySampleExpireTrend() { - return customerWorkbenchService.querySampleExpireTrend(); + public ReturnDTOquerySampleExpireTrend() { + return ReturnUtil.success(customerWorkbenchService.querySampleExpireTrend()); } @ApiOperation("客户新增趋势") @RequestMapping("/increaseTrend") - public ReturnDTO>> customerIncreaseTrend() { - return customerWorkbenchService.customerIncreaseTrend(); + public ReturnDTO customerIncreaseTrend() { + return ReturnUtil.success(customerWorkbenchService.customerIncreaseTrend()); } @ApiOperation("优质客户名单") @RequestMapping("/excellentList") - public ReturnDTO>> customerExcellentList() { - return customerWorkbenchService.customerExcellentList(); + public ReturnDTO customerExcellentList() { + return ReturnUtil.success(customerWorkbenchService.customerExcellentList()); } } diff --git a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml index 0f59d8e..b0d7272 100644 --- a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml @@ -11,7 +11,7 @@ AND is_del=0 GROUP BY create_time ) sampleInfo - GROUP BY create_time + GROUP BY increaseTime diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java new file mode 100644 index 0000000..bfbc41b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.customer; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class WorkbenceTrendResponse { + + @ApiModelProperty(value = "日期(月份)", dataType = "String") + private String Date; + + @ApiModelProperty(value = "累计值", dataType = "String") + private String count; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9e224b3..3e46642 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -42,5 +42,4 @@ @TableField("sample_status") private String sampleStatus; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java index 81dc9da..947f87a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,64 +18,80 @@ @Data @TableName("customer_advice_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerAdviceInfo implements Serializable { private static final long serialVersionUID = 1L; private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "反馈编号",order = 0) private String adviceNo; @ApiModelProperty(value = "投诉类型-字典", dataType = "String") private String adviceClass; - @ApiModelProperty(value = "投诉类型", dataType = "String") + @ApiModelProperty(value = "投诉类别", dataType = "String") @DictCodeField(message = "投诉类型描述不合法", cacheName = MeterDictCode.ADVICE_TYPE) private String adviceType; @TableField(exist = false) @ApiModelProperty(value = "投诉类型名称", dataType = "String") + @ExcelProperty(value = "投诉类别",order = 1) private String adviceTypeName; @ApiModelProperty(value = "投诉人", dataType = "String") + @ExcelProperty(value = "投诉人",order = 2) private String advicePerson; @ApiModelProperty(value = "投诉人联系方式", dataType = "String") + @ExcelProperty(value = "投诉人联系方式",order = 3) private String personPhone; @ApiModelProperty(value = "客户编号", dataType = "String") + @ExcelProperty(value = "客户编号",order = 4) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 5) private String customerName; @ApiModelProperty(value = "客户id", dataType = "String") private Long customerId; @ApiModelProperty(value = "投诉内容", dataType = "String") + @ExcelProperty(value = "投诉内容",order = 6) private String content; @ApiModelProperty(value = "处置状态-0未处置,1已处置", dataType = "String") - private String handleStatus; //投诉人联系方式 + private String handleStatus; @ApiModelProperty(value = "处置意见", dataType = "String") - private String handleMessage; //投诉人联系方式 + @ExcelProperty(value = "处置意见",order = 7) + private String handleMessage; - @ApiModelProperty(value = "创建用户id", dataType = "String") - private Long createUser; //投诉人联系方式 + @ApiModelProperty(value = "创建用户id", dataType = "Long") + private Long createUser; - @ApiModelProperty(value = "编辑用户id", dataType = "String") - private Long updateUser; //投诉人联系方式 + @ApiModelProperty(value = "编辑用户id", dataType = "Long") + private Long updateUser; - @ApiModelProperty(value = "删除标记", dataType = "String") - private Integer isDel; //投诉人联系方式 + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; @ApiModelProperty(value = "投诉时间", dataType = "String") - private String adviceTime; //投诉人联系方式 + @ExcelProperty(value = "投诉时间",order = 8) + private String adviceTime; @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; //投诉人联系方式 + @ExcelProperty(value = "创建时间",order = 9) + private String createTime; - @ApiModelProperty(value = "创建时间", dataType = "String") - private String updateTime; //投诉人联系方式 + @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order = 10) + private String updateTime; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java index 94ac9e3..068bf49 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,7 +18,12 @@ import java.util.List; @Data -@TableName("customer_info ") +@TableName("customer_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -19,48 +31,63 @@ private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "编号",order = 0) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 1) private String customerName; @ApiModelProperty(value = "公司简称", dataType = "String") + @ExcelProperty(value = "公司简称",order = 2) private String briefName; @ApiModelProperty(value = "业务内容", dataType = "String") + @ExcelProperty(value = "业务内容",order = 3) private String businessContent; @ApiModelProperty(value = "税号", dataType = "String") + @ExcelProperty(value = "税号",order = 4) private String taxNumber; @ApiModelProperty(value = "银行账户名", dataType = "String") + @ExcelProperty(value = "银行账户名",order = 5) private String bankAccount; @ApiModelProperty(value = "银行名称", dataType = "String") + @ExcelProperty(value = "银行名称",order = 6) private String bankName; @ApiModelProperty(value = "银行账号", dataType = "String") + @ExcelProperty(value = "银行账号",order = 7) private String bankAccountNumber; @ApiModelProperty(value = "邮编", dataType = "String") + @ExcelProperty(value = "邮编",order = 8) private String postalCode; @ApiModelProperty(value = "负责人", dataType = "String") + @ExcelProperty(value = "负责人",order = 9) private String director; @ApiModelProperty(value = "电话", dataType = "String") + @ExcelProperty(value = "电话",order = 10) private String phone; @ApiModelProperty(value = "传真", dataType = "String") + @ExcelProperty(value = "电话",order = 11) private String fax; @ApiModelProperty(value = "手机", dataType = "String") + @ExcelProperty(value = "手机",order = 12) private String mobile; @ApiModelProperty(value = "邮箱", dataType = "String") + @ExcelProperty(value = "邮箱",order = 13) private String email; @ApiModelProperty(value = "网址", dataType = "String") + @ExcelProperty(value = "网址",order =14) private String website; @ApiModelProperty(value = "履约评级-字典", dataType = "String") @@ -103,6 +130,7 @@ private String addressArea; @ApiModelProperty(value = "公司地址-详细地址", dataType = "String") + @ExcelProperty(value = "详细地址",order =15) private String fullAddress; @ApiModelProperty(value = "公司地址-国家名字", dataType = "String") @@ -145,6 +173,7 @@ private String invoiceAreaName; @ApiModelProperty(value = "业务范围", dataType = "String") + @ExcelProperty(value = "业务范围",order =16) private String businessScope; @ApiModelProperty(value = "minio存储文件名", dataType = "String") @@ -163,9 +192,11 @@ private Integer isDel; @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间",order =17) private String createTime; @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order =18) private String updateTime; @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index c12ec97..91b8097 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -17,6 +17,7 @@ private Long id; + @TableField(exist = false) @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; @@ -94,7 +95,7 @@ @ApiModelProperty(value = "标签绑定", dataType = "String") private String labelBind; - @ApiModelProperty(value = "删除标记", dataType = "String") + @ApiModelProperty(value = "删除标记", dataType = "Integer") private Integer isDel; @ApiModelProperty(value = "创建人", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java index 211e8d8..5208fb4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 4e02809..c59faa6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -11,10 +11,8 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.customer.CustomerService; @@ -72,7 +70,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return customerService.customerDetail(idDTO.getId()); + return ReturnUtil.success(customerService.customerDetail(idDTO.getId())); } @ApiOperation("根据客户id查询样品记录-分页") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java index a42dc64..7747976 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java @@ -1,6 +1,8 @@ package com.casic.missiles.controller.customer; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.service.customer.CustomerWorkbenchService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -8,9 +10,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; - @Api(tags = "客户工作台资源") @RestController @RequestMapping("/customer/workbench") @@ -21,25 +20,25 @@ @ApiOperation("样品新增趋势") @RequestMapping("/sample/increaseTrend") - public ReturnDTO>> increaseTrend() { - return customerWorkbenchService.sampleIncreaseTrend(); + public ReturnDTO increaseTrend() { + return ReturnUtil.success(customerWorkbenchService.sampleIncreaseTrend()); } @ApiOperation("样品到期趋势") @RequestMapping("/sample/expireTrend") - public ReturnDTO>> querySampleExpireTrend() { - return customerWorkbenchService.querySampleExpireTrend(); + public ReturnDTOquerySampleExpireTrend() { + return ReturnUtil.success(customerWorkbenchService.querySampleExpireTrend()); } @ApiOperation("客户新增趋势") @RequestMapping("/increaseTrend") - public ReturnDTO>> customerIncreaseTrend() { - return customerWorkbenchService.customerIncreaseTrend(); + public ReturnDTO customerIncreaseTrend() { + return ReturnUtil.success(customerWorkbenchService.customerIncreaseTrend()); } @ApiOperation("优质客户名单") @RequestMapping("/excellentList") - public ReturnDTO>> customerExcellentList() { - return customerWorkbenchService.customerExcellentList(); + public ReturnDTO customerExcellentList() { + return ReturnUtil.success(customerWorkbenchService.customerExcellentList()); } } diff --git a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml index 0f59d8e..b0d7272 100644 --- a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml @@ -11,7 +11,7 @@ AND is_del=0 GROUP BY create_time ) sampleInfo - GROUP BY create_time + GROUP BY increaseTime diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java new file mode 100644 index 0000000..bfbc41b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.customer; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class WorkbenceTrendResponse { + + @ApiModelProperty(value = "日期(月份)", dataType = "String") + private String Date; + + @ApiModelProperty(value = "累计值", dataType = "String") + private String count; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9e224b3..3e46642 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -42,5 +42,4 @@ @TableField("sample_status") private String sampleStatus; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java index 81dc9da..947f87a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,64 +18,80 @@ @Data @TableName("customer_advice_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerAdviceInfo implements Serializable { private static final long serialVersionUID = 1L; private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "反馈编号",order = 0) private String adviceNo; @ApiModelProperty(value = "投诉类型-字典", dataType = "String") private String adviceClass; - @ApiModelProperty(value = "投诉类型", dataType = "String") + @ApiModelProperty(value = "投诉类别", dataType = "String") @DictCodeField(message = "投诉类型描述不合法", cacheName = MeterDictCode.ADVICE_TYPE) private String adviceType; @TableField(exist = false) @ApiModelProperty(value = "投诉类型名称", dataType = "String") + @ExcelProperty(value = "投诉类别",order = 1) private String adviceTypeName; @ApiModelProperty(value = "投诉人", dataType = "String") + @ExcelProperty(value = "投诉人",order = 2) private String advicePerson; @ApiModelProperty(value = "投诉人联系方式", dataType = "String") + @ExcelProperty(value = "投诉人联系方式",order = 3) private String personPhone; @ApiModelProperty(value = "客户编号", dataType = "String") + @ExcelProperty(value = "客户编号",order = 4) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 5) private String customerName; @ApiModelProperty(value = "客户id", dataType = "String") private Long customerId; @ApiModelProperty(value = "投诉内容", dataType = "String") + @ExcelProperty(value = "投诉内容",order = 6) private String content; @ApiModelProperty(value = "处置状态-0未处置,1已处置", dataType = "String") - private String handleStatus; //投诉人联系方式 + private String handleStatus; @ApiModelProperty(value = "处置意见", dataType = "String") - private String handleMessage; //投诉人联系方式 + @ExcelProperty(value = "处置意见",order = 7) + private String handleMessage; - @ApiModelProperty(value = "创建用户id", dataType = "String") - private Long createUser; //投诉人联系方式 + @ApiModelProperty(value = "创建用户id", dataType = "Long") + private Long createUser; - @ApiModelProperty(value = "编辑用户id", dataType = "String") - private Long updateUser; //投诉人联系方式 + @ApiModelProperty(value = "编辑用户id", dataType = "Long") + private Long updateUser; - @ApiModelProperty(value = "删除标记", dataType = "String") - private Integer isDel; //投诉人联系方式 + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; @ApiModelProperty(value = "投诉时间", dataType = "String") - private String adviceTime; //投诉人联系方式 + @ExcelProperty(value = "投诉时间",order = 8) + private String adviceTime; @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; //投诉人联系方式 + @ExcelProperty(value = "创建时间",order = 9) + private String createTime; - @ApiModelProperty(value = "创建时间", dataType = "String") - private String updateTime; //投诉人联系方式 + @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order = 10) + private String updateTime; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java index 94ac9e3..068bf49 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,7 +18,12 @@ import java.util.List; @Data -@TableName("customer_info ") +@TableName("customer_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -19,48 +31,63 @@ private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "编号",order = 0) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 1) private String customerName; @ApiModelProperty(value = "公司简称", dataType = "String") + @ExcelProperty(value = "公司简称",order = 2) private String briefName; @ApiModelProperty(value = "业务内容", dataType = "String") + @ExcelProperty(value = "业务内容",order = 3) private String businessContent; @ApiModelProperty(value = "税号", dataType = "String") + @ExcelProperty(value = "税号",order = 4) private String taxNumber; @ApiModelProperty(value = "银行账户名", dataType = "String") + @ExcelProperty(value = "银行账户名",order = 5) private String bankAccount; @ApiModelProperty(value = "银行名称", dataType = "String") + @ExcelProperty(value = "银行名称",order = 6) private String bankName; @ApiModelProperty(value = "银行账号", dataType = "String") + @ExcelProperty(value = "银行账号",order = 7) private String bankAccountNumber; @ApiModelProperty(value = "邮编", dataType = "String") + @ExcelProperty(value = "邮编",order = 8) private String postalCode; @ApiModelProperty(value = "负责人", dataType = "String") + @ExcelProperty(value = "负责人",order = 9) private String director; @ApiModelProperty(value = "电话", dataType = "String") + @ExcelProperty(value = "电话",order = 10) private String phone; @ApiModelProperty(value = "传真", dataType = "String") + @ExcelProperty(value = "电话",order = 11) private String fax; @ApiModelProperty(value = "手机", dataType = "String") + @ExcelProperty(value = "手机",order = 12) private String mobile; @ApiModelProperty(value = "邮箱", dataType = "String") + @ExcelProperty(value = "邮箱",order = 13) private String email; @ApiModelProperty(value = "网址", dataType = "String") + @ExcelProperty(value = "网址",order =14) private String website; @ApiModelProperty(value = "履约评级-字典", dataType = "String") @@ -103,6 +130,7 @@ private String addressArea; @ApiModelProperty(value = "公司地址-详细地址", dataType = "String") + @ExcelProperty(value = "详细地址",order =15) private String fullAddress; @ApiModelProperty(value = "公司地址-国家名字", dataType = "String") @@ -145,6 +173,7 @@ private String invoiceAreaName; @ApiModelProperty(value = "业务范围", dataType = "String") + @ExcelProperty(value = "业务范围",order =16) private String businessScope; @ApiModelProperty(value = "minio存储文件名", dataType = "String") @@ -163,9 +192,11 @@ private Integer isDel; @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间",order =17) private String createTime; @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order =18) private String updateTime; @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index c12ec97..91b8097 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -17,6 +17,7 @@ private Long id; + @TableField(exist = false) @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; @@ -94,7 +95,7 @@ @ApiModelProperty(value = "标签绑定", dataType = "String") private String labelBind; - @ApiModelProperty(value = "删除标记", dataType = "String") + @ApiModelProperty(value = "删除标记", dataType = "Integer") private Integer isDel; @ApiModelProperty(value = "创建人", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java index 211e8d8..5208fb4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 184a15e..aa4c681 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.customer; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; @@ -9,7 +8,9 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.service.customer.CustomerAdviceService; @@ -49,25 +50,21 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - try { - customerAdviceMapper.updateById(customerAdviceInfo); + Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + if (updateFlag > 0) { return ReturnUtil.success(); - } catch (Exception daex) { - log.error("客户投诉更新异常,客户信息{},异常信息{}", JSONObject.toJSON(customerAdviceInfo), daex.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { - try { - initCustomerAdviceInfo(customerAdviceInfo); - customerAdviceMapper.insert(customerAdviceInfo); + initCustomerAdviceInfo(customerAdviceInfo); + Integer addFlag=customerAdviceMapper.insert(customerAdviceInfo); + if (addFlag > 0) { return ReturnUtil.success(); - } catch (Exception daex) { - log.error("客户投诉新增异常,客户信息{},异常信息{}", JSONObject.toJSON(customerAdviceInfo), daex.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override @@ -75,9 +72,12 @@ try { QueryWrapper wrapper = listParamWrapper(request); List customerAdviceList = customerAdviceMapper.selectList(wrapper); + for (CustomerAdviceInfo customerAdviceInfo : customerAdviceList) { + DictCodeUtils.convertDictCodeToName(customerAdviceInfo); + } iBaseExportService.exportExcel(response, CustomerAdviceInfo.class, customerAdviceList, ExportEnum.ADVICE_EXPORT.getSheetName()); } catch (Exception e) { - e.printStackTrace(); + log.error("客户投诉导出出现异常,异常信息为{}",e); } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 4e02809..c59faa6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -11,10 +11,8 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.customer.CustomerService; @@ -72,7 +70,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return customerService.customerDetail(idDTO.getId()); + return ReturnUtil.success(customerService.customerDetail(idDTO.getId())); } @ApiOperation("根据客户id查询样品记录-分页") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java index a42dc64..7747976 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java @@ -1,6 +1,8 @@ package com.casic.missiles.controller.customer; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.service.customer.CustomerWorkbenchService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -8,9 +10,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; - @Api(tags = "客户工作台资源") @RestController @RequestMapping("/customer/workbench") @@ -21,25 +20,25 @@ @ApiOperation("样品新增趋势") @RequestMapping("/sample/increaseTrend") - public ReturnDTO>> increaseTrend() { - return customerWorkbenchService.sampleIncreaseTrend(); + public ReturnDTO increaseTrend() { + return ReturnUtil.success(customerWorkbenchService.sampleIncreaseTrend()); } @ApiOperation("样品到期趋势") @RequestMapping("/sample/expireTrend") - public ReturnDTO>> querySampleExpireTrend() { - return customerWorkbenchService.querySampleExpireTrend(); + public ReturnDTOquerySampleExpireTrend() { + return ReturnUtil.success(customerWorkbenchService.querySampleExpireTrend()); } @ApiOperation("客户新增趋势") @RequestMapping("/increaseTrend") - public ReturnDTO>> customerIncreaseTrend() { - return customerWorkbenchService.customerIncreaseTrend(); + public ReturnDTO customerIncreaseTrend() { + return ReturnUtil.success(customerWorkbenchService.customerIncreaseTrend()); } @ApiOperation("优质客户名单") @RequestMapping("/excellentList") - public ReturnDTO>> customerExcellentList() { - return customerWorkbenchService.customerExcellentList(); + public ReturnDTO customerExcellentList() { + return ReturnUtil.success(customerWorkbenchService.customerExcellentList()); } } diff --git a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml index 0f59d8e..b0d7272 100644 --- a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml @@ -11,7 +11,7 @@ AND is_del=0 GROUP BY create_time ) sampleInfo - GROUP BY create_time + GROUP BY increaseTime diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java new file mode 100644 index 0000000..bfbc41b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.customer; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class WorkbenceTrendResponse { + + @ApiModelProperty(value = "日期(月份)", dataType = "String") + private String Date; + + @ApiModelProperty(value = "累计值", dataType = "String") + private String count; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9e224b3..3e46642 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -42,5 +42,4 @@ @TableField("sample_status") private String sampleStatus; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java index 81dc9da..947f87a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,64 +18,80 @@ @Data @TableName("customer_advice_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerAdviceInfo implements Serializable { private static final long serialVersionUID = 1L; private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "反馈编号",order = 0) private String adviceNo; @ApiModelProperty(value = "投诉类型-字典", dataType = "String") private String adviceClass; - @ApiModelProperty(value = "投诉类型", dataType = "String") + @ApiModelProperty(value = "投诉类别", dataType = "String") @DictCodeField(message = "投诉类型描述不合法", cacheName = MeterDictCode.ADVICE_TYPE) private String adviceType; @TableField(exist = false) @ApiModelProperty(value = "投诉类型名称", dataType = "String") + @ExcelProperty(value = "投诉类别",order = 1) private String adviceTypeName; @ApiModelProperty(value = "投诉人", dataType = "String") + @ExcelProperty(value = "投诉人",order = 2) private String advicePerson; @ApiModelProperty(value = "投诉人联系方式", dataType = "String") + @ExcelProperty(value = "投诉人联系方式",order = 3) private String personPhone; @ApiModelProperty(value = "客户编号", dataType = "String") + @ExcelProperty(value = "客户编号",order = 4) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 5) private String customerName; @ApiModelProperty(value = "客户id", dataType = "String") private Long customerId; @ApiModelProperty(value = "投诉内容", dataType = "String") + @ExcelProperty(value = "投诉内容",order = 6) private String content; @ApiModelProperty(value = "处置状态-0未处置,1已处置", dataType = "String") - private String handleStatus; //投诉人联系方式 + private String handleStatus; @ApiModelProperty(value = "处置意见", dataType = "String") - private String handleMessage; //投诉人联系方式 + @ExcelProperty(value = "处置意见",order = 7) + private String handleMessage; - @ApiModelProperty(value = "创建用户id", dataType = "String") - private Long createUser; //投诉人联系方式 + @ApiModelProperty(value = "创建用户id", dataType = "Long") + private Long createUser; - @ApiModelProperty(value = "编辑用户id", dataType = "String") - private Long updateUser; //投诉人联系方式 + @ApiModelProperty(value = "编辑用户id", dataType = "Long") + private Long updateUser; - @ApiModelProperty(value = "删除标记", dataType = "String") - private Integer isDel; //投诉人联系方式 + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; @ApiModelProperty(value = "投诉时间", dataType = "String") - private String adviceTime; //投诉人联系方式 + @ExcelProperty(value = "投诉时间",order = 8) + private String adviceTime; @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; //投诉人联系方式 + @ExcelProperty(value = "创建时间",order = 9) + private String createTime; - @ApiModelProperty(value = "创建时间", dataType = "String") - private String updateTime; //投诉人联系方式 + @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order = 10) + private String updateTime; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java index 94ac9e3..068bf49 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,7 +18,12 @@ import java.util.List; @Data -@TableName("customer_info ") +@TableName("customer_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -19,48 +31,63 @@ private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "编号",order = 0) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 1) private String customerName; @ApiModelProperty(value = "公司简称", dataType = "String") + @ExcelProperty(value = "公司简称",order = 2) private String briefName; @ApiModelProperty(value = "业务内容", dataType = "String") + @ExcelProperty(value = "业务内容",order = 3) private String businessContent; @ApiModelProperty(value = "税号", dataType = "String") + @ExcelProperty(value = "税号",order = 4) private String taxNumber; @ApiModelProperty(value = "银行账户名", dataType = "String") + @ExcelProperty(value = "银行账户名",order = 5) private String bankAccount; @ApiModelProperty(value = "银行名称", dataType = "String") + @ExcelProperty(value = "银行名称",order = 6) private String bankName; @ApiModelProperty(value = "银行账号", dataType = "String") + @ExcelProperty(value = "银行账号",order = 7) private String bankAccountNumber; @ApiModelProperty(value = "邮编", dataType = "String") + @ExcelProperty(value = "邮编",order = 8) private String postalCode; @ApiModelProperty(value = "负责人", dataType = "String") + @ExcelProperty(value = "负责人",order = 9) private String director; @ApiModelProperty(value = "电话", dataType = "String") + @ExcelProperty(value = "电话",order = 10) private String phone; @ApiModelProperty(value = "传真", dataType = "String") + @ExcelProperty(value = "电话",order = 11) private String fax; @ApiModelProperty(value = "手机", dataType = "String") + @ExcelProperty(value = "手机",order = 12) private String mobile; @ApiModelProperty(value = "邮箱", dataType = "String") + @ExcelProperty(value = "邮箱",order = 13) private String email; @ApiModelProperty(value = "网址", dataType = "String") + @ExcelProperty(value = "网址",order =14) private String website; @ApiModelProperty(value = "履约评级-字典", dataType = "String") @@ -103,6 +130,7 @@ private String addressArea; @ApiModelProperty(value = "公司地址-详细地址", dataType = "String") + @ExcelProperty(value = "详细地址",order =15) private String fullAddress; @ApiModelProperty(value = "公司地址-国家名字", dataType = "String") @@ -145,6 +173,7 @@ private String invoiceAreaName; @ApiModelProperty(value = "业务范围", dataType = "String") + @ExcelProperty(value = "业务范围",order =16) private String businessScope; @ApiModelProperty(value = "minio存储文件名", dataType = "String") @@ -163,9 +192,11 @@ private Integer isDel; @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间",order =17) private String createTime; @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order =18) private String updateTime; @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index c12ec97..91b8097 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -17,6 +17,7 @@ private Long id; + @TableField(exist = false) @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; @@ -94,7 +95,7 @@ @ApiModelProperty(value = "标签绑定", dataType = "String") private String labelBind; - @ApiModelProperty(value = "删除标记", dataType = "String") + @ApiModelProperty(value = "删除标记", dataType = "Integer") private Integer isDel; @ApiModelProperty(value = "创建人", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java index 211e8d8..5208fb4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 184a15e..aa4c681 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.customer; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; @@ -9,7 +8,9 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.service.customer.CustomerAdviceService; @@ -49,25 +50,21 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - try { - customerAdviceMapper.updateById(customerAdviceInfo); + Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + if (updateFlag > 0) { return ReturnUtil.success(); - } catch (Exception daex) { - log.error("客户投诉更新异常,客户信息{},异常信息{}", JSONObject.toJSON(customerAdviceInfo), daex.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { - try { - initCustomerAdviceInfo(customerAdviceInfo); - customerAdviceMapper.insert(customerAdviceInfo); + initCustomerAdviceInfo(customerAdviceInfo); + Integer addFlag=customerAdviceMapper.insert(customerAdviceInfo); + if (addFlag > 0) { return ReturnUtil.success(); - } catch (Exception daex) { - log.error("客户投诉新增异常,客户信息{},异常信息{}", JSONObject.toJSON(customerAdviceInfo), daex.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override @@ -75,9 +72,12 @@ try { QueryWrapper wrapper = listParamWrapper(request); List customerAdviceList = customerAdviceMapper.selectList(wrapper); + for (CustomerAdviceInfo customerAdviceInfo : customerAdviceList) { + DictCodeUtils.convertDictCodeToName(customerAdviceInfo); + } iBaseExportService.exportExcel(response, CustomerAdviceInfo.class, customerAdviceList, ExportEnum.ADVICE_EXPORT.getSheetName()); } catch (Exception e) { - e.printStackTrace(); + log.error("客户投诉导出出现异常,异常信息为{}",e); } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java index c986d41..fcf6b5b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java @@ -16,19 +16,24 @@ import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; +import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; import com.casic.missiles.service.customer.CustomerSampleService; +import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Optional; @Service @AllArgsConstructor @@ -38,6 +43,7 @@ private final IBaseExportService iBaseExportService; private final CertificationResponseMapper certificationResponseMapper; private final MesureRecordsResponseMapper mesureResponseMapper; + private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override public Page listPage(Page page, CustomerSampleListRequest request) throws Exception { @@ -46,23 +52,29 @@ return customerSamplePage; } + //新增样品表,同时新增样品委托书关联状态表 @Override + @Transactional public ReturnDTO addSample(CustomerSampleInfo customerSampleInfo) { initSample(customerSampleInfo); Integer addFlag = this.baseMapper.insert(customerSampleInfo); - if (addFlag > 0) { + Integer addStatuFlag = sampleStatusCreator(customerSampleInfo.getOrderId(), customerSampleInfo.getId(), customerSampleInfo.getSampleStatus()); + if (addFlag > 0 && addStatuFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + //更新样品表,同时更新样品委托书关联状态表 @Override + @Transactional public ReturnDTO updateSample(CustomerSampleInfo customerSampleInfo) { AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setUpdateUser(authUser.getId()); initSample(customerSampleInfo); Integer updateFlag = this.baseMapper.updateById(customerSampleInfo); - if (updateFlag > 0) { + Integer updateStatuFlag = sampleStatusUpdator(customerSampleInfo.getOrderId(), customerSampleInfo.getId(), customerSampleInfo.getSampleStatus()); + if (updateFlag > 0 && updateStatuFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -71,6 +83,7 @@ @Override public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); + customerSampleInfo.setOrderId(orderBuilder(customerSampleInfo.getId())); return customerSampleInfo; } @@ -79,16 +92,21 @@ try { QueryWrapper wrapper = listParamWrapper(request); List customerSampleList = customerSampleListResponseMapper.selectList(wrapper); + for (CustomerSampleListResponse customerSampleListResponse : customerSampleList) { + DictCodeUtils.convertDictCodeToName(customerSampleListResponse); + } iBaseExportService.exportExcel(response, CustomerSampleListResponse.class, customerSampleList, ExportEnum.SAMPLE_EXPORT.getSheetName()); } catch (Exception e) { - e.printStackTrace(); + log.error("样品导出出现异常,异常信息为{}", e); } } @Override + @Transactional public ReturnDTO deleteSample(Long id) { Integer deleteFalg = this.baseMapper.deleteById(id); - if (deleteFalg > 0) { + Integer deleteStatusFlag = sampleStatusDeletor(id); + if (deleteFalg > 0 && deleteStatusFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -97,19 +115,19 @@ @Override public Page mesureRecordsBySampleId(Long id) { Page page = PageFactory.defaultPage(); - QueryWrapper wrapper=new QueryWrapper() - .eq("sample_id",id); - Page mesureRecordsResponsePage= mesureResponseMapper.selectPage(page,wrapper); + QueryWrapper wrapper = new QueryWrapper() + .eq("sample_id", id); + Page mesureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); return mesureRecordsResponsePage; } @Override public Page certificationBySampleId(Long id) { Page page = PageFactory.defaultPage(); - QueryWrapper wrapper=new QueryWrapper() - .eq("sample_id",id); - Page certificationResponsePage= certificationResponseMapper.selectPage(page,wrapper); - return certificationResponsePage; + QueryWrapper wrapper = new QueryWrapper() + .eq("sample_id", id); + Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); + return certificateResponsePage; } private void initSample(CustomerSampleInfo customerSampleInfo) { @@ -134,8 +152,45 @@ "{0} >= DATE_FORMAT(check_date,'%Y-%m-%d')", request.getStartTime()); queryWrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} <= DATE_FORMAT(check_date,'%Y-%m-%d')", request.getEndTime()); + queryWrapper.eq("is_del",0); queryWrapper.orderByDesc("create_time"); return queryWrapper; } + private Integer sampleStatusCreator(Long id, Long sampleId, String status) { + BusinessOrderSampleRelation sampleStatusRelation = new BusinessOrderSampleRelation(); + sampleStatusRelation.setOrderId(id); + sampleStatusRelation.setSampleId(sampleId); + sampleStatusRelation.setSampleStatus(status); + Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusRelation); + return sampleStatus; + } + + private Integer sampleStatusUpdator(Long orderId, Long sampleId, String status) { + QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() + .eq("sample_id", sampleId) + .eq("order_id", orderId); + BusinessOrderSampleRelation sampleStatusRelation = new BusinessOrderSampleRelation(); + sampleStatusRelation.setOrderId(orderId); + sampleStatusRelation.setSampleId(sampleId); + sampleStatusRelation.setSampleStatus(status); + Integer sampleStatus = this.sampleRelationMapper.update(sampleStatusRelation, sampleStatusRelationWrapper); + return sampleStatus; + } + + private Long orderBuilder(Long sampleId) { + QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() + .eq("sample_id", sampleId); + List sampleStatusList = this.sampleRelationMapper.selectList(sampleStatusRelationWrapper); + Optional optionalSampleRelation = sampleStatusList.stream().findFirst(); + return optionalSampleRelation.isPresent() ? optionalSampleRelation.get().getOrderId(): Long.valueOf("-1"); + } + + private Integer sampleStatusDeletor(Long sampleId) { + QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() + .eq("sample_id", sampleId); + Integer deleteFlage = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); + return deleteFlage; + } + } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 4e02809..c59faa6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -11,10 +11,8 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.customer.CustomerService; @@ -72,7 +70,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return customerService.customerDetail(idDTO.getId()); + return ReturnUtil.success(customerService.customerDetail(idDTO.getId())); } @ApiOperation("根据客户id查询样品记录-分页") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java index a42dc64..7747976 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java @@ -1,6 +1,8 @@ package com.casic.missiles.controller.customer; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.service.customer.CustomerWorkbenchService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -8,9 +10,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; - @Api(tags = "客户工作台资源") @RestController @RequestMapping("/customer/workbench") @@ -21,25 +20,25 @@ @ApiOperation("样品新增趋势") @RequestMapping("/sample/increaseTrend") - public ReturnDTO>> increaseTrend() { - return customerWorkbenchService.sampleIncreaseTrend(); + public ReturnDTO increaseTrend() { + return ReturnUtil.success(customerWorkbenchService.sampleIncreaseTrend()); } @ApiOperation("样品到期趋势") @RequestMapping("/sample/expireTrend") - public ReturnDTO>> querySampleExpireTrend() { - return customerWorkbenchService.querySampleExpireTrend(); + public ReturnDTOquerySampleExpireTrend() { + return ReturnUtil.success(customerWorkbenchService.querySampleExpireTrend()); } @ApiOperation("客户新增趋势") @RequestMapping("/increaseTrend") - public ReturnDTO>> customerIncreaseTrend() { - return customerWorkbenchService.customerIncreaseTrend(); + public ReturnDTO customerIncreaseTrend() { + return ReturnUtil.success(customerWorkbenchService.customerIncreaseTrend()); } @ApiOperation("优质客户名单") @RequestMapping("/excellentList") - public ReturnDTO>> customerExcellentList() { - return customerWorkbenchService.customerExcellentList(); + public ReturnDTO customerExcellentList() { + return ReturnUtil.success(customerWorkbenchService.customerExcellentList()); } } diff --git a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml index 0f59d8e..b0d7272 100644 --- a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml @@ -11,7 +11,7 @@ AND is_del=0 GROUP BY create_time ) sampleInfo - GROUP BY create_time + GROUP BY increaseTime diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java new file mode 100644 index 0000000..bfbc41b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.customer; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class WorkbenceTrendResponse { + + @ApiModelProperty(value = "日期(月份)", dataType = "String") + private String Date; + + @ApiModelProperty(value = "累计值", dataType = "String") + private String count; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9e224b3..3e46642 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -42,5 +42,4 @@ @TableField("sample_status") private String sampleStatus; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java index 81dc9da..947f87a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,64 +18,80 @@ @Data @TableName("customer_advice_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerAdviceInfo implements Serializable { private static final long serialVersionUID = 1L; private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "反馈编号",order = 0) private String adviceNo; @ApiModelProperty(value = "投诉类型-字典", dataType = "String") private String adviceClass; - @ApiModelProperty(value = "投诉类型", dataType = "String") + @ApiModelProperty(value = "投诉类别", dataType = "String") @DictCodeField(message = "投诉类型描述不合法", cacheName = MeterDictCode.ADVICE_TYPE) private String adviceType; @TableField(exist = false) @ApiModelProperty(value = "投诉类型名称", dataType = "String") + @ExcelProperty(value = "投诉类别",order = 1) private String adviceTypeName; @ApiModelProperty(value = "投诉人", dataType = "String") + @ExcelProperty(value = "投诉人",order = 2) private String advicePerson; @ApiModelProperty(value = "投诉人联系方式", dataType = "String") + @ExcelProperty(value = "投诉人联系方式",order = 3) private String personPhone; @ApiModelProperty(value = "客户编号", dataType = "String") + @ExcelProperty(value = "客户编号",order = 4) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 5) private String customerName; @ApiModelProperty(value = "客户id", dataType = "String") private Long customerId; @ApiModelProperty(value = "投诉内容", dataType = "String") + @ExcelProperty(value = "投诉内容",order = 6) private String content; @ApiModelProperty(value = "处置状态-0未处置,1已处置", dataType = "String") - private String handleStatus; //投诉人联系方式 + private String handleStatus; @ApiModelProperty(value = "处置意见", dataType = "String") - private String handleMessage; //投诉人联系方式 + @ExcelProperty(value = "处置意见",order = 7) + private String handleMessage; - @ApiModelProperty(value = "创建用户id", dataType = "String") - private Long createUser; //投诉人联系方式 + @ApiModelProperty(value = "创建用户id", dataType = "Long") + private Long createUser; - @ApiModelProperty(value = "编辑用户id", dataType = "String") - private Long updateUser; //投诉人联系方式 + @ApiModelProperty(value = "编辑用户id", dataType = "Long") + private Long updateUser; - @ApiModelProperty(value = "删除标记", dataType = "String") - private Integer isDel; //投诉人联系方式 + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; @ApiModelProperty(value = "投诉时间", dataType = "String") - private String adviceTime; //投诉人联系方式 + @ExcelProperty(value = "投诉时间",order = 8) + private String adviceTime; @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; //投诉人联系方式 + @ExcelProperty(value = "创建时间",order = 9) + private String createTime; - @ApiModelProperty(value = "创建时间", dataType = "String") - private String updateTime; //投诉人联系方式 + @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order = 10) + private String updateTime; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java index 94ac9e3..068bf49 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,7 +18,12 @@ import java.util.List; @Data -@TableName("customer_info ") +@TableName("customer_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -19,48 +31,63 @@ private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "编号",order = 0) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 1) private String customerName; @ApiModelProperty(value = "公司简称", dataType = "String") + @ExcelProperty(value = "公司简称",order = 2) private String briefName; @ApiModelProperty(value = "业务内容", dataType = "String") + @ExcelProperty(value = "业务内容",order = 3) private String businessContent; @ApiModelProperty(value = "税号", dataType = "String") + @ExcelProperty(value = "税号",order = 4) private String taxNumber; @ApiModelProperty(value = "银行账户名", dataType = "String") + @ExcelProperty(value = "银行账户名",order = 5) private String bankAccount; @ApiModelProperty(value = "银行名称", dataType = "String") + @ExcelProperty(value = "银行名称",order = 6) private String bankName; @ApiModelProperty(value = "银行账号", dataType = "String") + @ExcelProperty(value = "银行账号",order = 7) private String bankAccountNumber; @ApiModelProperty(value = "邮编", dataType = "String") + @ExcelProperty(value = "邮编",order = 8) private String postalCode; @ApiModelProperty(value = "负责人", dataType = "String") + @ExcelProperty(value = "负责人",order = 9) private String director; @ApiModelProperty(value = "电话", dataType = "String") + @ExcelProperty(value = "电话",order = 10) private String phone; @ApiModelProperty(value = "传真", dataType = "String") + @ExcelProperty(value = "电话",order = 11) private String fax; @ApiModelProperty(value = "手机", dataType = "String") + @ExcelProperty(value = "手机",order = 12) private String mobile; @ApiModelProperty(value = "邮箱", dataType = "String") + @ExcelProperty(value = "邮箱",order = 13) private String email; @ApiModelProperty(value = "网址", dataType = "String") + @ExcelProperty(value = "网址",order =14) private String website; @ApiModelProperty(value = "履约评级-字典", dataType = "String") @@ -103,6 +130,7 @@ private String addressArea; @ApiModelProperty(value = "公司地址-详细地址", dataType = "String") + @ExcelProperty(value = "详细地址",order =15) private String fullAddress; @ApiModelProperty(value = "公司地址-国家名字", dataType = "String") @@ -145,6 +173,7 @@ private String invoiceAreaName; @ApiModelProperty(value = "业务范围", dataType = "String") + @ExcelProperty(value = "业务范围",order =16) private String businessScope; @ApiModelProperty(value = "minio存储文件名", dataType = "String") @@ -163,9 +192,11 @@ private Integer isDel; @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间",order =17) private String createTime; @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order =18) private String updateTime; @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index c12ec97..91b8097 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -17,6 +17,7 @@ private Long id; + @TableField(exist = false) @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; @@ -94,7 +95,7 @@ @ApiModelProperty(value = "标签绑定", dataType = "String") private String labelBind; - @ApiModelProperty(value = "删除标记", dataType = "String") + @ApiModelProperty(value = "删除标记", dataType = "Integer") private Integer isDel; @ApiModelProperty(value = "创建人", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java index 211e8d8..5208fb4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 184a15e..aa4c681 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.customer; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; @@ -9,7 +8,9 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.service.customer.CustomerAdviceService; @@ -49,25 +50,21 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - try { - customerAdviceMapper.updateById(customerAdviceInfo); + Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + if (updateFlag > 0) { return ReturnUtil.success(); - } catch (Exception daex) { - log.error("客户投诉更新异常,客户信息{},异常信息{}", JSONObject.toJSON(customerAdviceInfo), daex.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { - try { - initCustomerAdviceInfo(customerAdviceInfo); - customerAdviceMapper.insert(customerAdviceInfo); + initCustomerAdviceInfo(customerAdviceInfo); + Integer addFlag=customerAdviceMapper.insert(customerAdviceInfo); + if (addFlag > 0) { return ReturnUtil.success(); - } catch (Exception daex) { - log.error("客户投诉新增异常,客户信息{},异常信息{}", JSONObject.toJSON(customerAdviceInfo), daex.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override @@ -75,9 +72,12 @@ try { QueryWrapper wrapper = listParamWrapper(request); List customerAdviceList = customerAdviceMapper.selectList(wrapper); + for (CustomerAdviceInfo customerAdviceInfo : customerAdviceList) { + DictCodeUtils.convertDictCodeToName(customerAdviceInfo); + } iBaseExportService.exportExcel(response, CustomerAdviceInfo.class, customerAdviceList, ExportEnum.ADVICE_EXPORT.getSheetName()); } catch (Exception e) { - e.printStackTrace(); + log.error("客户投诉导出出现异常,异常信息为{}",e); } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java index c986d41..fcf6b5b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java @@ -16,19 +16,24 @@ import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; +import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; import com.casic.missiles.service.customer.CustomerSampleService; +import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Optional; @Service @AllArgsConstructor @@ -38,6 +43,7 @@ private final IBaseExportService iBaseExportService; private final CertificationResponseMapper certificationResponseMapper; private final MesureRecordsResponseMapper mesureResponseMapper; + private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override public Page listPage(Page page, CustomerSampleListRequest request) throws Exception { @@ -46,23 +52,29 @@ return customerSamplePage; } + //新增样品表,同时新增样品委托书关联状态表 @Override + @Transactional public ReturnDTO addSample(CustomerSampleInfo customerSampleInfo) { initSample(customerSampleInfo); Integer addFlag = this.baseMapper.insert(customerSampleInfo); - if (addFlag > 0) { + Integer addStatuFlag = sampleStatusCreator(customerSampleInfo.getOrderId(), customerSampleInfo.getId(), customerSampleInfo.getSampleStatus()); + if (addFlag > 0 && addStatuFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + //更新样品表,同时更新样品委托书关联状态表 @Override + @Transactional public ReturnDTO updateSample(CustomerSampleInfo customerSampleInfo) { AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setUpdateUser(authUser.getId()); initSample(customerSampleInfo); Integer updateFlag = this.baseMapper.updateById(customerSampleInfo); - if (updateFlag > 0) { + Integer updateStatuFlag = sampleStatusUpdator(customerSampleInfo.getOrderId(), customerSampleInfo.getId(), customerSampleInfo.getSampleStatus()); + if (updateFlag > 0 && updateStatuFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -71,6 +83,7 @@ @Override public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); + customerSampleInfo.setOrderId(orderBuilder(customerSampleInfo.getId())); return customerSampleInfo; } @@ -79,16 +92,21 @@ try { QueryWrapper wrapper = listParamWrapper(request); List customerSampleList = customerSampleListResponseMapper.selectList(wrapper); + for (CustomerSampleListResponse customerSampleListResponse : customerSampleList) { + DictCodeUtils.convertDictCodeToName(customerSampleListResponse); + } iBaseExportService.exportExcel(response, CustomerSampleListResponse.class, customerSampleList, ExportEnum.SAMPLE_EXPORT.getSheetName()); } catch (Exception e) { - e.printStackTrace(); + log.error("样品导出出现异常,异常信息为{}", e); } } @Override + @Transactional public ReturnDTO deleteSample(Long id) { Integer deleteFalg = this.baseMapper.deleteById(id); - if (deleteFalg > 0) { + Integer deleteStatusFlag = sampleStatusDeletor(id); + if (deleteFalg > 0 && deleteStatusFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -97,19 +115,19 @@ @Override public Page mesureRecordsBySampleId(Long id) { Page page = PageFactory.defaultPage(); - QueryWrapper wrapper=new QueryWrapper() - .eq("sample_id",id); - Page mesureRecordsResponsePage= mesureResponseMapper.selectPage(page,wrapper); + QueryWrapper wrapper = new QueryWrapper() + .eq("sample_id", id); + Page mesureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); return mesureRecordsResponsePage; } @Override public Page certificationBySampleId(Long id) { Page page = PageFactory.defaultPage(); - QueryWrapper wrapper=new QueryWrapper() - .eq("sample_id",id); - Page certificationResponsePage= certificationResponseMapper.selectPage(page,wrapper); - return certificationResponsePage; + QueryWrapper wrapper = new QueryWrapper() + .eq("sample_id", id); + Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); + return certificateResponsePage; } private void initSample(CustomerSampleInfo customerSampleInfo) { @@ -134,8 +152,45 @@ "{0} >= DATE_FORMAT(check_date,'%Y-%m-%d')", request.getStartTime()); queryWrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} <= DATE_FORMAT(check_date,'%Y-%m-%d')", request.getEndTime()); + queryWrapper.eq("is_del",0); queryWrapper.orderByDesc("create_time"); return queryWrapper; } + private Integer sampleStatusCreator(Long id, Long sampleId, String status) { + BusinessOrderSampleRelation sampleStatusRelation = new BusinessOrderSampleRelation(); + sampleStatusRelation.setOrderId(id); + sampleStatusRelation.setSampleId(sampleId); + sampleStatusRelation.setSampleStatus(status); + Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusRelation); + return sampleStatus; + } + + private Integer sampleStatusUpdator(Long orderId, Long sampleId, String status) { + QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() + .eq("sample_id", sampleId) + .eq("order_id", orderId); + BusinessOrderSampleRelation sampleStatusRelation = new BusinessOrderSampleRelation(); + sampleStatusRelation.setOrderId(orderId); + sampleStatusRelation.setSampleId(sampleId); + sampleStatusRelation.setSampleStatus(status); + Integer sampleStatus = this.sampleRelationMapper.update(sampleStatusRelation, sampleStatusRelationWrapper); + return sampleStatus; + } + + private Long orderBuilder(Long sampleId) { + QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() + .eq("sample_id", sampleId); + List sampleStatusList = this.sampleRelationMapper.selectList(sampleStatusRelationWrapper); + Optional optionalSampleRelation = sampleStatusList.stream().findFirst(); + return optionalSampleRelation.isPresent() ? optionalSampleRelation.get().getOrderId(): Long.valueOf("-1"); + } + + private Integer sampleStatusDeletor(Long sampleId) { + QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() + .eq("sample_id", sampleId); + Integer deleteFlage = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); + return deleteFlage; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index cbf66c8..512e0e2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -12,8 +12,9 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; +import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; @@ -26,7 +27,6 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -57,41 +57,32 @@ @Transactional public ReturnDTO addCustomer(CustomerInfo customerInfo) { initCustomerInfo(customerInfo); - try { - this.baseMapper.insert(customerInfo); - userInfoListCreator(customerInfo.getCustomerUserList(),customerInfo.getId()); + Integer addFlag = this.baseMapper.insert(customerInfo); + Boolean userAddFlag = userInfoListCreator(customerInfo.getCustomerUserList(), customerInfo.getId()); + if (addFlag > 0 && userAddFlag) { return ReturnUtil.success(); - } catch (DataAccessException dae) { - log.error("客户新增,新增异常,异常信息{}", dae.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override @Transactional public ReturnDTO updateCustomer(CustomerInfo customerInfo) { - try { - AuthUser authUser = ShiroKit.getUser(); - customerInfo.setUpdateUser(authUser.getId()); - this.baseMapper.updateById(customerInfo); - userInfoListEditor(customerInfo.getCustomerUserList()); + AuthUser authUser = ShiroKit.getUser(); + customerInfo.setUpdateUser(authUser.getId()); + Integer updateFlag=this.baseMapper.updateById(customerInfo); + Boolean userUpdateFlag=userInfoListEditor(customerInfo.getCustomerUserList()); + if (updateFlag > 0 && userUpdateFlag) { return ReturnUtil.success(); - } catch (DataAccessException dae) { - log.error("客户新增,新增异常,异常信息{}", dae.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override - public ReturnDTO customerDetail(Long id) { - try { - CustomerInfo customerInfo = this.baseMapper.selectById(id); - customerInfo.setCustomerUserList(customerUserDetail(id)); - return ReturnUtil.success(customerInfo); - } catch (DataAccessException dae) { - log.error("客户新增,新增异常,异常信息{}", dae.getMessage()); - return ReturnUtil.failed(); - } + public CustomerInfo customerDetail(Long id) { + CustomerInfo customerInfo = this.baseMapper.selectById(id); + customerInfo.setCustomerUserList(customerUserDetail(id)); + return customerInfo; } @Override @@ -129,13 +120,16 @@ } @Override - public void customerExport(CustomerListRequest request, HttpServletResponse response){ + public void customerExport(CustomerListRequest request, HttpServletResponse response) { try { QueryWrapper wrapper = listParamWrapper(request); List customerInfoList = this.baseMapper.selectList(wrapper); + for (CustomerInfo customerInfo :customerInfoList) { + DictCodeUtils.convertDictCodeToName(customerInfo); + } iBaseExportService.exportExcel(response, CustomerInfo.class, customerInfoList, ExportEnum.CUSTOMER_EXPORT.getSheetName()); } catch (Exception e) { - e.printStackTrace(); + log.error("客户导出出现异常,异常信息为{}", e); } } @@ -165,20 +159,30 @@ return customerUserInfoList; } - private void userInfoListEditor(List userInfoList) { + private Boolean userInfoListEditor(List userInfoList) { + Boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { - customerUserMapper.updateById(customerUserInfo); + Integer userUpdateNum =customerUserMapper.updateById(customerUserInfo); + if (userUpdateNum <= 0) { + userUpdateFlag = false; + } } + return userUpdateFlag; } - private void userInfoListCreator(List userInfoList,Long id) { + private Boolean userInfoListCreator(List userInfoList, Long id) { Long maxUserNo = customerUserMapper.selectMaxUserNo(); + Boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); customerUserInfo.setUserNo(customerNo); - customerUserMapper.insert(customerUserInfo); + Integer userAddNum = customerUserMapper.insert(customerUserInfo); + if (userAddNum <= 0) { + userUpdateFlag = false; + } } + return userUpdateFlag; } } diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 4e02809..c59faa6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -11,10 +11,8 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.customer.CustomerService; @@ -72,7 +70,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return customerService.customerDetail(idDTO.getId()); + return ReturnUtil.success(customerService.customerDetail(idDTO.getId())); } @ApiOperation("根据客户id查询样品记录-分页") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java index a42dc64..7747976 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java @@ -1,6 +1,8 @@ package com.casic.missiles.controller.customer; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.service.customer.CustomerWorkbenchService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -8,9 +10,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; - @Api(tags = "客户工作台资源") @RestController @RequestMapping("/customer/workbench") @@ -21,25 +20,25 @@ @ApiOperation("样品新增趋势") @RequestMapping("/sample/increaseTrend") - public ReturnDTO>> increaseTrend() { - return customerWorkbenchService.sampleIncreaseTrend(); + public ReturnDTO increaseTrend() { + return ReturnUtil.success(customerWorkbenchService.sampleIncreaseTrend()); } @ApiOperation("样品到期趋势") @RequestMapping("/sample/expireTrend") - public ReturnDTO>> querySampleExpireTrend() { - return customerWorkbenchService.querySampleExpireTrend(); + public ReturnDTOquerySampleExpireTrend() { + return ReturnUtil.success(customerWorkbenchService.querySampleExpireTrend()); } @ApiOperation("客户新增趋势") @RequestMapping("/increaseTrend") - public ReturnDTO>> customerIncreaseTrend() { - return customerWorkbenchService.customerIncreaseTrend(); + public ReturnDTO customerIncreaseTrend() { + return ReturnUtil.success(customerWorkbenchService.customerIncreaseTrend()); } @ApiOperation("优质客户名单") @RequestMapping("/excellentList") - public ReturnDTO>> customerExcellentList() { - return customerWorkbenchService.customerExcellentList(); + public ReturnDTO customerExcellentList() { + return ReturnUtil.success(customerWorkbenchService.customerExcellentList()); } } diff --git a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml index 0f59d8e..b0d7272 100644 --- a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml @@ -11,7 +11,7 @@ AND is_del=0 GROUP BY create_time ) sampleInfo - GROUP BY create_time + GROUP BY increaseTime diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java new file mode 100644 index 0000000..bfbc41b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.customer; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class WorkbenceTrendResponse { + + @ApiModelProperty(value = "日期(月份)", dataType = "String") + private String Date; + + @ApiModelProperty(value = "累计值", dataType = "String") + private String count; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9e224b3..3e46642 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -42,5 +42,4 @@ @TableField("sample_status") private String sampleStatus; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java index 81dc9da..947f87a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,64 +18,80 @@ @Data @TableName("customer_advice_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerAdviceInfo implements Serializable { private static final long serialVersionUID = 1L; private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "反馈编号",order = 0) private String adviceNo; @ApiModelProperty(value = "投诉类型-字典", dataType = "String") private String adviceClass; - @ApiModelProperty(value = "投诉类型", dataType = "String") + @ApiModelProperty(value = "投诉类别", dataType = "String") @DictCodeField(message = "投诉类型描述不合法", cacheName = MeterDictCode.ADVICE_TYPE) private String adviceType; @TableField(exist = false) @ApiModelProperty(value = "投诉类型名称", dataType = "String") + @ExcelProperty(value = "投诉类别",order = 1) private String adviceTypeName; @ApiModelProperty(value = "投诉人", dataType = "String") + @ExcelProperty(value = "投诉人",order = 2) private String advicePerson; @ApiModelProperty(value = "投诉人联系方式", dataType = "String") + @ExcelProperty(value = "投诉人联系方式",order = 3) private String personPhone; @ApiModelProperty(value = "客户编号", dataType = "String") + @ExcelProperty(value = "客户编号",order = 4) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 5) private String customerName; @ApiModelProperty(value = "客户id", dataType = "String") private Long customerId; @ApiModelProperty(value = "投诉内容", dataType = "String") + @ExcelProperty(value = "投诉内容",order = 6) private String content; @ApiModelProperty(value = "处置状态-0未处置,1已处置", dataType = "String") - private String handleStatus; //投诉人联系方式 + private String handleStatus; @ApiModelProperty(value = "处置意见", dataType = "String") - private String handleMessage; //投诉人联系方式 + @ExcelProperty(value = "处置意见",order = 7) + private String handleMessage; - @ApiModelProperty(value = "创建用户id", dataType = "String") - private Long createUser; //投诉人联系方式 + @ApiModelProperty(value = "创建用户id", dataType = "Long") + private Long createUser; - @ApiModelProperty(value = "编辑用户id", dataType = "String") - private Long updateUser; //投诉人联系方式 + @ApiModelProperty(value = "编辑用户id", dataType = "Long") + private Long updateUser; - @ApiModelProperty(value = "删除标记", dataType = "String") - private Integer isDel; //投诉人联系方式 + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; @ApiModelProperty(value = "投诉时间", dataType = "String") - private String adviceTime; //投诉人联系方式 + @ExcelProperty(value = "投诉时间",order = 8) + private String adviceTime; @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; //投诉人联系方式 + @ExcelProperty(value = "创建时间",order = 9) + private String createTime; - @ApiModelProperty(value = "创建时间", dataType = "String") - private String updateTime; //投诉人联系方式 + @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order = 10) + private String updateTime; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java index 94ac9e3..068bf49 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,7 +18,12 @@ import java.util.List; @Data -@TableName("customer_info ") +@TableName("customer_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -19,48 +31,63 @@ private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "编号",order = 0) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 1) private String customerName; @ApiModelProperty(value = "公司简称", dataType = "String") + @ExcelProperty(value = "公司简称",order = 2) private String briefName; @ApiModelProperty(value = "业务内容", dataType = "String") + @ExcelProperty(value = "业务内容",order = 3) private String businessContent; @ApiModelProperty(value = "税号", dataType = "String") + @ExcelProperty(value = "税号",order = 4) private String taxNumber; @ApiModelProperty(value = "银行账户名", dataType = "String") + @ExcelProperty(value = "银行账户名",order = 5) private String bankAccount; @ApiModelProperty(value = "银行名称", dataType = "String") + @ExcelProperty(value = "银行名称",order = 6) private String bankName; @ApiModelProperty(value = "银行账号", dataType = "String") + @ExcelProperty(value = "银行账号",order = 7) private String bankAccountNumber; @ApiModelProperty(value = "邮编", dataType = "String") + @ExcelProperty(value = "邮编",order = 8) private String postalCode; @ApiModelProperty(value = "负责人", dataType = "String") + @ExcelProperty(value = "负责人",order = 9) private String director; @ApiModelProperty(value = "电话", dataType = "String") + @ExcelProperty(value = "电话",order = 10) private String phone; @ApiModelProperty(value = "传真", dataType = "String") + @ExcelProperty(value = "电话",order = 11) private String fax; @ApiModelProperty(value = "手机", dataType = "String") + @ExcelProperty(value = "手机",order = 12) private String mobile; @ApiModelProperty(value = "邮箱", dataType = "String") + @ExcelProperty(value = "邮箱",order = 13) private String email; @ApiModelProperty(value = "网址", dataType = "String") + @ExcelProperty(value = "网址",order =14) private String website; @ApiModelProperty(value = "履约评级-字典", dataType = "String") @@ -103,6 +130,7 @@ private String addressArea; @ApiModelProperty(value = "公司地址-详细地址", dataType = "String") + @ExcelProperty(value = "详细地址",order =15) private String fullAddress; @ApiModelProperty(value = "公司地址-国家名字", dataType = "String") @@ -145,6 +173,7 @@ private String invoiceAreaName; @ApiModelProperty(value = "业务范围", dataType = "String") + @ExcelProperty(value = "业务范围",order =16) private String businessScope; @ApiModelProperty(value = "minio存储文件名", dataType = "String") @@ -163,9 +192,11 @@ private Integer isDel; @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间",order =17) private String createTime; @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order =18) private String updateTime; @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index c12ec97..91b8097 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -17,6 +17,7 @@ private Long id; + @TableField(exist = false) @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; @@ -94,7 +95,7 @@ @ApiModelProperty(value = "标签绑定", dataType = "String") private String labelBind; - @ApiModelProperty(value = "删除标记", dataType = "String") + @ApiModelProperty(value = "删除标记", dataType = "Integer") private Integer isDel; @ApiModelProperty(value = "创建人", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java index 211e8d8..5208fb4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 184a15e..aa4c681 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.customer; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; @@ -9,7 +8,9 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.service.customer.CustomerAdviceService; @@ -49,25 +50,21 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - try { - customerAdviceMapper.updateById(customerAdviceInfo); + Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + if (updateFlag > 0) { return ReturnUtil.success(); - } catch (Exception daex) { - log.error("客户投诉更新异常,客户信息{},异常信息{}", JSONObject.toJSON(customerAdviceInfo), daex.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { - try { - initCustomerAdviceInfo(customerAdviceInfo); - customerAdviceMapper.insert(customerAdviceInfo); + initCustomerAdviceInfo(customerAdviceInfo); + Integer addFlag=customerAdviceMapper.insert(customerAdviceInfo); + if (addFlag > 0) { return ReturnUtil.success(); - } catch (Exception daex) { - log.error("客户投诉新增异常,客户信息{},异常信息{}", JSONObject.toJSON(customerAdviceInfo), daex.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override @@ -75,9 +72,12 @@ try { QueryWrapper wrapper = listParamWrapper(request); List customerAdviceList = customerAdviceMapper.selectList(wrapper); + for (CustomerAdviceInfo customerAdviceInfo : customerAdviceList) { + DictCodeUtils.convertDictCodeToName(customerAdviceInfo); + } iBaseExportService.exportExcel(response, CustomerAdviceInfo.class, customerAdviceList, ExportEnum.ADVICE_EXPORT.getSheetName()); } catch (Exception e) { - e.printStackTrace(); + log.error("客户投诉导出出现异常,异常信息为{}",e); } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java index c986d41..fcf6b5b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java @@ -16,19 +16,24 @@ import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; +import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; import com.casic.missiles.service.customer.CustomerSampleService; +import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Optional; @Service @AllArgsConstructor @@ -38,6 +43,7 @@ private final IBaseExportService iBaseExportService; private final CertificationResponseMapper certificationResponseMapper; private final MesureRecordsResponseMapper mesureResponseMapper; + private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override public Page listPage(Page page, CustomerSampleListRequest request) throws Exception { @@ -46,23 +52,29 @@ return customerSamplePage; } + //新增样品表,同时新增样品委托书关联状态表 @Override + @Transactional public ReturnDTO addSample(CustomerSampleInfo customerSampleInfo) { initSample(customerSampleInfo); Integer addFlag = this.baseMapper.insert(customerSampleInfo); - if (addFlag > 0) { + Integer addStatuFlag = sampleStatusCreator(customerSampleInfo.getOrderId(), customerSampleInfo.getId(), customerSampleInfo.getSampleStatus()); + if (addFlag > 0 && addStatuFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + //更新样品表,同时更新样品委托书关联状态表 @Override + @Transactional public ReturnDTO updateSample(CustomerSampleInfo customerSampleInfo) { AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setUpdateUser(authUser.getId()); initSample(customerSampleInfo); Integer updateFlag = this.baseMapper.updateById(customerSampleInfo); - if (updateFlag > 0) { + Integer updateStatuFlag = sampleStatusUpdator(customerSampleInfo.getOrderId(), customerSampleInfo.getId(), customerSampleInfo.getSampleStatus()); + if (updateFlag > 0 && updateStatuFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -71,6 +83,7 @@ @Override public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); + customerSampleInfo.setOrderId(orderBuilder(customerSampleInfo.getId())); return customerSampleInfo; } @@ -79,16 +92,21 @@ try { QueryWrapper wrapper = listParamWrapper(request); List customerSampleList = customerSampleListResponseMapper.selectList(wrapper); + for (CustomerSampleListResponse customerSampleListResponse : customerSampleList) { + DictCodeUtils.convertDictCodeToName(customerSampleListResponse); + } iBaseExportService.exportExcel(response, CustomerSampleListResponse.class, customerSampleList, ExportEnum.SAMPLE_EXPORT.getSheetName()); } catch (Exception e) { - e.printStackTrace(); + log.error("样品导出出现异常,异常信息为{}", e); } } @Override + @Transactional public ReturnDTO deleteSample(Long id) { Integer deleteFalg = this.baseMapper.deleteById(id); - if (deleteFalg > 0) { + Integer deleteStatusFlag = sampleStatusDeletor(id); + if (deleteFalg > 0 && deleteStatusFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -97,19 +115,19 @@ @Override public Page mesureRecordsBySampleId(Long id) { Page page = PageFactory.defaultPage(); - QueryWrapper wrapper=new QueryWrapper() - .eq("sample_id",id); - Page mesureRecordsResponsePage= mesureResponseMapper.selectPage(page,wrapper); + QueryWrapper wrapper = new QueryWrapper() + .eq("sample_id", id); + Page mesureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); return mesureRecordsResponsePage; } @Override public Page certificationBySampleId(Long id) { Page page = PageFactory.defaultPage(); - QueryWrapper wrapper=new QueryWrapper() - .eq("sample_id",id); - Page certificationResponsePage= certificationResponseMapper.selectPage(page,wrapper); - return certificationResponsePage; + QueryWrapper wrapper = new QueryWrapper() + .eq("sample_id", id); + Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); + return certificateResponsePage; } private void initSample(CustomerSampleInfo customerSampleInfo) { @@ -134,8 +152,45 @@ "{0} >= DATE_FORMAT(check_date,'%Y-%m-%d')", request.getStartTime()); queryWrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} <= DATE_FORMAT(check_date,'%Y-%m-%d')", request.getEndTime()); + queryWrapper.eq("is_del",0); queryWrapper.orderByDesc("create_time"); return queryWrapper; } + private Integer sampleStatusCreator(Long id, Long sampleId, String status) { + BusinessOrderSampleRelation sampleStatusRelation = new BusinessOrderSampleRelation(); + sampleStatusRelation.setOrderId(id); + sampleStatusRelation.setSampleId(sampleId); + sampleStatusRelation.setSampleStatus(status); + Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusRelation); + return sampleStatus; + } + + private Integer sampleStatusUpdator(Long orderId, Long sampleId, String status) { + QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() + .eq("sample_id", sampleId) + .eq("order_id", orderId); + BusinessOrderSampleRelation sampleStatusRelation = new BusinessOrderSampleRelation(); + sampleStatusRelation.setOrderId(orderId); + sampleStatusRelation.setSampleId(sampleId); + sampleStatusRelation.setSampleStatus(status); + Integer sampleStatus = this.sampleRelationMapper.update(sampleStatusRelation, sampleStatusRelationWrapper); + return sampleStatus; + } + + private Long orderBuilder(Long sampleId) { + QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() + .eq("sample_id", sampleId); + List sampleStatusList = this.sampleRelationMapper.selectList(sampleStatusRelationWrapper); + Optional optionalSampleRelation = sampleStatusList.stream().findFirst(); + return optionalSampleRelation.isPresent() ? optionalSampleRelation.get().getOrderId(): Long.valueOf("-1"); + } + + private Integer sampleStatusDeletor(Long sampleId) { + QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() + .eq("sample_id", sampleId); + Integer deleteFlage = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); + return deleteFlage; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index cbf66c8..512e0e2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -12,8 +12,9 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; +import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; @@ -26,7 +27,6 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -57,41 +57,32 @@ @Transactional public ReturnDTO addCustomer(CustomerInfo customerInfo) { initCustomerInfo(customerInfo); - try { - this.baseMapper.insert(customerInfo); - userInfoListCreator(customerInfo.getCustomerUserList(),customerInfo.getId()); + Integer addFlag = this.baseMapper.insert(customerInfo); + Boolean userAddFlag = userInfoListCreator(customerInfo.getCustomerUserList(), customerInfo.getId()); + if (addFlag > 0 && userAddFlag) { return ReturnUtil.success(); - } catch (DataAccessException dae) { - log.error("客户新增,新增异常,异常信息{}", dae.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override @Transactional public ReturnDTO updateCustomer(CustomerInfo customerInfo) { - try { - AuthUser authUser = ShiroKit.getUser(); - customerInfo.setUpdateUser(authUser.getId()); - this.baseMapper.updateById(customerInfo); - userInfoListEditor(customerInfo.getCustomerUserList()); + AuthUser authUser = ShiroKit.getUser(); + customerInfo.setUpdateUser(authUser.getId()); + Integer updateFlag=this.baseMapper.updateById(customerInfo); + Boolean userUpdateFlag=userInfoListEditor(customerInfo.getCustomerUserList()); + if (updateFlag > 0 && userUpdateFlag) { return ReturnUtil.success(); - } catch (DataAccessException dae) { - log.error("客户新增,新增异常,异常信息{}", dae.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override - public ReturnDTO customerDetail(Long id) { - try { - CustomerInfo customerInfo = this.baseMapper.selectById(id); - customerInfo.setCustomerUserList(customerUserDetail(id)); - return ReturnUtil.success(customerInfo); - } catch (DataAccessException dae) { - log.error("客户新增,新增异常,异常信息{}", dae.getMessage()); - return ReturnUtil.failed(); - } + public CustomerInfo customerDetail(Long id) { + CustomerInfo customerInfo = this.baseMapper.selectById(id); + customerInfo.setCustomerUserList(customerUserDetail(id)); + return customerInfo; } @Override @@ -129,13 +120,16 @@ } @Override - public void customerExport(CustomerListRequest request, HttpServletResponse response){ + public void customerExport(CustomerListRequest request, HttpServletResponse response) { try { QueryWrapper wrapper = listParamWrapper(request); List customerInfoList = this.baseMapper.selectList(wrapper); + for (CustomerInfo customerInfo :customerInfoList) { + DictCodeUtils.convertDictCodeToName(customerInfo); + } iBaseExportService.exportExcel(response, CustomerInfo.class, customerInfoList, ExportEnum.CUSTOMER_EXPORT.getSheetName()); } catch (Exception e) { - e.printStackTrace(); + log.error("客户导出出现异常,异常信息为{}", e); } } @@ -165,20 +159,30 @@ return customerUserInfoList; } - private void userInfoListEditor(List userInfoList) { + private Boolean userInfoListEditor(List userInfoList) { + Boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { - customerUserMapper.updateById(customerUserInfo); + Integer userUpdateNum =customerUserMapper.updateById(customerUserInfo); + if (userUpdateNum <= 0) { + userUpdateFlag = false; + } } + return userUpdateFlag; } - private void userInfoListCreator(List userInfoList,Long id) { + private Boolean userInfoListCreator(List userInfoList, Long id) { Long maxUserNo = customerUserMapper.selectMaxUserNo(); + Boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); customerUserInfo.setUserNo(customerNo); - customerUserMapper.insert(customerUserInfo); + Integer userAddNum = customerUserMapper.insert(customerUserInfo); + if (userAddNum <= 0) { + userUpdateFlag = false; + } } + return userUpdateFlag; } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java index 8fdf114..d816cb8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java @@ -1,6 +1,6 @@ package com.casic.missiles.service.Impl.customer; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.mapper.customer.CustomerWorkbenchMapper; import com.casic.missiles.service.customer.CustomerWorkbenchService; import lombok.AllArgsConstructor; @@ -19,75 +19,43 @@ private final CustomerWorkbenchMapper customerWorkbenchMapper; @Override - public ReturnDTO>> sampleIncreaseTrend() { - ReturnDTO>> returnDTO = new ReturnDTO<>(); - try { - List> sampleList = customerWorkbenchMapper.sampleIncreaseTrend(); - Map trendMap = sampleList.stream().collect( - Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) - ); - List> trendMapList = recentYearBuilder(trendMap); - returnDTO.setCode(200); - returnDTO.setData(trendMapList); - returnDTO.setMessage("查询成功"); - } catch (Exception e) { - returnDTO.setCode(500); - returnDTO.setMessage("查询异常"); - log.error("样品新增趋势查询异常,异常信息{}", e.getMessage()); - } - return returnDTO; + public List sampleIncreaseTrend() { + List> sampleList = customerWorkbenchMapper.sampleIncreaseTrend(); + Map trendMap = sampleList.stream().collect( + Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) + ); + List trendResponseList = recentYearBuilder(trendMap); + return trendResponseList; } @Override - public ReturnDTO>> querySampleExpireTrend() { - ReturnDTO>> returnDTO = new ReturnDTO<>(); - try { - List> sampleList = customerWorkbenchMapper.querySampleExpireTrend(); - Map trendMap = sampleList.stream().collect( - Collectors.toMap(e -> String.valueOf(e.get("expireTime")), e -> String.valueOf(e.get("count"))) - ); - List> trendMapList = recentYearBuilder(trendMap); - returnDTO.setCode(200); - returnDTO.setData(trendMapList); - returnDTO.setMessage("查询成功"); - } catch (Exception e) { - returnDTO.setCode(500); - returnDTO.setMessage("查询异常"); - log.error("样品到期趋势查询异常,异常信息{}", e.getMessage()); - } - return returnDTO; + public List querySampleExpireTrend() { + List> sampleList = customerWorkbenchMapper.querySampleExpireTrend(); + Map trendMap = sampleList.stream().collect( + Collectors.toMap(e -> String.valueOf(e.get("expireTime")), e -> String.valueOf(e.get("count"))) + ); + List trendResponseList = recentYearBuilder(trendMap); + return trendResponseList; } @Override - public ReturnDTO>> customerIncreaseTrend() { - ReturnDTO>> returnDTO = new ReturnDTO<>(); - try { - List> sampleList = customerWorkbenchMapper.customerIncreaseTrend(); - Map trendMap = sampleList.stream().collect( - Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) - ); - List> trendMapList = recentYearBuilder(trendMap); - returnDTO.setCode(200); - returnDTO.setData(trendMapList); - returnDTO.setMessage("查询成功"); - } catch (Exception e) { - returnDTO.setCode(500); - returnDTO.setMessage("查询异常"); - log.error("客户新增趋势查询异常,异常信息{}", e.getMessage()); - } - return returnDTO; + public List customerIncreaseTrend() { + List> sampleList = customerWorkbenchMapper.customerIncreaseTrend(); + Map trendMap = sampleList.stream().collect( + Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) + ); + List trendResponseList = recentYearBuilder(trendMap); + return trendResponseList; } // 鉴定金额暂时没有表设计,loading... @Override - public ReturnDTO>> customerExcellentList() { - - + public List customerExcellentList() { return null; } - private List> recentYearBuilder(Map trendMap) { - List> mapList = new ArrayList<>(); + private List recentYearBuilder(Map trendMap) { + List mapList = new ArrayList<>(); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMM"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月"); Calendar beginDate = Calendar.getInstance(); @@ -96,10 +64,10 @@ Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { - Map dataMap = new HashMap(); - dataMap.put("date", sdf2.format(beginDate.getTime())); - dataMap.put("count", trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); - mapList.add(dataMap); + WorkbenceTrendResponse workbenceResponse = new WorkbenceTrendResponse(); + workbenceResponse.setDate(sdf2.format(beginDate.getTime())); + workbenceResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); + mapList.add(workbenceResponse); beginDate.add(Calendar.MONTH, 1); } return mapList; diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 4e02809..c59faa6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -11,10 +11,8 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.customer.CustomerService; @@ -72,7 +70,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return customerService.customerDetail(idDTO.getId()); + return ReturnUtil.success(customerService.customerDetail(idDTO.getId())); } @ApiOperation("根据客户id查询样品记录-分页") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java index a42dc64..7747976 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java @@ -1,6 +1,8 @@ package com.casic.missiles.controller.customer; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.service.customer.CustomerWorkbenchService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -8,9 +10,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; - @Api(tags = "客户工作台资源") @RestController @RequestMapping("/customer/workbench") @@ -21,25 +20,25 @@ @ApiOperation("样品新增趋势") @RequestMapping("/sample/increaseTrend") - public ReturnDTO>> increaseTrend() { - return customerWorkbenchService.sampleIncreaseTrend(); + public ReturnDTO increaseTrend() { + return ReturnUtil.success(customerWorkbenchService.sampleIncreaseTrend()); } @ApiOperation("样品到期趋势") @RequestMapping("/sample/expireTrend") - public ReturnDTO>> querySampleExpireTrend() { - return customerWorkbenchService.querySampleExpireTrend(); + public ReturnDTOquerySampleExpireTrend() { + return ReturnUtil.success(customerWorkbenchService.querySampleExpireTrend()); } @ApiOperation("客户新增趋势") @RequestMapping("/increaseTrend") - public ReturnDTO>> customerIncreaseTrend() { - return customerWorkbenchService.customerIncreaseTrend(); + public ReturnDTO customerIncreaseTrend() { + return ReturnUtil.success(customerWorkbenchService.customerIncreaseTrend()); } @ApiOperation("优质客户名单") @RequestMapping("/excellentList") - public ReturnDTO>> customerExcellentList() { - return customerWorkbenchService.customerExcellentList(); + public ReturnDTO customerExcellentList() { + return ReturnUtil.success(customerWorkbenchService.customerExcellentList()); } } diff --git a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml index 0f59d8e..b0d7272 100644 --- a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml @@ -11,7 +11,7 @@ AND is_del=0 GROUP BY create_time ) sampleInfo - GROUP BY create_time + GROUP BY increaseTime diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java new file mode 100644 index 0000000..bfbc41b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.customer; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class WorkbenceTrendResponse { + + @ApiModelProperty(value = "日期(月份)", dataType = "String") + private String Date; + + @ApiModelProperty(value = "累计值", dataType = "String") + private String count; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9e224b3..3e46642 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -42,5 +42,4 @@ @TableField("sample_status") private String sampleStatus; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java index 81dc9da..947f87a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,64 +18,80 @@ @Data @TableName("customer_advice_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerAdviceInfo implements Serializable { private static final long serialVersionUID = 1L; private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "反馈编号",order = 0) private String adviceNo; @ApiModelProperty(value = "投诉类型-字典", dataType = "String") private String adviceClass; - @ApiModelProperty(value = "投诉类型", dataType = "String") + @ApiModelProperty(value = "投诉类别", dataType = "String") @DictCodeField(message = "投诉类型描述不合法", cacheName = MeterDictCode.ADVICE_TYPE) private String adviceType; @TableField(exist = false) @ApiModelProperty(value = "投诉类型名称", dataType = "String") + @ExcelProperty(value = "投诉类别",order = 1) private String adviceTypeName; @ApiModelProperty(value = "投诉人", dataType = "String") + @ExcelProperty(value = "投诉人",order = 2) private String advicePerson; @ApiModelProperty(value = "投诉人联系方式", dataType = "String") + @ExcelProperty(value = "投诉人联系方式",order = 3) private String personPhone; @ApiModelProperty(value = "客户编号", dataType = "String") + @ExcelProperty(value = "客户编号",order = 4) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 5) private String customerName; @ApiModelProperty(value = "客户id", dataType = "String") private Long customerId; @ApiModelProperty(value = "投诉内容", dataType = "String") + @ExcelProperty(value = "投诉内容",order = 6) private String content; @ApiModelProperty(value = "处置状态-0未处置,1已处置", dataType = "String") - private String handleStatus; //投诉人联系方式 + private String handleStatus; @ApiModelProperty(value = "处置意见", dataType = "String") - private String handleMessage; //投诉人联系方式 + @ExcelProperty(value = "处置意见",order = 7) + private String handleMessage; - @ApiModelProperty(value = "创建用户id", dataType = "String") - private Long createUser; //投诉人联系方式 + @ApiModelProperty(value = "创建用户id", dataType = "Long") + private Long createUser; - @ApiModelProperty(value = "编辑用户id", dataType = "String") - private Long updateUser; //投诉人联系方式 + @ApiModelProperty(value = "编辑用户id", dataType = "Long") + private Long updateUser; - @ApiModelProperty(value = "删除标记", dataType = "String") - private Integer isDel; //投诉人联系方式 + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; @ApiModelProperty(value = "投诉时间", dataType = "String") - private String adviceTime; //投诉人联系方式 + @ExcelProperty(value = "投诉时间",order = 8) + private String adviceTime; @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; //投诉人联系方式 + @ExcelProperty(value = "创建时间",order = 9) + private String createTime; - @ApiModelProperty(value = "创建时间", dataType = "String") - private String updateTime; //投诉人联系方式 + @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order = 10) + private String updateTime; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java index 94ac9e3..068bf49 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,7 +18,12 @@ import java.util.List; @Data -@TableName("customer_info ") +@TableName("customer_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -19,48 +31,63 @@ private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "编号",order = 0) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 1) private String customerName; @ApiModelProperty(value = "公司简称", dataType = "String") + @ExcelProperty(value = "公司简称",order = 2) private String briefName; @ApiModelProperty(value = "业务内容", dataType = "String") + @ExcelProperty(value = "业务内容",order = 3) private String businessContent; @ApiModelProperty(value = "税号", dataType = "String") + @ExcelProperty(value = "税号",order = 4) private String taxNumber; @ApiModelProperty(value = "银行账户名", dataType = "String") + @ExcelProperty(value = "银行账户名",order = 5) private String bankAccount; @ApiModelProperty(value = "银行名称", dataType = "String") + @ExcelProperty(value = "银行名称",order = 6) private String bankName; @ApiModelProperty(value = "银行账号", dataType = "String") + @ExcelProperty(value = "银行账号",order = 7) private String bankAccountNumber; @ApiModelProperty(value = "邮编", dataType = "String") + @ExcelProperty(value = "邮编",order = 8) private String postalCode; @ApiModelProperty(value = "负责人", dataType = "String") + @ExcelProperty(value = "负责人",order = 9) private String director; @ApiModelProperty(value = "电话", dataType = "String") + @ExcelProperty(value = "电话",order = 10) private String phone; @ApiModelProperty(value = "传真", dataType = "String") + @ExcelProperty(value = "电话",order = 11) private String fax; @ApiModelProperty(value = "手机", dataType = "String") + @ExcelProperty(value = "手机",order = 12) private String mobile; @ApiModelProperty(value = "邮箱", dataType = "String") + @ExcelProperty(value = "邮箱",order = 13) private String email; @ApiModelProperty(value = "网址", dataType = "String") + @ExcelProperty(value = "网址",order =14) private String website; @ApiModelProperty(value = "履约评级-字典", dataType = "String") @@ -103,6 +130,7 @@ private String addressArea; @ApiModelProperty(value = "公司地址-详细地址", dataType = "String") + @ExcelProperty(value = "详细地址",order =15) private String fullAddress; @ApiModelProperty(value = "公司地址-国家名字", dataType = "String") @@ -145,6 +173,7 @@ private String invoiceAreaName; @ApiModelProperty(value = "业务范围", dataType = "String") + @ExcelProperty(value = "业务范围",order =16) private String businessScope; @ApiModelProperty(value = "minio存储文件名", dataType = "String") @@ -163,9 +192,11 @@ private Integer isDel; @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间",order =17) private String createTime; @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order =18) private String updateTime; @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index c12ec97..91b8097 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -17,6 +17,7 @@ private Long id; + @TableField(exist = false) @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; @@ -94,7 +95,7 @@ @ApiModelProperty(value = "标签绑定", dataType = "String") private String labelBind; - @ApiModelProperty(value = "删除标记", dataType = "String") + @ApiModelProperty(value = "删除标记", dataType = "Integer") private Integer isDel; @ApiModelProperty(value = "创建人", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java index 211e8d8..5208fb4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 184a15e..aa4c681 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.customer; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; @@ -9,7 +8,9 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.service.customer.CustomerAdviceService; @@ -49,25 +50,21 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - try { - customerAdviceMapper.updateById(customerAdviceInfo); + Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + if (updateFlag > 0) { return ReturnUtil.success(); - } catch (Exception daex) { - log.error("客户投诉更新异常,客户信息{},异常信息{}", JSONObject.toJSON(customerAdviceInfo), daex.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { - try { - initCustomerAdviceInfo(customerAdviceInfo); - customerAdviceMapper.insert(customerAdviceInfo); + initCustomerAdviceInfo(customerAdviceInfo); + Integer addFlag=customerAdviceMapper.insert(customerAdviceInfo); + if (addFlag > 0) { return ReturnUtil.success(); - } catch (Exception daex) { - log.error("客户投诉新增异常,客户信息{},异常信息{}", JSONObject.toJSON(customerAdviceInfo), daex.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override @@ -75,9 +72,12 @@ try { QueryWrapper wrapper = listParamWrapper(request); List customerAdviceList = customerAdviceMapper.selectList(wrapper); + for (CustomerAdviceInfo customerAdviceInfo : customerAdviceList) { + DictCodeUtils.convertDictCodeToName(customerAdviceInfo); + } iBaseExportService.exportExcel(response, CustomerAdviceInfo.class, customerAdviceList, ExportEnum.ADVICE_EXPORT.getSheetName()); } catch (Exception e) { - e.printStackTrace(); + log.error("客户投诉导出出现异常,异常信息为{}",e); } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java index c986d41..fcf6b5b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java @@ -16,19 +16,24 @@ import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; +import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; import com.casic.missiles.service.customer.CustomerSampleService; +import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Optional; @Service @AllArgsConstructor @@ -38,6 +43,7 @@ private final IBaseExportService iBaseExportService; private final CertificationResponseMapper certificationResponseMapper; private final MesureRecordsResponseMapper mesureResponseMapper; + private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override public Page listPage(Page page, CustomerSampleListRequest request) throws Exception { @@ -46,23 +52,29 @@ return customerSamplePage; } + //新增样品表,同时新增样品委托书关联状态表 @Override + @Transactional public ReturnDTO addSample(CustomerSampleInfo customerSampleInfo) { initSample(customerSampleInfo); Integer addFlag = this.baseMapper.insert(customerSampleInfo); - if (addFlag > 0) { + Integer addStatuFlag = sampleStatusCreator(customerSampleInfo.getOrderId(), customerSampleInfo.getId(), customerSampleInfo.getSampleStatus()); + if (addFlag > 0 && addStatuFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + //更新样品表,同时更新样品委托书关联状态表 @Override + @Transactional public ReturnDTO updateSample(CustomerSampleInfo customerSampleInfo) { AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setUpdateUser(authUser.getId()); initSample(customerSampleInfo); Integer updateFlag = this.baseMapper.updateById(customerSampleInfo); - if (updateFlag > 0) { + Integer updateStatuFlag = sampleStatusUpdator(customerSampleInfo.getOrderId(), customerSampleInfo.getId(), customerSampleInfo.getSampleStatus()); + if (updateFlag > 0 && updateStatuFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -71,6 +83,7 @@ @Override public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); + customerSampleInfo.setOrderId(orderBuilder(customerSampleInfo.getId())); return customerSampleInfo; } @@ -79,16 +92,21 @@ try { QueryWrapper wrapper = listParamWrapper(request); List customerSampleList = customerSampleListResponseMapper.selectList(wrapper); + for (CustomerSampleListResponse customerSampleListResponse : customerSampleList) { + DictCodeUtils.convertDictCodeToName(customerSampleListResponse); + } iBaseExportService.exportExcel(response, CustomerSampleListResponse.class, customerSampleList, ExportEnum.SAMPLE_EXPORT.getSheetName()); } catch (Exception e) { - e.printStackTrace(); + log.error("样品导出出现异常,异常信息为{}", e); } } @Override + @Transactional public ReturnDTO deleteSample(Long id) { Integer deleteFalg = this.baseMapper.deleteById(id); - if (deleteFalg > 0) { + Integer deleteStatusFlag = sampleStatusDeletor(id); + if (deleteFalg > 0 && deleteStatusFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -97,19 +115,19 @@ @Override public Page mesureRecordsBySampleId(Long id) { Page page = PageFactory.defaultPage(); - QueryWrapper wrapper=new QueryWrapper() - .eq("sample_id",id); - Page mesureRecordsResponsePage= mesureResponseMapper.selectPage(page,wrapper); + QueryWrapper wrapper = new QueryWrapper() + .eq("sample_id", id); + Page mesureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); return mesureRecordsResponsePage; } @Override public Page certificationBySampleId(Long id) { Page page = PageFactory.defaultPage(); - QueryWrapper wrapper=new QueryWrapper() - .eq("sample_id",id); - Page certificationResponsePage= certificationResponseMapper.selectPage(page,wrapper); - return certificationResponsePage; + QueryWrapper wrapper = new QueryWrapper() + .eq("sample_id", id); + Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); + return certificateResponsePage; } private void initSample(CustomerSampleInfo customerSampleInfo) { @@ -134,8 +152,45 @@ "{0} >= DATE_FORMAT(check_date,'%Y-%m-%d')", request.getStartTime()); queryWrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} <= DATE_FORMAT(check_date,'%Y-%m-%d')", request.getEndTime()); + queryWrapper.eq("is_del",0); queryWrapper.orderByDesc("create_time"); return queryWrapper; } + private Integer sampleStatusCreator(Long id, Long sampleId, String status) { + BusinessOrderSampleRelation sampleStatusRelation = new BusinessOrderSampleRelation(); + sampleStatusRelation.setOrderId(id); + sampleStatusRelation.setSampleId(sampleId); + sampleStatusRelation.setSampleStatus(status); + Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusRelation); + return sampleStatus; + } + + private Integer sampleStatusUpdator(Long orderId, Long sampleId, String status) { + QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() + .eq("sample_id", sampleId) + .eq("order_id", orderId); + BusinessOrderSampleRelation sampleStatusRelation = new BusinessOrderSampleRelation(); + sampleStatusRelation.setOrderId(orderId); + sampleStatusRelation.setSampleId(sampleId); + sampleStatusRelation.setSampleStatus(status); + Integer sampleStatus = this.sampleRelationMapper.update(sampleStatusRelation, sampleStatusRelationWrapper); + return sampleStatus; + } + + private Long orderBuilder(Long sampleId) { + QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() + .eq("sample_id", sampleId); + List sampleStatusList = this.sampleRelationMapper.selectList(sampleStatusRelationWrapper); + Optional optionalSampleRelation = sampleStatusList.stream().findFirst(); + return optionalSampleRelation.isPresent() ? optionalSampleRelation.get().getOrderId(): Long.valueOf("-1"); + } + + private Integer sampleStatusDeletor(Long sampleId) { + QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() + .eq("sample_id", sampleId); + Integer deleteFlage = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); + return deleteFlage; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index cbf66c8..512e0e2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -12,8 +12,9 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; +import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; @@ -26,7 +27,6 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -57,41 +57,32 @@ @Transactional public ReturnDTO addCustomer(CustomerInfo customerInfo) { initCustomerInfo(customerInfo); - try { - this.baseMapper.insert(customerInfo); - userInfoListCreator(customerInfo.getCustomerUserList(),customerInfo.getId()); + Integer addFlag = this.baseMapper.insert(customerInfo); + Boolean userAddFlag = userInfoListCreator(customerInfo.getCustomerUserList(), customerInfo.getId()); + if (addFlag > 0 && userAddFlag) { return ReturnUtil.success(); - } catch (DataAccessException dae) { - log.error("客户新增,新增异常,异常信息{}", dae.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override @Transactional public ReturnDTO updateCustomer(CustomerInfo customerInfo) { - try { - AuthUser authUser = ShiroKit.getUser(); - customerInfo.setUpdateUser(authUser.getId()); - this.baseMapper.updateById(customerInfo); - userInfoListEditor(customerInfo.getCustomerUserList()); + AuthUser authUser = ShiroKit.getUser(); + customerInfo.setUpdateUser(authUser.getId()); + Integer updateFlag=this.baseMapper.updateById(customerInfo); + Boolean userUpdateFlag=userInfoListEditor(customerInfo.getCustomerUserList()); + if (updateFlag > 0 && userUpdateFlag) { return ReturnUtil.success(); - } catch (DataAccessException dae) { - log.error("客户新增,新增异常,异常信息{}", dae.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override - public ReturnDTO customerDetail(Long id) { - try { - CustomerInfo customerInfo = this.baseMapper.selectById(id); - customerInfo.setCustomerUserList(customerUserDetail(id)); - return ReturnUtil.success(customerInfo); - } catch (DataAccessException dae) { - log.error("客户新增,新增异常,异常信息{}", dae.getMessage()); - return ReturnUtil.failed(); - } + public CustomerInfo customerDetail(Long id) { + CustomerInfo customerInfo = this.baseMapper.selectById(id); + customerInfo.setCustomerUserList(customerUserDetail(id)); + return customerInfo; } @Override @@ -129,13 +120,16 @@ } @Override - public void customerExport(CustomerListRequest request, HttpServletResponse response){ + public void customerExport(CustomerListRequest request, HttpServletResponse response) { try { QueryWrapper wrapper = listParamWrapper(request); List customerInfoList = this.baseMapper.selectList(wrapper); + for (CustomerInfo customerInfo :customerInfoList) { + DictCodeUtils.convertDictCodeToName(customerInfo); + } iBaseExportService.exportExcel(response, CustomerInfo.class, customerInfoList, ExportEnum.CUSTOMER_EXPORT.getSheetName()); } catch (Exception e) { - e.printStackTrace(); + log.error("客户导出出现异常,异常信息为{}", e); } } @@ -165,20 +159,30 @@ return customerUserInfoList; } - private void userInfoListEditor(List userInfoList) { + private Boolean userInfoListEditor(List userInfoList) { + Boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { - customerUserMapper.updateById(customerUserInfo); + Integer userUpdateNum =customerUserMapper.updateById(customerUserInfo); + if (userUpdateNum <= 0) { + userUpdateFlag = false; + } } + return userUpdateFlag; } - private void userInfoListCreator(List userInfoList,Long id) { + private Boolean userInfoListCreator(List userInfoList, Long id) { Long maxUserNo = customerUserMapper.selectMaxUserNo(); + Boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); customerUserInfo.setUserNo(customerNo); - customerUserMapper.insert(customerUserInfo); + Integer userAddNum = customerUserMapper.insert(customerUserInfo); + if (userAddNum <= 0) { + userUpdateFlag = false; + } } + return userUpdateFlag; } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java index 8fdf114..d816cb8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java @@ -1,6 +1,6 @@ package com.casic.missiles.service.Impl.customer; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.mapper.customer.CustomerWorkbenchMapper; import com.casic.missiles.service.customer.CustomerWorkbenchService; import lombok.AllArgsConstructor; @@ -19,75 +19,43 @@ private final CustomerWorkbenchMapper customerWorkbenchMapper; @Override - public ReturnDTO>> sampleIncreaseTrend() { - ReturnDTO>> returnDTO = new ReturnDTO<>(); - try { - List> sampleList = customerWorkbenchMapper.sampleIncreaseTrend(); - Map trendMap = sampleList.stream().collect( - Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) - ); - List> trendMapList = recentYearBuilder(trendMap); - returnDTO.setCode(200); - returnDTO.setData(trendMapList); - returnDTO.setMessage("查询成功"); - } catch (Exception e) { - returnDTO.setCode(500); - returnDTO.setMessage("查询异常"); - log.error("样品新增趋势查询异常,异常信息{}", e.getMessage()); - } - return returnDTO; + public List sampleIncreaseTrend() { + List> sampleList = customerWorkbenchMapper.sampleIncreaseTrend(); + Map trendMap = sampleList.stream().collect( + Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) + ); + List trendResponseList = recentYearBuilder(trendMap); + return trendResponseList; } @Override - public ReturnDTO>> querySampleExpireTrend() { - ReturnDTO>> returnDTO = new ReturnDTO<>(); - try { - List> sampleList = customerWorkbenchMapper.querySampleExpireTrend(); - Map trendMap = sampleList.stream().collect( - Collectors.toMap(e -> String.valueOf(e.get("expireTime")), e -> String.valueOf(e.get("count"))) - ); - List> trendMapList = recentYearBuilder(trendMap); - returnDTO.setCode(200); - returnDTO.setData(trendMapList); - returnDTO.setMessage("查询成功"); - } catch (Exception e) { - returnDTO.setCode(500); - returnDTO.setMessage("查询异常"); - log.error("样品到期趋势查询异常,异常信息{}", e.getMessage()); - } - return returnDTO; + public List querySampleExpireTrend() { + List> sampleList = customerWorkbenchMapper.querySampleExpireTrend(); + Map trendMap = sampleList.stream().collect( + Collectors.toMap(e -> String.valueOf(e.get("expireTime")), e -> String.valueOf(e.get("count"))) + ); + List trendResponseList = recentYearBuilder(trendMap); + return trendResponseList; } @Override - public ReturnDTO>> customerIncreaseTrend() { - ReturnDTO>> returnDTO = new ReturnDTO<>(); - try { - List> sampleList = customerWorkbenchMapper.customerIncreaseTrend(); - Map trendMap = sampleList.stream().collect( - Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) - ); - List> trendMapList = recentYearBuilder(trendMap); - returnDTO.setCode(200); - returnDTO.setData(trendMapList); - returnDTO.setMessage("查询成功"); - } catch (Exception e) { - returnDTO.setCode(500); - returnDTO.setMessage("查询异常"); - log.error("客户新增趋势查询异常,异常信息{}", e.getMessage()); - } - return returnDTO; + public List customerIncreaseTrend() { + List> sampleList = customerWorkbenchMapper.customerIncreaseTrend(); + Map trendMap = sampleList.stream().collect( + Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) + ); + List trendResponseList = recentYearBuilder(trendMap); + return trendResponseList; } // 鉴定金额暂时没有表设计,loading... @Override - public ReturnDTO>> customerExcellentList() { - - + public List customerExcellentList() { return null; } - private List> recentYearBuilder(Map trendMap) { - List> mapList = new ArrayList<>(); + private List recentYearBuilder(Map trendMap) { + List mapList = new ArrayList<>(); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMM"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月"); Calendar beginDate = Calendar.getInstance(); @@ -96,10 +64,10 @@ Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { - Map dataMap = new HashMap(); - dataMap.put("date", sdf2.format(beginDate.getTime())); - dataMap.put("count", trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); - mapList.add(dataMap); + WorkbenceTrendResponse workbenceResponse = new WorkbenceTrendResponse(); + workbenceResponse.setDate(sdf2.format(beginDate.getTime())); + workbenceResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); + mapList.add(workbenceResponse); beginDate.add(Calendar.MONTH, 1); } return mapList; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java index 4b0b2a6..03a6673 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java @@ -17,7 +17,7 @@ ReturnDTO updateCustomer(CustomerInfo customerInfo); - ReturnDTO customerDetail(Long id); + CustomerInfo customerDetail(Long id); Page sampleRecordsByCustomerId(Long customerId); diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java index 4e02809..c59faa6 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerController.java @@ -11,10 +11,8 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListRequest; import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.exception.BusinessException; -import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.model.customer.CustomerInfo; import com.casic.missiles.model.exception.enums.CoreExceptionEnum; import com.casic.missiles.service.customer.CustomerService; @@ -72,7 +70,7 @@ Assert.isFalse(Objects.isNull(idDTO.getId()), () -> { throw new BusinessException(BusinessExceptionEnum.ID_NULL); }); - return customerService.customerDetail(idDTO.getId()); + return ReturnUtil.success(customerService.customerDetail(idDTO.getId())); } @ApiOperation("根据客户id查询样品记录-分页") diff --git a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java index a42dc64..7747976 100644 --- a/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java +++ b/casic-metering-api/src/main/java/com/casic/missiles/controller/customer/CustomerWorkbenchController.java @@ -1,6 +1,8 @@ package com.casic.missiles.controller.customer; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.ReturnUtil; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.service.customer.CustomerWorkbenchService; import io.swagger.annotations.Api; import io.swagger.annotations.ApiOperation; @@ -8,9 +10,6 @@ import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; -import java.util.List; -import java.util.Map; - @Api(tags = "客户工作台资源") @RestController @RequestMapping("/customer/workbench") @@ -21,25 +20,25 @@ @ApiOperation("样品新增趋势") @RequestMapping("/sample/increaseTrend") - public ReturnDTO>> increaseTrend() { - return customerWorkbenchService.sampleIncreaseTrend(); + public ReturnDTO increaseTrend() { + return ReturnUtil.success(customerWorkbenchService.sampleIncreaseTrend()); } @ApiOperation("样品到期趋势") @RequestMapping("/sample/expireTrend") - public ReturnDTO>> querySampleExpireTrend() { - return customerWorkbenchService.querySampleExpireTrend(); + public ReturnDTOquerySampleExpireTrend() { + return ReturnUtil.success(customerWorkbenchService.querySampleExpireTrend()); } @ApiOperation("客户新增趋势") @RequestMapping("/increaseTrend") - public ReturnDTO>> customerIncreaseTrend() { - return customerWorkbenchService.customerIncreaseTrend(); + public ReturnDTO customerIncreaseTrend() { + return ReturnUtil.success(customerWorkbenchService.customerIncreaseTrend()); } @ApiOperation("优质客户名单") @RequestMapping("/excellentList") - public ReturnDTO>> customerExcellentList() { - return customerWorkbenchService.customerExcellentList(); + public ReturnDTO customerExcellentList() { + return ReturnUtil.success(customerWorkbenchService.customerExcellentList()); } } diff --git a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml index 0f59d8e..b0d7272 100644 --- a/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml +++ b/casic-metering-dao/src/main/resources/mapper/customer/CustomerWorkbenchMapper.xml @@ -11,7 +11,7 @@ AND is_del=0 GROUP BY create_time ) sampleInfo - GROUP BY create_time + GROUP BY increaseTime diff --git a/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java new file mode 100644 index 0000000..bfbc41b --- /dev/null +++ b/casic-metering-model/src/main/java/com/casic/missiles/dto/customer/WorkbenceTrendResponse.java @@ -0,0 +1,17 @@ +package com.casic.missiles.dto.customer; + +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +@Data +@ApiModel +public class WorkbenceTrendResponse { + + @ApiModelProperty(value = "日期(月份)", dataType = "String") + private String Date; + + @ApiModelProperty(value = "累计值", dataType = "String") + private String count; + +} diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java index 9e224b3..3e46642 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/business/BusinessOrderSampleRelation.java @@ -42,5 +42,4 @@ @TableField("sample_status") private String sampleStatus; - } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java index 81dc9da..947f87a 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerAdviceInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,64 +18,80 @@ @Data @TableName("customer_advice_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerAdviceInfo implements Serializable { private static final long serialVersionUID = 1L; private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "反馈编号",order = 0) private String adviceNo; @ApiModelProperty(value = "投诉类型-字典", dataType = "String") private String adviceClass; - @ApiModelProperty(value = "投诉类型", dataType = "String") + @ApiModelProperty(value = "投诉类别", dataType = "String") @DictCodeField(message = "投诉类型描述不合法", cacheName = MeterDictCode.ADVICE_TYPE) private String adviceType; @TableField(exist = false) @ApiModelProperty(value = "投诉类型名称", dataType = "String") + @ExcelProperty(value = "投诉类别",order = 1) private String adviceTypeName; @ApiModelProperty(value = "投诉人", dataType = "String") + @ExcelProperty(value = "投诉人",order = 2) private String advicePerson; @ApiModelProperty(value = "投诉人联系方式", dataType = "String") + @ExcelProperty(value = "投诉人联系方式",order = 3) private String personPhone; @ApiModelProperty(value = "客户编号", dataType = "String") + @ExcelProperty(value = "客户编号",order = 4) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 5) private String customerName; @ApiModelProperty(value = "客户id", dataType = "String") private Long customerId; @ApiModelProperty(value = "投诉内容", dataType = "String") + @ExcelProperty(value = "投诉内容",order = 6) private String content; @ApiModelProperty(value = "处置状态-0未处置,1已处置", dataType = "String") - private String handleStatus; //投诉人联系方式 + private String handleStatus; @ApiModelProperty(value = "处置意见", dataType = "String") - private String handleMessage; //投诉人联系方式 + @ExcelProperty(value = "处置意见",order = 7) + private String handleMessage; - @ApiModelProperty(value = "创建用户id", dataType = "String") - private Long createUser; //投诉人联系方式 + @ApiModelProperty(value = "创建用户id", dataType = "Long") + private Long createUser; - @ApiModelProperty(value = "编辑用户id", dataType = "String") - private Long updateUser; //投诉人联系方式 + @ApiModelProperty(value = "编辑用户id", dataType = "Long") + private Long updateUser; - @ApiModelProperty(value = "删除标记", dataType = "String") - private Integer isDel; //投诉人联系方式 + @ApiModelProperty(value = "删除标记", dataType = "Integer") + private Integer isDel; @ApiModelProperty(value = "投诉时间", dataType = "String") - private String adviceTime; //投诉人联系方式 + @ExcelProperty(value = "投诉时间",order = 8) + private String adviceTime; @ApiModelProperty(value = "创建时间", dataType = "String") - private String createTime; //投诉人联系方式 + @ExcelProperty(value = "创建时间",order = 9) + private String createTime; - @ApiModelProperty(value = "创建时间", dataType = "String") - private String updateTime; //投诉人联系方式 + @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order = 10) + private String updateTime; } diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java index 94ac9e3..068bf49 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import com.casic.missiles.annotation.DictCodeField; @@ -11,7 +18,12 @@ import java.util.List; @Data -@TableName("customer_info ") +@TableName("customer_info") +@ColumnWidth(30) +@HeadRowHeight(15) +@ContentRowHeight(20) +@ContentStyle(borderLeft = BorderStyleEnum.THIN, borderBottom = BorderStyleEnum.THIN, borderTop = BorderStyleEnum.THIN, borderRight = BorderStyleEnum.THIN) +@ExcelIgnoreUnannotated public class CustomerInfo implements Serializable { private static final long serialVersionUID = 1L; @@ -19,48 +31,63 @@ private Long id; @ApiModelProperty(value = "编号", dataType = "String") + @ExcelProperty(value = "编号",order = 0) private String customerNo; @ApiModelProperty(value = "公司名称", dataType = "String") + @ExcelProperty(value = "公司名称",order = 1) private String customerName; @ApiModelProperty(value = "公司简称", dataType = "String") + @ExcelProperty(value = "公司简称",order = 2) private String briefName; @ApiModelProperty(value = "业务内容", dataType = "String") + @ExcelProperty(value = "业务内容",order = 3) private String businessContent; @ApiModelProperty(value = "税号", dataType = "String") + @ExcelProperty(value = "税号",order = 4) private String taxNumber; @ApiModelProperty(value = "银行账户名", dataType = "String") + @ExcelProperty(value = "银行账户名",order = 5) private String bankAccount; @ApiModelProperty(value = "银行名称", dataType = "String") + @ExcelProperty(value = "银行名称",order = 6) private String bankName; @ApiModelProperty(value = "银行账号", dataType = "String") + @ExcelProperty(value = "银行账号",order = 7) private String bankAccountNumber; @ApiModelProperty(value = "邮编", dataType = "String") + @ExcelProperty(value = "邮编",order = 8) private String postalCode; @ApiModelProperty(value = "负责人", dataType = "String") + @ExcelProperty(value = "负责人",order = 9) private String director; @ApiModelProperty(value = "电话", dataType = "String") + @ExcelProperty(value = "电话",order = 10) private String phone; @ApiModelProperty(value = "传真", dataType = "String") + @ExcelProperty(value = "电话",order = 11) private String fax; @ApiModelProperty(value = "手机", dataType = "String") + @ExcelProperty(value = "手机",order = 12) private String mobile; @ApiModelProperty(value = "邮箱", dataType = "String") + @ExcelProperty(value = "邮箱",order = 13) private String email; @ApiModelProperty(value = "网址", dataType = "String") + @ExcelProperty(value = "网址",order =14) private String website; @ApiModelProperty(value = "履约评级-字典", dataType = "String") @@ -103,6 +130,7 @@ private String addressArea; @ApiModelProperty(value = "公司地址-详细地址", dataType = "String") + @ExcelProperty(value = "详细地址",order =15) private String fullAddress; @ApiModelProperty(value = "公司地址-国家名字", dataType = "String") @@ -145,6 +173,7 @@ private String invoiceAreaName; @ApiModelProperty(value = "业务范围", dataType = "String") + @ExcelProperty(value = "业务范围",order =16) private String businessScope; @ApiModelProperty(value = "minio存储文件名", dataType = "String") @@ -163,9 +192,11 @@ private Integer isDel; @ApiModelProperty(value = "创建时间", dataType = "String") + @ExcelProperty(value = "创建时间",order =17) private String createTime; @ApiModelProperty(value = "最后更新时间", dataType = "String") + @ExcelProperty(value = "最后更新时间",order =18) private String updateTime; @TableField(exist = false) diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java index c12ec97..91b8097 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerSampleInfo.java @@ -17,6 +17,7 @@ private Long id; + @TableField(exist = false) @ApiModelProperty(value = "委托书id", dataType = "Long") private Long orderId; @@ -94,7 +95,7 @@ @ApiModelProperty(value = "标签绑定", dataType = "String") private String labelBind; - @ApiModelProperty(value = "删除标记", dataType = "String") + @ApiModelProperty(value = "删除标记", dataType = "Integer") private Integer isDel; @ApiModelProperty(value = "创建人", dataType = "String") diff --git a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java index 211e8d8..5208fb4 100644 --- a/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java +++ b/casic-metering-model/src/main/java/com/casic/missiles/model/customer/CustomerUserInfo.java @@ -1,5 +1,12 @@ package com.casic.missiles.model.customer; +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.alibaba.excel.annotation.write.style.ColumnWidth; +import com.alibaba.excel.annotation.write.style.ContentRowHeight; +import com.alibaba.excel.annotation.write.style.ContentStyle; +import com.alibaba.excel.annotation.write.style.HeadRowHeight; +import com.alibaba.excel.enums.poi.BorderStyleEnum; import com.baomidou.mybatisplus.annotation.TableField; import com.baomidou.mybatisplus.annotation.TableName; import io.swagger.annotations.ApiModelProperty; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java index 184a15e..aa4c681 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerAdviceServiceImpl.java @@ -1,6 +1,5 @@ package com.casic.missiles.service.Impl.customer; -import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.casic.missiles.core.base.service.IBaseExportService; @@ -9,7 +8,9 @@ import com.casic.missiles.dto.ReturnDTO; import com.casic.missiles.dto.ReturnUtil; import com.casic.missiles.dto.customer.advice.CustomerAdviceListRequest; +import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerAdviceMapper; import com.casic.missiles.model.customer.CustomerAdviceInfo; import com.casic.missiles.service.customer.CustomerAdviceService; @@ -49,25 +50,21 @@ @Override public ReturnDTO updateAdvice(CustomerAdviceInfo customerAdviceInfo) { - try { - customerAdviceMapper.updateById(customerAdviceInfo); + Integer updateFlag = customerAdviceMapper.updateById(customerAdviceInfo); + if (updateFlag > 0) { return ReturnUtil.success(); - } catch (Exception daex) { - log.error("客户投诉更新异常,客户信息{},异常信息{}", JSONObject.toJSON(customerAdviceInfo), daex.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override public ReturnDTO addAdvice(CustomerAdviceInfo customerAdviceInfo) { - try { - initCustomerAdviceInfo(customerAdviceInfo); - customerAdviceMapper.insert(customerAdviceInfo); + initCustomerAdviceInfo(customerAdviceInfo); + Integer addFlag=customerAdviceMapper.insert(customerAdviceInfo); + if (addFlag > 0) { return ReturnUtil.success(); - } catch (Exception daex) { - log.error("客户投诉新增异常,客户信息{},异常信息{}", JSONObject.toJSON(customerAdviceInfo), daex.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override @@ -75,9 +72,12 @@ try { QueryWrapper wrapper = listParamWrapper(request); List customerAdviceList = customerAdviceMapper.selectList(wrapper); + for (CustomerAdviceInfo customerAdviceInfo : customerAdviceList) { + DictCodeUtils.convertDictCodeToName(customerAdviceInfo); + } iBaseExportService.exportExcel(response, CustomerAdviceInfo.class, customerAdviceList, ExportEnum.ADVICE_EXPORT.getSheetName()); } catch (Exception e) { - e.printStackTrace(); + log.error("客户投诉导出出现异常,异常信息为{}",e); } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java index c986d41..fcf6b5b 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerSampleServiceImpl.java @@ -16,19 +16,24 @@ import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; import com.casic.missiles.exception.BusinessException; +import com.casic.missiles.mapper.business.BusinessOrderSampleRelationMapper; import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; import com.casic.missiles.mapper.customer.customize.CustomerSampleListResponseMapper; import com.casic.missiles.mapper.customer.CustomerSampleMapper; import com.casic.missiles.mapper.customer.customize.MesureRecordsResponseMapper; +import com.casic.missiles.model.business.BusinessOrderSampleRelation; import com.casic.missiles.model.customer.CustomerSampleInfo; import com.casic.missiles.service.customer.CustomerSampleService; +import com.casic.missiles.utils.DictCodeUtils; import com.casic.missiles.utils.NumberGeneratorUtil; import lombok.AllArgsConstructor; import org.apache.commons.lang3.StringUtils; import org.springframework.stereotype.Service; +import org.springframework.transaction.annotation.Transactional; import javax.servlet.http.HttpServletResponse; import java.util.List; +import java.util.Optional; @Service @AllArgsConstructor @@ -38,6 +43,7 @@ private final IBaseExportService iBaseExportService; private final CertificationResponseMapper certificationResponseMapper; private final MesureRecordsResponseMapper mesureResponseMapper; + private final BusinessOrderSampleRelationMapper sampleRelationMapper; @Override public Page listPage(Page page, CustomerSampleListRequest request) throws Exception { @@ -46,23 +52,29 @@ return customerSamplePage; } + //新增样品表,同时新增样品委托书关联状态表 @Override + @Transactional public ReturnDTO addSample(CustomerSampleInfo customerSampleInfo) { initSample(customerSampleInfo); Integer addFlag = this.baseMapper.insert(customerSampleInfo); - if (addFlag > 0) { + Integer addStatuFlag = sampleStatusCreator(customerSampleInfo.getOrderId(), customerSampleInfo.getId(), customerSampleInfo.getSampleStatus()); + if (addFlag > 0 && addStatuFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } + //更新样品表,同时更新样品委托书关联状态表 @Override + @Transactional public ReturnDTO updateSample(CustomerSampleInfo customerSampleInfo) { AuthUser authUser = ShiroKit.getUser(); customerSampleInfo.setUpdateUser(authUser.getId()); initSample(customerSampleInfo); Integer updateFlag = this.baseMapper.updateById(customerSampleInfo); - if (updateFlag > 0) { + Integer updateStatuFlag = sampleStatusUpdator(customerSampleInfo.getOrderId(), customerSampleInfo.getId(), customerSampleInfo.getSampleStatus()); + if (updateFlag > 0 && updateStatuFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -71,6 +83,7 @@ @Override public CustomerSampleInfo sampleDetail(Long id) { CustomerSampleInfo customerSampleInfo = this.baseMapper.selectById(id); + customerSampleInfo.setOrderId(orderBuilder(customerSampleInfo.getId())); return customerSampleInfo; } @@ -79,16 +92,21 @@ try { QueryWrapper wrapper = listParamWrapper(request); List customerSampleList = customerSampleListResponseMapper.selectList(wrapper); + for (CustomerSampleListResponse customerSampleListResponse : customerSampleList) { + DictCodeUtils.convertDictCodeToName(customerSampleListResponse); + } iBaseExportService.exportExcel(response, CustomerSampleListResponse.class, customerSampleList, ExportEnum.SAMPLE_EXPORT.getSheetName()); } catch (Exception e) { - e.printStackTrace(); + log.error("样品导出出现异常,异常信息为{}", e); } } @Override + @Transactional public ReturnDTO deleteSample(Long id) { Integer deleteFalg = this.baseMapper.deleteById(id); - if (deleteFalg > 0) { + Integer deleteStatusFlag = sampleStatusDeletor(id); + if (deleteFalg > 0 && deleteStatusFlag > 0) { return ReturnUtil.success(); } throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); @@ -97,19 +115,19 @@ @Override public Page mesureRecordsBySampleId(Long id) { Page page = PageFactory.defaultPage(); - QueryWrapper wrapper=new QueryWrapper() - .eq("sample_id",id); - Page mesureRecordsResponsePage= mesureResponseMapper.selectPage(page,wrapper); + QueryWrapper wrapper = new QueryWrapper() + .eq("sample_id", id); + Page mesureRecordsResponsePage = mesureResponseMapper.selectPage(page, wrapper); return mesureRecordsResponsePage; } @Override public Page certificationBySampleId(Long id) { Page page = PageFactory.defaultPage(); - QueryWrapper wrapper=new QueryWrapper() - .eq("sample_id",id); - Page certificationResponsePage= certificationResponseMapper.selectPage(page,wrapper); - return certificationResponsePage; + QueryWrapper wrapper = new QueryWrapper() + .eq("sample_id", id); + Page certificateResponsePage = certificationResponseMapper.selectPage(page, wrapper); + return certificateResponsePage; } private void initSample(CustomerSampleInfo customerSampleInfo) { @@ -134,8 +152,45 @@ "{0} >= DATE_FORMAT(check_date,'%Y-%m-%d')", request.getStartTime()); queryWrapper.apply(StringUtils.isNotBlank(request.getEndTime()), "{0} <= DATE_FORMAT(check_date,'%Y-%m-%d')", request.getEndTime()); + queryWrapper.eq("is_del",0); queryWrapper.orderByDesc("create_time"); return queryWrapper; } + private Integer sampleStatusCreator(Long id, Long sampleId, String status) { + BusinessOrderSampleRelation sampleStatusRelation = new BusinessOrderSampleRelation(); + sampleStatusRelation.setOrderId(id); + sampleStatusRelation.setSampleId(sampleId); + sampleStatusRelation.setSampleStatus(status); + Integer sampleStatus = this.sampleRelationMapper.insert(sampleStatusRelation); + return sampleStatus; + } + + private Integer sampleStatusUpdator(Long orderId, Long sampleId, String status) { + QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() + .eq("sample_id", sampleId) + .eq("order_id", orderId); + BusinessOrderSampleRelation sampleStatusRelation = new BusinessOrderSampleRelation(); + sampleStatusRelation.setOrderId(orderId); + sampleStatusRelation.setSampleId(sampleId); + sampleStatusRelation.setSampleStatus(status); + Integer sampleStatus = this.sampleRelationMapper.update(sampleStatusRelation, sampleStatusRelationWrapper); + return sampleStatus; + } + + private Long orderBuilder(Long sampleId) { + QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() + .eq("sample_id", sampleId); + List sampleStatusList = this.sampleRelationMapper.selectList(sampleStatusRelationWrapper); + Optional optionalSampleRelation = sampleStatusList.stream().findFirst(); + return optionalSampleRelation.isPresent() ? optionalSampleRelation.get().getOrderId(): Long.valueOf("-1"); + } + + private Integer sampleStatusDeletor(Long sampleId) { + QueryWrapper sampleStatusRelationWrapper = new QueryWrapper() + .eq("sample_id", sampleId); + Integer deleteFlage = this.sampleRelationMapper.delete(sampleStatusRelationWrapper); + return deleteFlage; + } + } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java index cbf66c8..512e0e2 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerServiceImpl.java @@ -12,8 +12,9 @@ import com.casic.missiles.dto.customer.CertificationResponse; import com.casic.missiles.dto.customer.Info.*; import com.casic.missiles.dto.customer.MesureRecordsResponse; -import com.casic.missiles.dto.customer.sample.CustomerSampleListResponse; +import com.casic.missiles.enums.BusinessExceptionEnum; import com.casic.missiles.enums.ExportEnum; +import com.casic.missiles.exception.BusinessException; import com.casic.missiles.mapper.customer.CustomerMapper; import com.casic.missiles.mapper.customer.CustomerUserMapper; import com.casic.missiles.mapper.customer.customize.CertificationResponseMapper; @@ -26,7 +27,6 @@ import lombok.AllArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.apache.commons.lang3.StringUtils; -import org.springframework.dao.DataAccessException; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; @@ -57,41 +57,32 @@ @Transactional public ReturnDTO addCustomer(CustomerInfo customerInfo) { initCustomerInfo(customerInfo); - try { - this.baseMapper.insert(customerInfo); - userInfoListCreator(customerInfo.getCustomerUserList(),customerInfo.getId()); + Integer addFlag = this.baseMapper.insert(customerInfo); + Boolean userAddFlag = userInfoListCreator(customerInfo.getCustomerUserList(), customerInfo.getId()); + if (addFlag > 0 && userAddFlag) { return ReturnUtil.success(); - } catch (DataAccessException dae) { - log.error("客户新增,新增异常,异常信息{}", dae.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override @Transactional public ReturnDTO updateCustomer(CustomerInfo customerInfo) { - try { - AuthUser authUser = ShiroKit.getUser(); - customerInfo.setUpdateUser(authUser.getId()); - this.baseMapper.updateById(customerInfo); - userInfoListEditor(customerInfo.getCustomerUserList()); + AuthUser authUser = ShiroKit.getUser(); + customerInfo.setUpdateUser(authUser.getId()); + Integer updateFlag=this.baseMapper.updateById(customerInfo); + Boolean userUpdateFlag=userInfoListEditor(customerInfo.getCustomerUserList()); + if (updateFlag > 0 && userUpdateFlag) { return ReturnUtil.success(); - } catch (DataAccessException dae) { - log.error("客户新增,新增异常,异常信息{}", dae.getMessage()); - return ReturnUtil.failed(); } + throw new BusinessException(BusinessExceptionEnum.HANDLE_FAILED); } @Override - public ReturnDTO customerDetail(Long id) { - try { - CustomerInfo customerInfo = this.baseMapper.selectById(id); - customerInfo.setCustomerUserList(customerUserDetail(id)); - return ReturnUtil.success(customerInfo); - } catch (DataAccessException dae) { - log.error("客户新增,新增异常,异常信息{}", dae.getMessage()); - return ReturnUtil.failed(); - } + public CustomerInfo customerDetail(Long id) { + CustomerInfo customerInfo = this.baseMapper.selectById(id); + customerInfo.setCustomerUserList(customerUserDetail(id)); + return customerInfo; } @Override @@ -129,13 +120,16 @@ } @Override - public void customerExport(CustomerListRequest request, HttpServletResponse response){ + public void customerExport(CustomerListRequest request, HttpServletResponse response) { try { QueryWrapper wrapper = listParamWrapper(request); List customerInfoList = this.baseMapper.selectList(wrapper); + for (CustomerInfo customerInfo :customerInfoList) { + DictCodeUtils.convertDictCodeToName(customerInfo); + } iBaseExportService.exportExcel(response, CustomerInfo.class, customerInfoList, ExportEnum.CUSTOMER_EXPORT.getSheetName()); } catch (Exception e) { - e.printStackTrace(); + log.error("客户导出出现异常,异常信息为{}", e); } } @@ -165,20 +159,30 @@ return customerUserInfoList; } - private void userInfoListEditor(List userInfoList) { + private Boolean userInfoListEditor(List userInfoList) { + Boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { - customerUserMapper.updateById(customerUserInfo); + Integer userUpdateNum =customerUserMapper.updateById(customerUserInfo); + if (userUpdateNum <= 0) { + userUpdateFlag = false; + } } + return userUpdateFlag; } - private void userInfoListCreator(List userInfoList,Long id) { + private Boolean userInfoListCreator(List userInfoList, Long id) { Long maxUserNo = customerUserMapper.selectMaxUserNo(); + Boolean userUpdateFlag = true; for (CustomerUserInfo customerUserInfo : userInfoList) { customerUserInfo.setCustomerId(id); String customerNo = NumberGeneratorUtil.getContactNo("khyh", maxUserNo++); customerUserInfo.setUserNo(customerNo); - customerUserMapper.insert(customerUserInfo); + Integer userAddNum = customerUserMapper.insert(customerUserInfo); + if (userAddNum <= 0) { + userUpdateFlag = false; + } } + return userUpdateFlag; } } diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java index 8fdf114..d816cb8 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/Impl/customer/CustomerWorkbenchServiceImpl.java @@ -1,6 +1,6 @@ package com.casic.missiles.service.Impl.customer; -import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import com.casic.missiles.mapper.customer.CustomerWorkbenchMapper; import com.casic.missiles.service.customer.CustomerWorkbenchService; import lombok.AllArgsConstructor; @@ -19,75 +19,43 @@ private final CustomerWorkbenchMapper customerWorkbenchMapper; @Override - public ReturnDTO>> sampleIncreaseTrend() { - ReturnDTO>> returnDTO = new ReturnDTO<>(); - try { - List> sampleList = customerWorkbenchMapper.sampleIncreaseTrend(); - Map trendMap = sampleList.stream().collect( - Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) - ); - List> trendMapList = recentYearBuilder(trendMap); - returnDTO.setCode(200); - returnDTO.setData(trendMapList); - returnDTO.setMessage("查询成功"); - } catch (Exception e) { - returnDTO.setCode(500); - returnDTO.setMessage("查询异常"); - log.error("样品新增趋势查询异常,异常信息{}", e.getMessage()); - } - return returnDTO; + public List sampleIncreaseTrend() { + List> sampleList = customerWorkbenchMapper.sampleIncreaseTrend(); + Map trendMap = sampleList.stream().collect( + Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) + ); + List trendResponseList = recentYearBuilder(trendMap); + return trendResponseList; } @Override - public ReturnDTO>> querySampleExpireTrend() { - ReturnDTO>> returnDTO = new ReturnDTO<>(); - try { - List> sampleList = customerWorkbenchMapper.querySampleExpireTrend(); - Map trendMap = sampleList.stream().collect( - Collectors.toMap(e -> String.valueOf(e.get("expireTime")), e -> String.valueOf(e.get("count"))) - ); - List> trendMapList = recentYearBuilder(trendMap); - returnDTO.setCode(200); - returnDTO.setData(trendMapList); - returnDTO.setMessage("查询成功"); - } catch (Exception e) { - returnDTO.setCode(500); - returnDTO.setMessage("查询异常"); - log.error("样品到期趋势查询异常,异常信息{}", e.getMessage()); - } - return returnDTO; + public List querySampleExpireTrend() { + List> sampleList = customerWorkbenchMapper.querySampleExpireTrend(); + Map trendMap = sampleList.stream().collect( + Collectors.toMap(e -> String.valueOf(e.get("expireTime")), e -> String.valueOf(e.get("count"))) + ); + List trendResponseList = recentYearBuilder(trendMap); + return trendResponseList; } @Override - public ReturnDTO>> customerIncreaseTrend() { - ReturnDTO>> returnDTO = new ReturnDTO<>(); - try { - List> sampleList = customerWorkbenchMapper.customerIncreaseTrend(); - Map trendMap = sampleList.stream().collect( - Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) - ); - List> trendMapList = recentYearBuilder(trendMap); - returnDTO.setCode(200); - returnDTO.setData(trendMapList); - returnDTO.setMessage("查询成功"); - } catch (Exception e) { - returnDTO.setCode(500); - returnDTO.setMessage("查询异常"); - log.error("客户新增趋势查询异常,异常信息{}", e.getMessage()); - } - return returnDTO; + public List customerIncreaseTrend() { + List> sampleList = customerWorkbenchMapper.customerIncreaseTrend(); + Map trendMap = sampleList.stream().collect( + Collectors.toMap(e -> String.valueOf(e.get("increaseTime")), e -> String.valueOf(e.get("count"))) + ); + List trendResponseList = recentYearBuilder(trendMap); + return trendResponseList; } // 鉴定金额暂时没有表设计,loading... @Override - public ReturnDTO>> customerExcellentList() { - - + public List customerExcellentList() { return null; } - private List> recentYearBuilder(Map trendMap) { - List> mapList = new ArrayList<>(); + private List recentYearBuilder(Map trendMap) { + List mapList = new ArrayList<>(); SimpleDateFormat sdf1 = new SimpleDateFormat("yyyyMM"); SimpleDateFormat sdf2 = new SimpleDateFormat("yyyy年MM月"); Calendar beginDate = Calendar.getInstance(); @@ -96,10 +64,10 @@ Calendar endDate = Calendar.getInstance(); endDate.setTime(new Date()); while (beginDate.getTime().compareTo(endDate.getTime()) <= 0) { - Map dataMap = new HashMap(); - dataMap.put("date", sdf2.format(beginDate.getTime())); - dataMap.put("count", trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); - mapList.add(dataMap); + WorkbenceTrendResponse workbenceResponse = new WorkbenceTrendResponse(); + workbenceResponse.setDate(sdf2.format(beginDate.getTime())); + workbenceResponse.setCount(trendMap.containsKey(sdf1.format(beginDate.getTime())) ? trendMap.get(sdf1.format(beginDate.getTime())) : "0"); + mapList.add(workbenceResponse); beginDate.add(Calendar.MONTH, 1); } return mapList; diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java index 4b0b2a6..03a6673 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerService.java @@ -17,7 +17,7 @@ ReturnDTO updateCustomer(CustomerInfo customerInfo); - ReturnDTO customerDetail(Long id); + CustomerInfo customerDetail(Long id); Page sampleRecordsByCustomerId(Long customerId); diff --git a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerWorkbenchService.java b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerWorkbenchService.java index c8a90b1..e168464 100644 --- a/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerWorkbenchService.java +++ b/casic-metering-service/src/main/java/com/casic/missiles/service/customer/CustomerWorkbenchService.java @@ -1,6 +1,7 @@ package com.casic.missiles.service.customer; import com.casic.missiles.dto.ReturnDTO; +import com.casic.missiles.dto.customer.WorkbenceTrendResponse; import java.util.List; import java.util.Map; @@ -13,12 +14,12 @@ CustomerWorkbenchService { - ReturnDTO>> sampleIncreaseTrend(); + List sampleIncreaseTrend(); - ReturnDTO>> querySampleExpireTrend(); + List querySampleExpireTrend(); - ReturnDTO>> customerIncreaseTrend(); + List customerIncreaseTrend(); - ReturnDTO>> customerExcellentList(); + List customerExcellentList(); } \ No newline at end of file