报表添加编号字段,设置编号为null等于空,调整报工修改校验问题
| | |
| | | <span v-if="!(itemremark.S02==null&&itemremark.S03==null&&itemremark.S04==null&&itemremark.S05==null)"> |
| | | 编号:{{itemremark.S01}} |
| | | </span> |
| | | <span v-if="itemremark.S02!=null">备注1:{{itemremark.S02}}</span> |
| | | <span v-if="itemremark.S03!=null">备注2:{{itemremark.S03}}</span> |
| | | <span v-if="itemremark.S04!=null">备注3:{{itemremark.S04}}</span> |
| | | <span v-if="itemremark.S05!=null">备注4:{{itemremark.S05}}</span> |
| | | <span v-if="itemremark.S02!=null&&itemremark.S02!=''">备注1:{{itemremark.S02}}</span> |
| | | <span v-if="itemremark.S03!=null&&itemremark.S03!=''">备注2:{{itemremark.S03}}</span> |
| | | <span v-if="itemremark.S04!=null&&itemremark.S04!=''">备注3:{{itemremark.S04}}</span> |
| | | <span v-if="itemremark.S05!=null&&itemremark.S05!=''">备注4:{{itemremark.S05}}</span> |
| | | </div> |
| | | </div> |
| | | </td> |
| | |
| | | qualityInsTime:'质检时间', |
| | | completedArea:'完工面积', |
| | | wornArea:'次破面积', |
| | | pleaseGreaterThanOrEqual1:'请输入大于等于', |
| | | pleaseGreaterThanOrEqual1:'请输入小于等于', |
| | | pleaseGreaterThanOrEqual2:'的数字', |
| | | lossCount1:'损耗数', |
| | | lossCount2:'不能大于', |
| | |
| | | slots: {filter: 'num1_filter'}, |
| | | visible: true |
| | | }, |
| | | {field: 'glassNumber', width: 110,title: t('reportingWorks.glassNumber'),showOverflow:"ellipsis",filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}}, |
| | | {field: 'orderNumber', width: 100, title: t('order.OrderNum'),visible: true}, |
| | | {field: 'technologyNumber', width: 120, title: t('processCard.technologyNumber'),filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, showOverflow: "ellipsis",visible: true}, |
| | |
| | | }else if(row.quantity_card<row.completedQuantity){ |
| | | return new Error("完工数不能大于流程卡数量") |
| | | } |
| | | if(titleUploadData.value.reportingWorkId!=null && row.completedQuantity<row.minQuantity){ |
| | | const completedNum = |
| | | (row.completedQuantity === undefined || row.completedQuantity===null || row.completedQuantity==='') ? 0 : row.completedQuantity |
| | | if(titleUploadData.value.reportingWorkId!=null && completedNum>row.minQuantity){ |
| | | return new Error(`${t('reportingWorks.pleaseGreaterThanOrEqual1')} |
| | | ${row.minQuantity} |
| | | ${t('reportingWorks.pleaseGreaterThanOrEqual2')}`) |
| | |
| | | private String productName; |
| | | @ExcelProperty("弯钢半径") |
| | | private String bendRadius; |
| | | @ExcelProperty("编号") |
| | | private String glassNumber; |
| | | } |
| | |
| | | List<Map<String,String>> getSelectProcessJiajiao(); |
| | | |
| | | List<Map<String,String>> getSelectProcessDuoqu(); |
| | | |
| | | List<Map<String, String>> SelectReworlDetailMpReview(String processIdStr, String technologyStr, String process, String previousProcess); |
| | | } |
| | |
| | | //是第一道工序,查询流程卡数据 |
| | | map.put("Detail", reportingWorkMapper.SelectTechnologicalNumMp(processIdStr, technologyStr, process,reportType)); |
| | | } else { |
| | | //不是第一道工序,查询报工数据 |
| | | List<Map<String,String>> details = reportingWorkMapper.SelectReworlDetailMp(processIdStr, technologyStr, process,previousProcess); |
| | | if(process.equals("中空")){ |
| | | String orderId = processIdStr.substring(0,10); |
| | | details.forEach( detail -> { |
| | | Integer glassId = orderGlassDetailMapper. |
| | | getMinIdByGroup(orderId, |
| | | String.valueOf(detail.get("order_number")), |
| | | String.valueOf(detail.get("group"))); |
| | | int listGlassId = Integer.parseInt(String.valueOf(detail.get("glassId"))); |
| | | if(listGlassId !=glassId){ |
| | | detail.put("rowClass","latter"); |
| | | ReportingWork retrievedData = (ReportingWork) map.get("data"); |
| | | if (retrievedData!=null){ |
| | | Integer reviewedState = retrievedData.getReviewedState(); |
| | | //根据审核状态查询未审核数据 |
| | | if (reviewedState==1){//已审核 |
| | | //不是第一道工序,查询报工数据 |
| | | List<Map<String,String>> details = reportingWorkMapper.SelectReworlDetailMp(processIdStr, technologyStr, process,previousProcess); |
| | | if(process.equals("中空")){ |
| | | String orderId = processIdStr.substring(0,10); |
| | | details.forEach( detail -> { |
| | | Integer glassId = orderGlassDetailMapper. |
| | | getMinIdByGroup(orderId, |
| | | String.valueOf(detail.get("order_number")), |
| | | String.valueOf(detail.get("group"))); |
| | | int listGlassId = Integer.parseInt(String.valueOf(detail.get("glassId"))); |
| | | if(listGlassId !=glassId){ |
| | | detail.put("rowClass","latter"); |
| | | } |
| | | }); |
| | | } |
| | | }); |
| | | map.put("Detail",details ); |
| | | }else { |
| | | //不是第一道工序,查询报工数据 |
| | | List<Map<String,String>> details = reportingWorkMapper.SelectReworlDetailMpReview(processIdStr, technologyStr, process,previousProcess); |
| | | if(process.equals("中空")){ |
| | | String orderId = processIdStr.substring(0,10); |
| | | details.forEach( detail -> { |
| | | Integer glassId = orderGlassDetailMapper. |
| | | getMinIdByGroup(orderId, |
| | | String.valueOf(detail.get("order_number")), |
| | | String.valueOf(detail.get("group"))); |
| | | int listGlassId = Integer.parseInt(String.valueOf(detail.get("glassId"))); |
| | | if(listGlassId !=glassId){ |
| | | detail.put("rowClass","latter"); |
| | | } |
| | | }); |
| | | } |
| | | |
| | | |
| | | map.put("Detail",details ); |
| | | } |
| | | } |
| | | |
| | | |
| | | map.put("Detail",details ); |
| | | } |
| | | |
| | | // 第一道工序(流程卡数+补片数量-完工数-次破数-返工未完成数-禁用数量) |
| | |
| | | |
| | | <select id="remakList"> |
| | | SELECT |
| | | JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S01')) AS S01, |
| | | JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S04')) AS S02, |
| | | JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S05')) AS S03, |
| | | JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S06')) AS S04, |
| | | JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S07')) AS S05 |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S01')),'') AS S01, |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S04')),'') AS S02, |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S05')),'') AS S03, |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S06')),'') AS S04, |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(other_columns, '$.S07')),'') AS S05 |
| | | FROM flow_card as fc left join sd.order_detail as od on fc.order_id = od.order_id |
| | | and fc.order_number = od.order_number |
| | | WHERE fc.process_id=#{processId} |
| | |
| | | <result column="stockArea" property="stockArea"/> |
| | | <result column="product_name" property="productName"/> |
| | | <result column="bend_radius" property="bendRadius"/> |
| | | <result column="glassNumber" property="glassNumber"/> |
| | | </resultMap> |
| | | |
| | | <!-- 流程卡进度--> |
| | |
| | | ifnull(f.inventory, 0) as inventory, |
| | | round(ifnull(f.inventory, 0) * a.area, 2) as inventoryArea, |
| | | ifnull(dd.quantity, 0) as shippedQuantity, |
| | | JSON_UNQUOTE(JSON_EXTRACT(a.other_columns, '$.S01')) AS glassNumber |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(a.other_columns, '$.S01')),'') AS glassNumber |
| | | from flow_card as c |
| | | left join |
| | | sd.order_detail as a |
| | |
| | | (odpds.reporting_work_num_count + ifnull(c.patchNumSum, 0) - odpd.reporting_work_num_count - |
| | | odpd.broken_num) / 1000000, 2) as stockArea, |
| | | od.product_name, |
| | | od.bend_radius |
| | | od.bend_radius, |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber |
| | | |
| | | from sd.order_detail AS od |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | |
| | | </if> |
| | | <if test="workInProgressDTO.technologyNumber != null and workInProgressDTO.technologyNumber != ''"> |
| | | and ogd.technology_number regexp #{workInProgressDTO.technologyNumber} |
| | | </if> |
| | | <if test="workInProgressDTO.glassNumber != null and workInProgressDTO.glassNumber != ''"> |
| | | and ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') regexp #{workInProgressDTO.glassNumber} |
| | | </if> |
| | | group by fc.process_id, fc.order_number, fc.technology_number |
| | | order by fc.process_id, fc.order_number, fc.technology_number |
| | |
| | | round( ogd.child_width * ogd.child_height * dd.breakage_quantity / 1000000, 2 ) as area, |
| | | IFNULL(dd.responsible_personnel,'') as personnel, |
| | | ogd.glass_child, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS glassNumber |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')),'') AS glassNumber |
| | | FROM |
| | | sd.ORDER AS o |
| | | LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id |
| | |
| | | round(ifnull(f.inventory, 0) * a.area, 2) as inventoryArea, |
| | | ifnull(dd.quantity, 0) as shippedQuantity, |
| | | ifnull(dd.area, 0) as area, |
| | | JSON_UNQUOTE(JSON_EXTRACT(a.other_columns, '$.S01')) AS glassNumber |
| | | ifnull(JSON_UNQUOTE(JSON_EXTRACT(a.other_columns, '$.S01')),'') AS glassNumber |
| | | |
| | | from flow_card as c |
| | | left join |
| | |
| | | WHERE basic_type='product' AND basic_category='process' AND basic_name='钢化' |
| | | ) AS combined_results; |
| | | </select> |
| | | |
| | | <select id="SelectReworlDetailMpReview"> |
| | | SELECT |
| | | fc.order_number, |
| | | ogd.glass_child, |
| | | ogd.technology_number, |
| | | ogd.glass_address, |
| | | fc.quantity AS quantity_card, |
| | | ogd.child_width, |
| | | ogd.child_height, |
| | | if(od.shape=1,'普形',if(od.shape=2,'异形','')) as shape, |
| | | if((odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num ) < 0, |
| | | 0, |
| | | odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num) as quantity, |
| | | if((odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num) < 0, |
| | | 0, |
| | | odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num) as completedQuantity, |
| | | odpd.reporting_work_num as completed, |
| | | odpd.broken_num as onceBroken, |
| | | ogd.`group`, |
| | | if(fc.quantity -odpd.reporting_work_num = 0 ,true,false) as saveFlag, -- 判断是否已经完成,已经完成不序号和同序号数量相同才能提交 |
| | | od.other_columns, |
| | | ogd.id as 'glassId' |
| | | ,rws.reviewed_state |
| | | FROM |
| | | sd.order_detail AS od |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | | ON od.order_id = ogd.order_id |
| | | AND od.order_number = ogd.order_number |
| | | <if test="process == '夹胶' or (process == '打胶和粘框' and previousProcess=='夹胶')"> |
| | | AND ogd.`group` = (select `group` |
| | | from sd.order_glass_detail |
| | | where order_id = ogd.order_id |
| | | and order_number = ogd.order_number |
| | | and POSITION(technology_number in #{technologyStr}) |
| | | limit 1) |
| | | </if> |
| | | |
| | | |
| | | LEFT JOIN flow_card AS fc |
| | | ON fc.order_id = ogd.order_id |
| | | and fc.production_id=ogd.production_id |
| | | AND fc.order_number = ogd.order_number |
| | | AND fc.technology_number = ogd.technology_number |
| | | left join sd.order_process_detail as odpd |
| | | ON odpd.order_id = fc.order_id |
| | | AND odpd.order_number = fc.order_number |
| | | AND odpd.technology_number = fc.technology_number |
| | | and odpd.process_id = fc.process_id |
| | | left join sd.order_process_detail as odpds |
| | | ON odpds.id = odpd.id-1 |
| | | left join |
| | | (SELECT |
| | | sum(rw.rework_num) as 'patchNumSum', |
| | | rw.process_id,rw.order_sort,rw.technology_number, |
| | | rwk.this_process |
| | | from |
| | | rework as rw |
| | | LEFT JOIN |
| | | reporting_work as rwk |
| | | on rw.reporting_work_id =rwk.reporting_work_id |
| | | where rwk.this_process=#{process} |
| | | and rw.review_status=0 |
| | | and rw.process_id = #{processIdStr} |
| | | GROUP BY rw.process_id,rw.order_sort,rw.technology_number) as c |
| | | on c.process_id = fc.process_id |
| | | and c.order_sort = fc.order_number |
| | | and c.technology_number = fc.technology_number |
| | | left join (select reviewed_state as reviewed_state , |
| | | process_id,a.reporting_work_id,b.technology_number,b.order_number |
| | | from reporting_work as a |
| | | left join reporting_work_detail as b on a.reporting_work_id = b.reporting_work_id |
| | | where this_process=#{previousProcess} and reviewed_state=0 and process_id= #{processIdStr} |
| | | and POSITION(b.technology_number in #{technologyStr}) |
| | | GROUP BY a.reporting_work_id,b.order_number,b.technology_number |
| | | ) as rws |
| | | on rws.process_id = fc.process_id and rws.order_number=fc.order_number and rws.technology_number=fc.technology_number |
| | | WHERE |
| | | fc.process_id = #{processIdStr} |
| | | <if test="process != '中空' and process != '夹胶' and process != '包装' and process != '打胶和粘框' "> |
| | | AND POSITION(fc.technology_number in #{technologyStr}) |
| | | </if> |
| | | AND odpd.process = #{process} |
| | | and rws.reviewed_state=0 |
| | | order by fc.order_number |
| | | </select> |
| | | </mapper> |