Bladeren bron

填写日报时钢印号不能选到已经被填报过的

seyason 1 jaar geleden
bovenliggende
commit
cf31e9c120

+ 2 - 2
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/PlanProcedureTotalController.java

@@ -31,8 +31,8 @@ public class PlanProcedureTotalController {
     }
 
     @RequestMapping("/getFillProcedureDetail")
-    public HttpRespMsg getFillProcedureDetail(Integer id){
-        return planProcedureTotalService.getFillProcedureDetail(id);
+    public HttpRespMsg getFillProcedureDetail(Integer id, String createDate){
+        return planProcedureTotalService.getFillProcedureDetail(id, createDate);
     }
 }
 

+ 1 - 1
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/PlanProcedureTotalService.java

@@ -16,5 +16,5 @@ public interface PlanProcedureTotalService extends IService<PlanProcedureTotal>
 
     HttpRespMsg getReportForWorkList(String vehicleNum);
 
-    HttpRespMsg getFillProcedureDetail(Integer id);
+    HttpRespMsg getFillProcedureDetail(Integer id, String createDate);
 }

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

@@ -6,14 +6,16 @@ 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;
 
 import javax.annotation.Resource;
 import javax.servlet.http.HttpServletRequest;
+import java.time.LocalDate;
+import java.time.format.DateTimeFormatter;
 import java.util.*;
 import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 /**
  * <p>
@@ -42,6 +44,8 @@ public class PlanProcedureTotalServiceImpl extends ServiceImpl<PlanProcedureTota
     private ProdProcedureTeamMapper prodProcedureTeamMapper;
     @Resource
     private PlanSteelStampNumberMapper planSteelStampNumberMapper;
+    @Resource
+    private ReportMapper reportMapper;
 
     @Override
     public HttpRespMsg getReportForWorkList(String vehicleNum) {
@@ -98,8 +102,11 @@ public class PlanProcedureTotalServiceImpl extends ServiceImpl<PlanProcedureTota
     }
 
     @Override
-    public HttpRespMsg getFillProcedureDetail(Integer id) {
+    public HttpRespMsg getFillProcedureDetail(Integer id, String createDate) {
+        DateTimeFormatter dtf = DateTimeFormatter.ofPattern("yyyy-MM-dd");
+        if (createDate == null) createDate = LocalDate.now().format(dtf);
         HttpRespMsg msg = new HttpRespMsg();
+        String token = request.getHeader("TOKEN");
         HashMap prodProcedureTeam = prodProcedureTeamMapper.getFillProcedureDetail(id);
         Integer planId = Integer.valueOf(String.valueOf(prodProcedureTeam.get("plan_id")));
         List<PlanSteelStampNumber> planSteelStampNumberList = planSteelStampNumberMapper.selectList(new QueryWrapper<PlanSteelStampNumber>().eq("plan_id", planId));
@@ -152,10 +159,28 @@ public class PlanProcedureTotalServiceImpl extends ServiceImpl<PlanProcedureTota
                 }
             }
         }
-        prodProcedureTeam.put("planSteelStampNumberList",list.stream().distinct().sorted());
+
         if (prodProcedureTeam == null) {
             msg.setError("找不到该数据");
         } else {
+            Stream<String> sorted = list.stream().distinct().sorted();
+            List<String> collect = sorted.collect(Collectors.toList());
+            //如果钢印号有其他人已经填过了,就不显示
+            List<Report> reportList = reportMapper.selectList(new QueryWrapper<Report>().select("id", "steel_num_array").eq("plan_id", planId));
+            List<String> filledSteelNumList=new ArrayList<>();
+
+            for (Report report : reportList) {
+                //自己当天填的不算
+                if(dtf.format(report.getCreateDate()).equals(createDate)&&report.getCreatorId().equals(token)){
+                    continue;
+                }
+                if(!StringUtils.isEmpty(report.getSteelNumArray())){
+                    String[] split = report.getSteelNumArray().split(",");
+                    filledSteelNumList.addAll(Arrays.asList(split));
+                }
+            }
+            List<String> collect1 = collect.stream().filter(item -> !filledSteelNumList.contains(item)).collect(Collectors.toList());
+            prodProcedureTeam.put("planSteelStampNumberList",collect1);
             msg.setData(prodProcedureTeam);
         }
         return msg;

+ 109 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/resources/application-devlew.yml

@@ -0,0 +1,109 @@
+server:
+  port: 10090
+  tomcat:
+    uri-encoding: utf-8
+    max-http-form-post-size: -1
+    connection-timeout: 18000000s
+spring:
+  servlet:
+    multipart:
+      # 配置上传文件的大小设置
+      # Single file max size  即单个文件大小
+      max-file-size: 100MB
+      max-request-size: 100MB
+  datasource:
+    driver-class-name: com.mysql.cj.jdbc.Driver
+    url: jdbc:mysql://47.101.180.183:17089/man_workshop_lew?useUnicode=true&characterEncoding=utf8&serverTimezone=GMT%2B8&rewriteBatchedStatements=true&useSSL=false
+    username: root
+    password: P011430@Huoshi*
+    hikari:
+      maximum-pool-size: 10
+      minimum-idle: 3
+      max-lifetime: 30000
+      connection-test-query: SELECT 1
+    #######redis配置######
+    # redis
+    redis:
+      host: 127.0.0.1
+      port: 6479
+      timeout: 3
+      # password:
+      pool:
+        minIdle: 1
+        maxIdle: 10
+        maxWait: 3
+        maxActive: 8
+    ####全局配置时间返回格式#####
+  jackson:
+    #参数意义:
+    #JsonInclude.Include.ALWAYS       默认
+    #JsonInclude.Include.NON_DEFAULT   属性为默认值不序列化
+    #JsonInclude.Include.NON_EMPTY     属性为 空(””) 或者为 NULL 都不序列化
+    #JsonInclude.Include.NON_NULL      属性为NULL  不序列化
+    default-property-inclusion: ALWAYS
+    time-zone: GMT+8
+    date-format: yyyy-MM-dd HH:mm:ss
+
+##########日志配置
+logging:
+  level:
+    root: info
+    org.mybatis: error
+    java.sql: error
+    org.springframework.web: error
+    #打印sql语句
+    com.management.platform.mapper: error
+  path: /log/
+  file: workshop.log
+##########
+mybatis-plus:
+  #  mapper-locations: classpath:mapper/*/*.xml
+  #  #实体扫描,多个package用逗号或者分号分隔
+  #  typeAliasesPackage: com.hssx.cloudmodel
+  global-config:
+    #主键类型  0:"数据库ID自增", 1:"用户输入ID",2:"全局唯一ID (数字类型唯一ID)", 3:"全局唯一ID UUID";
+    id-type: 0
+    #字段策略 0:"忽略判断",1:"非 NULL 判断"),2:"非空判断"
+    field-strategy: 2
+    db-column-underline: true
+    refresh-mapper:
+    #################插入和更新非null判断
+    db-config:
+      insert-strategy: not_null
+      update-strategy: not_null
+  configuration:
+    map-underscore-to-camel-case: true
+    cache-enabled: false
+######mybstis配置#######
+mybatis:
+  type-aliases-package: com.management.platform.entity
+  mapper-locations: mappers/*Mapper.xml
+#####配置图片上传路径####
+upload:
+  path: /www/staticproject/leworkshop/upload/
+
+
+##actuator健康检查配置
+management:
+  security:
+    enabled:false:
+  server:
+    port: 10091
+  #  endpoints:
+  #    web:
+  #      exposure:
+  #        include: "*"
+
+  health:
+    redis:
+      enabled: false
+
+configEnv:
+  isDev: false
+  # 是否是私有化部署,企业内部应用
+  isPrivateDeploy: true
+
+privateDeployURL:
+  pcUrl: http://devworkshop.ttkuaiban.com
+  mobUrl: http://mobdevworkshop.ttkuaiban.com
+  authUrl: http://devworkshop.ttkuaiban.com/api/corpInsideWXAuth

+ 6 - 3
fhKeeper/formulahousekeeper/timesheet-workshop/src/views/workReport/daily.vue

@@ -63,11 +63,11 @@
                                         </span>
                                         <span v-if="data.isUser == 1 && !data.workingTime && (data.leaveDays || data.leaveTimes)" :style="(data.leaveDays < 1 || data.leaveTimes < user.timeType.allday) ? 'color:red;font-size:13px' : 'color:#32cd32;font-size:13px'">
                                         <!-- {{data.leaveDays ? (data.leaveDays >= 1 ? '当日请假' : '未填报(请假' + data.leaveDays + '天)') : (data.leaveTimes >= user.timeType.allday ? '当日请假' : '未填报(请假' + data.leaveTimes + 'h)')}} -->
-                                        {{data.leaveDays ? (data.leaveDays >= 1 ? $t('other.AskForLeaveOnTheSameDay') : $t('state.DidNotFillIn') + '('+$t('other.AskForLeave') + data.leaveDays + $t('time.day')+')') : (data.leaveTimes >= user.timeType.allday ? $t('other.AskForLeaveOnTheSameDay') : $t('state.DidNotFillIn') + '('+$t('other.AskForLeave') + data.leaveTimes + 'h)')}}
+                                        {{data.leaveDays ? (data.leaveDays >= 1 ? $t('other.AskForLeaveOnTheSameDay') : $t('state.DidNotFillIn') + '('+$t('other.AskForLeave') + data.leaveDays + $t('time.day')+')') : (data.leaveTimes >= user.timeType.allday ? $t('other.AskForLeaveOnTheSameDay') : $t('state.DidNotFillIn') + '('+$t('other.AskForLeave') + data.leaveTimes + '分钟)')}}
                                         </span>
                                         <span v-if="data.isUser == 1 && data.workingTime" style="color:#32cd32;font-size:13px">
                                         <!-- 待审核 -->
-                                        ({{data.workingTime.toFixed(1) + 'h'}})
+                                        ({{data.workingTime.toFixed(1) + '分钟'}})
                                         </span>
                                     </div>
                                 </span>
@@ -164,7 +164,10 @@
                                                     <p v-if="item2.planType == 0">工序名称:<b>{{item2.procedureName}}</b></p>
                                                     <p v-if="item2.planType == 1">任务名称:<b>{{item2.taskName}}</b></p>
                                                     <p v-if="item2.planType == 1">任务类型:<b>{{item2.taskTypeName}}</b></p>                                                    
-                                                    <p>今日报工件数:<b>{{ item2.finishNum }}</b></p>
+                                                    <p>当日报工件数:<b>{{ item2.finishNum }}</b>
+                                                        <b v-if="item2.status==1" style="margin-left:20px;color:#20a0ff;">进行中</b>
+                                                        <b v-if="item2.status==2" style="margin-left:20px;color:#00ff00;">已完成</b>
+                                                        <b v-if="item2.status==3" style="margin-left:20px;color:#ff0000;">已中止</b></p>
                                                     <p>质检类型:<b>{{checkTypeTxt[item2.checkType]}}</b></p>
                                                     <p>质检人:<b>{{item2.checkerName}}</b></p>
                                                 </el-card>