From 2e1ac74716f62ca5712d0187cb7d7d25ee13efe5 Mon Sep 17 00:00:00 2001
From: jiangping <jp@doumee.com>
Date: 星期二, 05 三月 2024 14:34:23 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java    |   16 ++--
 server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java                 |    4 
 server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java       |   29 ++++++
 server/company/src/main/java/com/doumee/api/business/MemberController.java                   |    4 
 server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java         |   63 +++++++++++++++
 server/platform/src/main/java/com/doumee/task/ScheduleTool.java                              |    4 
 server/service/src/main/java/com/doumee/dao/business/dto/MemberImport.java                   |   24 +++--
 server/service/src/main/java/com/doumee/service/business/SmsEmailService.java                |    1 
 server/company/src/main/java/com/doumee/api/business/SmsEmailController.java                 |    7 +
 server/service/src/main/java/com/doumee/core/utils/Constants.java                            |    1 
 server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java |   14 ++-
 server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java   |   30 ++-----
 server/service/src/main/java/com/doumee/service/business/MemberService.java                  |    2 
 13 files changed, 144 insertions(+), 55 deletions(-)

diff --git a/server/company/src/main/java/com/doumee/api/business/MemberController.java b/server/company/src/main/java/com/doumee/api/business/MemberController.java
index 74eea2e..ee6cf89 100644
--- a/server/company/src/main/java/com/doumee/api/business/MemberController.java
+++ b/server/company/src/main/java/com/doumee/api/business/MemberController.java
@@ -118,8 +118,8 @@
             @ApiImplicitParam(name = "file", value = "file", required = true, paramType = "query", dataType = "file", dataTypeClass = File.class),
     })
     @RequiresPermissions("business:worktype:create")
-    public ApiResponse<List<MemberImport>> importExcel (@ApiParam(value = "file") MultipartFile file) {
-        return ApiResponse.success(memberService.importBatch(file));
+    public ApiResponse<List<MemberImport>> importExcel (@ApiParam(value = "file") MultipartFile file,Integer  solutionId) {
+        return ApiResponse.success(memberService.importBatch(file,solutionId));
     }
 
 }
diff --git a/server/company/src/main/java/com/doumee/api/business/SmsEmailController.java b/server/company/src/main/java/com/doumee/api/business/SmsEmailController.java
index 6b8ece7..c89f032 100644
--- a/server/company/src/main/java/com/doumee/api/business/SmsEmailController.java
+++ b/server/company/src/main/java/com/doumee/api/business/SmsEmailController.java
@@ -46,6 +46,13 @@
         return ApiResponse.success(smsEmailService.sendSms(smsEmail));
     }
 
+    @ApiOperation("鐭俊楠岃瘉 - 浼佷笟楠岀")
+    @GetMapping("/validateCode")
+//    @RequiresPermissions("business:smsemail:sendSms")
+    public ApiResponse validateCode(@RequestParam String code) {
+        smsEmailService.validateCode(code);
+        return ApiResponse.success("鎿嶄綔鎴愬姛");
+    }
 
     @ApiOperation("鏍规嵁ID鍒犻櫎")
     @GetMapping("/delete/{id}")
diff --git a/server/platform/src/main/java/com/doumee/task/ScheduleTool.java b/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
index 270fced..58da84c 100644
--- a/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
+++ b/server/platform/src/main/java/com/doumee/task/ScheduleTool.java
@@ -16,8 +16,8 @@
  * @date 2021-10-10 14:40:35
  * https://www.bejson.com/othertools/cron/  cron 琛ㄨ揪寮忕敓鎴愬湴鍧�
  */
