Merge branch 'master' of http://bore.pub:10439/r/ERP_override
| | |
| | | let column = [1,3,8] |
| | | //点击查询 |
| | | const getWorkOrder = () => { |
| | | gridOptions.columns = gridOptions.columns.slice(0, 11); //清除动态生成的列重新查询 |
| | | request.post(`/report/processCardProgress/${form.orderId}`, column).then((res) => { |
| | | if (res.code == 200) { |
| | | if (res.data.data.length === 0) { |
| | | ElMessage.warning(t('report.noDataFoundForThisOrder')) |
| | | return |
| | | } |
| | | |
| | | // 动态添加列 |
| | | res.data.title.forEach((item, index) => { |
| | | let column = { |
| | | slots: { default: 'quantitySum' }, |
| | | width: 90, |
| | | width: 150, |
| | | title: item.process, |
| | | field: `dynamicColumn${index}` // 为动态列添加唯一的 field |
| | | } |
| | |
| | | res.data.data.forEach(item => { |
| | | item.reportWorkQuantity = JSON.parse(item.reportWorkQuantity) |
| | | item.reportWorkQuantityCount = JSON.parse(item.reportWorkQuantityCount) |
| | | item.reportWorkTime = JSON.parse(item.reportWorkTime) |
| | | }) |
| | | mergeCells.value = res.data.mergeCell |
| | | xGrid.value.loadData(res.data.data) |
| | |
| | | const quantitySum = ( row,column )=>{ |
| | | const reportWorkQuantity = row.reportWorkQuantity[column.title] || 0 |
| | | const reportWorkQuantityCount = row.reportWorkQuantityCount[column.title] || 0 |
| | | if(reportWorkQuantity===reportWorkQuantityCount){ |
| | | return reportWorkQuantity |
| | | const reportWorkTime = row.reportWorkTime[column.title] || 0 |
| | | if (reportWorkTime===0){ |
| | | if(reportWorkQuantity===reportWorkQuantityCount){ |
| | | return reportWorkQuantity |
| | | } |
| | | |
| | | return (reportWorkQuantity |
| | | +'(' |
| | | +reportWorkQuantityCount |
| | | +')' ) |
| | | } |
| | | else { |
| | | if(reportWorkQuantity===reportWorkQuantityCount){ |
| | | return (reportWorkQuantity+'[' |
| | | +reportWorkTime |
| | | +']') |
| | | } |
| | | |
| | | return (reportWorkQuantity |
| | | +'(' |
| | | +reportWorkQuantityCount |
| | | +')' |
| | | +'[' |
| | | +reportWorkTime |
| | | +']' |
| | | ) |
| | | } |
| | | |
| | | return (reportWorkQuantity |
| | | +'(' |
| | | +reportWorkQuantityCount |
| | | +')' ) |
| | | //return |
| | | } |
| | | |
| | |
| | | package com.example.erp.entity.sd; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.baomidou.mybatisplus.annotation.TableName; |
| | | import lombok.Data; |
| | | |
| | | import java.time.LocalDate; |
| | | |
| | | @Data |
| | | @TableName("sd.order_process_detail") |
| | |
| | | private int reportingWorkNumCount; |
| | | private int reportingWorkNum; |
| | | private int brokenNum; |
| | | @ExcelProperty("修改日期") |
| | | private LocalDate updateTime; |
| | | |
| | | // private Order order; |
| | | // private OrderDetail orderDetail; |
| | |
| | | Float shelfThickness = Float.parseFloat(object.get("shelfThickness").toString())*1000; |
| | | Float spacerThickness = Float.parseFloat(object.get("spacerThickness").toString()); |
| | | */ |
| | | Integer inMaxQuantity = 30; |
| | | Integer inMaxQuantity = 1; |
| | | Float inWeight = 100.0f; |
| | | Float shelfThickness = 2000.0f; |
| | | /*垫片厚度*/ |
| | |
| | | double flowCardWeight = 0.0; |
| | | for (OrderDetail orderDetail1 : orderDetailList) { |
| | | if (orderDetail1.getFlowCardId().equals(FlowCardId)) { |
| | | flowCardWeight = orderDetail1.getHeight()*orderDetail1.getQuantity()* orderDetail1.getWidth()* glassThickness* 2.5 / 1000000; |
| | | flowCardWeight += orderDetail1.getHeight()*orderDetail1.getQuantity()* orderDetail1.getWidth()* glassThickness* 2.5 / 1000000; |
| | | } |
| | | } |
| | | if(flowCardWeight>0){ |
| | | //System.out.println(inWeight+","+flowCardWeight); |
| | | flowCardWeight = inWeight - flowCardWeight; |
| | | shelfQuantity = (int) (flowCardWeight / |
| | | (orderDetail.getHeight() |
| | |
| | | * 2.5 / 1000000)); |
| | | if (shelfQuantity == 0) { |
| | | shelfQuantity = shelfQuantityByWeight; |
| | | flowCardNo += 1; |
| | | } |
| | | } |
| | | |
| | |
| | | getRowCount.forEach(row -> { |
| | | Map<String, Integer> getRow = new HashMap<>(); |
| | | // { row: 0, col: 1, rowspan: 3, colspan: 0}, |
| | | getRow.put("row", row.get("RowNum")); |
| | | Object rowNumObj = row.get("RowNum"); |
| | | if (rowNumObj instanceof Double) { |
| | | getRow.put("row", ((Double) rowNumObj).intValue()); |
| | | } else if (rowNumObj instanceof Integer) { |
| | | getRow.put("row", (Integer) rowNumObj); |
| | | } |
| | | getRow.put("col", col); |
| | | getRow.put("rowspan", row.get("rowCount")); |
| | | getRow.put("colspan", 0); |
| | |
| | | .eq(OrderProcessDetail::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber()) |
| | | .setSql("reporting_work_num_count = reporting_work_num_count +" + orderProcessDetail.getReportingWorkNum()) |
| | | .setSql("reporting_work_num =reporting_work_num +" + orderProcessDetail.getReportingWorkNum()) |
| | | .setSql("update_time = now()") |
| | | .setSql("broken_num =broken_num +" + orderProcessDetail.getBrokenNum()); |
| | | orderProcessDetailMapper.update(null, updateWrapper); |
| | | //判断完工数量和刺破数量是否为0,为0则不插入到数据库 |
| | |
| | | c.quantity, |
| | | e.reportWorkQuantity, |
| | | e.reportWorkQuantityCount, |
| | | e.reportWorkTime, |
| | | e.broken_num, |
| | | ifnull(f.inventory, 0) as inventory, |
| | | round(ifnull(f.inventory, 0) * a.area, 2) as inventoryArea, |
| | |
| | | concat('{', |
| | | GROUP_CONCAT(concat("\"", process, "\":\"", reporting_work_num_count, "\"")), |
| | | '}' |
| | | ) as reportWorkQuantityCount |
| | | ) as reportWorkQuantityCount, |
| | | concat('{', |
| | | GROUP_CONCAT(concat("\"", process, "\":\"", IFNULL(date(update_time),''), "\"")), |
| | | '}' |
| | | ) as reportWorkTime |
| | | FROM sd.order_process_detail as a |
| | | where a.order_id = #{orderId} |
| | | GROUP BY process_id, a.order_number, a.technology_number) as e |