| | |
| | | component: () => import('../views/sd/delivery/DeliveryReport.vue'), |
| | | }, |
| | | { |
| | | path: 'deliveryProductReport', |
| | | name: 'deliveryProductReport', |
| | | component: () => import('../views/sd/delivery/DeliveryProductReport.vue'), |
| | | }, |
| | | { |
| | | path: 'createDelivery', |
| | | name: 'createDelivery', |
| | | component: () => import('../views/sd/delivery/CreateDelivery.vue'), |
| | |
| | | <el-breadcrumb :separator-icon="ArrowRight"> |
| | | <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/delivery/selectDelivery' }">{{$t('delivery.shippingHomepage')}}</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/delivery/selectOrderList' }">{{$t('delivery.orderShipment')}}</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/delivery/deliveryReport' }">{{$t('productStock.reportForms')}}</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/delivery/deliveryReport' }">发货明细报表</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/delivery/deliveryProductReport' }">发货产品分类报表</el-breadcrumb-item> |
| | | <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">{{$t('productStock.reportForms')}}</el-breadcrumb-item> |
| | | </el-breadcrumb> |
| | | </div> |
New file |
| | |
| | | <script setup> |
| | | |
| | | import BasicTable from "@/components/BasicTable.vue" |
| | | import request from "@/utils/request" |
| | | import { ref} from "vue" |
| | | |
| | | const childrenData = ref({ |
| | | columns:[ |
| | | {type:'expand',fixed:"left",width: 80}, |
| | | {type: 'seq',fixed:"left", title: '自序', width: 80 }, |
| | | {field: 'deliveryId',width:120, title: '发货单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'deliveryNumber',width:120, title: '发货序号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'orderDetail.productId',width:120, title: '产品编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'orderDetail.productName',width:120, title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'delivery.paymentTerms',width:120, title: '付款条件',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'delivery.project',width:140, title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'quantity',width:120, title: '数量', sortable: true}, |
| | | {field: 'area',width:120, title: '面积', sortable: true}, |
| | | {field: 'money',width:120, title: '金额', sortable: true}, |
| | | {field: 'delivery.customerId',width:120, title: '客户编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'delivery.customerName',width:120, title: '客户名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'delivery.deliveryDate',width:120, title: '送货日期',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'delivery.payMethod',width:120, title: '支付方式',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'delivery.payDate',width:120, title: '支付日期',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'delivery.salesman',width:120, title: '销售员',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'delivery.creator',width:120, title: '发货员',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'delivery.contacts',width:120, title: '联系人',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'delivery.contactNumber',width:120, title: '联系电话',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'delivery.deliveryAddress',width:150, title: '送货地址',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'orderId',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: 'deliveryDetailRemakes',width:120, title: '备注',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'createTime',width:120, title: '报表日期',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | |
| | | ],//表格表头字段 |
| | | data:[],//表格数据 |
| | | url :'/Delivery/getSelectDeliveryDetailProductReport', |
| | | footList:['quantity','area','money'] |
| | | }) |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <basic-table |
| | | :childrenData="childrenData"/> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | </style> |
| | |
| | | /*出入库返回*/ |
| | | @ApiOperation("出入库返回接口") |
| | | @SaCheckPermission("storageRecord.update") |
| | | @PostMapping("/cancelFinishedGoodsInventoryStorage") |
| | | @PostMapping("/cancelFini shedGoodsInventoryStorage") |
| | | public Result cancelFinishedGoodsInventoryStorage( @RequestBody Map<String,Object> object){ |
| | | return Result.seccess(finishedGoodsInventoryService.cancelFinishedGoodsInventoryStorage(object)); |
| | | } |
| | |
| | | return Result.seccess(deliveryService.getSelectDeliveryDetailReport(pageNum,pageSize,selectDate,deliveryDetail)); |
| | | } |
| | | |
| | | /*发货报表查询*/ |
| | | @ApiOperation("发货产品分类报表查询接口") |
| | | @SaCheckPermission("deliveryReport.search") |
| | | @PostMapping("/getSelectDeliveryDetailProductReport/{pageNum}/{pageSize}/{selectDate}") |
| | | public Result getSelectDeliveryDetailProductReport(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable List<String> selectDate, @RequestBody DeliveryDetail deliveryDetail){ |
| | | return Result.seccess(deliveryService.getSelectDeliveryDetailProductReport(pageNum,pageSize,selectDate,deliveryDetail)); |
| | | } |
| | | |
| | | /*发货订单明细查询*/ |
| | | @ApiOperation("发货编辑订单明细查询接口") |
| | | @SaCheckPermission("createDelivery.search") |
| | |
| | | |
| | | Map<String,Integer> getSelectDeliveryDetailReportPageTotal(Integer offset, Integer pageSize,String startDate, String endDate, DeliveryDetail deliveryDetail); |
| | | |
| | | List<DeliveryDetail> getSelectDeliveryDetailProductReport(@Param("offset") Integer offset, |
| | | @Param("pageSize") Integer pageSize,String startDate, String endDate, |
| | | @Param("deliveryDetail") DeliveryDetail deliveryDetail); |
| | | |
| | | Map<String,Integer> getSelectDeliveryDetailProductReportPageTotal(Integer offset, Integer pageSize,String startDate, String endDate, DeliveryDetail deliveryDetail); |
| | | |
| | | List<DeliveryDetail> getSelectShippingOrderDetails(@Param("offset") Integer offset, |
| | | @Param("pageSize") Integer pageSize, |
| | | @Param("orderDetail") OrderDetail orderDetail); |
| | |
| | | return map; |
| | | } |
| | | |
| | | public Map<String, Object> getSelectDeliveryDetailProductReport(Integer pageNum, Integer pageSize,List<String> selectDate, DeliveryDetail deliveryDetail) { |
| | | Integer offset = (pageNum - 1) * pageSize; |
| | | String endDate = LocalDate.now().toString(); |
| | | String startDate = LocalDate.now().minusDays(15).toString(); |
| | | if(selectDate !=null && selectDate.size()==2){ |
| | | if(!selectDate.get(0).isEmpty()){ |
| | | startDate = selectDate.get(0); |
| | | } |
| | | if(!selectDate.get(1).isEmpty()){ |
| | | endDate = selectDate.get(1); |
| | | } |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("data", deliveryDetailMapper.getSelectDeliveryDetailProductReport(offset, pageSize,startDate,endDate, deliveryDetail)); |
| | | map.put("total", deliveryDetailMapper.getSelectDeliveryDetailProductReportPageTotal(offset, pageSize,startDate,endDate, deliveryDetail)); |
| | | List<String> list = new ArrayList<>(); |
| | | list.add(startDate); |
| | | list.add(endDate); |
| | | map.put("selectDate",list); |
| | | return map; |
| | | } |
| | | |
| | | public Map<String, Object> getSelectShippingOrderDetail(Integer pageNum, Integer pageSize, OrderDetail orderDetail) { |
| | | Integer offset = (pageNum - 1) * pageSize; |
| | | |
| | |
| | | <result column="creator" property="delivery.creator"/> |
| | | <result column="salesman" property="delivery.salesman"/> |
| | | |
| | | <result column="product_id" property="orderDetail.productId"/> |
| | | <result column="product_name" property="orderDetail.productName"/> |
| | | |
| | | |
| | | |
| | | </resultMap> |
| | |
| | | order by dd.delivery_id,dd.delivery_number |
| | | </select> |
| | | |
| | | |
| | | <select id="getSelectDeliveryDetailProductReport" resultMap="selectDeliveryDetail"> |
| | | select dd.delivery_id, |
| | | dd.delivery_number, |
| | | od.product_id, |
| | | od.product_name, |
| | | d.payment_terms, |
| | | d.project, |
| | | d.customer_id, |
| | | d.customer_name, |
| | | d.delivery_date, |
| | | d.pay_method, |
| | | d.pay_date, |
| | | d.salesman, |
| | | d.creator, |
| | | d.contacts, |
| | | d.contact_number, |
| | | d.delivery_address, |
| | | dd.order_id, |
| | | dd.order_number, |
| | | sum(dd.area) as area, |
| | | sum(dd.money) as money, |
| | | sum(dd.quantity) as quantity, |
| | | dd.delivery_detail_remakes, |
| | | dd.create_time |
| | | from sd.delivery_detail dd left join delivery d on dd.delivery_id=d.delivery_id |
| | | left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number |
| | | <where> |
| | | and date(dd.create_time)>=#{startDate} and date(dd.create_time) <= #{endDate} |
| | | <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''"> |
| | | and dd.delivery_id like concat('%',#{deliveryDetail.deliveryId},'%') |
| | | </if> |
| | | <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''"> |
| | | and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%') |
| | | </if> |
| | | <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''"> |
| | | and dd.order_id like concat('%', #{deliveryDetail.orderId},'%') |
| | | </if> |
| | | <if test="deliveryDetail.orderNumber != null and deliveryDetail.orderNumber != ''"> |
| | | and dd.order_number like concat('%', #{deliveryDetail.orderNumber},'%') |
| | | </if> |
| | | <if test="deliveryDetail.area != null and deliveryDetail.area != ''"> |
| | | and dd.area like concat('%', #{deliveryDetail.area},'%') |
| | | </if> |
| | | <if test="deliveryDetail.money != null and deliveryDetail.money != ''"> |
| | | and dd.money like concat('%', #{deliveryDetail.money},'%') |
| | | </if> |
| | | <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''"> |
| | | and dd.quantity like concat('%', #{deliveryDetail.quantity},'%') |
| | | </if> |
| | | <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''"> |
| | | and dd.delivery_detail_remakes like concat('%', #{deliveryDetail.deliveryDetailRemakes},'%') |
| | | </if> |
| | | <if test="deliveryDetail.createTime != null and deliveryDetail.createTime != ''"> |
| | | and dd.create_time like concat('%', #{deliveryDetail.createTime},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.paymentTerms != null and deliveryDetail.delivery.paymentTerms != '')"> |
| | | and d.payment_terms like concat('%', #{deliveryDetail.delivery.paymentTerms},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.project != null and deliveryDetail.delivery.project != '')"> |
| | | and d.project like concat('%', #{deliveryDetail.delivery.project},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.customerId != null and deliveryDetail.delivery.customerId != '')"> |
| | | and d.customer_id like concat('%', #{deliveryDetail.delivery.customerId},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.customerName != null and deliveryDetail.delivery.customerName != '')"> |
| | | and d.customer_name like concat('%', #{deliveryDetail.delivery.customerName},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.deliveryDate != null and deliveryDetail.delivery.deliveryDate != '')"> |
| | | and d.delivery_date like concat('%', #{deliveryDetail.delivery.deliveryDate},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.payMethod != null and deliveryDetail.delivery.payMethod != '')"> |
| | | and d.pay_method like concat('%', #{deliveryDetail.delivery.payMethod},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.payDate != null and deliveryDetail.delivery.payDate != '')"> |
| | | and d.pay_date like concat('%', #{deliveryDetail.delivery.payDate},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.salesman != null and deliveryDetail.delivery.salesman != '')"> |
| | | and d.salesman like concat('%', #{deliveryDetail.delivery.salesman},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.creator != null and deliveryDetail.delivery.creator != '')"> |
| | | and d.creator like concat('%', #{deliveryDetail.delivery.creator},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.contacts != null and deliveryDetail.delivery.contacts != '')"> |
| | | and d.contacts like concat('%', #{deliveryDetail.delivery.contacts},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.contactNumber != null and deliveryDetail.delivery.contactNumber != '')"> |
| | | and d.contact_number like concat('%', #{deliveryDetail.delivery.contactNumber},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.deliveryAddress != null and deliveryDetail.delivery.deliveryAddress != '')"> |
| | | and d.delivery_address like concat('%', #{deliveryDetail.delivery.deliveryAddress},'%') |
| | | </if> |
| | | <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != '')"> |
| | | and od.product_id like concat('%', #{deliveryDetail.orderDetail.productName},'%') |
| | | </if> |
| | | <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != '')"> |
| | | and od.product_name like concat('%', #{deliveryDetail.orderDetail.productId},'%') |
| | | </if> |
| | | |
| | | </where> |
| | | group by dd.delivery_id,od.product_id |
| | | order by dd.delivery_id,dd.delivery_number |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | |
| | | <select id="getSelectDeliveryDetailProductReportPageTotal"> |
| | | select |
| | | CEILING(count(zu.id)/#{pageSize}) as 'pageTotal', |
| | | count(zu.id) as 'total' from ( |
| | | select dd.id as id |
| | | from sd.delivery_detail dd left join delivery d on dd.delivery_id=d.delivery_id |
| | | left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number |
| | | <where> |
| | | and date(dd.create_time)>=#{startDate} and date(dd.create_time) <= #{endDate} |
| | | <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''"> |
| | | and dd.delivery_id like concat('%',#{deliveryDetail.deliveryId},'%') |
| | | </if> |
| | | <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''"> |
| | | and dd.delivery_number like concat('%',#{deliveryDetail.deliveryNumber},'%') |
| | | </if> |
| | | <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''"> |
| | | and dd.order_id like concat('%', #{deliveryDetail.orderId},'%') |
| | | </if> |
| | | <if test="deliveryDetail.orderNumber != null and deliveryDetail.orderNumber != ''"> |
| | | and dd.order_number like concat('%', #{deliveryDetail.orderNumber},'%') |
| | | </if> |
| | | <if test="deliveryDetail.area != null and deliveryDetail.area != ''"> |
| | | and dd.area like concat('%', #{deliveryDetail.area},'%') |
| | | </if> |
| | | <if test="deliveryDetail.money != null and deliveryDetail.money != ''"> |
| | | and dd.money like concat('%', #{deliveryDetail.money},'%') |
| | | </if> |
| | | <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''"> |
| | | and dd.quantity like concat('%', #{deliveryDetail.quantity},'%') |
| | | </if> |
| | | <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''"> |
| | | and dd.delivery_detail_remakes like concat('%', #{deliveryDetail.deliveryDetailRemakes},'%') |
| | | </if> |
| | | <if test="deliveryDetail.createTime != null and deliveryDetail.createTime != ''"> |
| | | and dd.create_time like concat('%', #{deliveryDetail.createTime},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.paymentTerms != null and deliveryDetail.delivery.paymentTerms != '')"> |
| | | and d.payment_terms like concat('%', #{deliveryDetail.delivery.paymentTerms},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.project != null and deliveryDetail.delivery.project != '')"> |
| | | and d.project like concat('%', #{deliveryDetail.delivery.project},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.customerId != null and deliveryDetail.delivery.customerId != '')"> |
| | | and d.customer_id like concat('%', #{deliveryDetail.delivery.customerId},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.customerName != null and deliveryDetail.delivery.customerName != '')"> |
| | | and d.customer_name like concat('%', #{deliveryDetail.delivery.customerName},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.deliveryDate != null and deliveryDetail.delivery.deliveryDate != '')"> |
| | | and d.delivery_date like concat('%', #{deliveryDetail.delivery.deliveryDate},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.payMethod != null and deliveryDetail.delivery.payMethod != '')"> |
| | | and d.pay_method like concat('%', #{deliveryDetail.delivery.payMethod},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.payDate != null and deliveryDetail.delivery.payDate != '')"> |
| | | and d.pay_date like concat('%', #{deliveryDetail.delivery.payDate},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.salesman != null and deliveryDetail.delivery.salesman != '')"> |
| | | and d.salesman like concat('%', #{deliveryDetail.delivery.salesman},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.creator != null and deliveryDetail.delivery.creator != '')"> |
| | | and d.creator like concat('%', #{deliveryDetail.delivery.creator},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.contacts != null and deliveryDetail.delivery.contacts != '')"> |
| | | and d.contacts like concat('%', #{deliveryDetail.delivery.contacts},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.contactNumber != null and deliveryDetail.delivery.contactNumber != '')"> |
| | | and d.contact_number like concat('%', #{deliveryDetail.delivery.contactNumber},'%') |
| | | </if> |
| | | <if test="deliveryDetail.delivery!=null and (deliveryDetail.delivery.deliveryAddress != null and deliveryDetail.delivery.deliveryAddress != '')"> |
| | | and d.delivery_address like concat('%', #{deliveryDetail.delivery.deliveryAddress},'%') |
| | | </if> |
| | | <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productName != null and deliveryDetail.orderDetail.productName != '')"> |
| | | and od.product_id like concat('%', #{deliveryDetail.orderDetail.productName},'%') |
| | | </if> |
| | | <if test="deliveryDetail.orderDetail!=null and (deliveryDetail.orderDetail.productId != null and deliveryDetail.orderDetail.productId != '')"> |
| | | and od.product_name like concat('%', #{deliveryDetail.orderDetail.productId},'%') |
| | | </if> |
| | | |
| | | </where> |
| | | group by dd.delivery_id,od.product_id) as zu |
| | | </select> |
| | | |
| | | <select id="getSelectDeliveryPrinting" resultMap="selectDeliveryDetailOrderDetail" > |
| | | select dd.delivery_id,od.order_id,od.product_id,od.product_name,sum(dd.area) as area,sum(dd.money) as money,sum(dd.quantity) as quantity from |
| | | delivery_detail dd left join order_detail od on dd.order_id=od.order_id and dd.order_number=od.order_number |