Min 1 рік тому
батько
коміт
c7e9ed307b

+ 21 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/controller/PlanMaterialController.java

@@ -0,0 +1,21 @@
+package com.management.platform.controller;
+
+
+import org.springframework.web.bind.annotation.RequestMapping;
+
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * <p>
+ *  前端控制器
+ * </p>
+ *
+ * @author Seyason
+ * @since 2023-07-25
+ */
+@RestController
+@RequestMapping("/plan-material")
+public class PlanMaterialController {
+
+}
+

+ 65 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/entity/PlanMaterial.java

@@ -0,0 +1,65 @@
+package com.management.platform.entity;
+
+import com.baomidou.mybatisplus.extension.activerecord.Model;
+import com.baomidou.mybatisplus.annotation.TableId;
+import com.baomidou.mybatisplus.annotation.TableField;
+import java.io.Serializable;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+import lombok.experimental.Accessors;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author Seyason
+ * @since 2023-07-25
+ */
+@Data
+@EqualsAndHashCode(callSuper = false)
+@Accessors(chain = true)
+public class PlanMaterial extends Model<PlanMaterial> {
+
+    private static final long serialVersionUID=1L;
+
+    @TableId("plan_id")
+    private Integer planId;
+
+    @TableField("prod_material_id")
+    private Integer prodMaterialId;
+
+    /**
+     * 是否清点(0:待清点,1:已清点)
+     */
+    @TableField("is_checked")
+    private Boolean isChecked;
+
+    /**
+     * 数量(个/产品):产品数量*产品物料单中数量
+     */
+    @TableField("number_product")
+    private Integer numberProduct;
+
+    /**
+     * 数量(个/辆):产品数量*产品物料单中数量
+     */
+    @TableField("number_vehicle")
+    private Integer numberVehicle;
+
+    /**
+     * 缺少数量
+     */
+    @TableField("lack_number")
+    private Integer lackNumber;
+
+    @TableField(exist = false)
+    private ProdMaterial prodMaterial;
+
+
+    @Override
+    protected Serializable pkVal() {
+        return this.planId;
+    }
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/mapper/PlanMaterialMapper.java

@@ -0,0 +1,16 @@
+package com.management.platform.mapper;
+
+import com.management.platform.entity.PlanMaterial;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author Seyason
+ * @since 2023-07-25
+ */
+public interface PlanMaterialMapper extends BaseMapper<PlanMaterial> {
+
+}

+ 16 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/java/com/management/platform/service/PlanMaterialService.java

@@ -0,0 +1,16 @@
+package com.management.platform.service;
+
+import com.management.platform.entity.PlanMaterial;
+import com.baomidou.mybatisplus.extension.service.IService;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2023-07-25
+ */
+public interface PlanMaterialService extends IService<PlanMaterial> {
+
+}

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

@@ -0,0 +1,20 @@
+package com.management.platform.service.impl;
+
+import com.management.platform.entity.PlanMaterial;
+import com.management.platform.mapper.PlanMaterialMapper;
+import com.management.platform.service.PlanMaterialService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import org.springframework.stereotype.Service;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author Seyason
+ * @since 2023-07-25
+ */
+@Service
+public class PlanMaterialServiceImpl extends ServiceImpl<PlanMaterialMapper, PlanMaterial> implements PlanMaterialService {
+
+}

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

@@ -72,6 +72,8 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
     private ProdProcedureMapper prodProcedureMapper;
     @Resource
     private ProductMapper productMapper;
+    @Resource
+    private PlanMaterialMapper planMaterialMapper;
 
     @Override
     public HttpRespMsg getList(String date, String steelStampNumber, Integer planType,Integer deptId,Integer pageIndex,Integer pageSize) {
@@ -378,8 +380,16 @@ public class PlanServiceImpl extends ServiceImpl<PlanMapper, Plan> implements Pl
                 case 1:
                     Map map=new HashMap();
                     List<ProdMaterial> prodMaterialList = prodMaterialMapper.selectList(new QueryWrapper<ProdMaterial>().eq("product_id", plan.getProductId()));
-                    map.put("",prodMaterialList);
-                    msg.setData(prodMaterialList);
+                    List<PlanMaterial> planMaterialList = planMaterialMapper.selectList(new QueryWrapper<PlanMaterial>().eq("plan_id", plan.getId()));
+                    planMaterialList.forEach(pl->{
+                        Optional<ProdMaterial> first = prodMaterialList.stream().filter(pt -> pt.getId().equals(pl.getProdMaterialId())).findFirst();
+                        if(first.isPresent()){
+                            pl.setProdMaterial(first.get());
+                        }else pl.setProdMaterial(new ProdMaterial());
+                    });
+                    map.put("material",prodMaterialList);
+                    map.put("lackMaterial",planMaterialList);
+                    msg.setData(map);
                     break;
             }
         }

+ 20 - 0
fhKeeper/formulahousekeeper/management-workshop/src/main/resources/mapper/PlanMaterialMapper.xml

@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.management.platform.mapper.PlanMaterialMapper">
+
+    <!-- 通用查询映射结果 -->
+    <resultMap id="BaseResultMap" type="com.management.platform.entity.PlanMaterial">
+        <id column="plan_id" property="planId" />
+        <result column="prod_material_id" property="prodMaterialId" />
+        <result column="is_checked" property="isChecked" />
+        <result column="number_product" property="numberProduct" />
+        <result column="number_vehicle" property="numberVehicle" />
+        <result column="lack_number" property="lackNumber" />
+    </resultMap>
+
+    <!-- 通用查询结果列 -->
+    <sql id="Base_Column_List">
+        plan_id, prod_material_id, is_checked, number_product, number_vehicle, lack_number
+    </sql>
+
+</mapper>

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

