fix(mapper): 修复订单信息映射中的字段名称和关联查询问题

- 将 finish_time 字段映射更正为 end_time 以匹配数据库实际列名
- 移除不再使用的 device_code 字段映射
- 将 INNER JOIN 更改为 LEFT JOIN 以避免物料信息缺失时数据丢失
- 移除对已删除字段 device_code 的条件过滤
- 在服务层完成订单时同步设置 complete_amount 和 complete_date 字段
master
zangch@mesnac.com 6 days ago
parent 2af8d92f03
commit f3d2c9268e

@ -140,6 +140,9 @@ public class BaseOrderInfoServiceImpl implements IBaseOrderInfoService {
order.setFinishTime(new Date());
order.setActualCompleteQty(completeQty);
order.setActualDefectQty(defectQty);
// 同步列表展示字段
order.setCompleteAmount(completeQty);
order.setCompleteDate(new Date());
order.setUpdatedTime(DateUtils.getNowDate());
return baseOrderInfoMapper.updateBaseOrderInfo(order);
}
@ -155,6 +158,8 @@ public class BaseOrderInfoServiceImpl implements IBaseOrderInfoService {
}
order.setActualCompleteQty(completeQty);
order.setActualDefectQty(defectQty);
// 同步列表展示字段
order.setCompleteAmount(completeQty);
order.setUpdatedTime(DateUtils.getNowDate());
return baseOrderInfoMapper.updateBaseOrderInfo(order);
}

@ -31,11 +31,10 @@
<result property="manualUpdateFlag" column="manual_update_flag"/>
<result property="executionStatus" column="execution_status"/>
<result property="startTime" column="start_time"/>
<result property="finishTime" column="finish_time"/>
<result property="finishTime" column="end_time"/>
<result property="executionOperator" column="execution_operator"/>
<result property="actualCompleteQty" column="actual_complete_qty"/>
<result property="actualDefectQty" column="actual_defect_qty"/>
<result property="deviceCode" column="device_code"/>
</resultMap>
<sql id="selectBaseOrderInfoVo">
@ -60,11 +59,10 @@
oi.manual_update_flag,
oi.execution_status,
oi.start_time,
oi.finish_time,
oi.end_time,
oi.execution_operator,
oi.actual_complete_qty,
oi.actual_defect_qty,
oi.device_code,
oi.created_by,
oi.created_time,
oi.updated_by,
@ -75,7 +73,9 @@
<select id="selectBaseOrderInfoList" parameterType="BaseOrderInfo" resultMap="BaseOrderInfoResult">
<include refid="selectBaseOrderInfoVo"/>
JOIN BASE_MATERIALINFO bm ON bm.MATERIAL_CODE = oi.material_code AND bm.DISPO IN ('100')
LEFT JOIN BASE_MATERIALINFO bm
ON bm.MATERIAL_CODE = oi.material_code
AND bm.DISPO IN ('100')
<where>
<if test="orderCode != null and orderCode != ''">and oi.order_code = #{orderCode}</if>
<if test="saleOrderCode != null and saleOrderCode != ''">and oi.saleorder_code = #{saleOrderCode}</if>
@ -94,7 +94,6 @@
<if test="orderStatus != null and orderStatus != '' and orderStatus == 'RELCRTD'">and (oi.order_status LIKE 'REL%' OR oi.order_status LIKE 'CRTD%')</if>
<if test="manualUpdateFlag != null and manualUpdateFlag != ''">and oi.manual_update_flag = #{manualUpdateFlag}</if>
<if test="executionStatus != null and executionStatus != ''">and oi.execution_status = #{executionStatus}</if>
<if test="deviceCode != null and deviceCode != ''">and oi.device_code = #{deviceCode}</if>
<if test="beginDate != null ">and oi.begin_date = #{beginDate}</if>
<if test="endDate != null ">and oi.end_date = #{endDate}</if>
<if test="factoryCode != null and factoryCode != ''">and oi.factory_code = #{factoryCode}</if>
@ -164,11 +163,10 @@
<if test="manualUpdateFlag != null">manual_update_flag,</if>
<if test="executionStatus != null">execution_status,</if>
<if test="startTime != null">start_time,</if>
<if test="finishTime != null">finish_time,</if>
<if test="finishTime != null">end_time,</if>
<if test="executionOperator != null">execution_operator,</if>
<if test="actualCompleteQty != null">actual_complete_qty,</if>
<if test="actualDefectQty != null">actual_defect_qty,</if>
<if test="deviceCode != null">device_code,</if>
</trim>
<trim prefix="values (" suffix=")" suffixOverrides=",">
<if test="objId != null">#{objId},</if>
@ -201,7 +199,6 @@
<if test="executionOperator != null">#{executionOperator},</if>
<if test="actualCompleteQty != null">#{actualCompleteQty},</if>
<if test="actualDefectQty != null">#{actualDefectQty},</if>
<if test="deviceCode != null">#{deviceCode},</if>
</trim>
</insert>
@ -233,11 +230,10 @@
<if test="manualUpdateFlag != null">manual_update_flag = #{manualUpdateFlag},</if>
<if test="executionStatus != null">execution_status = #{executionStatus},</if>
<if test="startTime != null">start_time = #{startTime},</if>
<if test="finishTime != null">finish_time = #{finishTime},</if>
<if test="finishTime != null">end_time = #{finishTime},</if>
<if test="executionOperator != null">execution_operator = #{executionOperator},</if>
<if test="actualCompleteQty != null">actual_complete_qty = #{actualCompleteQty},</if>
<if test="actualDefectQty != null">actual_defect_qty = #{actualDefectQty},</if>
<if test="deviceCode != null">device_code = #{deviceCode},</if>
</trim>
where obj_id = #{objId}
</update>

Loading…
Cancel
Save