Ver Fonte

Merge remote-tracking branch 'origin/develop' into develop

FengChaoYu há 6 meses atrás
pai
commit
e1ba36e904
21 ficheiros alterados com 367 adições e 26 exclusões
  1. 3 0
      mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/user/UserLogic.java
  2. 2 1
      mall-server-api/src/main/java/com/gree/mall/manager/bean/listvo/UserVO.java
  3. 1 1
      mall-server-api/src/main/java/com/gree/mall/manager/bean/listvo/workorder/OrderBaseVO.java
  4. 6 0
      mall-server-api/src/main/java/com/gree/mall/manager/bean/user/UserWxBean.java
  5. 22 0
      mall-server-api/src/main/java/com/gree/mall/manager/bean/workorder/WorkerOrderSyncBean.java
  6. 22 0
      mall-server-api/src/main/java/com/gree/mall/manager/commonmapper/workorder/SyncMapper.java
  7. 0 10
      mall-server-api/src/main/java/com/gree/mall/manager/controller/member/MemberController.java
  8. 3 3
      mall-server-api/src/main/java/com/gree/mall/manager/enums/WorkerPolicyStatusEnum.java
  9. 1 1
      mall-server-api/src/main/java/com/gree/mall/manager/enums/workorder/OrderFlagEnum.java
  10. 39 0
      mall-server-api/src/main/java/com/gree/mall/manager/logic/SyncOrderInfoLogic.java
  11. 54 1
      mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/AgreementLogic.java
  12. 36 0
      mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/PolicyOrderLogic.java
  13. 150 3
      mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/WorkerManagerLogic.java
  14. 8 0
      mall-server-api/src/main/java/com/gree/mall/manager/logic/user/UserLogic.java
  15. 1 1
      mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseLogic.java
  16. 9 1
      mall-server-api/src/main/java/com/gree/mall/manager/schedule/InsureEmailSchedule.java
  17. 8 2
      mall-server-api/src/main/java/com/gree/mall/manager/schedule/SyncSchedule.java
  18. 1 1
      mall-server-api/src/main/resources/mapper/CommonMapper.xml
  19. 1 1
      mall-server-api/src/main/resources/mapper/workorder/OrderBaseCMapper.xml
  20. BIN
      mall-server-api/src/main/resources/template/雇主险导入.xlsx
  21. BIN
      mall-server-api/src/main/resources/template/雇主险模板.xlsx

+ 3 - 0
mall-miniapp-service/src/main/java/com/gree/mall/miniapp/logic/user/UserLogic.java

@@ -970,6 +970,9 @@ public class UserLogic {
             userWxBean.setAppModuleJson(companyWechat.getAppModuleJson());
         }
 
+        List<WorkerImg> workerImgs = workerImgService.lambdaQuery().eq(WorkerImg::getUserId, userId).list();
+        userWxBean.setWorkerImgs(workerImgs);
+
 
         return userWxBean;
     }

+ 2 - 1
mall-server-api/src/main/java/com/gree/mall/manager/bean/listvo/UserVO.java

