浏览代码

Merge branch 'master' of http://47.100.37.243:10080/wutt/manHourHousekeeper

ggooalice 2 年之前
父节点
当前提交
2de04114de

+ 1 - 1
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/TaskCommentController.java

@@ -75,7 +75,7 @@ public class TaskCommentController {
                 String userName = taskComment.getUserName();
                 for (User item : users) {
                     if (item.getId().equals(taskComment.getUserId())){
-                        userWxId = user.getCorpwxRealUserid();
+                        userWxId = item.getCorpwxRealUserid();
                         break;
                     }
                 }

+ 110 - 52
fhKeeper/formulahousekeeper/management-platform/src/main/java/com/management/platform/controller/WeiXinCorpController.java

@@ -1037,7 +1037,6 @@ public class WeiXinCorpController {
                         company.setPackageProject(1);
                         company.setPackageExpense(1);
                         companyMapper.insert(company);
-
                         //生成项目的成本基线默认条目
                         String[] array = Constant.DEFAULT_BASE_COST_ITEMS;
                         for (String baseItem : array) {
@@ -1194,6 +1193,54 @@ public class WeiXinCorpController {
                     int companyId = company.getId();
                     //获取公司根部门人员,也就是没有分配部门的人员
                     getCorpMembsFromPlatform(companyId);
+                    //对已经开通版本的新公司进行版本变更和开通时长变更
+                    WxOrder wxOrder = wxOrderMapper.selectOne(new QueryWrapper<WxOrder>().eq("paid_corpid",corpId).eq("order_status",1).orderByDesc("paid_time"));
+                    if (wxOrder != null){
+                        System.err.println("########################查询到该新建企业" + company.getCompanyName() + "已支付过订单,进行版本变更");
+                        String editionId = wxOrder.getEditionId();
+                        switch (editionId){
+                            //基础版
+                            case "sp17da4a6e6f2a91f8":
+                                company.setPackageProject(0);
+                                company.setPackageOa(0);
+                                company.setPackageExpense(0);
+                                company.setPackageCustomer(0);
+                                company.setPackageEngineering(0);
+                                company.setPackageProvider(0);
+                                break;
+                            //专业版
+                            case "sp4a30d92ede178afd":
+                                company.setPackageProject(1);//项目协作平台
+                                company.setPackageOa(0);//OA平台;请假,出差等
+                                company.setPackageExpense(1);//费用报销
+                                company.setPackageCustomer(0);//客户管理
+                                company.setPackageEngineering(0);//工程专业
+                                company.setPackageProvider(0);//供应商模块
+                                break;
+                            //建筑版
+                            case "spd04f1b0582a0fe19":
+                                company.setPackageProject(1);//项目协作平台
+                                company.setPackageOa(0);//OA平台;请假,出差等
+                                company.setPackageExpense(1);//费用报销
+                                company.setPackageCustomer(1);//客户管理
+                                company.setPackageEngineering(1);//工程专业
+                                company.setPackageProvider(0);//供应商模块
+                                break;
+                            //旗舰版
+                            case "sp69f71e42798c7f55":
+                                company.setPackageProject(1);//项目协作平台
+                                company.setPackageOa(1);//OA平台;请假,出差等
+                                company.setPackageExpense(1);//费用报销
+                                company.setPackageCustomer(1);//客户管理
+                                company.setPackageEngineering(0);//工程专业
+                                company.setPackageProvider(1);//供应商模块
+                                break;
+                        }
+                        LocalDateTime endTime = wxOrder.getEndTime();
+                        company.setExpirationDate(endTime);
+                        System.out.println("版本变更成功,到期时间更新成功。版本变更后的信息为:" + company.toString());
+                        companyMapper.updateById(company);
+                    }
                 } else {
                     //企业已经存在
                     Integer companyId = data.getCompanyId();
@@ -1860,7 +1907,14 @@ public class WeiXinCorpController {
                 }
             });
             if (newUserList.size() > 0) {
-                userService.saveBatch(newUserList);
+                if (employeeCnt + newUserList.size() > company.getStaffCountMax()){
+                    HttpRespMsg msg = new HttpRespMsg();
+                    //公司人员已达上限,请联系客服提高人数上限。
+                    msg.setError(MessageUtils.message("wx.employeeFull"));
+                    return msg;
+                }else {
+                    userService.saveBatch(newUserList);
+                }
             }
             //姓名,部门,账号的同步更新
             List<User> finalUpdateUserList = new ArrayList<>();
@@ -2779,61 +2833,65 @@ public class WeiXinCorpController {
             String paidCorpId = jsonObject.getString("PaidCorpId");
             WxCorpInfo wxCorpInfo = wxCorpInfoMapper.selectOne(new QueryWrapper<WxCorpInfo>().eq("corpid", paidCorpId));
             Company company = companyMapper.selectById(wxCorpInfo.getCompanyId());
-            System.err.println("版本变更的公司信息为:");
-            System.err.println(wxCorpInfo.toString());
-            JSONObject map = new JSONObject();
-            map.put("auth_corpid",wxCorpInfo.getCorpid());
-            map.put("permanent_code",wxCorpInfo.getPermanentCode());
-            HttpEntity<JSONObject> detailEntity = new HttpEntity<>(map, headers);
-            ResponseEntity<String> detailResponseEntity = restTemplate.postForEntity(url, detailEntity, String.class);
-            JSONObject json = JSONObject.parseObject(detailResponseEntity.getBody());
-            System.out.println("+++++++++++++++++++++++++版本更新信息为:"+json);
-            if (json.containsKey("auth_corp_info")){
-                String edition_id = json.getJSONObject("edition_info").getJSONArray("agent")
-                        .getJSONObject(0).getString("edition_id");
-                switch (edition_id){
-                    //基础版
-                    case "sp17da4a6e6f2a91f8":
-                        company.setPackageProject(0);
-                        company.setPackageOa(0);
-                        company.setPackageExpense(0);
-                        company.setPackageCustomer(0);
-                        company.setPackageEngineering(0);
-                        company.setPackageProvider(0);
-                        break;
+            if(company != null){
+                System.err.println("版本变更的公司信息为:");
+                System.err.println(wxCorpInfo.toString());
+                JSONObject map = new JSONObject();
+                map.put("auth_corpid",wxCorpInfo.getCorpid());
+                map.put("permanent_code",wxCorpInfo.getPermanentCode());
+                HttpEntity<JSONObject> detailEntity = new HttpEntity<>(map, headers);
+                ResponseEntity<String> detailResponseEntity = restTemplate.postForEntity(url, detailEntity, String.class);
+                JSONObject json = JSONObject.parseObject(detailResponseEntity.getBody());
+                System.out.println("+++++++++++++++++++++++++版本更新信息为:"+json);
+                if (json.containsKey("auth_corp_info")){
+                    String edition_id = json.getJSONObject("edition_info").getJSONArray("agent")
+                            .getJSONObject(0).getString("edition_id");
+                    switch (edition_id){
+                        //基础版
+                        case "sp17da4a6e6f2a91f8":
+                            company.setPackageProject(0);
+                            company.setPackageOa(0);
+                            company.setPackageExpense(0);
+                            company.setPackageCustomer(0);
+                            company.setPackageEngineering(0);
+                            company.setPackageProvider(0);
+                            break;
                         //专业版
-                    case "sp4a30d92ede178afd":
-                        company.setPackageProject(1);//项目协作平台
-                        company.setPackageOa(0);//OA平台;请假,出差等
-                        company.setPackageExpense(1);//费用报销
-                        company.setPackageCustomer(0);//客户管理
-                        company.setPackageEngineering(0);//工程专业
-                        company.setPackageProvider(0);//供应商模块
-                        break;
+                        case "sp4a30d92ede178afd":
+                            company.setPackageProject(1);//项目协作平台
+                            company.setPackageOa(0);//OA平台;请假,出差等
+                            company.setPackageExpense(1);//费用报销
+                            company.setPackageCustomer(0);//客户管理
+                            company.setPackageEngineering(0);//工程专业
+                            company.setPackageProvider(0);//供应商模块
+                            break;
                         //建筑版
-                    case "spd04f1b0582a0fe19":
-                        company.setPackageProject(1);//项目协作平台
-                        company.setPackageOa(0);//OA平台;请假,出差等
-                        company.setPackageExpense(1);//费用报销
-                        company.setPackageCustomer(1);//客户管理
-                        company.setPackageEngineering(1);//工程专业
-                        company.setPackageProvider(0);//供应商模块
-                        break;
+                        case "spd04f1b0582a0fe19":
+                            company.setPackageProject(1);//项目协作平台
+                            company.setPackageOa(0);//OA平台;请假,出差等
+                            company.setPackageExpense(1);//费用报销
+                            company.setPackageCustomer(1);//客户管理
+                            company.setPackageEngineering(1);//工程专业
+                            company.setPackageProvider(0);//供应商模块
+                            break;
                         //旗舰版
-                    case "sp69f71e42798c7f55":
-                        company.setPackageProject(1);//项目协作平台
-                        company.setPackageOa(1);//OA平台;请假,出差等
-                        company.setPackageExpense(1);//费用报销
-                        company.setPackageCustomer(1);//客户管理
-                        company.setPackageEngineering(0);//工程专业
-                        company.setPackageProvider(1);//供应商模块
-                        break;
+                        case "sp69f71e42798c7f55":
+                            company.setPackageProject(1);//项目协作平台
+                            company.setPackageOa(1);//OA平台;请假,出差等
+                            company.setPackageExpense(1);//费用报销
+                            company.setPackageCustomer(1);//客户管理
+                            company.setPackageEngineering(0);//工程专业
+                            company.setPackageProvider(1);//供应商模块
+                            break;
+                    }
+                    companyMapper.updateById(company);
+                    System.out.println(company.getCompanyName()+"已成功变更版本,版本号为:"+edition_id);
+                }else {
+                    System.out.println("++++++++++++++++++++++"+"版本变更失败!"+"++++++++++++++++++++++++");
+                    return false;
                 }
-                companyMapper.updateById(company);
-                System.out.println(company.getCompanyName()+"已成功变更版本,版本号为:"+edition_id);
             }else {
-                System.out.println("++++++++++++++++++++++"+"版本变更失败!"+"++++++++++++++++++++++++");
-                return false;
+                System.err.println("#############################" + paidCorpId + "该公司尚未授权开通,将在授权开通后为其变更版本及更新到期时间。");
             }
         }else {
             String orderId = "";

+ 15 - 11
fhKeeper/formulahousekeeper/timesheet/src/views/project/projectInside.vue

@@ -741,18 +741,19 @@
             <!-- 评论 -->
             <div class="remark" v-show="addForm.id != null">
                 <span class="zh">
-                    <span  v-for="(pl, i) in critic" :key="i">
-                        <div class="player" v-if="pl">
+                    
+                        <div class="player" v-if="critic.length > 0">
                             <p>{{ $t('participantin') }}</p>
                             <div class="bj">
+                                <span  v-for="(pl, i) in critic" :key="i">
                                 <span style="background: #778899" v-if="user.userNameNeedTranslate != 1">{{pl.length > 2 ? pl.substring(pl.length - 2, pl.length) : pl}}</span>
                                 <span v-if="user.userNameNeedTranslate == 1">
                                     <ww-open-data type='userName' :openid='pl'></ww-open-data>
                                 </span>
+                                </span>
                                 <!-- <span style="background: #778899">{{pl.length}}</span> -->
                             </div>
                         </div>
-                    </span>
                     <div class="subject">
                         <div class="sub-all">{{ $t('alldynamic') }}</div>
                         <div class="sub-details" ref="main">
@@ -787,9 +788,9 @@
                                         <em>
                                             <!-- {{item.content}} -->
                                             <p style="display: inline-block;padding: 0;margin: 0;" v-if="user.userNameNeedTranslate == 1">
-                                                <span>{{item.content.msg1}}</span>
+                                                {{item.content.msg1}}
                                                 <ww-open-data type='userName' :openid='item.content.msg2'></ww-open-data>
-                                                <span>{{item.content.msg3}}</span>
+                                                {{item.content.msg3}}
                                             </p>
                                             <p style="display: inline-block;padding: 0;margin: 0;" v-if="user.userNameNeedTranslate != 1">{{item.content}}</p>
                                         </em>
@@ -2456,11 +2457,14 @@
                                 }
                                 res.data[i].content = obj
                             } else {
-                                // let obj = {
-                                //     name: '',
-                                //     con: res.data[i].content
-                                // }
-                                // res.data[i].content = obj
+                                if(this.user.userNameNeedTranslate == 1) {
+                                    let obj = {
+                                        msg1: res.data[i].content,
+                                        msg2: '',
+                                        msg3: ''
+                                    }
+                                    res.data[i].content = obj
+                                }
                             }
                         }
                         this.commentList = res.data
@@ -3549,7 +3553,7 @@ overflow: auto;
     text-align: center;
     float: left;
     margin-right: 20px;
-    margin-top: 10px;
+    /* margin-top: 10px; */
     line-height: 50px;
 }
 .player {

+ 10 - 2
fhKeeper/formulahousekeeper/timesheet/src/views/task/list.vue

@@ -449,9 +449,9 @@
                                         <em>
                                             <!-- {{item.content}} -->
                                             <p style="display: inline-block;padding: 0;margin: 0;" v-if="user.userNameNeedTranslate == 1">
-                                                <span>{{item.content.msg1}}</span>
+                                                {{item.content.msg1}}
                                                 <ww-open-data type='userName' :openid='item.content.msg2'></ww-open-data>
-                                                <span>{{item.content.msg3}}</span>
+                                                {{item.content.msg3}}
                                             </p>
                                             <p style="display: inline-block;padding: 0;margin: 0;" v-if="user.userNameNeedTranslate != 1">{{item.content}}</p>
                                         </em>
@@ -1332,6 +1332,14 @@ import { error } from 'dingtalk-jsapi';
                                 }
                                 res.data[i].content = obj
                             } else {
+                                if(this.user.userNameNeedTranslate == 1) {
+                                    let obj = {
+                                        msg1: res.data[i].content,
+                                        msg2: '',
+                                        msg3: ''
+                                    }
+                                    res.data[i].content = obj
+                                }
                                 // let obj = {
                                 //     name: '',
                                 //     con: res.data[i].content