Min 1 年之前
父节点
当前提交
67090922f9

+ 6 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/entity/PlanProcedureTotal.java

@@ -57,6 +57,12 @@ public class PlanProcedureTotal extends Model<PlanProcedureTotal> {
     @TableField(exist = false)
     private String teamIds;
 
+    @TableField(exist = false)
+    private String teamNames;
+
+    @TableField(exist = false)
+    private Integer totalProgress;
+
     @Override
     protected Serializable pkVal() {
         return this.id;

+ 14 - 2
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/PlanServiceImpl.java

@@ -703,8 +703,8 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
                 StringBuilder stringBuilder=new StringBuilder();
                 stringBuilder.append("工序  ");
                 stringBuilder.append("工序名称:"+prodProcedure.getName()+"\n"
-                        +"产品名称:"+product.getName()+"\n"
-                        +"排产工单号:"+plan.getProductSchedulingNum());
+                        +"    产品名称:"+product.getName()+"\n"
+                        +"    排产工单号:"+plan.getProductSchedulingNum());
                 wxCorpInfoService.sendWXCorpMsg(wxCorpInfo,userIds,stringBuilder.toString(),"todayPlan",null);
             }
         }
@@ -718,6 +718,7 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
     public HttpRespMsg planDetail(Integer id, Integer type) {
         HttpRespMsg msg=new HttpRespMsg();
         Plan plan = planMapper.selectOne(new QueryWrapper<Plan>().eq("id", id));
+        Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
         if(plan!=null){
             switch (type){
                 case 0:
@@ -726,6 +727,7 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
                     List<Integer> ids = procedureTotals.stream().map(PlanProcedureTotal::getId).collect(Collectors.toList());
                     ids.add(-1);
                     List<ProdProcedureTeam> procedureTeams = prodProcedureTeamService.list(new QueryWrapper<ProdProcedureTeam>().in("plan_procedure_id", ids));
+                    List<User> userList = userMapper.selectList(new QueryWrapper<User>().eq("company_id", companyId));
                     procedureTotals.forEach(ps->{
                         Optional<ProdProcedure> first = prodProcedureList.stream().filter(pl -> pl.getId().equals(ps.getProdProcedureId())).findFirst();
                         if(first.isPresent()){
@@ -733,6 +735,16 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
                         }
                         if(procedureTeams.size()>0){
                             ps.setTeamIds(procedureTeams.stream().filter(pt->pt.getPlanProcedureId().equals(ps.getId())).map(ProdProcedureTeam::getUserId).distinct().collect(Collectors.joining(",")));
+                            if(!StringUtils.isEmpty(ps.getTeamIds())){
+                                String userNames = userList.stream().filter(ul -> Arrays.asList(ps.getTeamIds().split(",")).contains(ul.getId())).collect(Collectors.toList())
+                                        .stream().map(User::getName).collect(Collectors.joining(","));
+                                ps.setTeamNames(userNames);
+                            }
+                            int sum = procedureTeams.stream().filter(pt -> pt.getPlanProcedureId().equals(ps.getId())).mapToInt(ProdProcedureTeam::getProgress).sum();
+                            /*所有进度之和*/
+                            BigDecimal bigDecimal=new BigDecimal(sum);
+                            bigDecimal=bigDecimal.divide(new BigDecimal(ps.getTeamIds().split(",").length));
+                            ps.setTotalProgress(bigDecimal.intValue());
                         }
                     });
                     msg.setData(procedureTotals);

+ 3 - 3
fhKeeper/formulahousekeeper/timesheet-workshop-h5/src/views/planView/todayPlan/distribution.vue

@@ -14,8 +14,8 @@
           </div>
           <div class="PlanItem" v-show="todayAndTomorrow">
             <div>组员:</div>
-            <span class="textBeyondHiding" v-if="item.personnel" @click="distributionProp(item,index)">{{ item.personnel }} <van-icon name="edit" color="#1989fa" /> </span>
-            <span style="color: #1989fa;" v-if="!item.personnel" @click="distributionProp(item,index)">分配</span>
+            <span class="textBeyondHiding" v-if="item.teamNames" @click="distributionProp(item,index)">{{ item.teamNames }} <van-icon name="edit" color="#1989fa" /> </span>
+            <span style="color: #1989fa;" v-if="!item.teamNames" @click="distributionProp(item,index)">分配</span>
           </div>
           <div class="PlanItem">
             <div>单件工价:</div><span class="textBeyondHiding">{{ item.prodProcedure.workingTime }}</span>
@@ -30,7 +30,7 @@
             <div>总工时:</div><span class="textBeyondHiding">{{ item.totalWorkingHours }}</span>
           </div>
           <div class="PlanItem" v-if="todayAndTomorrow">
-            <div>进度:</div><span class="textBeyondHiding">'V'</span>
+            <div>进度:</div><span class="textBeyondHiding">{{item.totalProgress}}%</span>
           </div>
           <div class="PlanItem">
             <div>质检类型:</div><span class="textBeyondHiding">