From 1a47d9eef4cfe9385ce66b791de84db54a5ba87c Mon Sep 17 00:00:00 2001
From: jiazx0107@163.com <jiazx0107@163.com>
Date: 星期日, 25 六月 2023 20:30:36 +0800
Subject: [PATCH] 出入库流程优化-入库详单优化

---
 igds-inout/src/main/resources/mapper/InoutRecordMapper.xml |  215 ++++++++++++++++++++++++++++++-----------------------
 1 files changed, 123 insertions(+), 92 deletions(-)

diff --git a/igds-inout/src/main/resources/mapper/InoutRecordMapper.xml b/igds-inout/src/main/resources/mapper/InoutRecordMapper.xml
index 4dfa0b2..36bb4a0 100644
--- a/igds-inout/src/main/resources/mapper/InoutRecordMapper.xml
+++ b/igds-inout/src/main/resources/mapper/InoutRecordMapper.xml
@@ -14,37 +14,35 @@
 		TYPE_ as type,
 		PROGRESS_ as progress,
 		RECORD_STATUS_ as recordStatus,
+		CUSTOMER_NAME_ as customerName,
+		INTEL_CARD_ as intelCard,
 		REGISTER_TIME_ as registerTime,
 		REGISTER_USER_ as registerUser,
 		USER_NAME_ as userName,
+		USER_CONTACT_ as userContact,
+		USER_ID_ as userId,
 		USER_BIRTHDAY_ as userBirthday,
 		USER_SEX_ as userSex,
 		USER_NATION_ as userNation,
-		USER_ID_ as userId,
-		USER_CONTACT_ as userContact,
 		USER_ADDRESS_ as userAddress,
-		CUR_STORAGE_ as curStorage,
-		INTEL_CARD_ as intelCard,
 		PLATE_NUM_ as plateNum,
 		TRANS_TYPE_ as transType,
-		SPEC_TYPE_ as specType,
-		CUSTOMER_ID_ as customerId,
-		CUSTOMER_NAME_ as customerName,
 		FOOD_VARIETY_ as foodVariety,
 		FOOD_TYPE_ as foodType,
 		FOOD_LEVEL_ as foodLevel,
+		FOOD_LOCATION_ID_ as foodLocationId,
 		FOOD_LOCATION_ as foodLocation,
 		FOOD_YEAR_ as foodYear,
 		CHECK_STATUS_ as checkStatus,
 		CHECK_USER_ as checkUser,
+		CHECK_TIME_ as checkTime,
+		SAMPLE_USER_ as sampleUser,
+		SAMPLE_TIME_ as sampleTime,
+		SAMPLE_TYPE_ as sampleType,
 		CHECK_ID_ as checkId,
-		IMPURITY_ as impurity,
-		WET_ as wet,
-		DE_IMPURITY_ as deImpurity,
-		DE_WET_ as deWet,
-		DE_HANDLE_ as deHandle,
-		DE_OTHER_ as deOther,
-		DE_SUM_ as deSum,
+		DE_CHECK_ as deCheck,
+		ADD_CHECK_ as addCheck,
+		jjlx as jjlx,
 		FULL_WEIGHT_ as fullWeight,
 		FULL_WEIGHT_TIME_ as fullWeightTime,
 		FULL_WEIGHT_USER_ as fullWeightUser,
@@ -52,16 +50,22 @@
 		EMPTY_WEIGHT_TIME_ as emptyWeightTime,
 		EMPTY_WEIGHT_USER_ as emptyWeightUser,
 		NET_WEIGHT_ as netWeight,
+		DE_HANDLE_ as deHandle,
+		DE_PACKAGE_ as dePackage,
+		DE_OTHER_ as deOther,
+		DE_OTHER_INTO_ as deOtherInfo,
 		SETTLE_WEIGHT_ as settleWeight,
 		RECORD_WEIGHT_ as recordWeight,
 		PRICE_ as price,
 		SETTLE_MONEY_ as settleMoney,