@@ -75,6 +75,7 @@ public class UserVO   {
     @ApiModelProperty("审批时间")
     private Date examineTime;
 
+    @ZfireField(tbName = "b")
     @ApiModelProperty(value = "过期提醒")
     private String overdueRemark;
 
@@ -85,7 +86,7 @@ public class UserVO   {
 //    @ApiModelProperty("是否允许二手商城发布")
 //    private IsEnum isEs;
 
-    @ZfireField(tbName = "c")
+    @ZfireField(tbName = "b")
     @ApiModelProperty("创建时间")
     private Date createTime;
     @ApiModelProperty("修改人")

+ 1 - 1
mall-server-api/src/main/java/com/gree/mall/manager/bean/listvo/workorder/OrderBaseVO.java

@@ -42,7 +42,7 @@ public class OrderBaseVO     {
     @ZfireField(sortNum = 5)
     @ApiModelProperty(value = "工单单号")
     private String id;
-    @ZfireField(sortNum = 5)
+    @ZfireField(sortNum = 5,multiple = true)
     @ApiModelProperty(value = "工单状态")
     private OrderBaseStatusEnum orderStatus;
     @ZfireField(sortNum = 5)

+ 6 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/user/UserWxBean.java

@@ -1,11 +1,13 @@
 package com.gree.mall.manager.bean.user;
 
 import com.gree.mall.manager.plus.entity.User;
+import com.gree.mall.manager.plus.entity.WorkerImg;
 import io.swagger.annotations.ApiModel;
 import io.swagger.annotations.ApiModelProperty;
 import lombok.Data;
 
 import java.math.BigDecimal;
+import java.util.List;
 
 @ApiModel
 @Data
@@ -24,4 +26,8 @@ public class UserWxBean extends User {
     @ApiModelProperty("业务员自己电话")
     private String workerPhone;
 
+
+    @ApiModelProperty("图片")
+    private List<WorkerImg> workerImgList;
+
 }

+ 22 - 0
mall-server-api/src/main/java/com/gree/mall/manager/bean/workorder/WorkerOrderSyncBean.java

@@ -0,0 +1,22 @@
+package com.gree.mall.manager.bean.workorder;
+
+import lombok.Data;
+
+@Data
+public class WorkerOrderSyncBean {
+
+
+    private String inDownloadBatchNo;
+    private String inSynReqId;
+    private String inWorkOrderId;
+    private Boolean outSynStatus;
+    private String outSynErrMsg;
+
+    public static WorkerOrderSyncBean instance(String inDownloadBatchNo, String inSynReqId,String inWorkOrderId) {
+        WorkerOrderSyncBean bean = new WorkerOrderSyncBean();
+        bean.setInDownloadBatchNo(inDownloadBatchNo);
+        bean.setInSynReqId(inSynReqId);
+        bean.setInWorkOrderId(inWorkOrderId);
+        return bean;
+    }
+}

+ 22 - 0
mall-server-api/src/main/java/com/gree/mall/manager/commonmapper/workorder/SyncMapper.java

@@ -0,0 +1,22 @@
+package com.gree.mall.manager.commonmapper.workorder;
+
+import com.gree.mall.manager.bean.workorder.WorkerOrderSyncBean;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Options;
+import org.apache.ibatis.annotations.Select;
+import org.apache.ibatis.mapping.StatementType;
+
+@Mapper
+public interface SyncMapper {
+
+
+    @Select({ "call TL_SynDataFrom_tbl_work_order_package("
+            + "#{inDownloadBatchNo,mode=IN,jdbcType=VARCHAR},"
+            + "#{inSynReqId,mode=IN,jdbcType=VARCHAR},"
+            + "#{inWorkOrderId,mode=IN,jdbcType=VARCHAR},"
+            + "#{outSynStatus,mode=OUT,jdbcType=BOOLEAN},"
+            + "#{outSynErrMsg,mode=OUT,jdbcType=VARCHAR})"
+    })
+    @Options(statementType = StatementType.CALLABLE)
+    WorkerOrderSyncBean orderExecute(WorkerOrderSyncBean workerOrderSyncBean);
+}

+ 0 - 10
mall-server-api/src/main/java/com/gree/mall/manager/controller/member/MemberController.java

@@ -366,16 +366,6 @@ public class MemberController {
     }
 
 
-    @PostMapping("/getUserDetail")
-    @ApiOperation(value = "用户详情")
-    public ResponseHelper<UserDetail> getUserDetail(
-            @ApiParam(value = "会员id", required = true) @RequestParam String userId
-    ) {
-        UserDetail detail = userLogic.getUserDetail(userId);
-        return ResponseHelper.success(detail);
-    }
-
-
     @PostMapping("/updateNickName")
     @ApiOperation(value = "修改会员昵称")
     public ResponseHelper<Void> updateNickName(

+ 3 - 3
mall-server-api/src/main/java/com/gree/mall/manager/enums/WorkerPolicyStatusEnum.java

@@ -9,9 +9,9 @@ import lombok.Getter;
 @AllArgsConstructor(access = AccessLevel.PRIVATE)
 public enum  WorkerPolicyStatusEnum implements BaseEnum {
 
-    ON("ON", "保障中"),
-    WAIT_ON("WAIT_ON", "待生效"),
-    OFF("OFF", "失效"),
+    BZZ("BZZ", "保障中"),
+    DSX("DSX", "待生效"),
+    YSX("YSX", "已失效"),
 
     ;
 

+ 1 - 1
mall-server-api/src/main/java/com/gree/mall/manager/enums/workorder/OrderFlagEnum.java

@@ -29,7 +29,7 @@ public enum OrderFlagEnum implements BaseEnum {
     PARTS_END("PARTS_END","配件已到货",11),
     PARTS_CANCEL("PARTS_CANCEL","配件已取消",12),
     ORDER4("ORDER4","4.0工单",13),
-    ORDER("ORDER4","自建工单",14),
+    ORDER("ORDER","自建工单",14),
     ;
 
     @EnumValue

+ 39 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/SyncOrderInfoLogic.java

@@ -19,6 +19,8 @@ import com.gree.mall.manager.bean.WorkOrderRelationBean;
 import com.gree.mall.manager.bean.WorkOrderSearchReq;
 
 import com.gree.mall.manager.bean.policy.ItfGreeSynDownloadRecBean;
+import com.gree.mall.manager.bean.workorder.WorkerOrderSyncBean;
+import com.gree.mall.manager.commonmapper.workorder.SyncMapper;
 import com.gree.mall.manager.constant.Constant;
 import com.gree.mall.manager.exception.RemoteServiceException;
 import com.gree.mall.manager.plus.entity.*;
@@ -188,6 +190,9 @@ public class SyncOrderInfoLogic {
     @Autowired
     ItfTblWorkOrderStatusService itfTblWorkOrderStatusService;
 
+    @Autowired
+    SyncMapper syncMapper;
+
 
     public void syncGuang() {
         List<ItfGreeSynRule> itfGreeSynRules = itfGreeSynRuleService.lambdaQuery().list();
@@ -521,4 +526,38 @@ public class SyncOrderInfoLogic {
         }
 
     }
+
+    public void task3() {
+        List<ItfTblWorkOrder> itfTblWorkOrderList = itfTblWorkOrderService.lambdaQuery()
+                .lt(ItfTblWorkOrder::getSynTimes, 10)
+                .eq(ItfTblWorkOrder::getSynStatus, 0)
+                .orderByAsc(ItfTblWorkOrder::getSynReqId).list();
+
+        if (CollectionUtils.isEmpty(itfTblWorkOrderList))
+            return;
+
+        for (ItfTblWorkOrder itfTblWorkOrder : itfTblWorkOrderList) {
+
+            try {
+                WorkerOrderSyncBean workerOrderSyncBean = new WorkerOrderSyncBean();
+                workerOrderSyncBean.setInWorkOrderId(itfTblWorkOrder.getId());
+                workerOrderSyncBean.setInSynReqId(Convert.toStr(itfTblWorkOrder.getSynReqId()));
+                workerOrderSyncBean.setInDownloadBatchNo(itfTblWorkOrder.getDownloadBatchNo());
+                WorkerOrderSyncBean workerOrderSyncBean1 = syncMapper.orderExecute(workerOrderSyncBean);
+                if (!workerOrderSyncBean1.getOutSynStatus()){
+                    itfTblWorkOrder.setSynTimes(itfTblWorkOrder.getSynTimes()+1);
+                    itfTblWorkOrder.setSynErrMsg(workerOrderSyncBean1.getOutSynErrMsg());
+                    itfTblWorkOrder.updateById();
+                }
+            }catch (Exception e){
+                itfTblWorkOrder.setSynTimes(itfTblWorkOrder.getSynTimes()+1);
+                itfTblWorkOrder.setSynErrMsg(e.getMessage());
+                itfTblWorkOrder.updateById();
+            }
+
+
+        }
+
+
+    }
 }

+ 54 - 1
mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/AgreementLogic.java

@@ -75,6 +75,9 @@ public class AgreementLogic {
     @Autowired
     WebsitUserService websitUserService;
 
+    @Autowired
+    UserService userService;
+
 
     public IPage<AgreementVo> list(Page page, ZfireParamBean zfireParam) {
 
@@ -800,9 +803,59 @@ public class AgreementLogic {
                 websitUser.updateById();
             }
         }
+        List<WebsitUser> websitUsersOk = websitUserService.lambdaQuery().eq(WebsitUser::getExamineStatus, "OK").list();
 
+        for (WebsitUser websitUser : websitUsersOk) {
+            if (workerPolicyService.lambdaQuery().in(WorkerPolicy::getStatus, "BZZ")
+                    .eq(WorkerPolicy::getWebsitUserId, websitUser.getId()).count() < 2) {
+                websitUser.setExamineStatus("POLICY_WAIT");
+                websitUser.updateById();
+            }
+        }
     }
 
-    public void huizhi() {
+
+    public void task5() {
+
+        List<WebsitUser> websitUsers = websitUserService.lambdaQuery().eq(WebsitUser::getExamineStatus, ExamineWorkerStatusEnum.OK.getKey()).list();
+
+        for (WebsitUser websitUser : websitUsers) {
+
+            User user = userService.getById(websitUser.getUserId());
+
+            String remark = "";
+            if (!(websitUser.getOverdueRemark().split("高空证").length > 0) && user.getEndTime().before(DateUtil.offsetMonth(new Date(),1))) {
+                remark = remark+"高空证"+DateUtil.format(user.getEndTime(),"yyyy-MM-dd");
+            }
+
+            if (!(websitUser.getOverdueRemark().split("身份证").length > 0) && user.getIdCardEndTime().before(DateUtil.offsetMonth(new Date(),1))) {
+                remark = remark+"身份证"+DateUtil.format(user.getIdCardEndTime(),"yyyy-MM-dd");
+            }
+
+            List<WorkerPolicy> workerPolicies = workerPolicyService.lambdaQuery()
+                    .in(WorkerPolicy::getStatus, WorkerPolicyStatusEnum.BZZ.getKey(), WorkerPolicyStatusEnum.DSX.getKey())
+                    .list();
+
+            for (WorkerPolicy workerPolicy : workerPolicies) {
+                if (workerPolicy.getPolicyType().equals(PolicyTypeEnum.AC.getKey()) && workerPolicy.getEndTime().before(DateUtil.offsetMonth(new Date(),1))) {
+                    remark = remark+"意外险"+DateUtil.format(workerPolicy.getEndTime(),"yyyy-MM-dd");
+                }
+                if (workerPolicy.getPolicyType().equals(PolicyTypeEnum.EM.getKey()) && workerPolicy.getEndTime().before(DateUtil.offsetMonth(new Date(),1))) {
+                    remark = remark+"雇主险"+DateUtil.format(workerPolicy.getEndTime(),"yyyy-MM-dd");
+                }
+
+                if (workerPolicy.getPolicyType().equals(PolicyTypeEnum.IN.getKey()) && workerPolicy.getEndTime().before(DateUtil.offsetDay(new Date(),3))) {
+                    remark = remark+"工伤"+DateUtil.format(workerPolicy.getEndTime(),"yyyy-MM-dd");
+                }
+            }
+
+            WebsitUser websitUser1 = new WebsitUser();
+            websitUser1.setId(websitUser.getId());
+            websitUser1.setOverdueRemark(remark);
+            websitUser1.updateById();
+
+        }
+
+
     }
 }

+ 36 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/PolicyOrderLogic.java

@@ -13,6 +13,7 @@ import com.gree.mall.manager.bean.policy.PolicyVo;
 import com.gree.mall.manager.commonmapper.PolicyCMapper;
 import com.gree.mall.manager.enums.IsYesNoEnum;
 import com.gree.mall.manager.enums.PolicyOrderEmStutasEnum;
+import com.gree.mall.manager.enums.PolicyOrderStatusEnum;
 import com.gree.mall.manager.logic.common.CommonLogic;
 import com.gree.mall.manager.plus.entity.*;
 import com.gree.mall.manager.plus.service.AdminWebsitService;
@@ -94,7 +95,42 @@ public class PolicyOrderLogic {
     }
 
     public void update(PolicyOrder policyOrder) {
+
+        if (new Date().after(policyOrder.getStartTime()) && new Date().before(policyOrder.getEndTime()))
+            policyOrder.setPolicyOrderStatus("BZZ");
+        else if (new Date().after(policyOrder.getEndTime()))
+            policyOrder.setPolicyOrderStatus("YSX");
+        else {
+            policyOrder.setPolicyOrderStatus("DSX");
+        }
         policyOrder.updateById();
+
+        if (policyOrder.getPolicyOrderStatus().equals(PolicyOrderStatusEnum.BZZ.getKey()) || policyOrder.getPolicyOrderStatus().equals(PolicyOrderStatusEnum.DSX.getKey())) {
+
+            WorkerPolicy workerPolicy = new WorkerPolicy();
+            workerPolicy.setWorkerId(policyOrder.getWorkerNumber());
+            workerPolicy.setType("LINE");
+            workerPolicy.setOrderId(policyOrder.getId());
+            workerPolicy.setPolicyName(policyOrder.getPolicyName());
+            workerPolicy.setCompany(policyOrder.getBelongCompany());
+            workerPolicy.setPolicyOrder(policyOrder.getPolicyNumber());
+            workerPolicy.setPolicyType("EM");
+            workerPolicy.setStartTime(policyOrder.getStartTime());
+            workerPolicy.setEndTime(policyOrder.getEndTime());
+            workerPolicy.setWebsitUserId(policyOrder.getWebsitUserId());
+            workerPolicy.setWebsitId(policyOrder.getWebsitId());
+            workerPolicy.setWebsitName(policyOrder.getWebsitName());
+            workerPolicy.setWorkerName(policyOrder.getWorkerName());
+
+            if (new Date().after(workerPolicy.getStartTime()) && new Date().before(workerPolicy.getEndTime()))
+                workerPolicy.setStatus("BZZ");
+            else if (new Date().after(policyOrder.getEndTime()))
+                workerPolicy.setStatus("YSX");
+            else {
+                workerPolicy.setStatus("DSX");
+            }
+            workerPolicy.insert();
+        }
     }
 
     public void importData(List<Object> objects) {

+ 150 - 3
mall-server-api/src/main/java/com/gree/mall/manager/logic/policy/WorkerManagerLogic.java

@@ -1,6 +1,7 @@
 package com.gree.mall.manager.logic.policy;
 
 import cn.hutool.core.bean.BeanUtil;
+import cn.hutool.core.date.DateUtil;
 import cn.hutool.db.sql.Order;
 import com.alibaba.druid.support.spring.stat.annotation.Stat;
 import com.baomidou.mybatisplus.core.toolkit.IdWorker;
@@ -55,6 +56,7 @@ public class WorkerManagerLogic {
 
     public void stop(String id) {
 
+        AdminUserCom adminUser = commonLogic.getAdminUser();
         WebsitUser websitUserBean = websitUserService.getById(id);
         if (!websitUserBean.getExamineStatus().equals(ExamineWorkerStatusEnum.OK.getKey()))
             throw new RemoteServiceException("师傅不处于审核通过");
@@ -63,6 +65,14 @@ public class WorkerManagerLogic {
         websitUser.setId(id);
         websitUser.setExamineStatus(ExamineWorkerStatusEnum.STOP.getKey());
         websitUser.updateById();
+
+        WebsitUserLog websitUserLog = new WebsitUserLog();
+
+        websitUserLog.setTypeText("暂停接单");
+        websitUserLog.setOpRemark("操作该账号暂停接单");
+
+        websitUserLog.insert();
+
     }
 
     public void activation(String id) {
@@ -75,6 +85,13 @@ public class WorkerManagerLogic {
         websitUser.setId(id);
         websitUser.setExamineStatus(ExamineWorkerStatusEnum.POLICY_WAIT.getKey());
         websitUser.updateById();
+
+        WebsitUserLog websitUserLog = new WebsitUserLog();
+
+        websitUserLog.setTypeText("激活账号");
+        websitUserLog.setOpRemark("操作激活账号");
+
+        websitUserLog.insert();
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -103,6 +120,13 @@ public class WorkerManagerLogic {
         websitUser.setId(id);
         websitUser.setExamineStatus(ExamineWorkerStatusEnum.QUIT.getKey());
         websitUser.updateById();
+
+        WebsitUserLog websitUserLog = new WebsitUserLog();
+
+        websitUserLog.setTypeText("操作离职");
+        websitUserLog.setOpRemark("操作离职");
+
+        websitUserLog.insert();
     }
 
     public void againQuit(String id) {
@@ -115,6 +139,13 @@ public class WorkerManagerLogic {
         websitUser.setId(id);
         websitUser.setExamineStatus(ExamineWorkerStatusEnum.POLICY_WAIT.getKey());
         websitUser.updateById();
+
+        WebsitUserLog websitUserLog = new WebsitUserLog();
+
+        websitUserLog.setTypeText("重新入职");
+        websitUserLog.setOpRemark("操作重新入职");
+
+        websitUserLog.insert();
     }
 
     @Transactional(rollbackFor = Exception.class)
@@ -123,19 +154,37 @@ public class WorkerManagerLogic {
 
         User user = userService.getById(workerManagerBean.getUserId());
 
+        WebsitUser websitUser = websitUserService.getById(workerManagerBean.getId());
+
+
+        workerManagerBean.setExamineStatus(ExamineWorkerStatusEnum.POLICY_WAIT.getKey());
+
+
+
         if (!StringUtil.isEmpty(user.getWorkerNumber())){
             if (!workerManagerBean.getWorkerNumber().equals(user.getWorkerNumber())) {
                 throw new RemoteServiceException("师傅编号已经录入不允许更改");
             }
         }
 
+
+
         if(userService.lambdaQuery().eq(User::getWorkerNumber,workerManagerBean.getWorkerNumber())
                 .ne(User::getUserId,workerManagerBean.getUserId()).count() > 0)
             throw new RemoteServiceException("已有该师傅编号");
 
+
+        workerManagerBean.setBankAccount(workerManagerBean.getUser().getBankAccount());
+        workerManagerBean.setWorkerNumber(workerManagerBean.getUser().getWorkerNumber());
+
         workerManagerBean.updateById();
 
 
+        workerManagerBean.getUser().updateById();
+
+
+        this.changeList(workerManagerBean.getWorkerPolicies(),workerManagerBean.getId());
+
         workerManagerBean.getUser().setWorkerNumber(workerManagerBean.getWorkerNumber());
 
         workerManagerBean.getUser().updateById();
@@ -146,6 +195,7 @@ public class WorkerManagerLogic {
 
         for (WorkerImg workerImg : workerManagerBean.getWorkerImgs()) {
             workerImg.setWorkerId(workerManagerBean.getUserId());
+            workerImg.setUserId(workerManagerBean.getUserId());
         }
 
 
@@ -157,13 +207,57 @@ public class WorkerManagerLogic {
         for (WorkerPolicy workerPolicy : workerManagerBean.getWorkerPolicies()) {
             workerPolicy.setWorkerId(workerManagerBean.getUserId());
             workerPolicy.setWebsitUserId(workerManagerBean.getId());
+            workerPolicy.setEndTime(DateUtil.endOfDay(workerPolicy.getEndTime()));
         }
 
         workerPolicyService.saveOrUpdateBatch(workerManagerBean.getWorkerPolicies());
 
 
+        this.examine(workerManagerBean);
+
     }
 
+    private void changeList(List<WorkerPolicy> workerPolicies, String id) {
+
+        List<WorkerPolicy> workerPolicyList = workerPolicyService.lambdaQuery().eq(WorkerPolicy::getWebsitUserId, id).list();
+
+        for (WorkerPolicy workerPolicy : workerPolicies) {
+
+            workerPolicy.setEndTime(DateUtil.endOfDay(workerPolicy.getEndTime()));
+
+            if (StringUtil.isEmpty(workerPolicy.getId())){
+                WebsitUserLog websitUserLog = new WebsitUserLog();
+
+                websitUserLog.setTypeText("添加保险");
+                websitUserLog.setOpRemark("保险时间为"+ DateUtil.format(workerPolicy.getStartTime(),"yyyy-MM-dd")+","+
+                        DateUtil.format(workerPolicy.getEndTime(),"yyyy-MM-dd"));
+
+                websitUserLog.insert();
+            }else {
+                List<WorkerPolicy> workerPolicyLists = workerPolicyList.stream()
+                        .filter(item -> item.getId().equals(workerPolicy.getId())).collect(Collectors.toList());
+                if (CollectionUtils.isEmpty(workerPolicyLists))
+                    continue;
+
+                WorkerPolicy workerPolicyOne = workerPolicyLists.get(0);
+
+                if (!(workerPolicyOne.getStartTime().equals(workerPolicy.getStartTime()) && workerPolicyOne.getEndTime().equals(workerPolicy.getEndTime()))) {
+                    WebsitUserLog websitUserLog = new WebsitUserLog();
+
+                    websitUserLog.setTypeText("更改保险日期");
+                    websitUserLog.setOpRemark("保险时间为"+ DateUtil.format(workerPolicy.getStartTime(),"yyyy-MM-dd")+","+
+                            DateUtil.format(workerPolicy.getEndTime(),"yyyy-MM-dd"));
+
+                    websitUserLog.insert();
+
+                }
+
+
+            }
+        }
+    }
+
+
     @Transactional(rollbackFor = Exception.class)
     public WorkerManagerDetail detail(String id) {
 
@@ -198,8 +292,15 @@ public class WorkerManagerLogic {
         if (!websitUser.getExamineStatus().equals(ExamineWorkerStatusEnum.WAIT.getKey()))
             throw new RemoteServiceException("状态不为待审核状态");
 
+        if (workerManagerBean.getUser().getEndTime() != null && workerManagerBean.getUser().getEndTime().before(new Date()))
+            throw new RemoteServiceException("高空证不能填入失效时间");
+
+        if (workerManagerBean.getUser().getIdCardEndTime() != null && workerManagerBean.getUser().getIdCardEndTime().before(new Date()))
+            throw new RemoteServiceException("身份证不能填入过期时间");
+
         workerManagerBean.setCreateTime(null);
 
+
         workerManagerBean.setExamineBy(adminUser.getNickName());
         workerManagerBean.setExamineTime(new Date());
 
@@ -211,16 +312,18 @@ public class WorkerManagerLogic {
                 throw new RemoteServiceException("师傅编号已经录入不允许更改");
             }
         }
-        if (StringUtil.isEmpty(workerManagerBean.getWorkerNumber()))
+        if (StringUtil.isEmpty(workerManagerBean.getUser().getWorkerNumber()))
             throw new RemoteServiceException("师傅编号不能为空");
 
 
-        if(userService.lambdaQuery().eq(User::getWorkerNumber,workerManagerBean.getWorkerNumber())
+        if(userService.lambdaQuery().eq(User::getWorkerNumber,workerManagerBean.getUser().getWorkerNumber())
                 .ne(User::getUserId,workerManagerBean.getUserId()).count() > 0)
             throw new RemoteServiceException("已有该师傅编号");
 
 
-        workerManagerBean.getUser().setWorkerNumber(workerManagerBean.getWorkerNumber());
+        workerManagerBean.setBankAccount(workerManagerBean.getUser().getBankAccount());
+        workerManagerBean.setWorkerNumber(workerManagerBean.getUser().getWorkerNumber());
+
 
         workerManagerBean.updateById();
 
@@ -232,8 +335,11 @@ public class WorkerManagerLogic {
 
         for (WorkerImg workerImg : workerManagerBean.getWorkerImgs()) {
             workerImg.setWorkerId(workerManagerBean.getUserId());
+            workerImg.setUserId(workerManagerBean.getUserId());
         }
 
+        this.changeList(workerManagerBean.getWorkerPolicies(),workerManagerBean.getId());
+
 
         workerImgService.saveOrUpdateBatch(workerManagerBean.getWorkerImgs());
 
@@ -290,6 +396,13 @@ public class WorkerManagerLogic {
 
 
             if (adminWebsit.getInsureType().equals("意外险,工伤险")) {
+
+                if (workerManagerBean.getWorkerPolicies().stream()
+                        .filter(item -> item.getPolicyType().equals("EM") && item.getStatus().equals("BZZ")).count() > 0) {
+                    throw new RemoteServiceException("该网点未配置雇主保险");
+                }
+
+
                 List<WorkerPolicy> workerPoliciesIn = workerManagerBean.getWorkerPolicies().stream()
                         .filter(item -> item.getPolicyType().equals("IN")).collect(Collectors.toList());
 
@@ -304,6 +417,14 @@ public class WorkerManagerLogic {
                 }
 
             } else {
+
+
+                if (workerManagerBean.getWorkerPolicies().stream()
+                        .filter(item -> item.getPolicyType().equals("IN") && item.getStatus().equals("BZZ")).count() > 0) {
+                    throw new RemoteServiceException("该网点未配置工伤保险");
+                }
+
+
                 List<WorkerPolicy> workerPoliciesEm = workerManagerBean.getWorkerPolicies().stream()
                         .filter(item -> item.getPolicyType().equals("EM")).collect(Collectors.toList());
 
@@ -516,6 +637,17 @@ public class WorkerManagerLogic {
         workerManagerBean.setPolicyExamineTime(new Date());
 
 
+        workerManagerBean.setBankAccount(workerManagerBean.getUser().getBankAccount());
+        workerManagerBean.setWorkerNumber(workerManagerBean.getUser().getWorkerNumber());
+
+
+        if (workerManagerBean.getUser().getEndTime() != null && workerManagerBean.getUser().getEndTime().before(new Date()))
+            throw new RemoteServiceException("高空证不能填入失效时间");
+
+        if (workerManagerBean.getUser().getIdCardEndTime() != null && workerManagerBean.getUser().getIdCardEndTime().before(new Date()))
+            throw new RemoteServiceException("身份证不能填入过期时间");
+
+
         WebsitUser websitUser = websitUserService.getById(workerManagerBean.getId());
 
         if (!websitUser.getExamineStatus().equals(ExamineWorkerStatusEnum.POLICY_WAIT.getKey()))
@@ -534,6 +666,7 @@ public class WorkerManagerLogic {
 
         for (WorkerImg workerImg : workerManagerBean.getWorkerImgs()) {
             workerImg.setWorkerId(workerManagerBean.getUserId());
+            workerImg.setUserId(workerManagerBean.getUserId());
         }
 
 
@@ -547,6 +680,8 @@ public class WorkerManagerLogic {
             workerPolicy.setWebsitUserId(workerManagerBean.getId());
         }
 
+        this.changeList(workerManagerBean.getWorkerPolicies(),workerManagerBean.getId());
+
         workerPolicyService.saveOrUpdateBatch(workerManagerBean.getWorkerPolicies());
 
         if (workerManagerBean.getExamineStatus().equals(ExamineWorkerStatusEnum.FAIL.getKey()))
@@ -585,6 +720,13 @@ public class WorkerManagerLogic {
 
 
         if (adminWebsit.getInsureType().equals("意外险,工伤险")) {
+
+            if (workerManagerBean.getWorkerPolicies().stream()
+                    .filter(item -> item.getPolicyType().equals("EM") && item.getStatus().equals("BZZ")).count() > 0) {
+                throw new RemoteServiceException("该网点未配置雇主保险");
+            }
+
+
             List<WorkerPolicy> workerPoliciesIn = workerManagerBean.getWorkerPolicies().stream()
                     .filter(item -> item.getPolicyType().equals("IN")).collect(Collectors.toList());
 
@@ -609,6 +751,11 @@ public class WorkerManagerLogic {
             }
 
         } else {
+
+            if (workerManagerBean.getWorkerPolicies().stream()
+                    .filter(item -> item.getPolicyType().equals("IN") && item.getStatus().equals("BZZ")).count() > 0) {
+                throw new RemoteServiceException("该网点未配置工伤保险");
+            }
             List<WorkerPolicy> workerPoliciesEm = workerManagerBean.getWorkerPolicies().stream()
                     .filter(item -> item.getPolicyType().equals("EM")).collect(Collectors.toList());
 

+ 8 - 0
mall-server-api/src/main/java/com/gree/mall/manager/logic/user/UserLogic.java

@@ -281,6 +281,10 @@ public class UserLogic {
             userWait.setUserType(userTypeEnum.getKey());
             userWait.setMobile(mobile);
 
+            if(websitUserService.lambdaQuery().eq(WebsitUser::getWebsitId,adminWebsit.getWebsitId())
+            .eq(WebsitUser::getWorkerNumber,workerNumber).count() > 0)
+                throw new RemoteServiceException(workerNumber+"该师傅已有入驻信息");
+
 
             if (adminWebsit.getInsureType().equals("意外险,工伤险")) {
 
@@ -948,6 +952,10 @@ public class UserLogic {
             }
         }
 
+        List<WorkerImg> list = workerImgService.lambdaQuery().in(WorkerImg::getUserId, user.getUserId()).list();
+
+        userWxBean.setWorkerImgList(list);
+
 
         return userWxBean;
     }

+ 1 - 1
mall-server-api/src/main/java/com/gree/mall/manager/logic/workorder/OrderBaseLogic.java

@@ -280,7 +280,7 @@ public class OrderBaseLogic {
         orderBase.setOrderTitle(orderTitle);
         orderBase.insertOrUpdate();
 
-        //生成已完工标签
+
         orderFlagLogic.saveOrderFlag(Lists.newArrayList(orderBase.getId()),OrderFlagEnum.ORDER);
 
         //日志记录

+ 9 - 1
mall-server-api/src/main/java/com/gree/mall/manager/schedule/InsureEmailSchedule.java

@@ -14,7 +14,7 @@ import java.io.IOException;
 /**
  * 定时购买保险
  */
-@ConditionalOnProperty(name = "schedule.enable", havingValue = "true", matchIfMissing = true)
+//@ConditionalOnProperty(name = "schedule.enable", havingValue = "true", matchIfMissing = true)
 @Component
 public class InsureEmailSchedule {
 
@@ -52,4 +52,12 @@ public class InsureEmailSchedule {
     }
 
 
+    //扫表身份证,高空证过期备注
+    @Scheduled(fixedDelay = 60* 1000)
+    public void task5(){
+        agreementLogic.task5();
+    }
+
+
+
 }

+ 8 - 2
mall-server-api/src/main/java/com/gree/mall/manager/schedule/SyncSchedule.java

@@ -25,14 +25,14 @@ public class SyncSchedule {
 
 
 
-    //每小时执行1次
+    //同步工单数据
     @Scheduled(fixedDelay =10* 1000)
     public void task() throws IOException {
         syncOrderInfoLogic.syncGuang();
     }
 
 
-    //监测今天是否有回执邮件,如果有则表示今天买保险的回执成功
+    //同步工单数据
     @Scheduled(fixedDelay = 10* 1000)
     public void task2() throws IOException, MessagingException {
         syncOrderInfoLogic.syncDetail();
@@ -40,4 +40,10 @@ public class SyncSchedule {
 
 
 
+    //同步工单数据
+    @Scheduled(fixedDelay = 5* 1000)
+    public void task3() throws IOException, MessagingException {
+        syncOrderInfoLogic.task3();
+    }
+
 }

+ 1 - 1
mall-server-api/src/main/resources/mapper/CommonMapper.xml

@@ -323,7 +323,7 @@
             and a.order_status = #{ex.orderStatus.key}
         </if>
         <if test="ex.orderStatus != null and ex.orderStatus.key =='YCD'.toString()">
-            and a.is_exception =1
+            and a.is_exception =1 and a.order_status NOT IN ('YWG','YWGO','YJS')
         </if>
         <if test="ex.orderStatus != null and ex.orderStatus.key =='DYY'.toString()">
             and a.appointment_time is null and a.order_status in('DYY','DSHPG','DWDPG','DJD')

+ 1 - 1
mall-server-api/src/main/resources/mapper/workorder/OrderBaseCMapper.xml

@@ -27,7 +27,7 @@
             'YCD' as 'orderStatus',
             '异常待处理' as 'orderStatusText'
         from pg_order_base a
-        where is_exception=1
+        where is_exception=1 and a.order_status NOT IN ('YWG','YWGO','YJS')
         <include refid="orderBaseSqlWhere"></include>
         <if test="orderSmallType != null and orderSmallType != ''">
             and a.order_small_type = #{orderSmallType}

BIN
mall-server-api/src/main/resources/template/雇主险导入.xlsx


BIN
mall-server-api/src/main/resources/template/雇主险模板.xlsx