Quellcode durchsuchen

Merge branch 'master' of http://47.100.37.243:10191/wutt/manHourHousekeeper into master

seyason vor 1 Jahr
Ursprung
Commit
f741710240
12 geänderte Dateien mit 157 neuen und 27 gelöschten Zeilen
  1. 6 0
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/PlanController.java
  2. 19 0
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ReportController.java
  3. 13 1
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/entity/PlanSteelStampNumber.java
  4. 2 0
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/PlanService.java
  5. 2 0
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/ReportService.java
  6. 63 20
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/PlanProcedureTotalServiceImpl.java
  7. 19 0
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/PlanServiceImpl.java
  8. 5 0
      fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java
  9. 5 3
      fhKeeper/formulahousekeeper/management-workshop/src/main/resources/mapper/PlanSteelStampNumberMapper.xml
  10. 19 0
      fhKeeper/formulahousekeeper/timesheet-workshop-h5/src/views/planView/component/planComponent.vue
  11. 3 2
      fhKeeper/formulahousekeeper/timesheet-workshop/src/views/plan/planComponent.vue
  12. 1 1
      fhKeeper/formulahousekeeper/timesheet-workshop/src/views/statistic/index.vue

+ 6 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/PlanController.java

@@ -142,5 +142,11 @@ public class PlanController {
         }
         return httpRespMsg;
     }
+
+    @RequestMapping("/stopPlan")
+    @Transactional
+    public HttpRespMsg stopPlan(Integer id){
+        return planService.stopPlan(id);
+    }
 }
 

+ 19 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/ReportController.java

@@ -1568,5 +1568,24 @@ public class ReportController {
         return reportService.exportDpetStatisticsProgressList(deptId,userId,startDate,endDate);
     }
 
+    /**
+     * 导出报告
+     * date 日期 格式yyyy-mm-dd
+     */
+    @RequestMapping("/exportReport")
+    public HttpRespMsg exportReport(String startDate, String endDate, Integer planId,@RequestParam(defaultValue = "0") Integer stateKey,Integer departmentId) {
+        //startDate和endDate间隔不得超过1年
+        DateTimeFormatter dateTimeFormatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        LocalDate start = LocalDate.parse(startDate, dateTimeFormatter);
+        LocalDate end = LocalDate.parse(endDate, dateTimeFormatter);
+        if (start.until(end, ChronoUnit.DAYS) > 365) {
+            HttpRespMsg httpRespMsg = new HttpRespMsg();
+            httpRespMsg.setError("导出日报时间间隔不得超过1年");
+            return httpRespMsg;
+        }
+
+        return reportService.exportReport(startDate, endDate, planId,stateKey,departmentId, request);
+    }
+
 }
 

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

@@ -13,7 +13,7 @@ import lombok.experimental.Accessors;
  * </p>
  *
  * @author Seyason
- * @since 2023-08-28
+ * @since 2023-11-20
  */
 @Data
 @EqualsAndHashCode(callSuper = false)
