ReceiptHeaderMapper.xml 13.8 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 and cCode != ''">
                cCode,
            </if>
            <if test="ID != null">
                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">
                cPOID,
            </if>
            <if test="POID != null">
                POID,
            </if>
            <if test="DLID != null">
                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>
        </trim>
        <trim prefix=" values (" suffix=")" suffixOverrides=",">
            <if test="cCode != null and cCode != ''">
                #{cCode, jdbcType=VARCHAR},
            </if>
            <if test="ID != null">
                #{ID, jdbcType=INTEGER},
            </if>
            <if test="dPODate != null and dPODate != ''">
                #{dPODate, jdbcType=TIMESTAMP},
            </if>
            <if test="cVenCode != null and cVenCode != ''">
                #{cVenCode, jdbcType=VARCHAR},
            </if>
            <if test="cVenName != null and cVenName != ''">
                #{cVenName, jdbcType=VARCHAR},
            </if>
            <if test="cBusType != null and cBusType != ''">
                #{cBusType, jdbcType=VARCHAR},
            </if>
            <if test="cDepCode != null and cDepCode != ''">
                #{cDepCode, jdbcType=VARCHAR},
            </if>
            <if test="cDepName != null and cDepName != ''">
                #{cDepName, jdbcType=VARCHAR},
            </if>
            <if test="cPersonCode != null and cPersonCode != ''">
                #{cPersonCode, jdbcType=VARCHAR},
            </if>
            <if test="cPersonName != null and cPersonName != ''">
                #{cPersonName, jdbcType=VARCHAR},
            </if>
            <if test="cMemo != null and cMemo != ''">
                #{cMemo, jdbcType=VARCHAR},
            </if>
            <if test="cMaker != null and cMaker != ''">
                #{cMaker, jdbcType=VARCHAR},
            </if>
            <if test="cVerifier != null and cVerifier != ''">
                #{cVerifier, jdbcType=VARCHAR},
            </if>
            <if test="CompanyCode != null and CompanyCode != ''">
                #{CompanyCode, jdbcType=VARCHAR},
            </if>
            <if test="cModifyDate != null and cModifyDate != ''">
                #{cModifyDate, jdbcType=TIMESTAMP},
            </if>
            <if test="dDate != null and dDate != ''">
                #{dDate, jdbcType=TIMESTAMP},
            </if>
            <if test="cRDName != null and cRDName != ''">
                #{cRDName, jdbcType=VARCHAR},
            </if>
            <if test="cWHCode != null and cWHCode != ''">
                #{cWHCode, jdbcType=VARCHAR},
            </if>
            <if test="cWHName != null and cWHName != ''">
                #{cWHName, jdbcType=VARCHAR},
            </if>
            <if test="iWHCode != null and iWHCode != ''">
                #{iWHCode, jdbcType=VARCHAR},
            </if>
            <if test="iWHName != null and iWHName != ''">
                #{iWHName, jdbcType=VARCHAR},
            </if>
            <if test="cTVCode != null and cTVCode != ''">
                #{cTVCode, jdbcType=VARCHAR},
            </if>
            <if test="cPOID != null">
                #{cPOID, jdbcType=INTEGER},
            </if>
            <if test="POID != null">
                #{POID, jdbcType=VARCHAR},
            </if>
            <if test="DLID != null">
                #{DLID, jdbcType=INTEGER},
            </if>
            <if test="cDLCode != null and cDLCode != ''">
                #{cDLCode, jdbcType=VARCHAR},
            </if>
            <if test="cCusCode != null and cCusCode != ''">
                #{cCusCode, jdbcType=VARCHAR},
            </if>
            <if test="cCusName != null and cCusName != ''">
                #{cCusName, jdbcType=VARCHAR},
            </if>
            <if test="cSTName != null and cSTName != ''">
                #{cSTName, jdbcType=VARCHAR},
            </if>
            <if test="type != null and type != ''">
                #{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,uWarehouseCode, 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 lastStatus = #{lastStatus} and (sourceCode &lt;&gt; '' or type='SI')
        limit 1
    </select>


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

    <select id="selectListByCreated" resultType="com.huaheng.pc.receipt.receiptHeader.domain.ReceiptHeader">
      SELECT r.*  from receipt_header r
      inner join task_detail t on t.billCode=r.code and
      t.status=40 and DATEDIFF(NOW(), t.endTime)=0 GROUP BY r.code
    </select>


</mapper>