Min 1 year ago
parent
commit
7c4ce95707

+ 13 - 1
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/entity/Plan.java

@@ -22,7 +22,7 @@ import org.springframework.format.annotation.DateTimeFormat;
  * </p>
  *
  * @author Seyason
- * @since 2023-07-31
+ * @since 2023-08-01
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -134,6 +134,18 @@ public class Plan extends Model<Plan> {
     @TableField("end_date")
     private LocalDate endDate;
 
+    /**
+     * 计划总工价
+     */
+    @TableField("plan_total_wages")
+    private BigDecimal planTotalWages;
+
+    /**
+     * 进度
+     */
+    @TableField("progress")
+    private String progress;
+
     /**
      * 任务名称
      */

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

@@ -115,7 +115,7 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
         }
         /*作为工长看到的数据*/
         if(count(new QueryWrapper<Plan>().eq("foreman_id",user.getId()))>0){
-            queryWrapper.and(wrapper->wrapper.eq("foreman_id",user.getId()).or().eq("create_id",user.getId()));
+            queryWrapper.and(wrapper->wrapper.and(wr->wr.eq("foreman_id",user.getId()).eq("status",1)).or().eq("create_id",user.getId()));
         }else {
             /*作为组员可以查看的数据*/
             List<ProdProcedureTeam> prodProcedureTeams = prodProcedureTeamService.list(new QueryWrapper<ProdProcedureTeam>().eq("company_id", companyId).eq("user_id", user.getId()));
@@ -209,6 +209,9 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
                     return msg;
                 }
             }
+            if(!StringUtils.isEmpty(plan.getSteelStampNumberStart())&&!StringUtils.isEmpty(plan.getSteelStampNumberEnd()!=null)){
+                QueryWrapper<Plan> cutQueryWrapper=new QueryWrapper();
+            }
             switch (plan.getPlanType()){
                 case 0:
                     plan.setStartDate(LocalDate.now());
@@ -281,6 +284,12 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
             }
         }
         planProcedureTotalService.saveBatch(planProcedureTotals);
+        List<PlanProcedureTotal> totals = planProcedureTotals.stream().filter(ps -> ps.getPlanId().equals(plan.getId())).collect(Collectors.toList());
+        if(totals.size()>0){
+            double sum = totals.stream().filter(t->t.getTotalWages()!=null).mapToDouble(PlanProcedureTotal::getTotalWages).sum();
+            plan.setPlanTotalWages(new BigDecimal(sum));
+        }
+        planMapper.updateById(plan);
         return msg;
     }
 
