ReceiptHeaderMapper.xml 12.5 KB
<?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.huaheng.pc.receipt.receiptHeader.mapper.ReceiptHeaderMapper">

    <select id="createCode" resultType="java.lang.String">
        SELECT code FROM receipt_header WHERE type = #{receiptType,jdbcType=VARCHAR} ORDER BY id DESC LIMIT 1
    </select>

    <insert id="headerToHistory">
        INSERT INTO receipt_header_history (
                code, warehouseCode, companyId, type, sourceCode, sourcePlatform, companyCode, totalQty,
                totalLines, remark, uploadStatus, uploadremark, uploadTime, appointmentTime, firstStatus, lastStatus,
                created, createdBy, lastUpdated, lastUpdatedBy, ENABLE, userDef1, userDef2, userDef3, deleted)
        SELECT
                code, warehouseCode, companyId, type, sourceCode, sourcePlatform, companyCode, totalQty,
                totalLines, remark,  uploadStatus, uploadremark, uploadTime, appointmentTime, firstStatus,
                lastStatus, created, createdBy, lastUpdated, lastUpdatedBy, ENABLE, userDef1, userDef2, userDef3, 1
        FROM receipt_header WHERE code = #{code,jdbcType=VARCHAR}
    </insert>

    <insert id="detailToHistory">
        INSERT INTO receipt_detail_history (
                id,sourceLine,receiptCode,materialCode,batch,lot,project,manufactureDate,expirationDate,inventoryStatus,qty,
                price,uploadTime,created,createdBy,lastUpdated,lastUpdatedBy,enable,deleted,userDef1,userDef2,userDef3)
        SELECT
                id,sourceLine,receiptCode,materialCode,batch,lot,project,manufactureDate,expirationDate,inventoryStatus,qty,
                price,uploadTime,created,createdBy,lastUpdated,lastUpdatedBy,enable,1,userDef1,userDef2,userDef3
        FROM receipt_detail WHERE receiptCode = #{code,jdbcType=VARCHAR}
    </insert>

    <select id="getLastStatus" resultType="java.lang.Short">
        SELECT  MIN(`status`) AS lastStatus FROM receipt_detail WHERE receiptId = #{receiptId}
    </select>

    <update id="updateDetailStatus">
        UPDATE receipt_detail SET status=#{status} WHERE id=#{receiptDetailId} AND qty &lt;= qtyCompleted AND status &gt;= 200
    </update>

    <update id="updateHeaderStatus">
        UPDATE receipt_header SET
        firstStatus = (CASE WHEN firstStatus&lt;=#{firstStatus} THEN #{firstStatus} ELSE firstStatus END),
        lastStatus = #{lastStatus}
        WHERE id = #{receiptId}
    </update>

    <select id="selectModel"
            resultType="com.huaheng.api.U8.domain.ICSReceiptHeader">
        SELECT cCode, ID, dPODate, cVenCode, cVenName, cBusType, cDepCode, cDepName, cPersonCode, cPersonName, cMemo, cMaker, type, cVerifier, CompanyCode, cModifyDate,cTVCode, dDate, cRDName, cWHCode, cWHName,iWHCode, iWHName, cPOID, POID, DLID, cDLCode, cCusCode, cCusName, cSTName
        from icsreceipt_header
        <where>
            <if test="cCode != null">
                AND cCode = #{cCode}
            </if>
            <if test="ID != null">
                AND ID = #{ID}
            </if>
            <if test="dPODate != null">
                AND dPODate = #{dPODate}
            </if>
            <if test="cVenCode != null">
                AND cVenCode = #{cVenCode}
            </if>
            <if test="cVenName != null">
                AND cVenName = #{cVenName}
            </if>
            <if test="cBusType != null">
                AND cBusType = #{cBusType}
            </if>
            <if test="cDepCode != null">
                AND cDepCode = #{cDepCode}
            </if>
            <if test="cDepName != null">
                AND cDepName = #{cDepName}
            </if>
            <if test="cPersonCode != null">
                AND cPersonCode = #{cPersonCode}
            </if>
            <if test="cPersonName != null">
                AND cPersonName = #{cPersonName}
            </if>
            <if test="cMemo != null">
                AND cMemo = #{cMemo}
            </if>
            <if test="cMaker != null">
                AND cMaker = #{cMaker}
            </if>
            <if test="cVerifier != null">
                AND cVerifier = #{cVerifier}
            </if>
            <if test="CompanyCode != null">
                AND CompanyCode = #{CompanyCode}
            </if>
            <if test="cModifyDate != null">
                AND cModifyDate = #{cModifyDate}
            </if>
            <if test="dDate != null">
                AND dDate = #{dDate}
            </if>
            <if test="cRDName != null">
                AND cRDName = #{cRDName}
            </if>
            <if test="cWHCode != null">
                AND cWHCode = #{cWHCode}
            </if>
            <if test="cWHName != null">
                AND cWHName = #{cWHName}
            </if>
            <if test="iWHCode != null">
                AND iWHCode = #{iWHCode}
            </if>
            <if test="iWHName != null">
                AND iWHName = #{iWHName}
            </if>
            <if test="cTVCode != null">
                AND cTVCode = #{cTVCode}
            </if>
            <if test="cPOID != null">
                AND cPOID = #{cPOID}
            </if>
            <if test="POID != null">
                AND POID = #{POID}
            </if>
            <if test="DLID != null">
                AND DLID = #{DLID}
            </if>
            <if test="cDLCode != null">
                AND cDLCode = #{cDLCode}
            </if>
            <if test="cCusCode != null">
                AND cCusCode = #{cCusCode}
            </if>
            <if test="cCusName != null">
                AND cCusName = #{cCusName}
            </if>
            <if test="cSTName != null">
                AND cSTName = #{cSTName}
            </if>
            <if test="type != null">
                AND type = #{type}
            </if>
        </where>
    </select>




    <insert id="insertModel">
        INSERT INTO icsreceipt_header
        <trim prefix="(" suffix=")" suffixOverrides=",">
            <if test="cCode != null">
                cCode,
            </if>
            <if test="ID != null">
                ID,
            </if>
            <if test="dPODate != null">
                dPODate,
            </if>
            <if test="cVenCode != null">
                cVenCode,
            </if>
            <if test="cVenName != null">
                cVenName,
            </if>
            <if test="cBusType != null">
                cBusType,
            </if>
            <if test="cDepCode != null">
                cDepCode,
            </if>
            <if test="cDepName != null">
                cDepName,
            </if>
            <if test="cPersonCode != null">
                cPersonCode,
            </if>
            <if test="cPersonName != null">
                cPersonName,
            </if>
            <if test="cMemo != null">
                cMemo,
            </if>
            <if test="cMaker != null">
                cMaker,
            </if>
            <if test="cVerifier != null">
                cVerifier,
            </if>
            <if test="CompanyCode != null">
                CompanyCode,
            </if>
            <if test="cModifyDate != null">
                cModifyDate,
            </if>
            <if test="dDate != null">
                dDate,
            </if>
            <if test="cRDName != null">
                cRDName,
            </if>
            <if test="cWHCode != null">
                cWHCode,
            </if>
            <if test="cWHName != null">
                cWHName,
            </if>
            <if test="iWHCode != null">
                iWHCode,
            </if>
            <if test="iWHName != null">
                iWHName,
            </if>
            <if test="cTVCode != null">
                cTVCode,
            </if>
            <if test="cPOID != null">
                cPOID,
            </if>
            <if test="POID != null">
                POID,
            </if>
            <if test="DLID != null">
                DLID,
            </if>
            <if test="cDLCode != null">
                cDLCode,
            </if>
            <if test="cCusCode != null">
                cCusCode,
            </if>
            <if test="cCusName != null">
                cCusName,
            </if>
            <if test="cSTName != null">
                cSTName,
            </if>
            <if test="type != null">
                type,
            </if>
        </trim>
        <trim prefix=" values (" suffix=")" suffixOverrides=",">
            <if test="cCode != null">
                #{cCode, jdbcType=VARCHAR},
            </if>
            <if test="ID != null">
                #{ID, jdbcType=INTEGER},
            </if>
            <if test="dPODate != null">
                #{dPODate, jdbcType=TIMESTAMP},
            </if>
            <if test="cVenCode != null">
                #{cVenCode, jdbcType=VARCHAR},
            </if>
            <if test="cVenName != null">
                #{cVenName, jdbcType=VARCHAR},
            </if>
            <if test="cBusType != null">
                #{cBusType, jdbcType=VARCHAR},
            </if>
            <if test="cDepCode != null">
                #{cDepCode, jdbcType=VARCHAR},
            </if>
            <if test="cDepName != null">
                #{cDepName, jdbcType=VARCHAR},
            </if>
            <if test="cPersonCode != null">
                #{cPersonCode, jdbcType=VARCHAR},
            </if>
            <if test="cPersonName != null">
                #{cPersonName, jdbcType=VARCHAR},
            </if>
            <if test="cMemo != null">
                #{cMemo, jdbcType=VARCHAR},
            </if>
            <if test="cMaker != null">
                #{cMaker, jdbcType=VARCHAR},
            </if>
            <if test="cVerifier != null">
                #{cVerifier, jdbcType=VARCHAR},
            </if>
            <if test="CompanyCode != null">
                #{CompanyCode, jdbcType=VARCHAR},
            </if>
            <if test="cModifyDate != null">
                #{cModifyDate, jdbcType=TIMESTAMP},
            </if>
            <if test="dDate != null">
                #{dDate, jdbcType=TIMESTAMP},
            </if>
            <if test="cRDName != null">
                #{cRDName, jdbcType=VARCHAR},
            </if>
            <if test="cWHCode != null">
                #{cWHCode, jdbcType=VARCHAR},
            </if>
            <if test="cWHName != null">
                #{cWHName, jdbcType=VARCHAR},
            </if>
            <if test="iWHCode != null">
                #{iWHCode, jdbcType=VARCHAR},
            </if>
            <if test="iWHName != null">
                #{iWHName, jdbcType=VARCHAR},
            </if>
            <if test="cTVCode != null">
                #{cTVCode, jdbcType=VARCHAR},
            </if>
            <if test="POID != null">
                #{POID, jdbcType=INTEGER},
            </if>
            <if test="cPOID != null">
                #{cPOID, jdbcType=VARCHAR},
            </if>
            <if test="DLID != null">
                #{DLID, jdbcType=INTEGER},
            </if>
            <if test="cDLCode != null">
                #{cDLCode, jdbcType=VARCHAR},
            </if>
            <if test="cCusCode != null">
                #{cCusCode, jdbcType=VARCHAR},
            </if>
            <if test="cCusName != null">
                #{cCusName, jdbcType=VARCHAR},
            </if>
            <if test="cSTName != null">
                #{cSTName, jdbcType=VARCHAR},
            </if>
            <if test="type != null">
                #{type, jdbcType=VARCHAR},
            </if>
        </trim>
    </insert>
    
    <select id="selectLastOne" resultType="com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader">
        SELECT * FROM receipt_header order by id DESC LIMIT 1;
    </select>

    <select id="getReceipt" resultType="com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader">
        SELECT id, code, warehouseId, warehouseCode, companyId, companyCode, type, sourceCode, sourcePlatform, supplierId, supplierCode, totalQty, totalLines, remark, uploadStatus, uploadremark, uploadTime, appointmentTime, firstStatus, lastStatus, created, createdBy, lastUpdated, lastUpdatedBy, enable, deleted, scanid, userDef1, userDef2, userDef3
        FROM receipt_header
        WHERE sourceCode &lt;&gt; '' AND lastStatus = #{lastStatus}
        limit 1
    </select>

    <select id="selectNosScanSSP" resultType="com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader">
        select * from receipt_header where scanid not LIKE '1%' and firstStatus &lt; 100 and lastStatus &lt; 100 LIMIT 1
    </select>

</mapper>