Ver código fonte

修复报工问题:1.支持件数为0的报工;2. 支持填报到指定日期进行报工

seyason 1 ano atrás
pai
commit
ce54dbb16a

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

@@ -191,6 +191,7 @@ public class PlanProcedureTotalServiceImpl extends ServiceImpl<PlanProcedureTota
             List<String> filledSteelNumList=new ArrayList<>();
 
             for (Report report : reportList) {
+                System.out.println("report.getCreateDate() = " + report.getCreateDate()+", "+report.getSteelNumArray());
                 //自己当天填的不算
                 if(dtf.format(report.getCreateDate()).equals(createDate)&&report.getCreatorId().equals(token)){
                     continue;

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

@@ -139,16 +139,19 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         User user = userMapper.selectById(token);
         Integer companyId = user.getCompanyId();
         report.setCreatorId(token);
-        LocalDate today = LocalDate.now();
-        LocalDate targetDate = null;
-        if (report.getId() == null) {
-            report.setCreateDate(today);
-            targetDate = today;
-        } else {
-            Report report1 = reportMapper.selectById(report.getId());
-            targetDate = report1.getCreateDate();
-            report.setCreateDate(report1.getCreateDate());
+        if (report.getFinishNum() == null) {
+            report.setFinishNum(0.0);
         }
+//        LocalDate today = LocalDate.now();
+        LocalDate targetDate = report.getCreateDate();
+//        if (report.getId() == null) {
+//            report.setCreateDate(today);
+//            targetDate = today;
+//        } else {
+//            Report report1 = reportMapper.selectById(report.getId());
+//            targetDate = report1.getCreateDate();
+//            report.setCreateDate(report1.getCreateDate());
+//        }
         report.setCompanyId(companyId);
 
         Plan plan = planMapper.selectById(report.getPlanId());
@@ -259,7 +262,7 @@ public class ReportServiceImpl extends ServiceImpl<ReportMapper, Report> impleme
         List<PlanProcedureTotal> planProcedureTotalList = planProcedureTotalMapper.selectList(new QueryWrapper<PlanProcedureTotal>().eq("plan_id", planProcedureTotal.getPlanId()));
         boolean isAllFinish = true;
         for (PlanProcedureTotal p : planProcedureTotalList) {
-            if (p.getTotalProgress() < 100) {
+            if (p.getTotalProgress() == null || p.getTotalProgress() < 100) {
                 isAllFinish = false;
                 break;
             }

+ 40 - 12
fhKeeper/formulahousekeeper/timesheet-workshop-h5/src/views/workView/fillReport.vue

@@ -1,11 +1,17 @@
 <template>
   <div class="distribution">
     <van-nav-bar title="报工" left-text="返回" @click-left="back" fixed left-arrow />
-    <div class="distribution_header">
+    <van-cell title="报工日期" :value="reportDate" @click="reportDateShow = true" is-link>
+    </van-cell>
+    <van-cell title="产品名称" :value="reportForm.product_name"></van-cell>
+    <van-cell :title="reportForm.plan_type == 0?'排产工单号':'任务变更通知号'" :value="reportForm.plan_type == 0 ? reportForm.product_scheduling_num : reportForm.task_change_notice_num"></van-cell>
+    <van-cell title="计划工期" :value="reportForm.start_date+'至'+(reportForm.end_date==null?' ':reportForm.end_date)"></van-cell>
+    <!-- <div class="distribution_header">
+      
       <div>{{ reportForm.product_name }}<span style="float:right;color:#20a0ff;">{{reportDate  }}</span> </div>
       <div>{{ reportForm.plan_type == 0 ? reportForm.product_scheduling_num : reportForm.task_change_notice_num }}</div>
       <div>{{ reportForm.start_date }}至{{ reportForm.end_date }}</div>
-    </div>
+    </div> -->
     <div class="distribution_con">
       <van-form @submit="onSubmit">
         <van-cell-group inset>
@@ -48,8 +54,7 @@
           </van-cell>
         </van-cell-group>
         <div style="margin: 16px;">
-          <van-button round block type="primary" native-type="submit" :loading="saving"
-            :disabled="reportForm.finishNum == 0">
+          <van-button round block type="primary" native-type="submit" :loading="saving">
             提交
           </van-button>
           <p v-if="reportForm.canBeDeleted" @click="deleteReport" style="margin:16px;text-align:center;color:#666;">删除</p>
@@ -68,6 +73,8 @@
         </template>
       </van-picker>
     </van-popup>
+    <!-- 日期 -->
+    <van-calendar v-model="reportDateShow" :min-date="minDate" @confirm="reportDateOnConfirm" />
   </div>
 </template>
 
@@ -78,6 +85,8 @@ export default {
   },
   data() {
     return {
+      minDate: new Date(2023, 0, 1),
+      reportDateShow: false,
       reportId: null,
       reportDate: null,
       checkerOptionList: [],
@@ -97,10 +106,27 @@ export default {
   created() { },
   mounted() {
     this.reportDate = this.$route.query.date;
-    this.reportId = this.$route.query.ohterId;
+    if (this.reportDate == null) {
+      //初始化为当天
+      this.reportDate = this.formatDate(new Date());
+    }
+    this.reportId = this.$route.query.otherId;
+
     this.getMyPlanProcedureList();
   },
   methods: {
+    formatDate(date) {
+      // 中国标准时间转成 YYYY-MM-DD
+      const year = date.getFullYear();
+      const month = date.getMonth() + 1;
+      const day = date.getDate();
+      return `${year}-${month < 10 ? '0' + month : month}-${day < 10 ? '0' + day : day}`;
+    },
+    reportDateOnConfirm(date) {
+      this.reportDateShow = false;
+      this.reportDate = this.formatDate(date);
+      this.getMyPlanProcedureList();
+    },
     deleteReport() {
       this.$dialog.confirm({
           title: '删除报工',
@@ -160,11 +186,12 @@ export default {
         isTerminated: this.reportForm.isTerminated,
         steelNumArray: JSON.stringify(this.reportForm.checkedSteelNum),
         finishNum: this.reportForm.finishNum,
-        isFinish: this.reportForm.isFinish
+        isFinish: this.reportForm.isFinish,
+        createDate: this.reportDate
       };
-      const { id, reportBoolean, ohterId } = this.$route.query;
-      if(reportBoolean == 'true') {
-        postData.id = ohterId;
+      const { id, reportBoolean, otherId } = this.$route.query;
+      if(this.reportId) {
+        postData.id = this.reportId;
       }
       if (this.reportForm.isFinish) {
         if (this.reportForm.check_type != 0) {
@@ -197,9 +224,6 @@ export default {
         id: id,
         inputSteelNum:this.inputSteelNum
       }
-      if(reportBoolean == 'true') {
-        params.createDate = date
-      }
       if (this.reportDate) {
         params.createDate = this.reportDate;
       }
@@ -208,6 +232,10 @@ export default {
         .then(res => {
           if (res.code == "ok") {
             this.reportForm = res.data;
+            if (this.reportForm.oldReport != null) {
+              //日报已存在,赋予id
+              this.reportId = this.reportForm.oldReport.id;
+            }
             this.oldPlanSteelStampNumberList=this.reportForm.planSteelStampNumberList
             //当日选中的钢印号,默认勾选上
             this.reportForm.checkedSteelNum = this.reportForm.steelNumArray==null?[]:this.reportForm.steelNumArray;

+ 1 - 1
fhKeeper/formulahousekeeper/timesheet-workshop-h5/src/views/workView/workView.vue

@@ -286,7 +286,7 @@ export default {
         query: {
           id: this.reportBoolean ? item.userProcedureTeamId : item.id,
           reportBoolean: this.reportBoolean,
-          ohterId: item.id,
+          otherId: item.id,
           date: item.createDate,
         }
       })