李林
2023-10-07 658d4927d468c47208fd012d9128b09249c07eff
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
<?xml version="1.0" encoding="UTF-8"?>
 
<!--
  ~
  ~      Copyright (c) 2018-2025, ztt All rights reserved.
  ~
  ~  Redistribution and use in source and binary forms, with or without
  ~  modification, are permitted provided that the following conditions are met:
  ~
  ~ Redistributions of source code must retain the above copyright notice,
  ~  this list of conditions and the following disclaimer.
  ~  Redistributions in binary form must reproduce the above copyright
  ~  notice, this list of conditions and the following disclaimer in the
  ~  documentation and/or other materials provided with the distribution.
  ~  Neither the name of the pig4cloud.com developer nor the names of its
  ~  contributors may be used to endorse or promote products derived from
  ~  this software without specific prior written permission.
  ~  Author: ztt
  ~
  -->
 
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
 
<mapper namespace="com.chinaztt.mes.plan.mapper.CustomerOrderProduceTaskMapper">
    <resultMap id="planCustomerOrderProduceTaskMap" type="com.chinaztt.mes.plan.dto.CustomerOrderProduceTaskDTO">
        <id property="id" column="id"/>
        <result property="otcCustomerOrderNo" column="otc_customer_order_no"/>
        <result property="otcLineNo" column="otc_line_no"/>
        <result property="snNo" column="sn_no"/>
        <result property="customerName" column="customer_name"/>
        <result property="partId" column="part_id"/>
        <result property="partNo" column="part_no"/>
        <result property="partName" column="part_name"/>
        <result property="qty" column="qty"/>
        <result property="mergeSnNo" column="merge_sn_no"/>
        <result property="operationProduceQty" column="operation_produce_qty"/>
        <result property="discToolMeasurement" column="disc_tool_measurement"/>
        <result property="selfNo" column="self_no"/>
        <result property="print" column="print"/>
        <result property="section" column="section"/>
        <result property="begining" column="begining"/>
        <result property="ending" column="ending"/>
        <result property="direction" column="direction"/>
        <result property="purpose" column="purpose"/>
        <result property="endClassification" column="end_classification"/>
        <result property="customerOrderId" column="customer_order_id"/>
        <result property="technologyDocumentId" column="technology_document_id"/>
        <result property="createTime" column="create_time"/>
        <result property="createUser" column="create_user"/>
        <result property="updateTime" column="update_time"/>
        <result property="updateUser" column="update_user"/>
        <result property="status" column="status"/>
        <result property="workshop" column="workshop"/>
        <result property="operationId" column="operation_id"/>
        <result property="operationName" column="operation_name"/>
        <result property="meterMark" column="meter_mark"/>
        <result property="orderUploadRemark" column="order_upload_remark"/>
    </resultMap>
 
    <select id="selectLastMergeNo" resultType="java.lang.String">
        SELECT merge_sn_no
        FROM (
        SELECT merge_sn_no
        FROM plan_customer_order_produce_task
        WHERE merge_sn_no LIKE #{mergeNoPrefix}
        ) copt
        ORDER BY substr(merge_sn_no, 10, 3) DESC
        LIMIT 1
    </select>
 
    <select id="getPage" resultType="com.chinaztt.mes.plan.dto.CustomerOrderProduceTaskDTO">
        SELECT *
        FROM (
            SELECT
                pcopt.*,
                td.number AS document_no
            FROM
                plan_customer_order_produce_task pcopt
            LEFT JOIN technology_document td ON pcopt.technology_document_id = td."id"
            WHERE
                pcopt.status = '01draft'
        ) TEMP
        <if test="ew.emptyOfWhere == false">
            ${ew.customSqlSegment}
        </if>
    </select>
 
    <select id="getPartsByOrderNo" resultMap="planCustomerOrderProduceTaskMap">
        SELECT
            distinct pcopt.part_id,
            pcopt.part_no,
            pcopt.part_name
        FROM
            plan_customer_order_produce_task pcopt
        WHERE
            pcopt.otc_customer_order_no = #{otcCustomerOrderNo}
    </select>
 
    <select id="getOperationsByTaskIds" resultType="com.chinaztt.mes.technology.entity.Operation">
        SELECT DISTINCT
            o.*
        FROM
            plan_customer_order_produce_task pcopt
        LEFT JOIN technology_join_document_bom_routing tjdbr ON pcopt.technology_document_id = tjdbr.document_id
        LEFT JOIN technology_routing_operation tro ON tjdbr.routing_id = tro.routing_id
        LEFT JOIN technology_operation o ON tro.operation_id = o.id
        WHERE
            pcopt.id IN
        <foreach collection="ids" item="id" open="(" separator="," close=")">
            #{id}
        </foreach>
    </select>
</mapper>