-//@Component
-//@EnableScheduling
+@Component
+@EnableScheduling
 @Slf4j
 public class ScheduleTool {
     @Autowired
diff --git a/server/service/src/main/java/com/doumee/core/utils/Constants.java b/server/service/src/main/java/com/doumee/core/utils/Constants.java
index 7bf1ba9..5d4125f 100644
--- a/server/service/src/main/java/com/doumee/core/utils/Constants.java
+++ b/server/service/src/main/java/com/doumee/core/utils/Constants.java
@@ -856,6 +856,7 @@
         COMPANY_BACK_APPLY_SIGNATURE(8, "浼佷笟鐢宠閫�鍥�(宸茬绔�)","鎻愪氦鎰忚锛�${param}",5),
         CLOSE(9, "璁㈠崟鍏抽棴","",6),
         PLATFORM_CHECK_PASS(10,"骞冲彴鎶曚繚瀹℃牳閫氳繃","鎻愪氦鎰忚锛�${param}",0),
+        COMPANY_BACK_APPLY_PASS(11, "浼佷笟鐢宠閫�鍥�(骞冲彴鎶曚繚瀹℃牳閫氳繃)","鎻愪氦鎰忚锛�${param}",5),
         ;
         // 鎴愬憳鍙橀噺
         private String name;
diff --git a/server/service/src/main/java/com/doumee/dao/business/dto/MemberImport.java b/server/service/src/main/java/com/doumee/dao/business/dto/MemberImport.java
index e8ed9c6..caf1c85 100644
--- a/server/service/src/main/java/com/doumee/dao/business/dto/MemberImport.java
+++ b/server/service/src/main/java/com/doumee/dao/business/dto/MemberImport.java
@@ -24,21 +24,23 @@
     @ExcelColumn(name="韬唤璇佸彿",value = "idCard")
     private String idCard;
 
+    @ExcelColumn(name="娲鹃仯鍗曚綅" , value = "duName")
+    private String duName;
+
+    @ExcelColumn(name="宸ョ" , value = "workTypeName")
+    private String workTypeName;
+
+
     @ExcelColumn(name="骞撮緞",value = "age")
     private Integer age;
-
-//    @ApiModelProperty(value = "娲鹃仯鍗曚綅涓婚敭")
-//    private Integer duId;
 
     @ApiModelProperty(value = "鎬у埆")
     private Integer sex;
 
-//    @ApiModelProperty(value = "鎵�灞炲伐绉嶄富閿�")
-//    private Integer workTypeId;
-//
-//    @ApiModelProperty(value = "娲鹃仯鍗曚綅鍚嶇О")
-//    private String duName;
-//
-//    @ApiModelProperty(value = "鎵�灞炲伐绉嶅悕绉�")
-//    private String workTypeName;
+    @ApiModelProperty(value = "娲鹃仯鍗曚綅涓婚敭")
+    private Integer duId;
+
+    @ApiModelProperty(value = "鎵�灞炲伐绉嶄富閿�")
+    private Integer worktypeId;
+
 }
diff --git a/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java b/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java
index 0c3cebc..bf125e8 100644
--- a/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java
+++ b/server/service/src/main/java/com/doumee/dao/business/model/DispatchUnit.java
@@ -143,5 +143,7 @@
     @TableField(exist = false)
     private String companyName;
 
-
+    @ApiModelProperty(value = "娲鹃仯鍗曚綅涓嬬殑宸ョ淇℃伅")
+    @TableField(exist = false)
+    private List<Worktype> worktypeList;
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/MemberService.java b/server/service/src/main/java/com/doumee/service/business/MemberService.java
index 592bffd..536d665 100644
--- a/server/service/src/main/java/com/doumee/service/business/MemberService.java
+++ b/server/service/src/main/java/com/doumee/service/business/MemberService.java
@@ -104,6 +104,6 @@
 
     List<Member> findListByDTO(MemberQueryDTO memberQueryDTO);
 
-    List<MemberImport> importBatch(MultipartFile file);
+    List<MemberImport> importBatch(MultipartFile file,Integer  solutionId);
 
 }
diff --git a/server/service/src/main/java/com/doumee/service/business/SmsEmailService.java b/server/service/src/main/java/com/doumee/service/business/SmsEmailService.java
index 8d5dfaf..7120ad4 100644
--- a/server/service/src/main/java/com/doumee/service/business/SmsEmailService.java
+++ b/server/service/src/main/java/com/doumee/service/business/SmsEmailService.java
@@ -21,6 +21,7 @@
     Integer create(SmsEmail smsEmail);
     Integer sendSms(SmsEmail smsEmail);
     Integer sendEmail(SmsEmail smsEmail);
