|
@@ -45,7 +45,17 @@
|
|
REPORTROLL,CHECKOUTROLL,UNFINISHROLL,
|
|
REPORTROLL,CHECKOUTROLL,UNFINISHROLL,
|
|
WORKSTATUS,BACHMATERIALPROCESS,WAITREPORTID
|
|
WORKSTATUS,BACHMATERIALPROCESS,WAITREPORTID
|
|
</sql>
|
|
</sql>
|
|
-<!-- <update id="updateBachmaterialprocessByIds">-->
|
|
|
|
|
|
+ <delete id="myDeleteByIds">
|
|
|
|
+ DELETE
|
|
|
|
+ FROM
|
|
|
|
+ aps_delivery_offset
|
|
|
|
+ WHERE
|
|
|
|
+ ID IN
|
|
|
|
+ <foreach collection="needDelIdList" open="(" close=")" item="item" separator=",">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </delete>
|
|
|
|
+ <!-- <update id="updateBachmaterialprocessByIds">-->
|
|
<!-- update aps_process_operation_process_equ set BACHMATERIALPROCESS =-->
|
|
<!-- update aps_process_operation_process_equ set BACHMATERIALPROCESS =-->
|
|
<!-- CONCAT_WS(',',BACHMATERIALPROCESS,#{batchNum})-->
|
|
<!-- CONCAT_WS(',',BACHMATERIALPROCESS,#{batchNum})-->
|
|
<!-- <where>-->
|
|
<!-- <where>-->
|
|
@@ -727,12 +737,13 @@
|
|
AND art.TENANTID = #{tenantId}
|
|
AND art.TENANTID = #{tenantId}
|
|
ORDER BY aci.USEDEPTNAME,aci.CHECKITEMNAME,art.ROLLERTYPE
|
|
ORDER BY aci.USEDEPTNAME,aci.CHECKITEMNAME,art.ROLLERTYPE
|
|
</select>
|
|
</select>
|
|
- <select id="selectDeliveryOffestList" resultType="com.rongwei.bsentity.domain.ApsDeliveryOffsetDo">
|
|
|
|
|
|
+ <select id="selectDeliveryOffestList" resultType="com.rongwei.bsentity.domain.ApsProcessOperationProcessEquDo">
|
|
SELECT
|
|
SELECT
|
|
- apope.ROOTTASKID AS 'ID',
|
|
|
|
|
|
+ apope.ID,
|
|
|
|
+ apope.ROOTTASKID,
|
|
IF(apope.WORKSTATUS = '加工中',
|
|
IF(apope.WORKSTATUS = '加工中',
|
|
- TIMESTAMPDIFF(HOUR,apope.SCHEDULEENDDATE,apope.PLANENDDATE),
|
|
|
|
- TIMESTAMPDIFF(HOUR,apope.SCHEDULEENDDATE,GREATEST(apope.PLANENDDATE,DATE_ADD(now(),INTERVAL TIMESTAMPDIFF(MINUTE,apope.PLANSTARTDATE,apope.PLANENDDATE) MINUTE)))) AS 'DELIVERYOFFSET'
|
|
|
|
|
|
+ ROUND(TIMESTAMPDIFF(MINUTE,apope.SCHEDULEENDDATE,apope.PLANENDDATE)/60),
|
|
|
|
+ ROUND(TIMESTAMPDIFF(MINUTE,apope.SCHEDULEENDDATE,GREATEST(apope.PLANENDDATE,DATE_ADD(now(),INTERVAL TIMESTAMPDIFF(MINUTE,apope.PLANSTARTDATE,apope.PLANENDDATE) MINUTE)))/60)) AS 'TIMEOFFSET'
|
|
FROM
|
|
FROM
|
|
aps_process_operation_process_equ apope
|
|
aps_process_operation_process_equ apope
|
|
LEFT JOIN aps_process_operation_process_equ preapope ON preapope.ID = apope.PREVIOUSPROCESSESIDS
|
|
LEFT JOIN aps_process_operation_process_equ preapope ON preapope.ID = apope.PREVIOUSPROCESSESIDS
|
|
@@ -741,8 +752,198 @@
|
|
apope.DELETED = 0
|
|
apope.DELETED = 0
|
|
AND (
|
|
AND (
|
|
apope.WORKSTATUS = '加工中'
|
|
apope.WORKSTATUS = '加工中'
|
|
- OR (
|
|
|
|
- apope.WORKSTATUS = '待开工'
|
|
|
|
- AND ( preapope.ID IS NULL OR preapope.WORKSTATUS = '已完工' )))
|
|
|
|
|
|
+ OR
|
|
|
|
+ (apope.WORKSTATUS = '待开工' AND apope.BACHMATERIALPROCESS != ''))
|
|
|
|
+ AND apope.ROOTTASKID IN
|
|
|
|
+ <foreach collection="cardIdList" open="(" close=")" item="item" separator=",">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ </select>
|
|
|
|
+ <select id="selectProductionCards" resultType="com.rongwei.bsentity.vo.ProductCardVo">
|
|
|
|
+ select a.* from (select
|
|
|
|
+ apope.ROOTTASKID as id,
|
|
|
|
+ max(abo.TENANTID) as tenantid,
|
|
|
|
+ max(abo.CUSTOMORDERNO) as customOrderNo,
|
|
|
|
+ max(abo.ORDERNO) as orderNo,
|
|
|
|
+ max(abo.CUSTOMNAME) as customName,
|
|
|
|
+ max(abo.BLANKNUMBER) as blankNumber, -- 坯料计划编号
|
|
|
|
+ max(abo.OUTPUTORDERPRODUCT) as outputOrderProduct, -- 输出订单产品
|
|
|
|
+ max(CONCAT(IFNULL(DATE(abo.PROMISEDATESTART),''),'~',IFNULL(DATE(abo.PROMISEDATEEND),''))) AS promiseDate, -- 承诺交货期
|
|
|
|
+ max(abo.PLANNEDPRODUCTIONWORKSHOP) as plannedProductionWorkshop, -- 计划排产车间
|
|
|
|
+ max(abo.ID) AS blankId, -- 坯料计划ID
|
|
|
|
+ max(abo.CRAFTROUTEID) as craftrouteId, -- 工艺路线ID
|
|
|
|
+ max(apro.AUDITDATE) as auditDate, -- 订单评审日期
|
|
|
|
+ -- 坯料批次号
|
|
|
|
+ max(
|
|
|
|
+ IF(apope.ID = apope.ROOTTASKID,
|
|
|
|
+ IF(apope.BLANKBATCHNUMBER is not null and apope.BLANKBATCHNUMBER!='',
|
|
|
|
+ apope.BLANKBATCHNUMBER,
|
|
|
|
+ IF(abo.PREPAREMATERIAL = '是',
|
|
|
|
+ SUBSTRING_INDEX( abo.PREPAREMATERIALBATCHNO, ',', 1 ),
|
|
|
|
+ apope.BACHMATERIALPROCESS
|
|
|
|
+ )
|
|
|
|
+ ),
|
|
|
|
+ null
|
|
|
|
+ )
|
|
|
|
+ ) AS blankBatchNumber,
|
|
|
|
+ max(IF(apope.ID = apope.ROOTTASKID, ifnull(arr.REPORTOUTMATERREQUEST,abo.INPUTREPORTDESCRIBE), null)) as blankDesc , -- 坯料描述
|
|
|
|
+ max(IF(apope.ID = apope.ROOTTASKID, arr.ID, null)) as reportId, -- 坯料报工记录ID
|
|
|
|
+ max(IF(apope.ID = apope.ROOTTASKID, arr.CHECKDATE, null)) as checkDate, -- 坯料检验日期
|
|
|
|
+ max(IF(apope.ID = apope.ROOTTASKID, arr.BLANKLEVEL, null)) as insepctionLevel, -- 坯料检验等级
|
|
|
|
+ -- 卡片状态
|
|
|
|
+ apope.status,
|
|
|
|
+ -- 最近修改时间
|
|
|
|
+ max(apope.MODIFYDATE) as cardModifyDate,
|
|
|
|
+ -- 最后报工记录的工序显示名
|
|
|
|
+ SUBSTRING_INDEX(group_concat(arr.REPORTPROCESSNAME order by arr.CREATEDATE desc), ',', 1) as processName,
|
|
|
|
+ '0' AS deleted,
|
|
|
|
+ apro.DELIVERYTIME AS deliverTime,
|
|
|
|
+ apro.ID AS orderId
|
|
|
|
+ FROM
|
|
|
|
+ (
|
|
|
|
+ SELECT
|
|
|
|
+ *,
|
|
|
|
+ -- 卡片状态
|
|
|
|
+ IF(sum(STARTINGROLL)=0,'待开工', -- 已开工卷数=0
|
|
|
|
+ if(sum(LEAVEWAITWORKROLL)>0,'加工中', -- 剩余待报工卷数>0
|
|
|
|
+ if(sum(CANCELROLL)=0,'已完工', -- 已取消卷数合计=0
|
|
|
|
+ if(sum(CANCELROLL)<sum(PLANPROCESSRALL),'部分取消','全部取消')))) as STATUS -- 已取消卷数小于计划加工卷数
|
|
|
|
+ FROM
|
|
|
|
+ aps_process_operation_process_equ
|
|
|
|
+ WHERE
|
|
|
|
+ DELETED = 0
|
|
|
|
+ GROUP BY ROOTTASKID
|
|
|
|
+ ) apope
|
|
|
|
+ JOIN aps_blank_order abo ON apope.BLANKID = abo.ID
|
|
|
|
+ JOIN aps_production_order apro ON abo.PRODUCTIONORDERID = apro.ID
|
|
|
|
+ left join aps_report_records arr on arr.DELETED = '0' AND apope.id=arr.PROCESSEQUID
|
|
|
|
+ where
|
|
|
|
+ apope.DELETED = '0' AND abo.DELETED = '0' AND apro.DELETED = '0' and apope.ROOTTASKID != ''
|
|
|
|
+ and (apope.BLANKBATCHNUMBER!='' or abo.PREPAREMATERIAL = '是') -- 有坯料批次号
|
|
|
|
+ group by
|
|
|
|
+ apope.ROOTTASKID
|
|
|
|
+ ) a LEFT JOIN aps_delivery_offset ado ON a.ID = ado.ID AND ado.DELETED = 0
|
|
|
|
+ where ado.ID is null or (a.`STATUS` = ado.`STATUS` and a.`STATUS` = '已完工')
|
|
|
|
+ </select>
|
|
|
|
+ <select id="selectAllLatestEndDateByCarIds"
|
|
|
|
+ resultType="com.rongwei.bsentity.vo.ProductCardAndLatestScheduleEndDateVo">
|
|
|
|
+ SELECT
|
|
|
|
+ apope.ROOTTASKID as cardId,
|
|
|
|
+ MAX(apope.SCHEDULEENDDATE) AS latestScheduleEndDate
|
|
|
|
+ FROM
|
|
|
|
+ aps_process_operation_process_equ apope
|
|
|
|
+ JOIN aps_process_operation_out_mater apoom ON apope.PROCESSID = apoom.MAINID
|
|
|
|
+ AND apoom.DELETED = 0
|
|
|
|
+ WHERE
|
|
|
|
+ apope.DELETED = 0
|
|
|
|
+ AND apoom.PLANPRODROLLNUM > 0
|
|
|
|
+ AND apope.ROOTTASKID IN
|
|
|
|
+ <foreach collection="cardIdList" open="(" close=")" item="item" separator=",">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ GROUP BY apope.ROOTTASKID
|
|
|
|
+ </select>
|
|
|
|
+ <select id="selectAllLatestEndDateByCarIds2"
|
|
|
|
+ resultType="com.rongwei.bsentity.vo.ProductCardAndLatestScheduleEndDateVo">
|
|
|
|
+ SELECT
|
|
|
|
+ apope.ROOTTASKID as cardId,
|
|
|
|
+ MAX(apope.SCHEDULEENDDATE) AS latestScheduleEndDate
|
|
|
|
+ FROM
|
|
|
|
+ aps_process_operation_process_equ apope
|
|
|
|
+ JOIN aps_process_operation_out_mater apoom ON apope.PROCESSID = apoom.MAINID
|
|
|
|
+ AND apoom.DELETED = 0
|
|
|
|
+ WHERE
|
|
|
|
+ apope.DELETED = 0
|
|
|
|
+ AND apoom.PLANPRODROLLNUM > 0
|
|
|
|
+ AND apope.WORKSTATUS IN ('待开工','加工中')
|
|
|
|
+ AND apope.ROOTTASKID IN
|
|
|
|
+ <foreach collection="cardIdList" open="(" close=")" item="item" separator=",">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ GROUP BY apope.ROOTTASKID
|
|
|
|
+ </select>
|
|
|
|
+ <select id="selectAllLatestEndDateByCarIds3"
|
|
|
|
+ resultType="com.rongwei.bsentity.vo.ProductCardAndLatestScheduleEndDateVo">
|
|
|
|
+ SELECT
|
|
|
|
+ apope.ROOTTASKID as cardId,
|
|
|
|
+ MAX(apope.ACTUALFINISHDATE) AS latestScheduleEndDate
|
|
|
|
+ FROM
|
|
|
|
+ aps_process_operation_process_equ apope
|
|
|
|
+ JOIN aps_process_operation_out_mater apoom ON apope.PROCESSID = apoom.MAINID
|
|
|
|
+ AND apoom.DELETED = 0
|
|
|
|
+ WHERE
|
|
|
|
+ apope.DELETED = 0
|
|
|
|
+ AND apoom.PLANPRODROLLNUM > 0
|
|
|
|
+ AND apope.ROOTTASKID IN
|
|
|
|
+ <foreach collection="cardIdList" open="(" close=")" item="item" separator=",">
|
|
|
|
+ #{item}
|
|
|
|
+ </foreach>
|
|
|
|
+ GROUP BY apope.ROOTTASKID
|
|
|
|
+ </select>
|
|
|
|
+ <select id="selectAllNeedDelIds" resultType="java.lang.String">
|
|
|
|
+ select ado.ID from (select
|
|
|
|
+ apope.ROOTTASKID as id,
|
|
|
|
+ max(abo.TENANTID) as tenantid,
|
|
|
|
+ max(abo.CUSTOMORDERNO) as customOrderNo,
|
|
|
|
+ max(abo.ORDERNO) as orderNo,
|
|
|
|
+ max(abo.CUSTOMNAME) as customName,
|
|
|
|
+ max(abo.BLANKNUMBER) as blankNumber, -- 坯料计划编号
|
|
|
|
+ max(abo.OUTPUTORDERPRODUCT) as outputOrderProduct, -- 输出订单产品
|
|
|
|
+ max(CONCAT(IFNULL(DATE(abo.PROMISEDATESTART),''),'~',IFNULL(DATE(abo.PROMISEDATEEND),''))) AS promiseDate, -- 承诺交货期
|
|
|
|
+ max(abo.PLANNEDPRODUCTIONWORKSHOP) as plannedProductionWorkshop, -- 计划排产车间
|
|
|
|
+ max(abo.ID) AS blankId, -- 坯料计划ID
|
|
|
|
+ max(abo.CRAFTROUTEID) as craftrouteId, -- 工艺路线ID
|
|
|
|
+ max(apro.AUDITDATE) as auditDate, -- 订单评审日期
|
|
|
|
+ -- 坯料批次号
|
|
|
|
+ max(
|
|
|
|
+ IF(apope.ID = apope.ROOTTASKID,
|
|
|
|
+ IF(apope.BLANKBATCHNUMBER is not null and apope.BLANKBATCHNUMBER!='',
|
|
|
|
+ apope.BLANKBATCHNUMBER,
|
|
|
|
+ IF(abo.PREPAREMATERIAL = '是',
|
|
|
|
+ SUBSTRING_INDEX( abo.PREPAREMATERIALBATCHNO, ',', 1 ),
|
|
|
|
+ apope.BACHMATERIALPROCESS
|
|
|
|
+ )
|
|
|
|
+ ),
|
|
|
|
+ null
|
|
|
|
+ )
|
|
|
|
+ ) AS blankBatchNumber,
|
|
|
|
+ max(IF(apope.ID = apope.ROOTTASKID, ifnull(arr.REPORTOUTMATERREQUEST,abo.INPUTREPORTDESCRIBE), null)) as blankDesc , -- 坯料描述
|
|
|
|
+ max(IF(apope.ID = apope.ROOTTASKID, arr.ID, null)) as reportId, -- 坯料报工记录ID
|
|
|
|
+ max(IF(apope.ID = apope.ROOTTASKID, arr.CHECKDATE, null)) as checkDate, -- 坯料检验日期
|
|
|
|
+ max(IF(apope.ID = apope.ROOTTASKID, arr.BLANKLEVEL, null)) as insepctionLevel, -- 坯料检验等级
|
|
|
|
+ -- 卡片状态
|
|
|
|
+ apope.status,
|
|
|
|
+ -- 最近修改时间
|
|
|
|
+ max(apope.MODIFYDATE) as cardModifyDate,
|
|
|
|
+ -- 最后报工记录的工序显示名
|
|
|
|
+ SUBSTRING_INDEX(group_concat(arr.REPORTPROCESSNAME order by arr.CREATEDATE desc), ',', 1) as processName,
|
|
|
|
+ '0' AS deleted,
|
|
|
|
+ apro.DELIVERYTIME AS deliverTime,
|
|
|
|
+ apro.ID AS orderId
|
|
|
|
+ FROM
|
|
|
|
+ (
|
|
|
|
+ SELECT
|
|
|
|
+ *,
|
|
|
|
+ -- 卡片状态
|
|
|
|
+ IF(sum(STARTINGROLL)=0,'待开工', -- 已开工卷数=0
|
|
|
|
+ if(sum(LEAVEWAITWORKROLL)>0,'加工中', -- 剩余待报工卷数>0
|
|
|
|
+ if(sum(CANCELROLL)=0,'已完工', -- 已取消卷数合计=0
|
|
|
|
+ if(sum(CANCELROLL)<sum(PLANPROCESSRALL),'部分取消','全部取消')))) as STATUS -- 已取消卷数小于计划加工卷数
|
|
|
|
+ FROM
|
|
|
|
+ aps_process_operation_process_equ
|
|
|
|
+ WHERE
|
|
|
|
+ DELETED = 0
|
|
|
|
+ GROUP BY ROOTTASKID
|
|
|
|
+ ) apope
|
|
|
|
+ JOIN aps_blank_order abo ON apope.BLANKID = abo.ID
|
|
|
|
+ JOIN aps_production_order apro ON abo.PRODUCTIONORDERID = apro.ID
|
|
|
|
+ left join aps_report_records arr on arr.DELETED = '0' AND apope.id=arr.PROCESSEQUID
|
|
|
|
+ where
|
|
|
|
+ apope.DELETED = '0' AND abo.DELETED = '0' AND apro.DELETED = '0' and apope.ROOTTASKID != ''
|
|
|
|
+ and (apope.BLANKBATCHNUMBER!='' or abo.PREPAREMATERIAL = '是') -- 有坯料批次号
|
|
|
|
+ group by
|
|
|
|
+ apope.ROOTTASKID
|
|
|
|
+ ) a RIGHT JOIN aps_delivery_offset ado ON a.ID = ado.ID AND ado.DELETED = 0
|
|
|
|
+ where a.ID is null
|
|
</select>
|
|
</select>
|
|
</mapper>
|
|
</mapper>
|