-		HANDLE_START_ as handleStart,
-		HANDLE_END_ as handleEnd,
+		SETTLE_ID_ as settleId,
 		HANDLE_USER_ as handleUser,
 		COMPLETE_TIME_ as completeTime,
 		COMPLETE_USER_ as completeUser,
-		REMARKS_ as remarks
+		REMARKS_ as remarks,
+		bzw as bzw,
+		dbz as dbz,
+		bzbjs as bzbjs
 	</sql>
 
     <!-- 鏍规嵁鏉′欢鏌ヨ锛屾暟鎹繀椤绘槸娴佺▼涓殑鏁版嵁 -->
@@ -78,9 +82,7 @@
             <if test="param.intelCard != null and param.intelCard != '' ">AND INTEL_CARD_ = #{param.intelCard}</if>
             <if test="param.id != null and param.id != '' ">AND ID_ = #{param.id}</if>
             <if test="param.progress != null and param.progress != '' ">AND PROGRESS_ = #{param.progress}</if>
-
             AND PROGRESS_ != 'RECORD'
-            AND RECORD_STATUS_ != 'ERROR'
             AND RECORD_STATUS_ != 'DEL'
         </where>
     </select>
@@ -107,7 +109,6 @@
                 COMPLETE_TIME_ <![CDATA[ > ]]>#{param.start,jdbcType=TIMESTAMP}
             </if>
             AND PROGRESS_ = 'RECORD'
-            AND RECORD_STATUS_ != 'ERROR'
             AND RECORD_STATUS_ != 'DEL'
             ORDER BY COMPLETE_TIME_
         </where>
@@ -140,13 +141,19 @@
         <where>
             <if test="param.companyId != null and param.companyId != '' ">AND COMPANY_ID_ = #{param.companyId}</if>
             <if test="param.depotId != null and param.depotId != '' ">AND DEPOT_ID_ = #{param.depotId}</if>
+            <if test="param.type != null and param.type != '' ">AND TYPE_ = #{param.type}</if>
+            <if test="param.plateNum != null and param.plateNum != '' ">AND PLATE_NUM_ = #{param.plateNum}</if>
+            <if test="param.intelCard != null and param.intelCard != '' ">AND INTEL_CARD_ = #{param.intelCard}</if>
+            <if test="param.id != null and param.id != '' ">AND ID_ = #{param.id}</if>
+            <if test="param.userId != null and param.userId != '' ">AND USER_ID_ = #{param.userId}</if>
+            <if test="param.progress != null and param.progress != '' ">AND PROGRESS_ = #{param.progress}</if>
+            <if test="param.start != null">AND
+                REGISTER_TIME_ <![CDATA[ > ]]>#{param.start,jdbcType=TIMESTAMP}
+            </if>
             <if test="param.end != null">AND
                 COMPLETE_TIME_ <![CDATA[ < ]]>#{param.end,jdbcType=TIMESTAMP}
             </if>
-            <if test="param.curStorage > 0">AND CUR_STORAGE_ > 0</if>
         </where>
-        AND PROGRESS_ = 'RECORD'
-        AND RECORD_STATUS_ != 'ERROR'
         AND RECORD_STATUS_ != 'DEL'
         ORDER BY COMPLETE_TIME_ DESC
         LIMIT 1