@@ -824,6 +833,10 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
     @Override
     public HttpRespMsg deptSet(String deptIds) {
         HttpRespMsg msg=new HttpRespMsg();
+        if(StringUtils.isEmpty(deptIds)){
+            msg.setError("请选择部门");
+            return msg;
+        }
         List<String> deptIdList = Arrays.asList(deptIds.split(","));
         Integer companyId = userMapper.selectById(request.getHeader("token")).getCompanyId();
         //已经保存了的部门设置 删除之前 部门下不存在计划数据的部门

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

@@ -260,9 +260,9 @@ public class WxCorpInfoServiceImpl extends ServiceImpl<WxCorpInfoMapper, WxCorpI
             String title = "";
             String jumpUrl ;
             if(isPrivateDeploy){
-                jumpUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri="+pcUrl+"&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
+                jumpUrl = "https://open.weixin.qq.com/connect/oauth2/authorize?appid="+corpInfo.getCorpid()+"&redirect_uri="+pcUrl+"&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
             }else {
-                jumpUrl="https://open.weixin.qq.com/connect/oauth2/authorize?appid=ww4e237fd6abb635af&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
+                jumpUrl="https://open.weixin.qq.com/connect/oauth2/authorize?"+corpInfo.getCorpid()+"&redirect_uri=http://worktime.ttkuaiban.com/api/corpWXAuth&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect";
             }
             jumpUrl = jumpUrl.replace("STATE", pageRouter);
             if ("plan/today".equals(pageRouter)) {

+ 3 - 1
fhKeeper/formulahousekeeper/management-workshop/src/main/resources/mapper/PlanMapper.xml

@@ -21,6 +21,8 @@
         <result column="plan_type" property="planType" />
         <result column="start_date" property="startDate" />
         <result column="end_date" property="endDate" />
+        <result column="plan_total_wages" property="planTotalWages" />
+        <result column="progress" property="progress" />
         <result column="task_name" property="taskName" />
         <result column="task_type_id" property="taskTypeId" />
         <result column="task_type_name" property="taskTypeName" />
@@ -38,7 +40,7 @@
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        id, product_scheduling_num, product_id, product_name, project_code, company_id, steel_stamp_number_start, steel_stamp_number_end, num, main_process, station_id, station_name, foreman_id, foreman_name, plan_type, start_date, end_date, task_name, task_type_id, task_type_name, check_type, task_change_notice_num, plan_man_num, plan_work_hour, money_of_job, describtion, version_number, create_time, create_id, status
+        id, product_scheduling_num, product_id, product_name, project_code, company_id, steel_stamp_number_start, steel_stamp_number_end, num, main_process, station_id, station_name, foreman_id, foreman_name, plan_type, start_date, end_date, plan_total_wages, progress, task_name, task_type_id, task_type_name, check_type, task_change_notice_num, plan_man_num, plan_work_hour, money_of_job, describtion, version_number, create_time, create_id, status
     </sql>
 
 </mapper>

+ 13 - 8
fhKeeper/formulahousekeeper/timesheet-workshop/src/views/plan/planComponent.vue

@@ -88,7 +88,7 @@
       <div class="planDialog">
         <el-form ref="todayPlanForm" :rules="todayPlanFormrules" :model="todayPlanForm" label-width="120px">
           <el-form-item label="排产工单号" style="width: 100%" prop="productSchedulingNum">
-            <el-input v-model="todayPlanForm.productSchedulingNum"></el-input>
+            <el-input v-model="todayPlanForm.productSchedulingNum" maxlength="50"></el-input>
           </el-form-item>
           <el-form-item label="产品名称" style="width: 100%" prop="productId">
             <el-select v-model="todayPlanForm.productId" placeholder="请选择" class="w100">
@@ -97,18 +97,21 @@
             </el-select>
           </el-form-item>
           <el-form-item label="项目代码" style="width: 100%" prop="projectCode">
-            <el-input v-model="todayPlanForm.projectCode"></el-input>
+            <el-input v-model="todayPlanForm.projectCode"  maxlength="50"></el-input>
           </el-form-item>
           <el-form-item label="钢印号" style="width: 100%" prop="steelStampNumberStart">
-            <el-input class="w45" v-model="todayPlanForm.steelStampNumberStart"></el-input>
+            <el-input class="w45" v-model="todayPlanForm.steelStampNumberStart" maxlength="20"></el-input>
             {{ "-" }}
-            <el-input class="w45" v-model="todayPlanForm.steelStampNumberEnd"></el-input>
+            <el-input class="w45" v-model="todayPlanForm.steelStampNumberEnd" maxlength="20"></el-input>
+          </el-form-item>
+          <el-form-item label="进度" style="width: 100%" prop="progress">
+            <el-input v-model="todayPlanForm.progress" maxlength="20"></el-input>
           </el-form-item>
           <el-form-item label="数量" prop="num">
-            <el-input v-model="todayPlanForm.num"></el-input>
+            <el-input v-model="todayPlanForm.num" maxlength="10"></el-input>
           </el-form-item>
           <el-form-item label="主工序" prop="mainProcess">
-            <el-input v-model="todayPlanForm.mainProcess"></el-input>
+            <el-input v-model="todayPlanForm.mainProcess" maxlength="50"></el-input>
           </el-form-item>
           <el-form-item label="工位" prop="stationId">
             <!-- <el-select v-model="todayPlanForm.stationId" placeholder="请选择" class="w100" @change="getIncharger()">
@@ -125,7 +128,7 @@
             </el-cascader>
           </el-form-item>
           <el-form-item label="工长" prop="foremanName">
-            <el-input v-model="todayPlanForm.foremanName"></el-input>
+            <el-input v-model="todayPlanForm.foremanName" disabled></el-input>
           </el-form-item>
           <el-form-item label="开工时间" prop="startDate">
             <el-date-picker class="w100" v-model="todayPlanForm.startDate" type="date" placeholder="选择日期"
@@ -138,7 +141,7 @@
             </el-date-picker>
           </el-form-item>
           <el-form-item label="描述" style="width: 100%">
-            <el-input type="textarea" :rows="6" placeholder="请输入描述" v-model="todayPlanForm.describtion">
+            <el-input type="textarea" :rows="6" placeholder="请输入描述" v-model="todayPlanForm.describtion" maxlength="200">
             </el-input>
           </el-form-item>
         </el-form>
@@ -210,6 +213,7 @@ export default {
         steelStampNumberEnd: "",
         num: "",
         mainProcess: "",
+        progress:"",
         stationId: "",
         foremanId: "",
         foremanName: "",
@@ -484,6 +488,7 @@ export default {
                   type: "success",
                 });
                 this.editPlanDiaLog = false;
+                this.todayPlanForm=[];
                  this.getTableData(this.hasChooseDept);
               } else {
                 this.$message({