‘linchangsheng’ před 5 měsíci
rodič
revize
c2c36789a7

+ 2 - 2
mall-server-api/src/main/java/com/gree/mall/manager/bean/letter/LeLetterVO.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.IdType;
 import com.baomidou.mybatisplus.annotation.TableField;
 import com.baomidou.mybatisplus.annotation.TableId;
 import com.gree.mall.manager.annotation.ZfireField;
+import com.gree.mall.manager.enums.LeletterExamineEnum;
 import com.gree.mall.manager.enums.LetterStatusEnum;
 import com.gree.mall.manager.plus.entity.LeLetter;
 import io.swagger.annotations.ApiModel;
@@ -64,7 +65,6 @@ public class LeLetterVO  {
     @ApiModelProperty(value = "工单创建时间")
     private Date orderCreateTime;
 
-    private String projectId;
 
     @ApiModelProperty(value = "考核项目")
     private String projectName;
@@ -107,7 +107,7 @@ public class LeLetterVO  {
     private String examineName;
 
     @ApiModelProperty(value = "审批结果")
-    private String examineStatus;
+    private LeletterExamineEnum examineStatus;
 
     @ApiModelProperty(value = "审批时间")
     private Date examineTime;

+ 1 - 1
mall-server-api/src/main/java/com/gree/mall/manager/commonmapper/LetterMapper.java

@@ -26,5 +26,5 @@ public interface LetterMapper {
     IPage<LeProjectVO> listProject(Page page, @Param("ex")ZfireParamBean zfireParam,@Param("companyWechatIds") List<String> adminCompanyIds);
 
     @InterceptorIgnore(tenantLine = "1", blockAttack = "1", illegalSql = "1")
-    IPage<LeLetterVO> listLetter(Page page,@Param("ex") ZfireParamBean zfireParam,@Param("companyWechatIds") List<String> adminCompanyIds);
+    IPage<LeLetterVO> listLetter(Page page,@Param("ex") ZfireParamBean zfireParam,@Param("companyWechatIds") List<String> adminCompanyIds,Boolean isWeb);
 }

+ 23 - 0
mall-server-api/src/main/java/com/gree/mall/manager/enums/LeletterExamineEnum.java

@@ -0,0 +1,23 @@
+package com.gree.mall.manager.enums;
+
+import com.baomidou.mybatisplus.annotation.EnumValue;
+import com.fasterxml.jackson.annotation.JsonValue;
+import com.gree.mall.manager.enums.base.BaseEnum;
+import lombok.AccessLevel;
+import lombok.AllArgsConstructor;
+import lombok.Getter;
+
+@Getter
+@AllArgsConstructor(access = AccessLevel.PRIVATE)
+public enum  LeletterExamineEnum implements BaseEnum {
+    SUB("SUB","减免"),
+    FAIL("FAIL","驳回"),
+    OK("OK","OK"),
+
+            ;
+
+    @EnumValue
+    @JsonValue
+    private final String key;
+    private final String remark;
+}

+ 17 - 2
mall-server-api/src/main/java/com/gree/mall/manager/logic/LetterLogic.java

@@ -260,11 +260,12 @@ public class LetterLogic {
         //获取当前登录企业id
         AdminUserCom adminUser = commonLogic.getAdminUser();
 
+
         List<String> adminCompanyIds = adminUser.getCompanyWechatIds();
         //1.组装查询条件
         zfireParam = FieldUtils.supplyParam(zfireParam, LeLetterVO.class, adminUser);
 
-        IPage<LeLetterVO> leLetterVOIPage = letterMapper.listLetter(page, zfireParam, adminCompanyIds);
+        IPage<LeLetterVO> leLetterVOIPage = letterMapper.listLetter(page, zfireParam, adminCompanyIds,adminUser.getType().equals(0)?true:false);
         return leLetterVOIPage;
 
     }
@@ -285,6 +286,10 @@ public class LetterLogic {
 
         AdminUserCom adminUser = commonLogic.getAdminUser();
         AdminWebsit adminWebsit = adminWebsitService.getById(leLetter.getWebsitId());
+
+        if (adminWebsit == null)
+            throw new RemoteServiceException("网点未配置");
+
         leLetter.setCompanyWechatName(adminUser.getCompanyName());
         leLetter.setCompanyWechatId(adminUser.getCompanyWechatId());
         leLetter.setBelongCompany(adminWebsit.getBelongCompany());
@@ -293,10 +298,12 @@ public class LetterLogic {
             leLetter.setLetterNumber(this.generateInvoiceOrder("GZ"));
         else
             leLetter.setLetterNumber(this.generateInvoiceOrder("FS"));
-        leLetter.setStatus(LetterStatusEnum.WAIT.getKey());
+
 
         if (leLetter.getStatus().equals(LetterStatusEnum.SEND.getKey())){
             leLetter.setSendTime(new Date());
+        }else {
+            leLetter.setStatus(LetterStatusEnum.WAIT.getKey());
         }
 
 
@@ -344,6 +351,10 @@ public class LetterLogic {
 
 
     public void updateLetter(LeLetter leLetter) {
+
+        if (leLetter.getStatus().equals(LetterStatusEnum.SEND.getKey())){
+            leLetter.setSendTime(new Date());
+        }
         leLetter.updateById();
     }
 
@@ -387,6 +398,7 @@ public class LetterLogic {
     }
 
     public void examine(LeLetterItem leLetterItem) {
+        AdminUserCom adminUser = commonLogic.getAdminUser();
 
         LeLetter leLetter = leLetterService.getById(leLetterItem.getLeLetterId());
         if (!leLetter.getStatus().equals(LetterStatusEnum.WAIT_EXAMINE.getKey()))
@@ -400,6 +412,9 @@ public class LetterLogic {
         if (leLetterItem.getExamineStatus().equals(LetterItemStatus.SUB.getKey()))
             leLetter.setStatus(LetterStatusEnum.REDUCTION.getKey());
 
+        leLetterItem.setExamineName(adminUser.getNickName());
+        leLetterItem.setExamineTime(new Date());
+
         leLetter.setExamineFration(leLetterItem.getExamineFration());
         leLetter.setExamineName(leLetterItem.getExamineName());
         leLetter.setExaminePrice(leLetterItem.getExaminePrice());

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

@@ -10,10 +10,12 @@ import com.gree.mall.manager.bean.ExcelData;
 import com.gree.mall.manager.bean.admin.AdminUserCom;
 import com.gree.mall.manager.bean.policy.*;
 import com.gree.mall.manager.commonmapper.PolicyCMapper;
+import com.gree.mall.manager.constant.Constant;
 import com.gree.mall.manager.enums.*;
 import com.gree.mall.manager.logic.common.CommonLogic;
 import com.gree.mall.manager.plus.entity.*;
 import com.gree.mall.manager.plus.service.*;
+import com.gree.mall.manager.utils.RedisUtil;
 import com.gree.mall.manager.utils.StringUtil;
 import com.gree.mall.manager.utils.email.EmailUtilsNew;
 import com.gree.mall.manager.utils.excel.ExcelUtils;
@@ -91,6 +93,18 @@ public class AgreementLogic {
     @Autowired
     SysDictCompanyService sysDictCompanyService;
 
+    @Autowired
+    RedisUtil redisUtil;
+
+    @Autowired
+    LeConfigService leConfigService;
+
+    @Autowired
+    LeLetterService leLetterService;
+
+    @Autowired
+    LeLetterItemService leLetterItemService;
+
 
     public IPage<AgreementVo> list(Page page, ZfireParamBean zfireParam) {
 
@@ -1064,6 +1078,8 @@ public class AgreementLogic {
     }
 
     public void task6() {
+
+
         List<WebsitUser> websitUsers = websitUserService.lambdaQuery().eq(WebsitUser::getExamineStatus, ExamineStatusEnum.OK.getKey()).list();
 
         List<String> websitUserIds = websitUsers.stream().map(WebsitUser::getId).collect(Collectors.toList());
@@ -1179,4 +1195,45 @@ public class AgreementLogic {
         LocalDateTime endOfDay = localDateTime.with(localTime);
         return Date.from(endOfDay.atZone(ZoneId.systemDefault()).toInstant());
     }
+
+    public void task8() {
+
+        LeConfig leConfig = leConfigService.getById("1");
+
+        if (leLetterService.lambdaQuery().eq(LeLetter::getStatus, LetterStatusEnum.SEND.getKey())
+                .le(LeLetter::getSendTime, DateUtil.offsetDay(new Date(),-1*leConfig.getDayNum()))
+                .count() > 0) {
+            leLetterService.lambdaUpdate().eq(LeLetter::getStatus, LetterStatusEnum.SEND.getKey())
+                    .le(LeLetter::getSendTime, DateUtil.offsetDay(new Date(),-1*leConfig.getDayNum()))
+                    .set(LeLetter::getStatus,LetterStatusEnum.EXECUTED.getKey()).update();
+        }
+
+        if (leConfig.getIsDay().equals(IsYesNoEnum.YES.getKey())) {
+
+            List<LeLetterItem> letterItems = leLetterItemService.lambdaQuery().eq(LeLetterItem::getWebsitAppeal, "AP")
+                    .isNull(LeLetterItem::getExamineStatus)
+                    .le(LeLetterItem::getCreateTime, DateUtil.offsetDay(new Date(), -1 * leConfig.getCoreNum()))
+                    .list();
+
+            if (!CollectionUtils.isEmpty(letterItems)) {
+
+                for (LeLetterItem letterItem : letterItems) {
+
+                    letterItem.setExamineStatus("OK");
+                    letterItem.setExamineName("审批截止时间已到自动批复");
+
+
+                    leLetterService.lambdaUpdate().eq(LeLetter::getStatus, LetterStatusEnum.WAIT_EXAMINE.getKey())
+                            .eq(LeLetter::getLeLetterId,letterItem.getLeLetterId())
+                            .set(LeLetter::getStatus, LetterStatusEnum.REVOKE.getKey())
+                            .update();
+
+                }
+
+
+            }
+        }
+
+
+    }
 }

+ 7 - 0
mall-server-api/src/main/java/com/gree/mall/manager/schedule/InsureEmailSchedule.java

@@ -71,4 +71,11 @@ public class InsureEmailSchedule {
     public void task7(){
         agreementLogic.task7();
     }
+
+
+    //将联络涵设置对应状态
+    @Scheduled(fixedDelay = 60* 1000)
+    public void task8(){
+        agreementLogic.task8();
+    }
 }

+ 10 - 0
mall-server-api/src/main/resources/mapper/LetterMapper.xml

@@ -61,6 +61,16 @@
                 #{item}
             </foreach>
         </if>
+
+        <if test="ex.adminWebsitIds != null and ex.adminWebsitIds.size > 0">
+            AND a.websit_id IN
+            <foreach item="item" index="index" collection="ex.adminWebsitIds" open="(" separator="," close=")">
+                #{item}
+            </foreach>
+        </if>
+        <if test="isWeb != null and isWeb == true">
+           a.status != 'WAIT'
+        </if>
         <if test="ex.orderBy == null or ex.orderBy ==''">
             ORDER BY a.create_time DESC
         </if>