@@ -161,7 +168,7 @@
             <if test="param.intelCard != null and param.plateNum != null">
                 AND ( INTEL_CARD_ = #{param.intelCard} OR PLATE_NUM_ = #{param.plateNum} )
             </if>
-            and PROGRESS_ &lt;&gt; 'RECORD' and RECORD_STATUS_ != 'DEL' and RECORD_STATUS_ != 'ERROR'
+            and PROGRESS_ &lt;&gt; 'RECORD' and RECORD_STATUS_ != 'DEL'
         </where>
     </select>
 
@@ -179,16 +186,16 @@
     <update id="inoutStop" parameterType="com.ld.igds.inout.dto.InoutParam">
         update D_INOUT_RECORD
         <set>
-            RECORD_STATUS_ ='ERROR',
             PROGRESS_ = 'RECORD',
+            <if test="param.recordStatus != null and param.recordStatus != '' ">RECORD_STATUS_ = #{param.recordStatus},</if>
             <if test="param.checkStatus != null and param.checkStatus != '' ">CHECK_STATUS_ = #{param.checkStatus},</if>
             <if test="param.msg != null and param.msg != '' ">REMARKS_ = concat(REMARKS_,#{param.msg})</if>
         </set>
-        <where>
-            <if test="param.companyId != null and param.companyId != '' ">COMPANY_ID_ = #{param.companyId}</if>
-            <if test="param.id != null and param.id != '' ">AND ID_ = #{param.id}</if>
-        </where>
 
+        <where>
+            COMPANY_ID_ = #{param.companyId},
+           AND ID_ = #{param.id}
+        </where>
     </update>
 
 
@@ -222,20 +229,13 @@
         <if test="data.intelCard != null">INTEL_CARD_ = #{data.intelCard},</if>
         <if test="data.plateNum != null">PLATE_NUM_ = #{data.plateNum},</if>
         <if test="data.transType != null">TRANS_TYPE_ = #{data.transType},</if>
-        <if test="data.specType != null">SPEC_TYPE_ = #{data.specType},</if>
-        <if test="data.customerId != null">CUSTOMER_ID_ = #{data.customerId},</if>
         <if test="data.customerName != null">CUSTOMER_NAME_ = #{data.customerName},</if>
         <if test="data.foodVariety != null">FOOD_VARIETY_ = #{data.foodVariety},</if>
         <if test="data.foodLevel != null">FOOD_LEVEL_ = #{data.foodLevel},</if>
         <if test="data.foodLocation != null">FOOD_LOCATION_ = #{data.foodLocation},</if>
         <if test="data.foodYear != null">FOOD_YEAR_ = #{data.foodYear},</if>
-        <if test="data.impurity != null">IMPURITY_ = #{data.impurity},</if>
-        <if test="data.deImpurity != null">DE_IMPURITY_ = #{data.deImpurity},</if>
-        <if test="data.wet != null">WET_ = #{data.wet},</if>
-        <if test="data.deWet != null">DE_WET_ = #{data.deWet},</if>
         <if test="data.deHandle != null">DE_HANDLE_ = #{data.deHandle},</if>
         <if test="data.deOther != null">DE_OTHER_ = #{data.deOther},</if>
-        <if test="data.deSum != null">DE_SUM_ = #{data.deSum},</if>
         <if test="data.fullWeight != null">FULL_WEIGHT_ = #{data.fullWeight},</if>
         <if test="data.fullWeightTime != null">FULL_WEIGHT_TIME_ = #{data.fullWeightTime},</if>
         <if test="data.fullWeightUser != null">FULL_WEIGHT_USER_ = #{data.fullWeightUser},</if>
@@ -245,13 +245,10 @@
         <if test="data.netWeight != null">NET_WEIGHT_ = #{data.netWeight},</if>
         <if test="data.settleWeight != null">SETTLE_WEIGHT_ = #{data.settleWeight},</if>
         <if test="data.recordWeight != null">RECORD_WEIGHT_ = #{data.recordWeight},</if>
-        <if test="data.handleStart != null">HANDLE_START_ = #{data.handleStart},</if>
-        <if test="data.handleEnd != null">HANDLE_END_ = #{data.handleEnd},</if>
         <if test="data.handleUser != null">HANDLE_USER_ = #{data.handleUser},</if>
         <if test="data.completeTime != null">COMPLETE_TIME_ = #{data.completeTime},</if>
         <if test="data.completeUser != null">COMPLETE_USER_ = #{data.completeUser},</if>
         <if test="data.remarks != null">REMARKS_ = #{data.remarks},</if>
-        <if test="data.curStorage != null">CUR_STORAGE_ = #{data.curStorage},</if>
         <if test="data.foodType != null">FOOD_TYPE_ = #{data.foodType},</if>
         <if test="data.price != null">PRICE_ = #{data.price},</if>
         <if test="data.settleMoney != null">SETTLE_MONEY_ = #{data.settleMoney},</if>
@@ -261,8 +258,25 @@
         and id_=#{data.id}
     </update>
 
+    <update id="updateDataByHandle" parameterType="com.ld.igds.inout.dto.InoutData">
+        update D_INOUT_RECORD set
+        <if test="data.deHandle != null">DE_HANDLE_ = #{data.deHandle},</if>
+        <if test="data.handleUser != null">HANDLE_USER_ = #{data.handleUser},</if>
+        <if test="data.deOther != null">DE_OTHER_ = #{data.deOther},</if>
+        <if test="data.deOtherInfo != null">DE_OTHER_INFO_ = #{data.deOtherInfo},</if>
+        <if test="data.dePackage != null">DE_PACKAGE_ = #{data.package},</if>
+        <if test="data.bzw != null">bzw = #{data.bzw},</if>
+        <if test="data.dbz != null">dbz = #{data.dbz},</if>
+        <if test="data.bzbjs != null">bzbjs = #{data.bzbjs},</if>
+        <if test="data.remarks != null">REMARKS_ = #{data.remarks},</if>
+        UPDATE_TIME_  = #{data.updateTime}
+        where
+        company_id_ =#{data.companyId}
+        and id_=#{data.id}
+    </update>
 
-    <!-- 鐧昏鏃跺�欐彃鍏ュ綋鍓嶅簱瀛樼殑鍊糲urStorage 涔嬪悗涓嶅仛鏇存敼 -->
+
+    <!-- 鏂板鏁版嵁 -->
     <insert id="insertData" parameterType="com.ld.igds.inout.dto.InoutData">
 		insert into
 		D_INOUT_RECORD(
@@ -274,37 +288,35 @@
 		TYPE_,
 		PROGRESS_,
 		RECORD_STATUS_,
+		CUSTOMER_NAME_,
+		INTEL_CARD_,
 		REGISTER_TIME_,
 		REGISTER_USER_,
 		USER_NAME_,
+		USER_CONTACT_,
+		USER_ID_,
 		USER_BIRTHDAY_,
 		USER_SEX_,
 		USER_NATION_,
-		USER_ID_,
-		USER_CONTACT_,
 		USER_ADDRESS_,
-		CUR_STORAGE_,
-		INTEL_CARD_,
 		PLATE_NUM_,
 		TRANS_TYPE_,
-		SPEC_TYPE_,
-		CUSTOMER_ID_,
-		CUSTOMER_NAME_,
 		FOOD_VARIETY_,
 		FOOD_TYPE_,
 		FOOD_LEVEL_,
+		FOOD_LOCATION_ID_,
 		FOOD_LOCATION_,
 		FOOD_YEAR_,
 		CHECK_STATUS_,
 		CHECK_USER_,
+		CHECK_TIME_,
+		SAMPLE_USER_,
+		SAMPLE_TIME_,
+		SAMPLE_TYPE_,
 		CHECK_ID_,
-		IMPURITY_,
-		WET_,
-		DE_IMPURITY_,
-		DE_WET_,
-		DE_HANDLE_,
-		DE_OTHER_,
-		DE_SUM_,
+		DE_CHECK_,
+		ADD_CHECK_,
+		jjlx,
 		FULL_WEIGHT_,
 		FULL_WEIGHT_TIME_,
 		FULL_WEIGHT_USER_,
@@ -312,17 +324,23 @@
 		EMPTY_WEIGHT_TIME_,
 		EMPTY_WEIGHT_USER_,
 		NET_WEIGHT_,
+		DE_HANDLE_,
+		DE_PACKAGE_,
+		DE_OTHER_,
+		DE_OTHER_INTO_,
 		SETTLE_WEIGHT_,
 		RECORD_WEIGHT_,
 		PRICE_,
 		SETTLE_MONEY_,
-		HANDLE_START_,
-		HANDLE_END_,
+		SETTLE_ID_,
 		HANDLE_USER_,
 		COMPLETE_TIME_,
 		COMPLETE_USER_,
 		REMARKS_,
-		SETTLE_TAG_
+		bzw,
+		dbz,
+		bzbjs,
+		UPDATE_TIME_
 		)
 		values
 		(
@@ -334,37 +352,35 @@
 		#{data.type},
 		#{data.progress},
 		#{data.recordStatus},
+		#{data.customerName},
+		#{data.intelCard},
 		#{data.registerTime},
 		#{data.registerUser},
 		#{data.userName},
+		#{data.userContact},
+		#{data.userId},
 		#{data.userBirthday},
 		#{data.userSex},
 		#{data.userNation},
-		#{data.userId},
-		#{data.userContact},
 		#{data.userAddress},
-		#{data.curStorage},
-		#{data.intelCard},
 		#{data.plateNum},
 		#{data.transType},
-		#{data.specType},
-		#{data.customerId},
-		#{data.customerName},
 		#{data.foodVariety},
 		#{data.foodType},
 		#{data.foodLevel},
+		#{data.foodLocationId},
 		#{data.foodLocation},
 		#{data.foodYear},
 		#{data.checkStatus},
 		#{data.checkUser},
+		#{data.checkTime},
+		#{data.sampleUser},
+		#{data.sampleTime},
+		#{data.sampleType},
 		#{data.checkId},
-		#{data.impurity},
-		#{data.wet},
-		#{data.deImpurity},
-		#{data.deWet},
-		#{data.deHandle},
-		#{data.deOther},
-		#{data.deSum},
+		#{data.deCheck},
+		#{data.addCheck},
+		#{data.jjlx},
 		#{data.fullWeight},
 		#{data.fullWeightTime},
 		#{data.fullWeightUser},
@@ -372,17 +388,23 @@
 		#{data.emptyWeightTime},
 		#{data.emptyWeightUser},
 		#{data.netWeight},
+		#{data.deHandle},
+		#{data.dePackage},
+		#{data.deOther},
+		#{data.deOtherInfo},
 		#{data.settleWeight},
 		#{data.recordWeight},
 		#{data.price},
 		#{data.settleMoney},
-		#{data.handleStart},
-		#{data.handleEnd},
+		#{data.settleId},
 		#{data.handleUser},
 		#{data.completeTime},
 		#{data.completeUser},
 		#{data.remarks},
-		#{data.settleTag}
+		#{data.bzw},
+		#{data.dbz},
+		#{data.bzbjs},
+		#{data.updateTime}
 		)
 	</insert>
 
@@ -425,7 +447,16 @@
             <if test="param.checkStatus != null and param.checkStatus == 'NONE' ">AND CHECK_STATUS_ = 'NONE'</if>
 
         </where>
-        AND RECORD_STATUS_ != 'DEL'
+
+        <choose>
+            <when test="param.recordStatus != null and param.recordStatus == 'DEL' ">
+                AND RECORD_STATUS_ = 'DEL'
+            </when>
+            <otherwise>
+                AND RECORD_STATUS_ != 'DEL'
+            </otherwise>
+        </choose>
+
 
         <choose>
             <when test="param.orderTag != null and param.orderTag == 'ASC' ">
@@ -445,25 +476,12 @@
         update D_INOUT_RECORD
         set PROGRESS_ = #{param.progress},
         COMPLETE_TIME_ =#{param.completeTime},
-        <if test="param.fullWeight != null and param.fullWeight > 0">FULL_WEIGHT_ = #{param.fullWeight},</if>
-        <if test="param.fullWeightUser != null">FULL_WEIGHT_USER_ = #{param.fullWeightUser},</if>
-        <if test="param.fullWeightTime != null">FULL_WEIGHT_TIME_ = #{param.fullWeightTime},</if>
-        <if test="param.emptyWeight != null and param.fullWeight > 0">EMPTY_WEIGHT_ = #{param.emptyWeight},</if>
-        <if test="param.emptyWeightTime != null">EMPTY_WEIGHT_TIME_ = #{param.emptyWeightTime},</if>
-        <if test="param.emptyWeightUser != null">EMPTY_WEIGHT_USER_ = #{param.emptyWeightUser},</if>
-        <if test="param.netWeight != null and param.fullWeight > 0">NET_WEIGHT_ = #{param.netWeight},</if>
-        <if test="param.settleWeight != null and param.settleWeight > 0">SETTLE_WEIGHT_ = #{param.settleWeight},</if>
-        <if test="param.recordWeight != null and param.recordWeight > 0">RECORD_WEIGHT_ = #{param.recordWeight},</if>
-        <if test="param.de != null and param.de > 0">DE_SUM_ = #{param.de},</if>
-        <if test="param.depotId != null and param.depotId != ''">DEPOT_ID_ = #{param.depotId},</if>
-        <if test="param.price != null and param.price > 0">PRICE_ = #{param.price},</if>
-        <if test="param.settleMoney != null and param.settleMoney > 0">SETTLE_MONEY_ = #{param.settleMoney},</if>
-        COMPLETE_USER_ = #{param.userId}
+        COMPLETE_USER_ = #{param.userId},
+        UPDATE_TIME_ = #{param.updateTime}
         where ID_ = #{param.id}
         and TYPE_ = #{param.type}
         and COMPANY_ID_ = #{param.companyId}
         and RECORD_STATUS_ != 'DEL'
-        and RECORD_STATUS_ != 'ERROR'
     </update>
 
     <!-- 鏌ヨ娴佺▼鏈畬鎴愮殑娴佹按淇℃伅 -->
@@ -492,7 +510,6 @@
         AND RECORD_STATUS_ != 'DEL'
         AND PROGRESS_ != 'RECORD'
         AND PROGRESS_ != 'PAY'
-        AND RECORD_STATUS_ != 'ERROR'
     </select>
 
 
@@ -504,7 +521,6 @@
         where
         PROGRESS_ = 'RECORD'
         AND RECORD_STATUS_ != 'DEL'
-        AND RECORD_STATUS_ != 'ERROR'
         <if test="param.type != null and param.type != ''">AND TYPE_ = #{param.type}</if>
         <if test="param.companyId != null and param.companyId != ''">AND COMPANY_ID_ = #{param.companyId}</if>
         <if test="param.deptId != null and param.deptId != ''">AND DEPT_ID_ = #{param.deptId}</if>
@@ -520,4 +536,19 @@
         </if>
     </select>
 
+    <!--鏍规嵁杞︾墝鍜屽崱鍙烽獙璇佹槸鍚︽湁閲嶅淇℃伅-->
+    <select id="checkExist" parameterType="com.ld.igds.inout.dto.InoutParam" resultType="int">
+        select count(1)
+        from
+        D_INOUT_RECORD
+        WHERE COMPANY_ID_ = #{param.companyId}
+        AND TYPE_ = #{param.type}
+        AND (PLATE_NUM_ = #{param.plateNum} or INTEL_CARD_ = #{param.intelCard})
+        AND PROGRESS_ != 'RECORD'
+        AND RECORD_STATUS_ != 'DEL'
+        <if test="param.start != null">
+            AND REGISTER_TIME_  <![CDATA[ > ]]> #{param.start,jdbcType=TIMESTAMP}
+        </if>
+    </select>
+
 </mapper>
\ No newline at end of file

--
Gitblit v1.9.3