+    void validateCode(String code);
     /**
      * 涓婚敭鍒犻櫎
      *
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java
index 051eacf..21fc9bf 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/ApplyDetailServiceImpl.java
@@ -224,10 +224,10 @@
         queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getDuId()),ApplyDetail::getDuId,applyDetailPageDTO.getDuId());
         queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getWorkTypeId()),ApplyDetail::getWorktypeId,applyDetailPageDTO.getWorkTypeId());
         queryWrapper.like(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),Member::getName,applyDetailPageDTO.getMemberName());
-        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00");
-        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59");
-        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00");
-        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59");
+        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00.0");
+        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59.0");
+        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00.0");
+        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59.0");
 
         for(PageWrap.SortData sortData: pageWrap.getSorts()) {
             if (sortData.getDirection().equalsIgnoreCase(PageWrap.DESC)) {
@@ -281,10 +281,10 @@
         queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getWorkTypeId()),ApplyDetail::getWorktypeId,applyDetailPageDTO.getWorkTypeId());
         queryWrapper.like(StringUtils.isNotBlank(applyDetailPageDTO.getMemberName()),Member::getName,applyDetailPageDTO.getMemberName());
         queryWrapper.eq(!Objects.isNull(applyDetailPageDTO.getMemberId()),Member::getId,applyDetailPageDTO.getMemberId());
-        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00");
-        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59");
-        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00");
-        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59");
+        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeS()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeS()+" 00:00:00.0");
+        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getStartTimeE()),ApplyDetail::getStartTime,applyDetailPageDTO.getStartTimeE()+" 23:59:59.0");
+        queryWrapper.ge(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeS()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeS()+" 00:00:00.0");
+        queryWrapper.le(StringUtils.isNotBlank(applyDetailPageDTO.getEndTimeE()),ApplyDetail::getEndTime,applyDetailPageDTO.getEndTimeE()+" 23:59:59.0");
         return  applyDetailJoinMapper.selectJoinList(ApplyDetail.class,queryWrapper);
     }
 
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
index b906342..cfd12aa 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/DispatchUnitServiceImpl.java
@@ -292,8 +292,6 @@
     public Integer create(SaveDispatchUnitDTO saveDispatchUnitDTO) {
         if(Objects.isNull(saveDispatchUnitDTO)
             || StringUtils.isEmpty(saveDispatchUnitDTO.getName())
-            || StringUtils.isEmpty(saveDispatchUnitDTO.getCode())
-            || StringUtils.isEmpty(saveDispatchUnitDTO.getContent())
             || CollectionUtils.isEmpty(saveDispatchUnitDTO.getSaveDuSolutionDTOList())
         ){
             throw new BusinessException(ResponseStatus.BAD_REQUEST);
@@ -306,13 +304,13 @@
         )> Constants.ZERO){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶅悕绉般�戝凡瀛樺湪");
         };
-        if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda()
-                .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
-                .eq(DispatchUnit::getCode,saveDispatchUnitDTO.getCode())
-                .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
-        )> Constants.ZERO){
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶄俊鐢ㄤ唬鐮併�戝凡瀛樺湪");
-        };
+//        if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda()
+//                .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
+//                .eq(DispatchUnit::getCode,saveDispatchUnitDTO.getCode())
+//                .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
+//        )> Constants.ZERO){
+//            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶄俊鐢ㄤ唬鐮併�戝凡瀛樺湪");
+//        };
         DispatchUnit dispatchUnit = new DispatchUnit();
         dispatchUnit.setCreateDate(new Date());
         dispatchUnit.setCreator(loginUserInfo.getId());
@@ -413,14 +411,6 @@
         )> Constants.ZERO){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶅悕绉般�戝凡瀛樺湪");
         };
-        if(dispatchUnitMapper.selectCount(new QueryWrapper<DispatchUnit>().lambda()
-                .ne(DispatchUnit::getId,saveDispatchUnitDTO.getId())
-                .eq(DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
-                .eq(DispatchUnit::getCode,saveDispatchUnitDTO.getCode())
-                .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
-        )> Constants.ZERO){
-            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"銆愭淳閬e崟浣嶄俊鐢ㄤ唬鐮併�戝凡瀛樺湪");
-        }
         dispatchUnit.setCode(saveDispatchUnitDTO.getCode());
         dispatchUnit.setContent(saveDispatchUnitDTO.getContent());
         dispatchUnit.setName(saveDispatchUnitDTO.getName());
@@ -431,9 +421,6 @@
 
         //瀛樺偍鎿嶄綔璁板綍
         this.saveDuLog(dispatchUnit,Constants.DispatchUnitLogType.EDIT_UNIT,null);
-
-//        this.dealDuData(saveDispatchUnitDTO,loginUserInfo);
-
 
         //瀛樺偍寰呭姙淇℃伅
         Constants.NoticeObjectType noticeObjectType = Constants.NoticeObjectType.DISPATCH_UNIT;
@@ -911,11 +898,10 @@
                         .eq(DispatchUnit::getStatus,Constants.ZERO)
                         .select("(select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.solution_id="+dispatchUnitQueryDTO.getSolutionId()+" limit 1) as du_solution_id" )
                         .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
-                        .eq(DispatchUnit::getStatus,Constants.ZERO)
                         .eq(Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,Constants.TWO)
                         .eq(!Objects.isNull(dispatchUnitQueryDTO.getDataType()),DispatchUnit::getDataType,dispatchUnitQueryDTO.getDataType())
                         .exists(!Objects.isNull(dispatchUnitQueryDTO.getSolutionId()),
-                                "select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and  b.solution_id="+dispatchUnitQueryDTO.getSolutionId() )
+                                "select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.status = 1 and  b.solution_id="+dispatchUnitQueryDTO.getSolutionId() )
                         .exists(!Objects.isNull(dispatchUnitQueryDTO.getApplyId()),
                                 " select 1 from apply_detail ad where ad.isdeleted = 0 and ad.apply_id = "+dispatchUnitQueryDTO.getApplyId()+" " +
                                         " and ad.du_id = t.id ")
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
index 3c5b8c7..f8dd34f 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/InsuranceApplyServiceImpl.java
@@ -334,7 +334,8 @@
             //濡傛灉鏄┏鍥�,鍙兘鍙┏鍥炲凡绛剧珷鐘舵�佷笅鐨勯��鍥炵敵璇风姸鎬佽繘琛屾搷浣�
             if(!(Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE.getKey())||
                 Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE.getKey())||
-                Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey()))
+                Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey())||
+                    Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey()))
             ){
                 throw  new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"瀵逛笉璧凤紝璇ョ敵璇风姸鎬佸凡娴佽浆锛屽綋鍓嶄笉鏀寔璇ユ搷浣渵");
             }
@@ -347,6 +348,8 @@
                 update.setStatus(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey());
             }else if(  Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_UPLOAD.getKey())){
                 update.setStatus(Constants.InsuranceApplyStatus.UPLOAD.getKey());
+            }else if(  Constants.equalsInteger(model.getStatus(),Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS.getKey())){
+                update.setStatus(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey());
             }
         }else{
             //濡傛灉鏄悓鎰�,涓ょ鐢宠閫�鍥炵姸鎬侀兘鍙搷浣�
@@ -808,8 +811,8 @@
         noticesMapper.delete(new QueryWrapper<Notices>().lambda().eq(Notices::getObjType,noticeObjectType.getKey())
                 .ne(Notices::getType,Constants.NoticeType.SIX.getStatus())
                 .eq(Notices::getObjId,model.getId()));
-        Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),solutions.getName(),model.getCompanyId(),noticeType);
-        noticesMapper.insert(notices);
+//        Notices notices = new Notices(noticeObjectType,Constants.ONE,model.getId(),solutions.getName(),model.getCompanyId(),noticeType);
+//        noticesMapper.insert(notices);
 
         String info =applyLogType.getInfo();
         if(StringUtils.isNotBlank(update.getCheckInfo())){
@@ -1229,7 +1232,7 @@
             queryWrapper.in(InsuranceApply::getStatus, pageWrap.getModel().getStatus().split(","));
         }
         if (pageWrap.getModel().getLoseEfficacy() != null && pageWrap.getModel().getLoseEfficacy() ==1) {
-            queryWrapper.apply("  DATEDIFF(t.END_TIME,CURRENT_DATE() ) <= 5 ");
+            queryWrapper.apply("  DATEDIFF(t.END_TIME,CURRENT_DATE() ) <= 5  and t.END_TIME >= now() ");
         }
         if(CollectionUtils.isNotEmpty(pageWrap.getSorts())){
             for(PageWrap.SortData sortData: pageWrap.getSorts()) {
@@ -1513,6 +1516,7 @@
         if(insuranceApplyOptDTO.getOptType().equals(Constants.ONE)){
             if(!(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.UPLOAD.getKey())
                     ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.WAIT_SIGNATURE.getKey())
+                    ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey())
                     ||insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.SIGNATURE.getKey()))){
                 throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鏁版嵁鐘舵�侀潪鍙敵璇烽��鍥�!");
             }
@@ -1522,6 +1526,8 @@
                 insuranceApplyStatus =  Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_WAIT_SIGNATURE;
             }else  if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.SIGNATURE.getKey())){
                 insuranceApplyStatus =  Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_SIGNATURE;
+            }else  if(insuranceApply.getStatus().equals(Constants.InsuranceApplyStatus.PLATFORM_CHECK_PASS.getKey())){
+                insuranceApplyStatus =  Constants.InsuranceApplyStatus.COMPANY_BACK_APPLY_PASS;
             }
 
             //瀛樺偍寰呭姙淇℃伅
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
index bdafd31..ffd6741 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/MemberServiceImpl.java
@@ -10,9 +10,11 @@
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.MemberMapper;
+import com.doumee.dao.business.WorktypeMapper;
 import com.doumee.dao.business.dto.MemberImport;
 import com.doumee.dao.business.dto.MemberQueryDTO;
 import com.doumee.dao.business.dto.WorktypeImport;
+import com.doumee.dao.business.join.DispatchUnitJoinMapper;
 import com.doumee.dao.business.join.MemberJoinMapper;
 import com.doumee.dao.business.model.*;
 import com.doumee.service.business.MemberService;
@@ -45,6 +47,12 @@
 
     @Autowired
     private MemberJoinMapper memberJoinMapper;
+
+    @Autowired
+    private DispatchUnitJoinMapper dispatchUnitJoinMapper;
+
+    @Autowired
+    private WorktypeMapper worktypeMapper;
 
     @Override
     public Integer create(Member member) {
@@ -285,7 +293,7 @@
 
 
     @Override
-    public List<MemberImport> importBatch(MultipartFile file){
+    public List<MemberImport> importBatch(MultipartFile file,Integer  solutionId){
         LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
         if(!loginUserInfo.getType().equals(Constants.ONE)){
             throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"闈炰紒涓氫汉鍛樻棤娉曡繘琛岃鎿嶄綔");
@@ -316,7 +324,40 @@
         if(idCardList.size() != set.size()){
             throw new BusinessException(ResponseStatus.DATA_ERRO.getCode(),"瀵逛笉璧凤紝褰曞叆鏁版嵁瀛樺湪韬唤璇佸彿鐩稿悓鏁版嵁锛�");
         }
+        List<DispatchUnit> dispatchUnitList = new ArrayList<>();
+        if(!Objects.isNull(solutionId)){
+            dispatchUnitList  = dispatchUnitJoinMapper.selectJoinList(DispatchUnit.class,
+                    new MPJLambdaWrapper<DispatchUnit>()
+                            .selectAll(DispatchUnit.class)
+                            .select("(select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.solution_id="+solutionId+" limit 1) as du_solution_id" )
+                            .eq(DispatchUnit::getIsdeleted,Constants.ZERO)
+                            .eq(DispatchUnit::getStatus,Constants.ZERO)
+                            .eq(DispatchUnit::getDataType,Constants.TWO)
+                            .eq(loginUserInfo.getType().equals(Constants.ONE),DispatchUnit::getCompanyId,loginUserInfo.getCompanyId())
+                            .exists("select b.id from du_solution b where b.isdeleted=0 and b.dispatch_unit_id=t.id and b.status = 1 and  b.solution_id="+solutionId )
+            );
+            if(CollectionUtils.isNotEmpty(dispatchUnitList)){
+                for (DispatchUnit dispatchUnit:dispatchUnitList) {
+                    List<Worktype> worktypeList = worktypeMapper.selectList(new QueryWrapper<Worktype>().lambda()
+                            .eq(Worktype::getIsdeleted,Constants.ZERO)
+                            .eq(Worktype::getDataType,Constants.TWO)
+                            .eq(Worktype::getStatus,Constants.ZERO)
+                            .apply("id in ( select  dw.work_type_id from du_worktype dw where dw.status = 1" +
+                                    " and  dw.du_solution_id = "+dispatchUnit.getDuSolutionId()+" )")
+                    );
+                    dispatchUnit.setWorktypeList(worktypeList);
+                }
+            }
+        }
+        long index = Constants.TWO;
         for(MemberImport model : dataList){
+            if(StringUtils.isBlank(model.getIdCard())||model.getIdCard().length()!=18){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹韩浠借瘉淇℃伅寮傚父锛�");
+            }
+            if(StringUtils.isBlank(model.getName())){
+                throw new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝绗�"+index+"琛屾暟鎹鍚嶄俊鎭紓甯革紒");
+            }
+            index = index + Constants.ONE;
             if(CollectionUtils.isNotEmpty(list)){
                 Optional<Member>  memberOptional= list.stream().filter(m->m.getIdcardNo().equals(model.getIdCard())).findFirst();
                 if(memberOptional.isPresent()){
@@ -329,6 +370,26 @@
             }else{
                 model.setSex(Constants.getSexByIdCard(model.getIdCard()));
             }
+            if(StringUtils.isNotBlank(model.getDuName())&&CollectionUtils.isNotEmpty(dispatchUnitList)){
+                Optional<DispatchUnit>  dispatchUnitOptional= dispatchUnitList.stream().filter(m->m.getName().equals(model.getDuName())).findFirst();
+                if(dispatchUnitOptional.isPresent()){
+                    DispatchUnit dispatchUnit =  dispatchUnitOptional.get();
+                    model.setDuId(dispatchUnit.getId());
+                    if(StringUtils.isNotBlank(model.getWorkTypeName())&&CollectionUtils.isNotEmpty(dispatchUnit.getWorktypeList())){
+                        Optional<Worktype>  worktypeOptional= dispatchUnit.getWorktypeList().stream().filter(m->m.getName().equals(model.getWorkTypeName())).findFirst();
+                        if(worktypeOptional.isPresent()){
+                            Worktype worktype = worktypeOptional.get();
+                            model.setWorktypeId(worktype.getId());
+                        }
+                    }
+                }
+            }
+            if(Objects.isNull(model.getDuId())){
+                model.setWorkTypeName(null);
+                model.setDuName(null);
+            }else if(Objects.isNull(model.getWorktypeId())){
+                model.setWorkTypeName(null);
+            }
         }
         return dataList;
     }
diff --git a/server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java b/server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
index 78a3a64..32a4157 100644
--- a/server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
+++ b/server/service/src/main/java/com/doumee/service/business/impl/SmsEmailServiceImpl.java
@@ -3,12 +3,14 @@
 import com.doumee.biz.system.SystemDictDataBiz;
 import com.doumee.core.constants.ResponseStatus;
 import com.doumee.core.exception.BusinessException;
+import com.doumee.core.model.LoginUserInfo;
 import com.doumee.core.model.PageData;
 import com.doumee.core.model.PageWrap;
 import com.doumee.core.utils.Constants;
 import com.doumee.core.utils.DateUtil;
 import com.doumee.core.utils.Utils;
 import com.doumee.dao.business.SmsEmailMapper;
+import com.doumee.dao.business.model.Company;
 import com.doumee.dao.business.model.SmsEmail;
 import com.doumee.service.business.SmsEmailService;
 import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
@@ -18,6 +20,7 @@
 import com.doumee.service.business.third.EmailService;
 import com.doumee.service.business.third.EmayService;
 import org.apache.commons.lang3.StringUtils;
+import org.apache.shiro.SecurityUtils;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.beans.factory.annotation.Value;
 import org.springframework.stereotype.Service;
@@ -25,6 +28,7 @@
 
 import java.util.Date;
 import java.util.List;
+import java.util.Objects;
 
 /**
  * 鐭俊閭欢淇℃伅琛⊿ervice瀹炵幇
@@ -56,7 +60,8 @@
         if(!Constants.equalsInteger(model.getStatus(),Constants.ZERO)){
             throw  new BusinessException(ResponseStatus.BAD_REQUEST.getCode(),"瀵逛笉璧凤紝楠岃瘉鐮佸凡澶辨晥锛岃閲嶆柊鍙戦�佸啀璇曪紒");
         }
-        if(model.getCreateDate() !=null && System.currentTimeMillis() - model.getCreateDate().getTime() > 3*60*100){
+        if(model.getCreateDate() !=null &&
+                System.currentTimeMillis() - model.getCreateDate().getTime() > 3*60*1000){
             model.setStatus(Constants.ONE);
             model.setEditDate(new Date());
             smsEmailMapper.updateById(model);
@@ -103,8 +108,12 @@
         )>=3){
             throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝瓒呭嚭鍙戦�佹鏁帮紝璇风◢鍚庨噸璇曪紒");
         }
+
         String code = Constants.getRandom6Num();
-        boolean result=   emayService.sendSingleSms(smsEmail.getPhone(),code);
+
+        String content = systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode()+"楠岃瘉鐮佷负锛�"+code+"锛屾楠岃瘉鐮佹湁鏁堜负3鍒嗛挓銆傝鍕挎硠闇�";
+
+        boolean result=   emayService.sendSingleSms(smsEmail.getPhone(),content);
         if(!result){
             throw  new BusinessException(ResponseStatus.SERVER_ERROR.getCode(),"瀵逛笉璧凤紝鐭俊楠岃瘉鐮佸彂閫佸け璐ワ紝璇风◢鍚庨噸璇曪紒");
         }
@@ -115,13 +124,27 @@
         smsEmail.setStatus(Constants.ZERO);
         smsEmail.setType(Constants.ZERO);
         smsEmail.setTitle("鐭俊楠岃瘉鐮�");
-        smsEmail.setContent(systemDictDataBiz.queryByCode(Constants.SMS,Constants.SMS_COMNAME).getCode()+"楠岃瘉鐮佷负锛�"+code+"锛屾楠岃瘉鐮佹湁鏁堜负3鍒嗛挓銆傝鍕挎硠闇�");
+        smsEmail.setContent(content);
         smsEmailMapper.insert(smsEmail);
 
         return smsEmail.getId();
 
     }
 
+
+    @Override
+    public void validateCode(String code) {
+        if(StringUtils.isBlank(code)){
+            throw new BusinessException(ResponseStatus.BAD_REQUEST);
+        }
+        LoginUserInfo loginUserInfo = (LoginUserInfo) SecurityUtils.getSubject().getPrincipal();
+        if(!loginUserInfo.getType().equals(Constants.ONE)){
+            throw new BusinessException(ResponseStatus.NOT_ALLOWED.getCode(),"鐢ㄦ埛绫诲埆閿欒");
+        };
+        Company company = loginUserInfo.getCompany();
+        SmsEmailServiceImpl.isCaptcheValide(smsEmailMapper,company.getPhone(),code);
+    }
+
     @Override
     public void deleteById(Integer id) {
         smsEmailMapper.deleteById(id);

--
Gitblit v1.9.3