@@ -40,6 +40,18 @@ public class PlanSteelStampNumber extends Model<PlanSteelStampNumber> {
     @TableField("steel_stamp_number_end")
     private String steelStampNumberEnd;
 
+    /**
+     * 钢印号规则起始位置
+     */
+    @TableField("rule_index_start")
+    private Integer ruleIndexStart;
+
+    /**
+     * 钢印号规则起始位置
+     */
+    @TableField("rule_index_end")
+    private Integer ruleIndexEnd;
+
 
     @Override
     protected Serializable pkVal() {

+ 2 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/PlanService.java

@@ -48,4 +48,6 @@ public interface PlanService extends IService<Plan> {
     HttpRespMsg cancellationReceiveBatch(String ids);
 
     HttpRespMsg getNowMouthProdProgress();
+
+    HttpRespMsg stopPlan(Integer id);
 }

+ 2 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/ReportService.java

@@ -138,4 +138,6 @@ public interface ReportService extends IService<Report> {
     HttpRespMsg getDpetStatisticsProgressList(String deptId, String userId, String startDate, String endDate, Integer pageIndex, Integer pageSize);
 
     HttpRespMsg exportDpetStatisticsProgressList(String deptId, String userId, String startDate, String endDate);
+
+    HttpRespMsg exportReport(String startDate, String endDate, Integer planId, Integer stateKey, Integer departmentId, HttpServletRequest request);
 }

+ 63 - 20
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/PlanProcedureTotalServiceImpl.java

@@ -6,6 +6,7 @@ import com.management.platform.mapper.*;
 import com.management.platform.service.PlanProcedureTotalService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.management.platform.util.HttpRespMsg;
+import org.apache.logging.log4j.util.Chars;
 import org.springframework.stereotype.Service;
 import org.springframework.util.StringUtils;
 
@@ -106,30 +107,47 @@ public class PlanProcedureTotalServiceImpl extends ServiceImpl<PlanProcedureTota
             if(planSteelStampNumber.getSteelStampNumberEnd().equals(planSteelStampNumber.getSteelStampNumberStart())){
                 list.add(planSteelStampNumber.getSteelStampNumberStart());
             }else {
-                //获取公有部分
-                char[] chars = planSteelStampNumber.getSteelStampNumberStart().toCharArray();
-                char[] chars2 = planSteelStampNumber.getSteelStampNumberEnd().toCharArray();
-                int indexFor=0;
-                for (int i = 0; i < chars.length; i++) {
-                    if(chars[i]!=chars2[i]){
-                        indexFor+=i;
-                        break;
-                    }
-                }
-                String allHasString=planSteelStampNumber.getSteelStampNumberStart().substring(0,indexFor);
-                String start=planSteelStampNumber.getSteelStampNumberStart().substring(indexFor);
-                String end=planSteelStampNumber.getSteelStampNumberEnd().substring(indexFor);
-                //判断是否都是纯数字
-                if(!start.matches("\\d+")||!end.matches("\\d+")){
-                    list.add(planSteelStampNumber.getSteelStampNumberStart());
-                    list.add(planSteelStampNumber.getSteelStampNumberEnd());
-                }else {
+                if(planSteelStampNumber.getRuleIndexStart()!=null&&planSteelStampNumber.getRuleIndexEnd()!=null){
+                    Integer startIndex = Integer.valueOf(planSteelStampNumber.getRuleIndexStart());
+                    Integer endIndex = Integer.valueOf(planSteelStampNumber.getRuleIndexEnd());
+                    int count = endIndex - startIndex;
+                    String start=planSteelStampNumber.getSteelStampNumberStart().substring(startIndex-1,endIndex);
+                    String end=planSteelStampNumber.getSteelStampNumberEnd().substring(startIndex-1,endIndex);
+                    String subOne = planSteelStampNumber.getSteelStampNumberStart().substring(0, startIndex-1);
+                    String subTwo = planSteelStampNumber.getSteelStampNumberStart().substring(endIndex);
+                    //判断是否都是纯数字
                     int index=Integer.valueOf(start);
                     while (Integer.valueOf(end)>index){
-                        list.add(allHasString+String.valueOf(index));
+                        list.add(subOne+String.format("%0"+(count+1)+"d",index)+subTwo);
                         index++;
                     }
-                    list.add(allHasString+end);
+                    list.add(subOne+String.valueOf(index)+subTwo);
+                }else {
+                    //获取公有部分
+                    char[] chars = planSteelStampNumber.getSteelStampNumberStart().toCharArray();
+                    char[] chars2 = planSteelStampNumber.getSteelStampNumberEnd().toCharArray();
+                    int indexFor=0;
+                    for (int i = 0; i < chars.length; i++) {
+                        if(chars[i]!=chars2[i]){
+                            indexFor+=i;
+                            break;
+                        }
+                    }
+                    String allHasString=planSteelStampNumber.getSteelStampNumberStart().substring(0,indexFor);
+                    String start=planSteelStampNumber.getSteelStampNumberStart().substring(indexFor);
+                    String end=planSteelStampNumber.getSteelStampNumberEnd().substring(indexFor);
+                    //判断是否都是纯数字
+                    if(!start.matches("\\d+")||!end.matches("\\d+")){
+                        list.add(planSteelStampNumber.getSteelStampNumberStart());
+                        list.add(planSteelStampNumber.getSteelStampNumberEnd());
+                    }else {
+                        int index=Integer.valueOf(start);
+                        while (Integer.valueOf(end)>index){
+                            list.add(allHasString+String.valueOf(index));
+                            index++;
+                        }
+                        list.add(allHasString+end);
+                    }
                 }
             }
         }
@@ -141,4 +159,29 @@ public class PlanProcedureTotalServiceImpl extends ServiceImpl<PlanProcedureTota
         }
         return msg;
     }
