Jelajahi Sumber

每月提醒本月漏填

QuYueTing 6 bulan lalu
induk
melakukan
303ca111c0

+ 5 - 73
fhKeeper/formulahousekeeper/management-crm/src/main/java/com/management/platform/controller/WeiXinCorpController.java

@@ -1390,45 +1390,15 @@ public class WeiXinCorpController {
                         String editionId = wxOrder.getEditionId();
                         switch (editionId){
                             //基础版
-                            case "sp17da4a6e6f2a91f8":
-                                newCompany.setPackageProject(0);
-                                newCompany.setPackageOa(0);
-                                newCompany.setPackageExpense(0);
-                                newCompany.setPackageCustomer(0);
-                                newCompany.setPackageEngineering(0);
-                                newCompany.setPackageProvider(0);
+                            case "sp8f9473908bd5f6b0":
                                 break;
                             //专业版
-                            case "sp4a30d92ede178afd":
-                                newCompany.setPackageProject(1);//项目协作平台
-                                newCompany.setPackageOa(0);//OA平台;请假,出差等
-                                newCompany.setPackageExpense(1);//费用报销
-                                newCompany.setPackageCustomer(0);//客户管理
-                                newCompany.setPackageEngineering(0);//工程专业
-                                newCompany.setPackageProvider(0);//供应商模块
-                                break;
-                            //建筑版
-                            case "sp29bdb884f4a78392":
-                                newCompany.setPackageProject(1);//项目协作平台
-                                newCompany.setPackageOa(0);//OA平台;请假,出差等
-                                newCompany.setPackageExpense(1);//费用报销
-                                newCompany.setPackageCustomer(1);//客户管理
-                                newCompany.setPackageEngineering(1);//工程专业
-                                newCompany.setPackageProvider(0);//供应商模块
-                                break;
-                            //旗舰版
-                            case "sp852fec2d1198957a":
-                                newCompany.setPackageProject(1);//项目协作平台
-                                newCompany.setPackageOa(1);//OA平台;请假,出差等
-                                newCompany.setPackageExpense(1);//费用报销
-                                newCompany.setPackageCustomer(1);//客户管理
-                                newCompany.setPackageEngineering(0);//工程专业
-                                newCompany.setPackageProvider(1);//供应商模块
+                            case "sp158cbb42aebdeab0":
+                                newCompany.setSetMeal(1);
                                 break;
                         }
                         LocalDateTime endTime = wxOrder.getEndTime();
                         newCompany.setExpirationDate(endTime);
-                        newCompany.setSetMeal(1);
                         newCompany.setStaffCountMax(wxOrder.getUserCount());
                         companyMapper.updateById(newCompany);
                         System.out.println("版本变更成功,到期时间更新成功。");
@@ -1479,7 +1449,6 @@ public class WeiXinCorpController {
                         SysRole smanager = sysRoleMapper.selectOne(
                                 new QueryWrapper<SysRole>().eq("company_id", companyId).eq("rolename", "超级管理员"));
                         //授权人就当做是超级管理员吧
-                        log.info("===userDetail==" + userDetail.toJSONString());
                         SysRole defaultRole = null;
                         if (userMapper.selectCount(new QueryWrapper<User>().eq("role_id", smanager.getId()))> 0) {
                             //已经有超级管理员了,用默认权限
@@ -3303,45 +3272,8 @@ public class WeiXinCorpController {
             String edition_id = json.getJSONObject("edition_info").getJSONArray("agent")
                     .getJSONObject(0).getString("edition_id");
             //非体验版
-            if (!"sp4abb17b6c9df6f9f".equals(edition_id)) {
-                switch (edition_id){
-                    //基础版
-                    case "sp17da4a6e6f2a91f8":
-                        newCompany.setPackageProject(0);
-                        newCompany.setPackageOa(0);
-                        newCompany.setPackageExpense(0);
-                        newCompany.setPackageCustomer(0);
-                        newCompany.setPackageEngineering(0);
-                        newCompany.setPackageProvider(0);
-                        break;
-                    //专业版
-                    case "sp4a30d92ede178afd":
-                        newCompany.setPackageProject(1);//项目协作平台
-                        newCompany.setPackageOa(0);//OA平台;请假,出差等
-                        newCompany.setPackageExpense(1);//费用报销
-                        newCompany.setPackageCustomer(0);//客户管理
-                        newCompany.setPackageEngineering(0);//工程专业
-                        newCompany.setPackageProvider(0);//供应商模块
-                        break;
-                    //建筑版
-                    case "sp29bdb884f4a78392":
-                        newCompany.setPackageProject(1);//项目协作平台
-                        newCompany.setPackageOa(0);//OA平台;请假,出差等
-                        newCompany.setPackageExpense(1);//费用报销
-                        newCompany.setPackageCustomer(1);//客户管理
-                        newCompany.setPackageEngineering(1);//工程专业
-                        newCompany.setPackageProvider(0);//供应商模块
-                        break;
-                    //旗舰版
-                    case "sp852fec2d1198957a":
-                        newCompany.setPackageProject(1);//项目协作平台
-                        newCompany.setPackageOa(1);//OA平台;请假,出差等
-                        newCompany.setPackageExpense(1);//费用报销
-                        newCompany.setPackageCustomer(1);//客户管理
-                        newCompany.setPackageEngineering(0);//工程专业
-                        newCompany.setPackageProvider(1);//供应商模块
-                        break;
-                }
+            if (!"sp8f9473908bd5f6b0".equals(edition_id)) {
+                newCompany.setSetMeal(1);
                 companyMapper.updateById(newCompany);
                 System.out.println("已成功变更版本,版本号为:"+edition_id);
                 //开通模块和权限

+ 21 - 2
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/task/TimingTask.java

@@ -1564,11 +1564,23 @@ public class TimingTask {
                         return;
                     }
                     if (alertDay.equals(localDate.getDayOfMonth())) {
-                        //获取上个月的开始和节数日期
+                        //获取上个月的开始和结束日期
                         LocalDate startDate = localDate.minusMonths(1).with(TemporalAdjusters.firstDayOfMonth());
                         LocalDate endDate = localDate.minusMonths(1).with(TemporalAdjusters.lastDayOfMonth());
                         userList = reportService.getNotFullReportUserList(company.getId(), startDate, endDate);
                     }
+                } else if (t.getAlertType() == 5) {
+                    //3--每月固定日期提醒本月的
+                    Integer alertDay = t.getAlertDay();
+                    if (alertDay == null) {
+                        return;
+                    }
+                    if (alertDay.equals(localDate.getDayOfMonth())) {
+                        //获取本月的开始和结束日期
+                        LocalDate startDate = localDate.with(TemporalAdjusters.firstDayOfMonth());
+                        LocalDate endDate = localDate.with(TemporalAdjusters.lastDayOfMonth());
+                        userList = reportService.getNotFullReportUserList(company.getId(), startDate, endDate);
+                    }
                 } else if (t.getAlertType() == 4) {
                     //4--每周提醒上周漏填
                     LocalDate lastSunday = localDate.with(DayOfWeek.SUNDAY).minusWeeks(1);
@@ -1632,6 +1644,13 @@ public class TimingTask {
                                 } else {
                                     jsonObj.put("value", "您上个月有"+u.get("daysTxt")+"共"+(Integer)u.get("days")+"天未填写工时报告,请尽快填写");
                                 }
+                            } else if (t.getAlertType() == 5) {
+                                //每月提醒本月
+                                if ((Integer)u.get("days") > 3) {
+                                    jsonObj.put("value", "您本月有"+u.get("daysTxt")+"...共"+(Integer)u.get("days")+"天未填写工时报告,请尽快填写");
+                                } else {
+                                    jsonObj.put("value", "您本月有"+u.get("daysTxt")+"共"+(Integer)u.get("days")+"天未填写工时报告,请尽快填写");
+                                }
                             } else {
                                 if (finalLastWeekNotFill) {
                                     String text = null;
@@ -1654,7 +1673,7 @@ public class TimingTask {
                                 json.put("content_item",dataJson);
                             }
                             if (cpList.size() > 0) {
-                                System.out.println("发送企业微信漏填提醒:" + LocalDateTime.now().toString() + ", corpUid=" + corpUid + ", json=" + json.toJSONString());
+//                                System.out.println("发送企业微信漏填提醒:" + LocalDateTime.now().toString() + ", corpUid=" + corpUid + ", json=" + json.toJSONString());
                                 wxCorpInfoService.sendWXCorpTemplateMsg(cpList.get(0), corpUid, json);
                             }
                         } else if (u.get("wxOpenid") != null) {

+ 1 - 0
fhKeeper/formulahousekeeper/timesheet/src/i18n/en.json

@@ -950,6 +950,7 @@
   "lastDayOfWeek": "Remind on the last day of current week",
   "alertLastWeek": "Remind last week's missing report",
   "monthAlert": "Remind last month's missed report on fixed day",
+  "curMonthAlert": "Remind current month's missed report on fixed day",
   "morningtime": "morning time",
   "owntimeframe": "Choose your own time frame",
   "personneltoset": "Don't remind people settings",

+ 1 - 0
fhKeeper/formulahousekeeper/timesheet/src/i18n/zh.json

@@ -958,6 +958,7 @@
   "lastDayOfWeek": "每周最后一个工作日",
   "alertLastWeek": "每周提醒上周漏填",
   "monthAlert": "每月固定日期提醒上个月",
+  "curMonthAlert": "每月固定日期提醒本月",
   "remindertext": "提醒文本",
   "personneltoset": "不提醒人员设置",
   "addTian": "添加",

+ 8 - 3
fhKeeper/formulahousekeeper/timesheet/src/views/settings/timetype.vue

@@ -223,9 +223,10 @@
                             <el-option :label="$t('missingfills')" :value="1"></el-option>
                             <el-option :label="$t('lastDayOfWeek')" :value="2"></el-option>
                             <el-option :label="$t('monthAlert')" :value="3"></el-option>
+                            <el-option :label="$t('curMonthAlert')" :value="5"></el-option>
                             <el-option :label="$t('alertLastWeek')" :value="4"></el-option>
                         </el-select>
-                        <span v-if="timeType.alertType == 3" style="color:#606266;">({{ $t('meiYue') }}
+                        <span v-if="timeType.alertType == 3 || timeType.alertType == 5" style="color:#606266;">({{ $t('meiYue') }}
                         <el-select v-model="timeType.alertDay" style="width:80px;">
                             <el-option v-for="item in alertDayRange" :label="item" :value="item" :key="item"></el-option>
                         </el-select>
@@ -236,7 +237,7 @@
                         </el-select>
                         {{ $t('tiXing') }})</span>
                     </el-form-item>
-                    <el-form-item v-if="timeType.alertType != 3" :label="$t('remindertext')" prop="alertMsg" style="margin-left:10px;">
+                    <el-form-item v-if="timeType.alertType != 3 && timeType.alertType != 5" :label="$t('remindertext')" prop="alertMsg" style="margin-left:10px;">
                             <el-input :placeholder="$t('peaseenterthe')" v-model="timeType.alertMsg" clearable class="apu" maxlength="50"></el-input>
                             <span v-if="timeType.alertType == 4" style="color:orange;margin-left:10px;">{{ $t('keYong_0BiaoShiLouTianRiQiLiRu_0JiangBeiTiHuanWei_05240525') }}</span>
                     </el-form-item>
@@ -809,7 +810,7 @@
                     onPreviousStep: this.myCustomPreviousStepCallback,   //在data中定义两个回调
                     onNextStep: this.myCustomNextStepCallback
                 },
-                alertDayRange: ['1','2','3','4','5','6','7','8','9','10','11','12','13','14','15'],
+                alertDayRange: [],
                 alertWeekDayRange: [{value:1,label:this.$t('weekDay.monday')},{value:2,label:this.$t('weekDay.tuesday')},{value:3,label:this.$t('weekDay.wednesday')},{value:4,label:this.$t('weekDay.thursday')},{value:5,label:this.$t('weekDay.friday')}],
                 pushParam:{
                     day:'05',
@@ -921,6 +922,10 @@
             };
         },
         mounted() {
+            this.alertDayRange = [];
+            for(let i=1; i<=30; i++){
+                this.alertDayRange.push(''+i)
+            }
             this.timeRange = []
             for(let i=0.5; i<=20; i+=0.5){
                 this.timeRange.push(i)