| | |
| | | component: () => import('../views/sd/order/OrderReport.vue'), |
| | | }, |
| | | { |
| | | path: 'orderProductSummaryReport', |
| | | name: 'orderProductSummaryReport', |
| | | component: () => import('../views/sd/order/OrderProductSummaryReport.vue'), |
| | | }, |
| | | { |
| | | path: '', |
| | | redirect:'/main/order/selectOrder' |
| | | } |
| | |
| | | <template #dropdown> |
| | | <el-dropdown-menu> |
| | | <el-dropdown-item command="/main/order/orderReport" >{{ $t('order.orderReport') }}</el-dropdown-item> |
| | | <el-dropdown-item command="/main/order/orderProductSummanyReport">订单明细汇总</el-dropdown-item> |
| | | <el-dropdown-item command="/main/order/orderProductSummaryReport">订单明细汇总</el-dropdown-item> |
| | | </el-dropdown-menu> |
| | | </template> |
| | | </el-dropdown> |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | </el-breadcrumb-item> |
| | | |
File was renamed from north-glass-erp/northglass-erp/src/views/sd/order/OrderProductSummanyReport.vue |
| | |
| | | {field: 'order.batch',width:120, title: '批次',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'productId',width:120, title: '产品编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'productName',width:120, title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'orderNumber',width:120, title: '订单序号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | //{field: 'orderNumber',width:120, title: '订单序号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | // {field: 'buildingNumber',width:120, title: '楼号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'width',width:120, title: '宽',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'height',width:120, title: '高',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | //{field: 'width',width:120, title: '宽',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | //{field: 'height',width:120, title: '高',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'quantity',width:120, title: '数量',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'bendRadius',width:120, title: '弯钢弧度',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | //{field: 'bendRadius',width:120, title: '弯钢弧度',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'grossArea',width:120, title: '实际面积',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'computeGrossArea',width:150, title: '结算总面积',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'shape',width:120, title: '形状',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'edgingType',width:120, title: '磨边类型',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'order.processingNote',width:140, title: '主加工要求',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'processingNote',width:120, title: '加工要求',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'order.remarks',width:120, title: '备注',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | //{field: 'shape',width:120, title: '形状',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | //{field: 'edgingType',width:120, title: '磨边类型',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | //{field: 'order.processingNote',width:140, title: '主加工要求',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | //{field: 'processingNote',width:120, title: '加工要求',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | //{field: 'order.remarks',width:120, title: '备注',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'order.icon',width:120, title: '商标选项',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'order.packType',width:120, title: '包装方式',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | // {field: 'prodID',width:120, title: '工艺流程',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | |
| | | |
| | | List<OrderDetail> getOrderReport(Integer offset, Integer pageSize, String startDate, String endDate, OrderDetail orderDetail); |
| | | |
| | | Map<String,Integer> getOrderReportTotal(Integer offset, Integer pageSize, String startDate, String endDate, OrderDetail orderDetail); |
| | | //type为了区别需不需要根据产品分类 |
| | | Map<String,Integer> getOrderReportTotal(Integer offset, Integer pageSize, String startDate, String endDate, OrderDetail orderDetail, String type); |
| | | |
| | | List<Order> exportOrderReport(); |
| | | |
| | | List<OrderDetail> getOrderProductSummary(Integer offset, Integer pageSize, String startDate, String endDate, OrderDetail orderDetail); |
| | | |
| | | Map<String,Integer> getOrderProductSummaryTotal(Integer offset, Integer pageSize, String startDate, String endDate, OrderDetail orderDetail, String product); |
| | | } |
| | |
| | | import com.example.erp.exception.ServiceException; |
| | | import com.example.erp.mapper.sd.*; |
| | | import com.example.erp.service.userInfo.SysErrorService; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | |
| | | |
| | | Map<String,Object> map = new HashMap<>(); |
| | | map.put("data",orderDetailMapper.getOrderReport(offset, pageSize, startDate, endDate, orderDetail)); |
| | | map.put("total",orderDetailMapper.getOrderReportTotal(offset, pageSize, startDate, endDate, orderDetail)); |
| | | map.put("total",orderDetailMapper.getOrderReportTotal(offset, pageSize, startDate, endDate, orderDetail,"order")); |
| | | List<String> list = new ArrayList<>(); |
| | | list.add(startDate); |
| | | list.add(endDate); |
| | |
| | | |
| | | Map<String,Object> map = new HashMap<>(); |
| | | map.put("data",orderDetailMapper.getOrderProductSummary(offset, pageSize, startDate, endDate, orderDetail)); |
| | | map.put("total",orderDetailMapper.getOrderReportTotal(offset, pageSize, startDate, endDate, orderDetail)); |
| | | map.put("total",orderDetailMapper.getOrderProductSummaryTotal(offset, pageSize, startDate, endDate, orderDetail, "product")); |
| | | List<String> list = new ArrayList<>(); |
| | | list.add(startDate); |
| | | list.add(endDate); |
| | |
| | | <if test="orderDetail.order!=null and orderDetail.order.customerBatch != null and orderDetail.order.customerBatch != ''"> |
| | | and b.customer_batch like concat('%',#{orderDetail.order.customerBatch},'%') |
| | | </if> |
| | | order by a.id desc |
| | | </select> |
| | | |
| | | <select id="exportOrderReport"> |
| | |
| | | |
| | | <select id="getOrderProductSummary" resultMap="orderMap"> |
| | | SELECT |
| | | sum(a.price) as price, |
| | | *, |
| | | b.order_type, |
| | | b.customer_name, |
| | | b.project, |
| | | a.order_id, |
| | | b.batch, |
| | | a.product_id, |
| | | a.product_name, |
| | | sum(a.quantity) as quantity, |
| | | sum(a.gross_area) as gross_area, |
| | | sum(a.compute_gross_area) as compute_gross_area, |
| | | a.edging_type, |
| | | b.pack_type, |
| | | round(sum(a.perimeter),2) as perimeter, |
| | | a.price, |
| | | sum(a.gross_amount ) as gross_amount, |
| | | b.al_type, |
| | | b.salesman, |
| | | b.delivery_address, |
| | | b.creator, |
| | | a.create_time, |
| | | b.customer_batch, |
| | | |
| | | |
| | | |
| | | |
| | | c.*, |
| | | a.create_time as createTime, |
| | | d.type_name as levelOne, |
| | | e.type_name as levelTwo |
| | |
| | | limit #{offset},#{pageSize} |
| | | </select> |
| | | |
| | | |
| | | <select id="getOrderProductSummaryTotal" > |
| | | select ss.pageTotal,count(ss.total) as 'total' from( SELECT |
| | | CEILING(count(a.id)/#{pageSize}) as 'pageTotal', |
| | | count(a.id) as 'total' |
| | | from order_detail as a |
| | | left join sd.`order` as b |
| | | on b.order_id = a.order_id |
| | | left join sd.product as c |
| | | on c.id = a.product_id |
| | | left join sd.basic_glass_type as d |
| | | on d.type_id = c.type_id |
| | | left join sd.basic_glass_type as e |
| | | on e.type_id = d.belong |
| | | where date(b.create_time)>=#{startDate} and date(b.create_time) <= #{endDate} |
| | | <if test="orderDetail.order!=null and (orderDetail.order.orderType != null and orderDetail.order.orderType != '')"> |
| | | and b.order_type like concat('%',#{orderDetail.order.orderType},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.order!=null and orderDetail.order.customerId != null and orderDetail.order.customerId != ''"> |
| | | and b.customer_id like concat('%',#{orderDetail.order.customerId},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.order!=null and orderDetail.order.project != null and orderDetail.order.project != ''"> |
| | | and b.project like concat('%',#{orderDetail.order.project},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.order!=null and orderDetail.order.orderId != null and orderDetail.order.orderId != ''"> |
| | | and b.order_id like concat('%',#{orderDetail.order.orderId},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.order!=null and orderDetail.order.batch != null and orderDetail.order.batch != ''"> |
| | | and b.batch like concat('%',#{orderDetail.order.batch},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.productId != null and orderDetail.productId != ''"> |
| | | and a.product_id like concat('%',#{orderDetail.productId},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.productName != null and orderDetail.productName != ''"> |
| | | and a.product_name like concat('%',#{orderDetail.productName},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.orderNumber != null and orderDetail.orderNumber != ''"> |
| | | and a.order_number like concat('%',#{orderDetail.orderNumber},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.width != null and orderDetail.width != ''"> |
| | | and a.width like concat('%',#{orderDetail.width},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.height != null and orderDetail.height != ''"> |
| | | and a.height like concat('%',#{orderDetail.height},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.quantity != null and orderDetail.quantity != ''"> |
| | | and a.quantity like concat('%',#{orderDetail.quantity},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.bendRadius != null and orderDetail.bendRadius != ''"> |
| | | and a.bend_radius like concat('%',#{orderDetail.bendRadius},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.grossArea != null and orderDetail.grossArea != ''"> |
| | | and a.gross_area like concat('%',#{orderDetail.grossArea},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.computeGrossArea != null and orderDetail.computeGrossArea != ''"> |
| | | and a.compute_gross_area like concat('%',#{orderDetail.computeGrossArea},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.shape != null and orderDetail.shape != ''"> |
| | | and a.shape like concat('%',#{orderDetail.shape},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.edgingType != null and orderDetail.edgingType != ''"> |
| | | and a.edging_type like concat('%',#{orderDetail.edgingType},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.order!=null and orderDetail.order.processingNote != null and orderDetail.order.processingNote != ''"> |
| | | and b.processing_note like concat('%',#{orderDetail.order.processingNote},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.processingNote != null and orderDetail.processingNote != ''"> |
| | | and a.processing_note like concat('%',#{orderDetail.processingNote},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.order!=null and orderDetail.order.icon != null and orderDetail.order.icon != ''"> |
| | | and b.icon like concat('%',#{orderDetail.order.icon},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.order!=null and orderDetail.order.packType != null and orderDetail.order.packType != ''"> |
| | | and b.pack_type like concat('%',#{orderDetail.order.packType},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.perimeter != null and orderDetail.perimeter != ''"> |
| | | and a.perimeter like concat('%',#{orderDetail.perimeter},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.price != null and orderDetail.price != ''"> |
| | | and a.price like concat('%',#{orderDetail.price},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.grossAmount != null and orderDetail.grossAmount != ''"> |
| | | and a.gross_amount like concat('%',#{orderDetail.grossAmount},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.order!=null and orderDetail.order.alType != null and orderDetail.order.alType != ''"> |
| | | and b.al_type like concat('%',#{orderDetail.order.alType},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.order!=null and orderDetail.order.salesman != null and orderDetail.order.salesman != ''"> |
| | | and b.salesman like concat('%',#{orderDetail.order.salesman},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.order!=null and orderDetail.order.deliveryAddress != null and orderDetail.order.deliveryAddress != ''"> |
| | | and b.delivery_address like concat('%',#{orderDetail.order.deliveryAddress},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.order!=null and orderDetail.order.creator != null and orderDetail.order.creator != ''"> |
| | | and b.creator like concat('%',#{orderDetail.order.creator},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.totalThickness != null and orderDetail.totalThickness != ''"> |
| | | and c.total_thickness like concat('%',#{orderDetail.totalThickness},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.levelOne != null and orderDetail.levelOne != ''"> |
| | | and d.type_name like concat('%',#{orderDetail.levelOne},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.levelTwo != null and orderDetail.levelTwo != ''"> |
| | | and e.type_name like concat('%',#{orderDetail.levelTwo},'%') |
| | | </if> |
| | | |
| | | <if test="orderDetail.order!=null and orderDetail.order.customerBatch != null and orderDetail.order.customerBatch != ''"> |
| | | and b.customer_batch like concat('%',#{orderDetail.order.customerBatch},'%') |
| | | </if> |
| | | group by b.order_id,a.product_id |
| | | ) as ss |
| | | </select> |
| | | |
| | | </mapper> |