+
+    public static void main(String[] args) {
+        PlanSteelStampNumber planSteelStampNumber=new PlanSteelStampNumber();
+        planSteelStampNumber.setSteelStampNumberStart("LEW00021098-0001");
+        planSteelStampNumber.setSteelStampNumberEnd("LEW00021111-0001");
+        planSteelStampNumber.setRuleIndexStart(9);
+        planSteelStampNumber.setRuleIndexEnd(11);
+        //根据起始位置判断位数
+        List<String> list=new ArrayList<>();
+        Integer startIndex = Integer.valueOf(planSteelStampNumber.getRuleIndexStart());
+        Integer endIndex = Integer.valueOf(planSteelStampNumber.getRuleIndexEnd());
+        int count = endIndex - startIndex;
+        String start=planSteelStampNumber.getSteelStampNumberStart().substring(startIndex-1,endIndex);
+        String end=planSteelStampNumber.getSteelStampNumberEnd().substring(startIndex-1,endIndex);
+        String subOne = planSteelStampNumber.getSteelStampNumberStart().substring(0, startIndex-1);
+        String subTwo = planSteelStampNumber.getSteelStampNumberStart().substring(endIndex);
+        //判断是否都是纯数字
+        int index=Integer.valueOf(start);
+        while (Integer.valueOf(end)>index){
+            list.add(subOne+String.format("%0"+(count+1)+"d",index)+subTwo);
+            index++;
+        }
+        list.add(subOne+String.valueOf(index)+subTwo);
+        System.out.println(list);
+    }
 }

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

@@ -111,6 +111,7 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
         NumberFormat format = NumberFormat.getPercentInstance();
         format.setMinimumFractionDigits(2);
         queryWrapper.eq(Plan::getCompanyId,companyId);
+        queryWrapper.ne(Plan::getStatus,2);
         if(planType!=2){
             queryWrapper.eq(Plan::getPlanType,0);
         }else {
@@ -348,6 +349,8 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
             for (Map map : mapList) {
                 PlanSteelStampNumber p=new PlanSteelStampNumber();
                 p.setPlanId(plan.getId());
+                p.setRuleIndexStart(Integer.valueOf(String.valueOf(map.get("ruleIndexStart"))));
+                p.setRuleIndexEnd(Integer.valueOf(String.valueOf(map.get("ruleIndexEnd"))));
                 if(StringUtils.isEmpty(map.get("steelStampNumberStart"))&&StringUtils.isEmpty(map.get("steelStampNumberEnd"))){
                     continue;
                 }
@@ -1255,4 +1258,20 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
 
         return msg;
     }
+
+    @Override
+    public HttpRespMsg stopPlan(Integer id) {
+        HttpRespMsg httpRespMsg=new HttpRespMsg();
+        Plan plan = getById(id);
+        plan.setStatus(2);
+        List<PlanProcedureTotal> planProcedureTotals = planProcedureTotalService.list(new LambdaQueryWrapper<PlanProcedureTotal>().eq(PlanProcedureTotal::getPlanId, id));
+        List<Integer> ids = planProcedureTotals.stream().map(PlanProcedureTotal::getId).collect(Collectors.toList());
+        ids.add(-1);
+        List<ProdProcedureTeam> list = prodProcedureTeamService.list(new LambdaQueryWrapper<ProdProcedureTeam>().in(ProdProcedureTeam::getPlanProcedureId, ids));
+        prodProcedureTeamService.removeByIds(list.stream().map(ProdProcedureTeam::getId).collect(Collectors.toList()));
+        if(!updateById(plan)){
+            httpRespMsg.setError("验证失败");
+        }
+        return httpRespMsg;
+    }
 }

