| | |
| | | name: 'damageReport', |
| | | component: () => import('../views/pp/report/DamageReport.vue'), |
| | | }, |
| | | { |
| | | //跨工序次破报表 |
| | | path: 'crossProcessBreaking', |
| | | name: 'crossProcessBreaking', |
| | | component: () => import('../views/pp/report/crossProcessBreaking.vue'), |
| | | }, |
| | | // { |
| | | // path: '', |
| | | // redirect:'/main/report/ProductionSchedule' |
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: '1', width: 120, title: '报工时间',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, }, |
| | | {field: '2',width: 120, title: '责任工序', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: '3', width: 130,title: '责任班组', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: '5', width: 100,title: '次破类型', sortable: true,showOverflow:"ellipsis"}, |
| | | {field: '5', width: 100,title: '次破原因', sortable: true,showOverflow:"ellipsis"}, |
| | | {field: '6', width: 100,title: '次破数量', sortable: true}, |
| | | {field: '7',width: 100, title: '次破面积', sortable: true}, |
| | | {field: '9', width: 120,title: '项目名称', sortable: true}, |
| | | {field: '11',width: 120, title: '销售单号', sortable: true}, |
| | | {field: '12',width: 120, title: '单品名称', sortable: true}, |
| | | {field: '13',width: 120, title: '产地', sortable: true}, |
| | | ],//表格表头字段 |
| | | data:[],//表格数据 |
| | | url :'/report/crossProcessBreaking', |
| | | footList:['quantity','grossArea','computeGrossArea','perimeter','price','grossAmount'] |
| | | }) |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <basic-table |
| | | :childrenData="childrenData"/> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | </style> |
| | |
| | | <el-menu-item index="/main/report/TeamOutput">班组产量</el-menu-item> |
| | | <el-menu-item index="/main/report/EquipmentOutput">设备产量</el-menu-item> |
| | | </el-sub-menu> |
| | | <el-menu-item index="/main/report/DamageReport">次破报表</el-menu-item> |
| | | <el-sub-menu index="3" popper-class="test"> |
| | | <template #title>次破报表</template> |
| | | <el-menu-item index="/main/report/DamageReport">次破报表</el-menu-item> |
| | | <el-menu-item index="/main/report/CrossProcessBreaking">跨工序次破</el-menu-item> |
| | | </el-sub-menu> |
| | | |
| | | <el-menu-item index="/main/report/SplittingDetailsOutside">分架明细</el-menu-item> |
| | | <el-menu-item index="/main/report/TaskCompletionStatus">任务完成情况</el-menu-item> |
| | | <el-menu-item index="/main/report/RawMaterialRequisition">原片领料</el-menu-item> |
| | |
| | | }) |
| | | break |
| | | } |
| | | case 'setType':{ |
| | | alert('我接收到子组件传送的反审状态') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | router.push({path: '/main/workOrder/SelectWorkOrder', query: {startTime:startTime,endTime:endTime,state:state,random:Math.random()}}) |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | | } |
| | | }) |
| | | break |
| | |
| | | {field: 'order.customerBatch',width:120, title: '客户批次',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true} |
| | | ],//表格表头字段 |
| | | data:[],//表格数据 |
| | | url :'/order/getOrderReport/1', |
| | | url :'/order/getOrderReport', |
| | | footList:['quantity','grossArea','computeGrossArea','perimeter','price','grossAmount'] |
| | | }) |
| | | |
| | |
| | | |
| | | import com.example.erp.common.Constants; |
| | | import com.example.erp.common.Result; |
| | | import com.example.erp.entity.pp.DamageDetails; |
| | | import com.example.erp.entity.pp.FlowCard; |
| | | import com.example.erp.entity.sd.OrderDetail; |
| | | import com.example.erp.entity.sd.OrderGlassDetail; |
| | | import com.example.erp.exception.ServiceException; |
| | | import com.example.erp.service.pp.ReportService; |
| | |
| | | return Result.seccess(reportService.processCardProgressSv(orderId,columns)); |
| | | } |
| | | |
| | | @ApiOperation("跨工序次破") |
| | | @PostMapping("/crossProcessBreaking/{pageNum}/{pageSize}/{selectDate}") |
| | | public Result getOrderReport(@PathVariable Integer pageNum, |
| | | @PathVariable Integer pageSize, |
| | | @PathVariable List<String> selectDate, |
| | | @RequestBody DamageDetails damageDetails) { |
| | | return Result.seccess(reportService.crossProcessBreakingSv(pageNum,pageSize,selectDate,damageDetails)); |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | package com.example.erp.mapper.pp; |
| | | |
| | | |
| | | import com.example.erp.entity.pp.DamageDetails; |
| | | import com.example.erp.entity.pp.FlowCard; |
| | | import com.example.erp.entity.sd.OrderDetail; |
| | | import com.example.erp.entity.sd.OrderGlassDetail; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | |
| | | public interface ReportMapper { |
| | | |
| | | List<Map<String, String>> processCardProgressMp(String orderId); |
| | | |
| | | List<DamageDetails> getProcessBreaking(Integer offset, Integer pageSize, String startDate, String endDate, DamageDetails damageDetails); |
| | | |
| | | Map<String,Integer> getProcessBreakingTotal(Integer offset, Integer pageSize, String startDate, String endDate, DamageDetails damageDetails); |
| | | } |
| | |
| | | Boolean updateWorkType(String orderId, Integer state); |
| | | |
| | | Integer selectYesWorkCount(String orderId); |
| | | |
| | | Integer selectProcessCard(String orderId); |
| | | } |
| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | |
| | | import com.example.erp.entity.pp.DamageDetails; |
| | | import com.example.erp.entity.pp.FlowCard; |
| | | import com.example.erp.mapper.pp.ReportMapper; |
| | | import com.example.erp.mapper.sd.OrderProcessDetailMapper; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.sql.Date; |
| | | import java.time.LocalDate; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | private final ReportMapper reportMapper; |
| | | |
| | | private final OrderProcessDetailMapper orderProcessDetailMapper; |
| | | |
| | | |
| | | |
| | | public ReportService(ReportMapper reportMapper, OrderProcessDetailMapper orderProcessDetailMapper) { |
| | | this.reportMapper = reportMapper; |
| | |
| | | |
| | | return map; |
| | | } |
| | | |
| | | public Map<String,Object> crossProcessBreakingSv(Integer pageNum, Integer pageSize, List<String> selectDate, DamageDetails damageDetails) { |
| | | 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",reportMapper.getProcessBreaking(offset, pageSize, startDate, endDate, damageDetails)); |
| | | map.put("total",reportMapper.getProcessBreakingTotal(offset, pageSize, startDate, endDate, damageDetails)); |
| | | System.out.println(reportMapper.getProcessBreaking(offset, pageSize, startDate, endDate, damageDetails)); |
| | | List<String> list = new ArrayList<>(); |
| | | list.add(startDate); |
| | | list.add(endDate); |
| | | map.put("selectDate",list); |
| | | // map.put("total",orderMapper.getPageTotal(offset, pageSize, startDate, endDate, orderDetail)); |
| | | return map; |
| | | } |
| | | } |
| | |
| | | //删除生产订单 |
| | | public Boolean deleteOrderWorkSv(String orderId, String productionId) { |
| | | if (!orderId.isEmpty() && !productionId.isEmpty()) { |
| | | //删除订单小片表生产订单号 |
| | | workOrderMapper.deleteOrderWorkMp(orderId, productionId); |
| | | int state = 0; |
| | | int states = 1; |
| | | //查询该订单未转生产订单的条数 |
| | | Integer noWorkCount = workOrderMapper.selectWorkCount(orderId); |
| | | //查询该订单转生产订单的条数 |
| | | Integer yesWorkCount = workOrderMapper.selectYesWorkCount(orderId); |
| | | if (noWorkCount.equals(yesWorkCount)) { |
| | | workOrderMapper.updateWorkType(orderId, state); |
| | | } else { |
| | | workOrderMapper.updateWorkType(orderId, states); |
| | | //查询该订单是否已经建立流程卡 |
| | | Integer getProcessCard = workOrderMapper.selectProcessCard(orderId); |
| | | if (getProcessCard == 0){ |
| | | //删除订单小片表生产订单号 |
| | | workOrderMapper.deleteOrderWorkMp(orderId, productionId); |
| | | int state = 0; |
| | | int states = 1; |
| | | //查询该订单未转生产订单的条数 |
| | | Integer noWorkCount = workOrderMapper.selectWorkCount(orderId); |
| | | //查询该订单转生产订单的条数 |
| | | Integer yesWorkCount = workOrderMapper.selectYesWorkCount(orderId); |
| | | if (noWorkCount.equals(yesWorkCount)) { |
| | | workOrderMapper.updateWorkType(orderId, state); |
| | | } else { |
| | | workOrderMapper.updateWorkType(orderId, states); |
| | | } |
| | | return true; |
| | | } |
| | | return true; |
| | | else { |
| | | return false; |
| | | } |
| | | |
| | | } else { |
| | | return false; |
| | | } |
| | |
| | | od.product_name, |
| | | SUM( od.quantity) as quantity, |
| | | SUM(od.compute_gross_area) as compute_gross_area, |
| | | od.perimeter |
| | | sum(od.perimeter) as perimeter |
| | | from sd.order_detail as od left join |
| | | (select order_id,order_number,production_id,splitting_status from sd.order_glass_detail |
| | | GROUP BY order_id,order_number |
| | |
| | | where a.order_id = #{orderId} |
| | | |
| | | </select> |
| | | |
| | | <select id="getProcessBreaking" resultMap="flowCardMap"> |
| | | select rw.reporting_work_id,rw.reporting_work_time,dd.responsible_process,dd.responsible_team, |
| | | dd.breakage_type,dd.breakage_reason,ROUND(SUM(dd.breakage_quantity)), |
| | | round(ogd.child_width*ogd.child_height*SUM(dd.breakage_quantity)/1000000,2),rw.this_process, |
| | | o.project,o.order_id,ogd.glass_child |
| | | from |
| | | damage_details as dd |
| | | left join reporting_work as rw |
| | | on rw.reporting_work_id=dd.reporting_work_id |
| | | left join sd.order as o |
| | | on rw.order_id=o.order_id |
| | | left join sd.order_glass_detail as ogd |
| | | on ogd.order_id=o.order_id and ogd.order_number=dd.order_number |
| | | and ogd.technology_number and dd.technology_number |
| | | where date(rw.reporting_work_time)>=#{startDate} and date(rw.reporting_work_time) <= #{endDate} |
| | | and rw.this_worn_quantity>0 and dd.available=0 |
| | | and reviewed_state!=2 |
| | | and rw.this_process!=dd.responsible_process |
| | | GROUP BY dd.id |
| | | order by dd.reporting_work_id desc |
| | | limit #{offset},#{pageSize} |
| | | </select> |
| | | |
| | | <select id="getProcessBreakingTotal"> |
| | | select |
| | | CEILING(count(dd.id)/#{pageSize}) as 'pageTotal', |
| | | count(distinct dd.id) as 'total' |
| | | from |
| | | damage_details as dd |
| | | left join reporting_work as rw |
| | | on rw.reporting_work_id=dd.reporting_work_id |
| | | left join sd.order as o |
| | | on rw.order_id=o.order_id |
| | | left join sd.order_glass_detail as ogd |
| | | on ogd.order_id=o.order_id and ogd.order_number=dd.order_number |
| | | and ogd.technology_number and dd.technology_number |
| | | where date(rw.reporting_work_time)>=#{startDate} and date(rw.reporting_work_time) <= #{endDate} |
| | | and rw.this_worn_quantity>0 and dd.available=0 |
| | | and reviewed_state!=2 |
| | | and rw.this_process!=dd.responsible_process |
| | | order by dd.id desc |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | set o.production_order=#{state} |
| | | where o.order_id = #{orderId} |
| | | </update> |
| | | <select id="selectProcessCard"> |
| | | select processing_card from sd.`order` where order_id = #{orderId} |
| | | </select> |
| | | </mapper> |
| | |
| | | od.product_name, |
| | | SUM( od.quantity) as quantity, |
| | | SUM(od.compute_gross_area) as compute_gross_area, |
| | | od.perimeter |
| | | sum(od.perimeter) as perimeter |
| | | from sd.order_detail as od left join |
| | | (select order_id,order_number,production_id,splitting_status from sd.order_glass_detail |
| | | GROUP BY order_id,order_number |
| | |
| | | where a.order_id = #{orderId} |
| | | |
| | | </select> |
| | | |
| | | <select id="getProcessBreaking" resultMap="flowCardMap"> |
| | | select rw.reporting_work_id,rw.reporting_work_time,dd.responsible_process,dd.responsible_team, |
| | | dd.breakage_type,dd.breakage_reason,ROUND(SUM(dd.breakage_quantity)), |
| | | round(ogd.child_width*ogd.child_height*SUM(dd.breakage_quantity)/1000000,2),rw.this_process, |
| | | o.project,o.order_id,ogd.glass_child |
| | | from |
| | | damage_details as dd |
| | | left join reporting_work as rw |
| | | on rw.reporting_work_id=dd.reporting_work_id |
| | | left join sd.order as o |
| | | on rw.order_id=o.order_id |
| | | left join sd.order_glass_detail as ogd |
| | | on ogd.order_id=o.order_id and ogd.order_number=dd.order_number |
| | | and ogd.technology_number and dd.technology_number |
| | | where date(rw.reporting_work_time)>=#{startDate} and date(rw.reporting_work_time) <= #{endDate} |
| | | and rw.this_worn_quantity>0 and dd.available=0 |
| | | and reviewed_state!=2 |
| | | and rw.this_process!=dd.responsible_process |
| | | GROUP BY dd.id |
| | | order by dd.reporting_work_id desc |
| | | limit #{offset},#{pageSize} |
| | | </select> |
| | | |
| | | <select id="getProcessBreakingTotal"> |
| | | select |
| | | CEILING(count(dd.id)/#{pageSize}) as 'pageTotal', |
| | | count(distinct dd.id) as 'total' |
| | | from |
| | | damage_details as dd |
| | | left join reporting_work as rw |
| | | on rw.reporting_work_id=dd.reporting_work_id |
| | | left join sd.order as o |
| | | on rw.order_id=o.order_id |
| | | left join sd.order_glass_detail as ogd |
| | | on ogd.order_id=o.order_id and ogd.order_number=dd.order_number |
| | | and ogd.technology_number and dd.technology_number |
| | | where date(rw.reporting_work_time)>=#{startDate} and date(rw.reporting_work_time) <= #{endDate} |
| | | and rw.this_worn_quantity>0 and dd.available=0 |
| | | and reviewed_state!=2 |
| | | and rw.this_process!=dd.responsible_process |
| | | order by dd.id desc |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | set o.production_order=#{state} |
| | | where o.order_id = #{orderId} |
| | | </update> |
| | | <select id="selectProcessCard"> |
| | | select processing_card from sd.`order` where order_id = #{orderId} |
| | | </select> |
| | | </mapper> |
| | |
| | | |
| | | </resultMap> |
| | | |
| | | <resultMap id="selectDeliveryDetail" type="com.example.erp.entity.sd.DeliveryDetail"> |
| | | |
| | | <result column="order_id" property="orderId"/> |
| | | <result column="order_number" property="orderNumber"/> |
| | | <result column="o_quantity" property="quantity"/> |
| | | <result column="delivery_id" property="deliveryId"/> |
| | | <result column="delivery_number" property="deliveryNumber"/> |
| | | <result column="area" property="area"/> |
| | | <result column="money" property="money"/> |
| | | <result column="delivery_detail_remakes" property="deliveryDetailRemakes"/> |
| | | <result column="delivery_detail_state" property="deliveryDetailState"/> |
| | | <result column="create_time" property="createTime"/> |
| | | |
| | | <result column="customer_id" property="delivery.customerId"/> |
| | | <result column="customer_name" property="delivery.customerName"/> |
| | | <result column="project" property="delivery.project"/> |
| | | <result column="pay_method" property="delivery.payMethod"/> |
| | | <result column="payment_terms" property="delivery.paymentTerms"/> |
| | | <result column="pay_date" property="delivery.payDate"/> |
| | | <result column="contacts" property="delivery.contacts"/> |
| | | <result column="contact_number" property="delivery.contactNumber"/> |
| | | <result column="delivery_address" property="delivery.deliveryAddress"/> |
| | | <result column="delivery_date" property="delivery.deliveryDate"/> |
| | | <result column="creator" property="delivery.creator"/> |
| | | <result column="salesman" property="delivery.salesman"/> |
| | | |
| | | |
| | | |
| | | </resultMap> |
| | | |
| | | <delete id="deleteDeliveryDetail"> |
| | | delete from sd.delivery_detail where delivery_id=#{deliveryId} |
| | | </delete> |
| | |
| | | </where> |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | |
| | | <select id="getSelectDeliveryDetailReport" resultMap="selectDeliveryDetail"> |
| | | select dd.delivery_id, |
| | | dd.delivery_number, |
| | | 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, |
| | | dd.area, |
| | | dd.money, |
| | | dd.quantity, |
| | | dd.delivery_detail_remakes, |
| | | dd.create_time |
| | | from sd.delivery_detail dd |
| | | left join sd.delivery d on dd.delivery_id=d.delivery_id |
| | | <where> |
| | | <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''"> |
| | | and dd.delivery_id regexp #{deliveryDetail.deliveryId} |
| | | </if> |
| | | <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''"> |
| | | and dd.delivery_number regexp #{deliveryDetail.deliveryNumber} |
| | | </if> |
| | | <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''"> |
| | | and dd.order_id regexp #{deliveryDetail.orderId} |
| | | </if> |
| | | <if test="deliveryDetail.orderNumber != null and deliveryDetail.orderNumber != ''"> |
| | | and dd.order_number regexp #{deliveryDetail.orderNumber} |
| | | </if> |
| | | <if test="deliveryDetail.area != null and deliveryDetail.area != ''"> |
| | | and dd.area regexp #{deliveryDetail.area} |
| | | </if> |
| | | <if test="deliveryDetail.money != null and deliveryDetail.money != ''"> |
| | | and dd.money regexp #{deliveryDetail.money} |
| | | </if> |
| | | <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''"> |
| | | and dd.quantity regexp #{deliveryDetail.quantity} |
| | | </if> |
| | | <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''"> |
| | | and dd.delivery_detail_remakes regexp #{deliveryDetail.deliveryDetailRemakes} |
| | | </if> |
| | | <if test="deliveryDetail.createTime != null and deliveryDetail.createTime != ''"> |
| | | and dd.create_time regexp #{deliveryDetail.createTime} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.paymentTerms != null and deliveryDetail.delivery.paymentTerms != ''"> |
| | | and d.payment_terms regexp #{deliveryDetail.delivery.paymentTerms} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.project != null and deliveryDetail.delivery.project != ''"> |
| | | and d.project regexp #{deliveryDetail.delivery.project} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.customerId != null and deliveryDetail.delivery.customerId != ''"> |
| | | and d.customer_id regexp #{deliveryDetail.delivery.customerId} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.customerName != null and deliveryDetail.delivery.customerName != ''"> |
| | | and d.customer_name regexp #{deliveryDetail.delivery.customerName} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.deliveryDate != null and deliveryDetail.delivery.deliveryDate != ''"> |
| | | and d.delivery_date regexp #{deliveryDetail.delivery.deliveryDate} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.payMethod != null and deliveryDetail.delivery.payMethod != ''"> |
| | | and d.pay_method regexp #{deliveryDetail.delivery.payMethod} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.payDate != null and deliveryDetail.delivery.payDate != ''"> |
| | | and d.pay_date regexp #{deliveryDetail.delivery.payDate} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.salesman != null and deliveryDetail.delivery.salesman != ''"> |
| | | and d.salesman regexp #{deliveryDetail.delivery.salesman} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.creator != null and deliveryDetail.delivery.creator != ''"> |
| | | and d.creator regexp #{deliveryDetail.delivery.creator} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.contacts != null and deliveryDetail.delivery.contacts != ''"> |
| | | and d.contacts regexp #{deliveryDetail.delivery.contacts} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.contactNumber != null and deliveryDetail.delivery.contactNumber != ''"> |
| | | and d.contact_number regexp #{deliveryDetail.delivery.contactNumber} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.deliveryAddress != null and deliveryDetail.delivery.deliveryAddress != ''"> |
| | | and d.delivery_address regexp #{deliveryDetail.delivery.deliveryAddress} |
| | | </if> |
| | | |
| | | </where> |
| | | order by dd.delivery_id,dd.delivery_number |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="getSelectDeliveryDetailReportPageTotal" resultMap="selectDeliveryDetail"> |
| | | select CEILING(count(dd.id)/#{pageSize}) as 'pageTotal', |
| | | count(dd.id) as 'total' |
| | | from sd.delivery_detail dd |
| | | left join sd.delivery d on dd.delivery_id=d.delivery_id |
| | | <where> |
| | | <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''"> |
| | | and dd.delivery_id regexp #{deliveryDetail.deliveryId} |
| | | </if> |
| | | <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''"> |
| | | and dd.delivery_number regexp #{deliveryDetail.deliveryNumber} |
| | | </if> |
| | | <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''"> |
| | | and dd.order_id regexp #{deliveryDetail.orderId} |
| | | </if> |
| | | <if test="deliveryDetail.orderNumber != null and deliveryDetail.orderNumber != ''"> |
| | | and dd.order_number regexp #{deliveryDetail.orderNumber} |
| | | </if> |
| | | <if test="deliveryDetail.area != null and deliveryDetail.area != ''"> |
| | | and dd.area regexp #{deliveryDetail.area} |
| | | </if> |
| | | <if test="deliveryDetail.money != null and deliveryDetail.money != ''"> |
| | | and dd.money regexp #{deliveryDetail.money} |
| | | </if> |
| | | <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''"> |
| | | and dd.quantity regexp #{deliveryDetail.quantity} |
| | | </if> |
| | | <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''"> |
| | | and dd.delivery_detail_remakes regexp #{deliveryDetail.deliveryDetailRemakes} |
| | | </if> |
| | | <if test="deliveryDetail.createTime != null and deliveryDetail.createTime != ''"> |
| | | and dd.create_time regexp #{deliveryDetail.createTime} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.paymentTerms != null and deliveryDetail.delivery.paymentTerms != ''"> |
| | | and d.payment_terms regexp #{deliveryDetail.delivery.paymentTerms} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.project != null and deliveryDetail.delivery.project != ''"> |
| | | and d.project regexp #{deliveryDetail.delivery.project} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.customerId != null and deliveryDetail.delivery.customerId != ''"> |
| | | and d.customer_id regexp #{deliveryDetail.delivery.customerId} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.customerName != null and deliveryDetail.delivery.customerName != ''"> |
| | | and d.customer_name regexp #{deliveryDetail.delivery.customerName} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.deliveryDate != null and deliveryDetail.delivery.deliveryDate != ''"> |
| | | and d.delivery_date regexp #{deliveryDetail.delivery.deliveryDate} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.payMethod != null and deliveryDetail.delivery.payMethod != ''"> |
| | | and d.pay_method regexp #{deliveryDetail.delivery.payMethod} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.payDate != null and deliveryDetail.delivery.payDate != ''"> |
| | | and d.pay_date regexp #{deliveryDetail.delivery.payDate} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.salesman != null and deliveryDetail.delivery.salesman != ''"> |
| | | and d.salesman regexp #{deliveryDetail.delivery.salesman} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.creator != null and deliveryDetail.delivery.creator != ''"> |
| | | and d.creator regexp #{deliveryDetail.delivery.creator} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.contacts != null and deliveryDetail.delivery.contacts != ''"> |
| | | and d.contacts regexp #{deliveryDetail.delivery.contacts} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.contactNumber != null and deliveryDetail.delivery.contactNumber != ''"> |
| | | and d.contact_number regexp #{deliveryDetail.delivery.contactNumber} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.deliveryAddress != null and deliveryDetail.delivery.deliveryAddress != ''"> |
| | | and d.delivery_address regexp #{deliveryDetail.delivery.deliveryAddress} |
| | | </if> |
| | | |
| | | </where> |
| | | order by dd.delivery_id,dd.delivery_number |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | </mapper> |