@@ -36,7 +36,7 @@
         <!-- 各部分数据列表 -->
         <el-table
           :data="tableData"
-          style="width: 100%;height: 100%;"
+          style="width: 100%;height: 90%;"
           v-loading="tableDataLoading">
           <el-table-column
             type="selection"

+ 37 - 11
fhKeeper/formulahousekeeper/timesheet-workshop/src/views/plan/planComponentDetil.vue

@@ -14,6 +14,7 @@
             <div v-if="TabIndex == 0" v-loading="tableDataLoading">
                 <el-table
                 :data="JobtableData"
+                :key="tableKey"
                 style="width: 100%;height: 80vh;"
                 v-loading="tableDataLoading">
                     <el-table-column prop="name" label="工序名称"></el-table-column>
@@ -21,13 +22,16 @@
                     <el-table-column prop="productName" label="总工时" width="180"></el-table-column>
                     <el-table-column prop="unitPrice" label="单件工价" width="180"></el-table-column>
                     <el-table-column prop="productName" label="总工价" width="180"></el-table-column>
-                    <el-table-column prop="checkType" label="质检类型" width="180"></el-table-column>
+                    <el-table-column label="质检类型" width="180">
+                        <template slot-scope="scope">{{ scope.row.checkType==0?"自检": scope.row.checkType==1?"互检":"专检"}}</template>
+                    </el-table-column>
                     <el-table-column prop="productName" label="组员" width="180"></el-table-column>
                 </el-table>
             </div>
             <div v-if="TabIndex == 1"  v-loading="tableDataLoading">
                 <el-table
                 :data="MaterialtableData"
+                :key="tableKey"
                 style="width: 100%;height: 32vh;"
                 v-loading="tableDataLoading">
                     <el-table-column prop="name" label="零件名称" width="180"></el-table-column>
@@ -42,16 +46,33 @@
                 <div class="quesa-text">缺料报告</div>
                 <el-table
                 :data="LackMaterialtableData"
+                :key="tableKey"
                 style="width: 100%;height: 40vh;"
                 v-loading="tableDataLoading">
-                    <el-table-column prop="productName" label="零件名称" width="180"></el-table-column>
-                    <el-table-column prop="productName" label="公司编码" ></el-table-column>
-                    <el-table-column prop="productName" label="公司图号"></el-table-column>
-                    <el-table-column prop="productName" label="材质" width="180"></el-table-column>
-                    <el-table-column prop="productName" label="厚度" width="180"></el-table-column>
-                    <el-table-column prop="productName" label="数量 (个/产品)" width="180"></el-table-column>
-                    <el-table-column prop="productName" label="量(个/辆)" width="180"></el-table-column>
-                    <el-table-column prop="productName" label="缺少数量" width="180"></el-table-column>
+                    <el-table-column  label="零件名称" width="180">
+                        <template slot-scope="scope">{{ scope.row.prodMaterial.name }}</template>
+                    </el-table-column>
+                    <el-table-column  label="公司编码" >
+                        <template slot-scope="scope">{{ scope.row.prodMaterial.companyCode }}</template>
+                    </el-table-column>
+                    <el-table-column  label="公司图号">
+                        <template slot-scope="scope">{{ scope.row.prodMaterial.companyDrawingNo }}</template>
+                    </el-table-column>
+                    <el-table-column  label="材质" width="180">
+                        <template slot-scope="scope">{{ scope.row.prodMaterial.materialQuality }}</template>
+                    </el-table-column>
+                    <el-table-column  label="厚度" width="180">
+                        <template slot-scope="scope">{{ scope.row.prodMaterial.thickness }}</template>
+                    </el-table-column>
+                    <el-table-column  label="数量 (个/产品)" width="180">
+                        <template slot-scope="scope">{{ scope.row.prodMaterial.numberProduct }}</template>
+                    </el-table-column>
+                    <el-table-column  label="数量(个/辆)" width="180">
+                        <template slot-scope="scope">{{ scope.row.prodMaterial.numberVehicle }}</template>
+                    </el-table-column>
+                    <el-table-column prop="lackNumber" label="缺少数量" width="180">
+                        <template slot-scope="scope">{{ scope.row.lackNumber }}</template>
+                    </el-table-column>
                 </el-table>
             </div>
         </div>
@@ -75,6 +96,7 @@ export default {
             JobtableData: [],
             MaterialtableData:[],
             LackMaterialtableData:[],
+            tableKey: 1
         }
     },
     computed: {},
@@ -94,15 +116,18 @@ export default {
             this.getPlanDetail()
         },
         getPlanDetail(){
+            this.tableDataLoading = true
             this.http.post( '/plan/planDetail', {
             id:this.id,
             type:this.textArr[this.TabIndex].value
         },
           res => {
+            this.tableDataLoading = false
             if (res.code == "ok") {
+              this.tableKey++
               this.JobtableData=res.data
-              this.MaterialtableData=res.data
-              this.LackMaterialtableData=res.data
+              this.MaterialtableData=res.data.material
+              this.LackMaterialtableData=res.data.lackMaterial
             } else {
               this.$message({
                 message: res.msg,
@@ -110,6 +135,7 @@ export default {
               });
             }
           },error => {
+            this.tableDataLoading = false
             this.$message({
               message: error,
               type: "error"