+ 5 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/impl/ReportServiceImpl.java

@@ -4685,4 +4685,9 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         msg.setData(resp);
         return msg;
     }
+
+    @Override
+    public HttpRespMsg exportReport(String startDate, String endDate, Integer planId, Integer stateKey, Integer departmentId, HttpServletRequest request) {
+        return null;
+    }
 }

+ 5 - 3
fhKeeper/formulahousekeeper/management-workshop/src/main/resources/mapper/PlanSteelStampNumberMapper.xml

@@ -5,13 +5,15 @@
     <!-- 通用查询映射结果 -->
     <resultMap id="BaseResultMap" type="com.management.platform.entity.PlanSteelStampNumber">
         <result column="plan_id" property="planId" />
-        <result column="steelStampNumberStart" property="steelStampNumberStart" />
-        <result column="steelStampNumberEnd" property="steelStampNumberEnd" />
+        <result column="steel_stamp_number_start" property="steelStampNumberStart" />
+        <result column="steel_stamp_number_end" property="steelStampNumberEnd" />
+        <result column="rule_index_start" property="ruleIndexStart" />
+        <result column="rule_index_end" property="ruleIndexEnd" />
     </resultMap>
 
     <!-- 通用查询结果列 -->
     <sql id="Base_Column_List">
-        plan_id, steelStampNumberStart, steelStampNumberEnd
+        plan_id, steel_stamp_number_start, steel_stamp_number_end, rule_index_start, rule_index_end
     </sql>
 
 </mapper>

+ 19 - 0
fhKeeper/formulahousekeeper/timesheet-workshop-h5/src/views/planView/component/planComponent.vue

@@ -44,6 +44,9 @@
                   <span class="text" @click="hidePlan(item.id,item.hideState)">
                     {{ jisuanDate(item.startDate)>30 ? '隐藏' : ''}}
                   </span>
+                  <span class="text" @click="stopPlan(item.id,item.hideState)">
+                    {{ item.progress==null||item.progress==0 ? '中止计划' : ''}}
+                  </span>
                   <van-button type="info" size="small" @click="toDistribution(item)">派工单</van-button>
                 </div>
               </div>
@@ -138,6 +141,22 @@ export default {
             this.$toast.fail(res.msg);
           }
         }).catch(err => { this.$toast.clear(); })
+    },
+    stopPlan(id,state){
+      this.$axios.post(
+          "/plan/stopPlan",
+            {
+              id:id,
+            },
+        ).then(res => {
+          if (res.code == "ok") {
+             this.$toast.success('中止成功');
+             this.$emit('planClick','')
+          } else {
+            this.$toast.clear();
+            this.$toast.fail(res.msg);
+          }
+        }).catch(err => { this.$toast.clear(); })
     }
   },
 };

+ 3 - 2
fhKeeper/formulahousekeeper/timesheet-workshop/src/views/plan/planComponent.vue

@@ -95,7 +95,7 @@
     </div>
 
     <!-- 新增今日计划 -->
-    <el-dialog :title="titleName" :visible.sync="editPlanDiaLog" width="800px" top="190px" :before-close="handleClose">
+    <el-dialog :title="titleName" :visible.sync="editPlanDiaLog" width="800px" top="7.5vh" :before-close="handleClose">
       <div class="planDialog">
         <el-form ref="todayPlanForm" :rules="todayPlanFormrules" :model="todayPlanForm" label-width="120px">
           <el-form-item label="排产工单号" style="width: 100%" prop="productSchedulingNum">
@@ -1100,7 +1100,8 @@ export default {
 
   // 新增样式
   .planDialog {
-    max-height: 42vh;
+    // max-height: 42vh;
+    max-height: 62vh;
     overflow-y: auto;
     scrollbar-width: none;
     /* Firefox */

+ 1 - 1
fhKeeper/formulahousekeeper/timesheet-workshop/src/views/statistic/index.vue

@@ -1405,7 +1405,7 @@ export default {
 }
 // 新增样式
 .planDialog {
-    max-height: 42vh;
+    max-height: 62vh;
     overflow-y: auto;
     scrollbar-width: none;
     /* Firefox */