huang
2024-12-03 183c0d4268782e113c25b0255b798c8d99f1e4a8
添加 工程信息表格数据获取
5个文件已修改
136 ■■■■ 已修改文件
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/controller/pp/GlassOptimizeController.java 12 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/mapper/pp/GlassOptimizeMapper.java 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml 31 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
north-glass-erp/northglass-erp/src/views/pp/glassOptimize/page/ProjectDetail.vue
@@ -1,5 +1,5 @@
<script setup>
import {reactive, ref} from "vue";
import {onMounted, reactive, ref} from "vue";
import {useI18n} from "vue-i18n";
import {
  Folder,
@@ -11,6 +11,8 @@
import SetAmount from "@/views/pp/glassOptimize/page/SetAmount.vue";
import SetTrimming from "@/views/pp/glassOptimize/page/SetTrimming.vue";
import CheckInventory from "@/views/pp/glassOptimize/page/CheckInventory.vue";
import request from "@/utils/request";
import {ElMessage} from "element-plus";
const {t} = useI18n()
@@ -64,32 +66,26 @@
    ]
  },*/
  columns: [
    {title: '订序', width: 70},
    {field: 'state', width: 100, title: t('order.width'), filters: [{data: ''}], slots: {filter: 'num2_filter'}},
    {field: 'seq', width: 100, title: t('order.height'),filters: [{data: ''}],slots: {filter: 'num2_filter'}},
    {field: 'seq', title: '', width: 70},
    {field: 'order_number', title: '订序', width: 70},
    {field: 'child_width', width: 100, title: t('order.width'), filters: [{data: ''}], slots: {filter: 'num2_filter'}},
    {field: 'child_height', width: 100, title: t('order.height'),filters: [{data: ''}],slots: {filter: 'num2_filter'}},
    {field: 'quantity', width: 150, title: t('order.quantity'), filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '', width: 150, title: '长磨1', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '', width: 150, title: '长磨2', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '', width: 150, title: '短磨1', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: '', width: 150, title: '短磨1', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'id',
      width: 150,
      title: t('order.quantity'),
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'id', width: 150, title: '长磨1', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'id', width: 150, title: '长磨2', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'id', width: 150, title: '短磨1', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'id', width: 150, title: '短磨1', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'id',
      field: 'shape',
      width: 150,
      title: t('order.shape'),
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {field: 'id', width: 150, title: '流程卡号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {field: 'process_cards', width: 150, title: '流程卡号', filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true},
    {
      field: 'id',
      field: 'product_name',
      width: 150,
      title: t('order.product'),
      filters: [{data: ''}],
@@ -97,7 +93,7 @@
      sortable: true
    },
    {
      field: 'id',
      field: 'building_number',
      width: 150,
      title: t('order.buildingNumber'),
      filters: [{data: ''}],
@@ -105,7 +101,7 @@
      sortable: true
    },
    {
      field: 'id',
      field: 'remark',
      width: 150,
      title: t('basicData.remarks'),
      filters: [{data: ''}],
@@ -113,7 +109,7 @@
      sortable: true
    },
    {
      field: 'id',
      field: 'perimeter',
      width: 150,
      title: t('order.perimeter'),
      filters: [{data: ''}],
@@ -121,7 +117,7 @@
      sortable: true
    },
    {
      field: 'id',
      field: 'area',
      width: 150,
      title: t('order.grossArea'),
      filters: [{data: ''}],
@@ -130,25 +126,33 @@
    },
    {
      field: 'id',
      field: '',
      width: 150,
      title: t('craft.glassChild'),
      title: '架号',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'id',
      field: 'technology_number',
      width: 150,
      title: t('craft.glassAddress'),
      title: '层',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'id',
      field: 'glass_child',
      width: 150,
      title: t('craft.TrademarkAttribute'),
      title: '单片名称',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
    },
    {
      field: 'icon',
      width: 150,
      title: '印标类型',
      filters: [{data: ''}],
      slots: {filter: 'num1_filter'},
      sortable: true
@@ -175,6 +179,24 @@
const openDialog = (index) => {
  dialogVisible.value[index] = true;
};
//工程号
const projectNo = ref('P24120301');
const fetchData = () => {
  request.post(`/glassOptimize/projectInfo/${projectNo.value}`).then((res) => {
    if ((Number(res.code) === 200)) {
      xGrid.value.loadData(res.data.data);
    } else {
      ElMessage.warning(res.msg);
    }
  }).catch((error) => {
    console.error("获取数据出错:", error);
    ElMessage.error('获取数据时出现错误,请稍后再试');
  });
};
onMounted(() => {
  fetchData();
});
</script>
@@ -279,6 +301,7 @@
        </div>
      </template>
    </vxe-grid>
  </div>
</template>
north-glass-erp/src/main/java/com/example/erp/controller/pp/GlassOptimizeController.java
@@ -19,6 +19,15 @@
    @Autowired
    GlassOptimizeService glassOptimizeService;
    //工程信息
    @ApiOperation("创建工程查询流程卡接口")
    @PostMapping  ("/projectInfo/{projectNo}")
    public Result projectInfo(
            @PathVariable String projectNo){
        return Result.seccess(glassOptimizeService.projectInfoSv(projectNo));
    }
    //工程查询流程卡
    @ApiOperation("创建工程查询流程卡接口")
    @PostMapping  ("/getFlowCardList/{optionVal}/{radio}")
@@ -77,8 +86,7 @@
    }
    //模拟计算流程卡详情
    //模拟计算工程号查询
    @ApiOperation("模拟计算工程号查询")
    @ApiOperation("模拟计算流程卡详情")
    @PostMapping  ("/selectComputeDetail/{processId}")
    public Result selectComputeDetail(
            @PathVariable String processId){
north-glass-erp/src/main/java/com/example/erp/mapper/pp/GlassOptimizeMapper.java
@@ -12,6 +12,10 @@
@Mapper
public interface GlassOptimizeMapper {
    //工程信息
    List<Map<String, Object>> projectInfoMp(String projectNo);
    //工单管理查询未转工单数据
    List<OrderGlassDetail> selectWordOrder(Date selectTime1, Date selectTime2, OrderGlassDetail orderGlassDetail);
north-glass-erp/src/main/java/com/example/erp/service/pp/GlassOptimizeService.java
@@ -18,6 +18,14 @@
    GlassOptimizeMapper glassOptimizeMapper;
    //工程信息
    public Map<String, Object> projectInfoSv(String projectNo) {
        Map<String, Object> map = new HashMap<>();
        map.put("data", glassOptimizeMapper.projectInfoMp(projectNo));
        return map;
    }
    //工程查询流程卡
    public Map<String, Object> getFlowCardList(String optionVal, Integer radio) {
        Map<String, Object> map = new HashMap<>();
north-glass-erp/src/main/resources/mapper/pp/GlassOptimize.xml
@@ -58,6 +58,36 @@
        <result property="modifyTime" column="modify time"/>
    </resultMap>
    <!--工程信息-->
    <select id="projectInfoMp">
        SELECT
            f.order_number,
            g.child_width ,
            g.child_height ,
            f.quantity ,
            d.shape ,
            op.process_cards ,
            d.product_name ,
            op.remark ,
            d.building_number ,
            round(((`g`.`child_width` + g.child_height) * 2 * `f`.`quantity`),2) as perimeter ,
            round((`g`.`area` * `f`.`quantity`),4) AS area,
            f.technology_number ,
            g.glass_child ,
            g.icon
        FROM
            ((pp.flow_card AS f
                LEFT JOIN sd.order_detail AS d ON (((f.order_id = d.order_id) AND (f.order_number = d.order_number))))
                LEFT JOIN sd.order_glass_detail AS g ON (((f.order_id = g.order_id) AND (f.order_number = g.order_number) AND (f.technology_number = g.technology_number))))
                INNER JOIN pp.optimize_project AS op ON op.project_no = f.project_no
        WHERE
            f.project_no = #{projectNo}
        GROUP BY
            f.order_id,
            f.technology_number,
            f.order_number;
    </select>
    <select id="selectWordOrder" resultMap="wordOrderMap">
        select
        o.order_id,
@@ -133,6 +163,7 @@
        ORDER BY fc.process_id, fc.technology_number
    </select>
        <!--工程管理-->
    <select id="optimizeProjectMangeMp"  resultMap="optimizeProjectMangeMap">
        select p.`id`                                AS `id`,
               p.`project_no`                        AS `Project Number`,