Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
| | |
| | | }) |
| | | const form = ref({ |
| | | }) |
| | | let produceList2 = ref([]) |
| | | |
| | | |
| | | |
| | | const getData = () => { |
| | | if(props.deliveryId===null || props.deliveryId===undefined || props.deliveryId===''){ |
| | | return |
| | |
| | | |
| | | request.post(`/delivery/getSelectDeliveryPrinting`,form.value).then((res) => { |
| | | if(res.code==200){ |
| | | produceList.value = deepClone(res.data.data) |
| | | delivery.value=deepClone(res.data.delivery) |
| | | money.value=deepClone(res.data.money) |
| | | otherMoney.value=deepClone(res.data.otherMoney) |
| | | produceList.value.forEach(item => { |
| | | sumMoney+=item.DeliveryDetail.money |
| | | }) |
| | | otherMoney1=[] |
| | | otherMoney=deepClone(res.data.otherMoney) |
| | | for(let i=0;i<otherMoney.length;i++){ |
| | | if(otherMoney[i].DeliveryDetailOtherMoney.monery!=null){ |
| | | otherMoneys+=otherMoney[i].DeliveryDetailOtherMoney.monery |
| | | if(otherMoney1.length===0){ |
| | | otherMoney1.push(otherMoney[i]) |
| | | } |
| | | else{ |
| | | for(let s=0;s<otherMoney1.length;s++){ |
| | | if(otherMoney[i].DeliveryDetailOtherMoney.alias===otherMoney1[s].DeliveryDetailOtherMoney.alias){ |
| | | produceList.value = deepClone(res.data) |
| | | for(let i=0;i<produceList.value.length;i++){ |
| | | let produceList1= ({ |
| | | data:null, |
| | | otherMoney:null, |
| | | otherMoney1:null, |
| | | delivery:null, |
| | | money:null, |
| | | otherMoneys:0, |
| | | sumMoney:0 |
| | | }) |
| | | produceList1.data=produceList.value[i].data |
| | | produceList1.delivery=produceList.value[i].delivery |
| | | produceList1.money=produceList.value[i].money |
| | | produceList1.otherMoney=produceList.value[i].otherMoney |
| | | for(let j=0;j<produceList1.data.length;j++){ |
| | | produceList1.sumMoney+=produceList1.data[j].DeliveryDetail.money |
| | | } |
| | | otherMoney1=[] |
| | | for(let i=0;i<produceList1.otherMoney.length;i++){ |
| | | if(produceList1.otherMoney[i].DeliveryDetailOtherMoney.monery!=null){ |
| | | produceList1.otherMoneys+=produceList1.otherMoney[i].DeliveryDetailOtherMoney.monery |
| | | if(otherMoney1.length===0){ |
| | | otherMoney1.push(produceList1.otherMoney[i]) |
| | | } |
| | | else{ |
| | | for(let s=0;s<otherMoney1.length;s++){ |
| | | if(produceList1.otherMoney[i].DeliveryDetailOtherMoney.alias===otherMoney1[s].DeliveryDetailOtherMoney.alias){ |
| | | |
| | | otherMoney1[s].DeliveryDetailOtherMoney.count=add(otherMoney[i].DeliveryDetailOtherMoney.count,otherMoney1[s].DeliveryDetailOtherMoney.count) |
| | | otherMoney1[s].DeliveryDetailOtherMoney.monery =add(otherMoney[i].DeliveryDetailOtherMoney.monery,otherMoney1[s].DeliveryDetailOtherMoney.monery) |
| | | break |
| | | otherMoney1[s].DeliveryDetailOtherMoney.count=add(produceList1.otherMoney[i].DeliveryDetailOtherMoney.count,otherMoney1[s].DeliveryDetailOtherMoney.count) |
| | | otherMoney1[s].DeliveryDetailOtherMoney.monery =add(produceList1.otherMoney[i].DeliveryDetailOtherMoney.monery,otherMoney1[s].DeliveryDetailOtherMoney.monery) |
| | | break |
| | | } |
| | | if(s+1===otherMoney1.length){ |
| | | otherMoney1.push(produceList1.otherMoney[i]) |
| | | break |
| | | } |
| | | } |
| | | if(s+1===otherMoney1.length){ |
| | | otherMoney1.push(otherMoney[i]) |
| | | break |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | } |
| | | produceList1.otherMoney1=otherMoney1 |
| | | produceList2.value.push(produceList1) |
| | | } |
| | | |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | |
| | | |
| | | <template> |
| | | <div id="sheet"> |
| | | <table > |
| | | <table class="pages" v-for="(itme1, index) in produceList2" :key="index" > |
| | | <thead> |
| | | <tr class="title-s"> |
| | | <th colspan="9"> |
| | |
| | | <th colspan="5" style="width: 40%;"> |
| | | <h3>销售发货单</h3> |
| | | </th> |
| | | <th colspan="2" style="width: 30%;text-align: left;">发货单号:<span>{{delivery.deliveryId}}</span></th> |
| | | <th colspan="2" style="width: 30%;text-align: left;">发货单号:<span>{{itme1.delivery.deliveryId}}</span></th> |
| | | </tr> |
| | | <tr> |
| | | <th style="text-align: left;border:none;" colspan="4">客户名称:<span>{{delivery.customerName}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="3">项目名称:<span>{{delivery.project}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="2">联系人:<span>{{delivery.contacts}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="4">客户名称:<span>{{itme1.delivery.customerName}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="3">项目名称:<span>{{itme1.delivery.project}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="2">联系人:<span>{{itme1.delivery.contacts}}</span></th> |
| | | </tr> |
| | | <tr> |
| | | <th style="text-align: left;border:none;" colspan="7">送货地址:<span>{{delivery.deliveryAddress}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="2">联系电话:<span>{{delivery.contactNumber}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="7">送货地址:<span>{{itme1.delivery.deliveryAddress}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="2">联系电话:<span>{{itme1.delivery.contactNumber}}</span></th> |
| | | </tr> |
| | | |
| | | |
| | |
| | | <tr style="border-style: none"> |
| | | <td colspan="9" style="border-style: none"> |
| | | <table style="border-style: none;width: 100%;height: 100%;"> |
| | | <template v-for="(item, index) in produceList" :key="index" > |
| | | <template v-for="(item, index) in itme1.data" :key="index" > |
| | | <thead> |
| | | <tr v-if="index===0"> |
| | | <th style="width: 6%;">序号</th> |
| | |
| | | </template> |
| | | <tr class="day-in"> |
| | | <td style="font-size: 15px;" colspan="3">合计:</td> |
| | | <td>{{delivery.quantity}}</td> |
| | | <td>{{delivery.area}}</td> |
| | | <td>{{itme1.delivery.quantity}}</td> |
| | | <td>{{itme1.delivery.area}}</td> |
| | | <td></td> |
| | | <td>{{parseFloat(sumMoney.toFixed(2))}}</td> |
| | | <td>{{parseFloat(itme1.sumMoney.toFixed(2))}}</td> |
| | | <td colspan="2"></td> |
| | | </tr> |
| | | <tr class="day-in"> |
| | |
| | | <span style="width: 25%">金额</span> |
| | | </div> |
| | | </td> |
| | | <td style="text-align: left;border:none;font-size: 15px;" colspan="5">总金额: {{delivery.money}}</td> |
| | | <td style="text-align: left;border:none;font-size: 15px;" colspan="5">总金额: {{itme1.delivery.money}}</td> |
| | | </tr> |
| | | <tr class="day-in"> |
| | | <td style="text-align: left;border-width: 0 1px 0 0; border-style: solid; border-color: #d3dce6;" colspan="4" > |
| | | <div style="display: flex;font-size: 10px;text-align: center" v-for="(item, index2) in otherMoney1" :key="index2"> |
| | | <div style="display: flex;font-size: 10px;text-align: center" v-for="(item, index2) in itme1.otherMoney1" :key="index2"> |
| | | <span style="width: 25%">{{item.DeliveryDetailOtherMoney.alias}}</span> |
| | | <span style="width: 25%">{{item.DeliveryDetailOtherMoney.price}}</span> |
| | | <span style="width: 25%">{{item.DeliveryDetailOtherMoney.count}}</span> |
| | | <span style="width: 25%">{{parseFloat(item.DeliveryDetailOtherMoney.monery).toFixed(2)}}</span> |
| | | </div> |
| | | <div style="display: flex;font-size: 10px;text-align: center" v-if="delivery.freight>0"> |
| | | <div style="display: flex;font-size: 10px;text-align: center" v-if="itme1.delivery.freight>0"> |
| | | <span style="width: 25%">运费</span> |
| | | <span style="width: 25%">{{delivery.freightPrice}}</span> |
| | | <span style="width: 25%">{{delivery.freightQuantity}}</span> |
| | | <span style="width: 25%">{{delivery.freight}}</span> |
| | | <span style="width: 25%">{{itme1.delivery.freightPrice}}</span> |
| | | <span style="width: 25%">{{itme1.delivery.freightQuantity}}</span> |
| | | <span style="width: 25%">{{itme1.delivery.freight}}</span> |
| | | </div> |
| | | </td> |
| | | <td style="text-align: left;border:none;font-size: 15px;" colspan="5">大写金额: {{money}}</td> |
| | | <td style="text-align: left;border:none;font-size: 15px;" colspan="5">大写金额: {{itme1.money}}</td> |
| | | </tr> |
| | | |
| | | |
| | |
| | | <tr class="day-in" style="border: 0;" v-if="company.showDeliveryCreator"> |
| | | <td colspan="9" style="border: 0"> |
| | | <div style="display:flex;text-align: left" class="bottom"> |
| | | <div style="width: 15%">制单员:{{ delivery.creator }}</div> |
| | | <div style="width: 25%">制单日期:{{ delivery.createTime }}</div> |
| | | <div style="width: 15%">制单员:{{ itme1.delivery.creator }}</div> |
| | | <div style="width: 25%">制单日期:{{ itme1.delivery.createTime }}</div> |
| | | <div style="width: 10%">发货员:</div> |
| | | <div style="width: 10%">司机:</div> |
| | | <div style="width: 15%">客户签字:</div> |
| | |
| | | <tr class="day-in" style="border: 0" v-if="!company.showDeliveryCreator"> |
| | | <td colspan="9" style="border: 0"> |
| | | <div style="display:flex;text-align: left" class="bottom"> |
| | | <div style="width: 15%">制单员:{{ delivery.creator }}</div> |
| | | <div style="width: 15%">制单日期:{{ delivery.createTime1 }}</div> |
| | | <div style="width: 15%">制单员:{{ itme1.delivery.creator }}</div> |
| | | <div style="width: 15%">制单日期:{{ itme1.delivery.createTime1 }}</div> |
| | | <div style="width: 15%">发货员:</div> |
| | | <div style="width: 15%">司机:</div> |
| | | <div style="width: 15%">客户签字:</div> |
| | |
| | | |
| | | |
| | | <style scoped> |
| | | @media print { |
| | | |
| | | .pages { |
| | | page-break-after: always; |
| | | } |
| | | } |
| | | h1,h3{ |
| | | left:0; |
| | | right:0; |
| | |
| | | let remark = company.deliveryRemark |
| | | |
| | | |
| | | |
| | | let produceList2 = ref([]) |
| | | let props = defineProps({ |
| | | deliveryId:null |
| | | }) |
| | |
| | | |
| | | request.post(`/delivery/getSelectDeliveryPrinting`,form.value).then((res) => { |
| | | if(res.code==200){ |
| | | produceList.value = deepClone(res.data.data) |
| | | delivery.value=deepClone(res.data.delivery) |
| | | money.value=deepClone(res.data.money) |
| | | otherMoney.value=deepClone(res.data.otherMoney) |
| | | otherMoney.value.forEach(item => { |
| | | if(item.DeliveryDetailOtherMoney.monery!=null){ |
| | | otherMoneys+=item.DeliveryDetailOtherMoney.monery |
| | | } |
| | | }) |
| | | produceList.value = deepClone(res.data) |
| | | for(let i=0;i<produceList.value.length;i++){ |
| | | let produceList1= ({ |
| | | data:null, |
| | | delivery:null, |
| | | }) |
| | | produceList1.data=produceList.value[i].data |
| | | produceList1.delivery=produceList.value[i].delivery |
| | | |
| | | |
| | | produceList2.value.push(produceList1) |
| | | } |
| | | |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | |
| | | |
| | | <template> |
| | | <div id="sheet"> |
| | | <table > |
| | | <table class="pages" v-for="(itme1, index) in produceList2" :key="index" > |
| | | <thead> |
| | | <tr class="title-s"> |
| | | <th colspan="9"> |
| | |
| | | <th colspan="5" style="width: 40%;"> |
| | | <h3>销售发货单</h3> |
| | | </th> |
| | | <th colspan="2" style="width: 30%;text-align: left;">发货单号:<span>{{delivery.deliveryId}}</span></th> |
| | | <th colspan="2" style="width: 30%;text-align: left;">发货单号:<span>{{itme1.delivery.deliveryId}}</span></th> |
| | | </tr> |
| | | <tr> |
| | | <th style="text-align: left;border:none;" colspan="4">客户名称:<span>{{delivery.customerName}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="3">项目名称:<span>{{delivery.project}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="2">联系人:<span>{{delivery.contacts}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="4">客户名称:<span>{{itme1.delivery.customerName}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="3">项目名称:<span>{{itme1.delivery.project}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="2">联系人:<span>{{itme1.delivery.contacts}}</span></th> |
| | | </tr> |
| | | <tr> |
| | | <th style="text-align: left;border:none;" colspan="7">送货地址:<span>{{delivery.deliveryAddress}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="2">联系电话:<span>{{delivery.contactNumber}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="7">送货地址:<span>{{itme1.delivery.deliveryAddress}}</span></th> |
| | | <th style="text-align: left;border:none;" colspan="2">联系电话:<span>{{itme1.delivery.contactNumber}}</span></th> |
| | | </tr> |
| | | |
| | | |
| | |
| | | <tr style="border-style: none"> |
| | | <td colspan="9" style="border-style: none"> |
| | | <table style="border-style: none;width: 100%;height: 100%"> |
| | | <template v-for="(item, index) in produceList" :key="index" > |
| | | <template v-for="(item, index) in itme1.data" :key="index" > |
| | | <thead> |
| | | <tr v-if="index===0"> |
| | | <th style="width: 6%;">序号</th> |
| | |
| | | </template> |
| | | <tr class="day-in"> |
| | | <td style="font-size: 15px;" colspan="4">合计:</td> |
| | | <td>{{delivery.quantity}}</td> |
| | | <td>{{delivery.area}}</td> |
| | | <td>{{itme1.delivery.quantity}}</td> |
| | | <td>{{itme1.delivery.area}}</td> |
| | | </tr> |
| | | |
| | | |
| | |
| | | <tr class="day-in" style="border: 0;" v-if="company.showDeliveryCreator"> |
| | | <td colspan="9" style="border: 0;"> |
| | | <div style="display:flex;;text-align: left" class="bottom"> |
| | | <div style="width: 15%">制单员:{{ delivery.creator }}</div> |
| | | <div style="width: 25%">制单日期:{{ delivery.createTime }}</div> |
| | | <div style="width: 15%">制单员:{{ itme1.delivery.creator }}</div> |
| | | <div style="width: 25%">制单日期:{{ itme1.delivery.createTime }}</div> |
| | | <div style="width: 10%">发货员:</div> |
| | | <div style="width: 10%">司机:</div> |
| | | <div style="width: 15%">客户签字:</div> |
| | |
| | | <tr class="day-in" style="border: 0;" v-if="!company.showDeliveryCreator"> |
| | | <td colspan="9" style="border: 0;"> |
| | | <div style="display:flex;;text-align: left" class="bottom"> |
| | | <div style="width: 15%">制单员:{{ delivery.creator }}</div> |
| | | <div style="width: 25%">制单日期:{{ delivery.createTime }}</div> |
| | | <div style="width: 15%">制单员:{{ itme1.delivery.creator }}</div> |
| | | <div style="width: 25%">制单日期:{{ itme1.delivery.createTime }}</div> |
| | | <div style="width: 10%">发货员:</div> |
| | | <div style="width: 10%">司机:</div> |
| | | <div style="width: 15%">客户签字:</div> |
| | |
| | | |
| | | |
| | | <style scoped> |
| | | @media print { |
| | | |
| | | .pages { |
| | | page-break-after: always; |
| | | } |
| | | } |
| | | h1,h3{ |
| | | left:0; |
| | | right:0; |
| | |
| | | }, |
| | | { |
| | | value: '1', |
| | | label: '初始工程', |
| | | label: '初始状态,1', |
| | | }, |
| | | { |
| | | value: '2', |
| | | label: '第一次优化', |
| | | label: '第一次优化,2', |
| | | }, |
| | | { |
| | | value: '10', |
| | | label: '模拟计算保存', |
| | | label: '模拟计算,10', |
| | | }, |
| | | { |
| | | value: '20', |
| | | label: '优化保存', |
| | | label: '优化完成,20', |
| | | }, |
| | | { |
| | | value: '100', |
| | | label: '允许生产', |
| | | label: '生产可见,100', |
| | | }, |
| | | { |
| | | value: '200', |
| | | label: '已领取', |
| | | label: '生产领取,200', |
| | | }, |
| | | ] |
| | | |
| | |
| | | // 原片面积固定为0,直接返回0 |
| | | const originalPieceAreaInput = 0; |
| | | |
| | | //日期左侧栏快捷选项 |
| | | const shortcuts = [ |
| | | { |
| | | text: '当日', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date(end) |
| | | start.setHours(0, 0, 0, 0) // 设置为当天的凌晨 00:00:00 |
| | | return [start, end] |
| | | } |
| | | }, |
| | | { |
| | | text: '近1周', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setDate(start.getDate() - 7) |
| | | return [start, end] |
| | | } |
| | | }, |
| | | |
| | | { |
| | | text: '近1个月', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setMonth(start.getMonth() - 1) |
| | | return [start, end] |
| | | } |
| | | }, |
| | | { |
| | | text: '近2个月', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setMonth(start.getMonth() - 2) |
| | | return [start, end] |
| | | } |
| | | }, |
| | | { |
| | | text: '近3个月', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setMonth(start.getMonth() - 3) |
| | | return [start, end] |
| | | } |
| | | } |
| | | ] |
| | | |
| | | </script> |
| | | |
| | |
| | | :start-placeholder="$t('basicData.startDate')" |
| | | :end-placeholder="$t('basicData.endDate')" |
| | | type="daterange" |
| | | :shortcuts="shortcuts" |
| | | showToday |
| | | format="YYYY/MM/DD" |
| | | value-format="YYYY-MM-DD" |
| | | /> |
| | |
| | | const titleSelectJson = ref({ |
| | | processType: [], |
| | | }) |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | //第一次加载数据 |
| | | request.post(`/report/orderPlanDecomposition/${startTime}/${endTime}`, filterData.value).then((res) => { |
| | | request.post(`/report/orderPlanDecomposition/${startTime}/${newEndTime}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | // total.dataTotal = res.data.total.total*1 |
| | |
| | | const selectPageList = () => { |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | |
| | | request.post(`/report/selectReportingWork/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${inputVal}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/report/selectReportingWork/${pageNum.value}/${total.pageSize}/${startTime}/${newEndTime}/${inputVal}`, filterData.value).then((res) => { |
| | | if (res.code == 200) { |
| | | |
| | | |
| | |
| | | |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | request.post(`/report/orderPlanDecomposition/${startTime}/${endTime}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/report/orderPlanDecomposition/${startTime}/${newEndTime}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | // total.dataTotal = res.data.total.total*1 |
| | |
| | | import {changeFilterEvent, filterChanged} from "@/hook" |
| | | |
| | | import { useI18n } from 'vue-i18n' |
| | | import footSum from "@/hook/footSum"; |
| | | //语言获取 |
| | | const { t } = useI18n() |
| | | let router=useRouter() |
| | |
| | | data: [ |
| | | ],//table body实际数据 |
| | | //脚部求和 |
| | | // footerMethod ({ columns, data }) {//页脚函数 |
| | | // let footList=['7','8','9','10'] |
| | | // return[ |
| | | // columns.map((column, columnIndex) => { |
| | | // if (columnIndex === 0) { |
| | | // return '合计:' |
| | | // } |
| | | // if (footList.includes(column.field)) { |
| | | // return sumNum(data, column.field) |
| | | // } |
| | | // return '' |
| | | // }) |
| | | // ] |
| | | // } |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return t('basicData.total') |
| | | } |
| | | const List = ["quantity","broken_num","inventory",] |
| | | if (List.includes(column.field)) { |
| | | console.log(data) |
| | | console.log(column.field) |
| | | return footSum(data, column.field) |
| | | } |
| | | return '' |
| | | }) |
| | | ] |
| | | }, |
| | | |
| | | }) |
| | | |
| | |
| | | const titleSelectJson = ref({ |
| | | processType: [], |
| | | }) |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | //第一次加载数据 |
| | | request.post(`/report/selectProcessToBeCompleted/${startTime}/${endTime}/${inputVal}/${inputProject}/${selectProcesses}`, filterData.value).then((res) => { |
| | | request.post(`/report/selectProcessToBeCompleted/${startTime}/${newEndTime}/${inputVal}/${inputProject}/${selectProcesses}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | // total.dataTotal = res.data.total.total*1 |
| | |
| | | if (inputVal == '') { |
| | | inputVal = null |
| | | } |
| | | |
| | | request.post(`/report/selectProcessToBeCompleted/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${inputVal}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/report/selectProcessToBeCompleted/${pageNum.value}/${total.pageSize}/${startTime}/${newEndTime}/${inputVal}`, filterData.value).then((res) => { |
| | | if (res.code == 200) { |
| | | |
| | | |
| | |
| | | if (inputProject == '') { |
| | | inputProject = null |
| | | } |
| | | request.post(`/report/selectProcessToBeCompleted/${startTime}/${endTime}/${inputVal}/${inputProject}/${selectProcesses}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/report/selectProcessToBeCompleted/${startTime}/${newEndTime}/${inputVal}/${inputProject}/${selectProcesses}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | // total.dataTotal = res.data.total.total*1 |
| | |
| | | const getWorkOrder = () => { |
| | | let startTime = time.date1[0] |
| | | let endTime = time.date1[1] |
| | | request.post(`/report/taskCompletionStatus/${startTime}/${endTime}`,column).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/report/taskCompletionStatus/${startTime}/${newEndTime}`,column).then((res) => { |
| | | if (res.code == 200) { |
| | | if(res.data.data.length===0){ |
| | | ElMessage.warning(t('report.noDataFoundForThisOrder')) |
| | |
| | | const titleSelectJson = ref({ |
| | | processType: [], |
| | | }) |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | //第一次加载数据 |
| | | request.post(`/report/teamOutput/1/${total.pageSize}/${startTime}/${endTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | request.post(`/report/teamOutput/1/${total.pageSize}/${startTime}/${newEndTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | total.dataTotal = res.data.total.total*1 |
| | |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | let selectProcesses = procseeValue.value |
| | | |
| | | request.post(`/report/teamOutput/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/report/teamOutput/${pageNum.value}/${total.pageSize}/${startTime}/${newEndTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | if (res.code == 200) { |
| | | |
| | | |
| | |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | let selectProcesses = procseeValue.value |
| | | |
| | | request.post(`/report/teamOutput/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/report/teamOutput/${pageNum.value}/${total.pageSize}/${startTime}/${newEndTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | total.dataTotal = res.data.total.total * 1 |
| | |
| | | |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | request.post(`/report/teamOutput/1/${total.pageSize}/${startTime}/${endTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/report/teamOutput/1/${total.pageSize}/${startTime}/${newEndTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | total.dataTotal = res.data.total.total*1 |
| | |
| | | :start-placeholder="$t('basicData.startDate')" |
| | | :end-placeholder="$t('basicData.endDate')" |
| | | format="YYYY/MM/DD" |
| | | style="width: 100px" |
| | | style="width: 250px" |
| | | type="daterange" |
| | | value-format="YYYY-MM-DD" |
| | | /> |
| | |
| | | dataTotal : 0, |
| | | pageSize : 100 |
| | | }) |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | //第一次加载数据 |
| | | request.post(`/reportingWork/selectReportingWork/1/${total.pageSize}/${startTime}/${endTime}/${inputVal}`, filterData.value).then((res) => { |
| | | request.post(`/reportingWork/selectReportingWork/1/${total.pageSize}/${startTime}/${newEndTime}/${inputVal}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | total.dataTotal = res.data.total.total*1 |
| | |
| | | if (inputVal == '') { |
| | | inputVal = null |
| | | } |
| | | request.post(`/reportingWork/selectReportingWork/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${inputVal}`,filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/reportingWork/selectReportingWork/${pageNum.value}/${total.pageSize}/${startTime}/${newEndTime}/${inputVal}`,filterData.value).then((res) => { |
| | | if(res.code==200){ |
| | | |
| | | |
| | |
| | | if (inputVal == '') { |
| | | inputVal = null |
| | | } |
| | | request.post(`/reportingWork/selectReportingWork/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${inputVal}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/reportingWork/selectReportingWork/${pageNum.value}/${total.pageSize}/${startTime}/${newEndTime}/${inputVal}`, filterData.value).then((res) => { |
| | | if (res.code == 200) { |
| | | total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal= res.data.total.pageTotal |
| | |
| | | //获取选中时间 |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | |
| | | request.post(`/reportingWork/selectReportingWork/1/${total.pageSize}/${startTime}/${endTime}/${inputVal}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/reportingWork/selectReportingWork/1/${total.pageSize}/${startTime}/${newEndTime}/${inputVal}`, filterData.value).then((res) => { |
| | | if(res.code==200){ |
| | | total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal=parseInt(res.data.total) |
| | |
| | | let sheetIndex = ref(-1) |
| | | let rowClickIndex = ref(null) |
| | | let produceList = ref([]) |
| | | |
| | | let flowData = ref({ |
| | | delivery: null |
| | | |
| | | }) |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | | router.push({path: '/main/delivery/createDelivery', query: { deliveryID: row.deliveryId }}) |
| | | break |
| | | } |
| | | case 'printing' :{ |
| | | /*case 'printing' :{ |
| | | router.push({path: '/main/delivery/deliveryPrinting', query: { deliveryID: row.deliveryId }}) |
| | | break |
| | | } |
| | | }*/ |
| | | case 'delete':{ |
| | | let flowData = ref({ |
| | | deliveryId:row.deliveryId, |
| | |
| | | break |
| | | } |
| | | case 'sheet1': { |
| | | if(rowClickIndex.value===null){ |
| | | ElMessage.warning(t('searchOrder.msgList.checkOrder')) |
| | | return |
| | | } |
| | | if(rowClickIndex.value.deliveryState>0){ |
| | | ElMessage.warning(t('order.printingNumber')+rowClickIndex.value.printingNumber) |
| | | const selectRecords = $grid.getCheckboxRecords() |
| | | if (selectRecords.length === 0) { |
| | | if(rowClickIndex.value.deliveryState>0){ |
| | | ElMessage.warning(t('order.printingNumber')+rowClickIndex.value.printingNumber) |
| | | let delivery=([]) |
| | | delivery.push(rowClickIndex.value) |
| | | flowData.value.delivery=delivery |
| | | dialogTableVisible.value = true |
| | | sheetIndex.value=1 |
| | | }else{ |
| | | ElMessage.warning(t('order.orderNotApproved')) |
| | | } |
| | | }else{ |
| | | flowData.value.delivery=selectRecords |
| | | dialogTableVisible.value = true |
| | | sheetIndex.value=1 |
| | | }else{ |
| | | ElMessage.warning(t('order.orderNotApproved')) |
| | | } |
| | | |
| | | break |
| | | |
| | | } |
| | | case 'sheet2': { |
| | | if(rowClickIndex.value===null){ |
| | | ElMessage.warning(t('searchOrder.msgList.checkOrder')) |
| | | return |
| | | } |
| | | if(rowClickIndex.value.deliveryState>0){ |
| | | ElMessage.warning(t('order.printingNumber')+rowClickIndex.value.printingNumber) |
| | | const selectRecords = $grid.getCheckboxRecords() |
| | | if (selectRecords.length === 0) { |
| | | if(rowClickIndex.value.deliveryState>0){ |
| | | ElMessage.warning(t('order.printingNumber')+rowClickIndex.value.printingNumber) |
| | | let delivery=([]) |
| | | delivery.push(rowClickIndex.value) |
| | | flowData.value.delivery=delivery |
| | | dialogTableVisible.value = true |
| | | sheetIndex.value=2 |
| | | }else{ |
| | | ElMessage.warning(t('order.orderNotApproved')) |
| | | } |
| | | }else{ |
| | | flowData.value.delivery=selectRecords |
| | | dialogTableVisible.value = true |
| | | sheetIndex.value=2 |
| | | }else{ |
| | | ElMessage.warning(t('order.orderNotApproved')) |
| | | } |
| | | break |
| | | } |
| | |
| | | }, |
| | | //表头参数 |
| | | columns:[ |
| | | {type:'expand',slots: { content:'content' },width: 60,fixed:"left"}, |
| | | {field: 'select',type:'checkbox',title: t('basicData.check'), width: 80,fixed:"left"}, |
| | | {title: t('basicData.operate'), width: 150, slots: { default: 'button_slot' },fixed:"left"}, |
| | | {type: 'seq', title: t('basicData.Number'), width: 80}, |
| | | |
| | |
| | | }) |
| | | |
| | | const printingNumber = ()=>{ |
| | | request.post(`/delivery/updateDeliveryPrintNumber/${rowClickIndex.value.deliveryId}`).then(res =>{ |
| | | request.post(`/delivery/updateDeliveryPrintNumber/${flowData.value.delivery[0].deliveryId}`).then(res =>{ |
| | | }) |
| | | } |
| | | |
| | |
| | | <el-button v-print="printContent" @click="printingNumber" :icon="Printer" circle /> |
| | | <el-button @click="exportFile" :icon="Download" circle /> |
| | | </template> |
| | | <print-sheet1 id="child" v-if="sheetIndex===1" :deliveryId="rowClickIndex.deliveryId" /> |
| | | <print-sheet2 id="child" v-if="sheetIndex===2" :deliveryId="rowClickIndex.deliveryId" /> |
| | | <print-sheet1 id="child" v-if="sheetIndex===1" :deliveryId="flowData.delivery" /> |
| | | <print-sheet2 id="child" v-if="sheetIndex===2" :deliveryId="flowData.delivery" /> |
| | | |
| | | </el-dialog> |
| | | </div> |
| | |
| | | @ApiOperation("发货订单查询接口") |
| | | @SaCheckPermission("selectDelivery.search") |
| | | @PostMapping("/getSelectDeliveryPrinting") |
| | | public Result getSelectDeliveryPrinting( @RequestBody DeliveryDetail deliveryDetail) throws IllegalAccessException { |
| | | return Result.seccess(deliveryService.getSelectDeliveryPrinting(deliveryDetail)); |
| | | public Result getSelectDeliveryPrinting( @RequestBody Map<String,Object> object) throws IllegalAccessException { |
| | | return Result.seccess(deliveryService.getSelectDeliveryPrinting(object)); |
| | | } |
| | | |
| | | @ApiOperation("订单发货订单查询接口") |
| | |
| | | |
| | | List<Map<String, String>> selectReplenishPrintMp(Date selectTime1, Date selectTime2, FlowCard flowCard); |
| | | |
| | | List<Map<String, Object>> getRepairPrintCustomData(String processId, String technologyNumber, String reportingWorkId); |
| | | List<Map<String, Object>> getRepairPrintCustomData(String processId, String technologyNumber, String reportingWorkId, Integer orderNumber); |
| | | |
| | | List<Map<String, Object>> getGlassNumber(String technologyNumber, String processId); |
| | | |
| | |
| | | |
| | | List<Map<String, String>> selectPrintNotMergeMp(String orderId); |
| | | |
| | | List<Map<String, String>> getRepairPrintCustomDataSemi(String processId, String technologyNumber, String reportingWorkId); |
| | | List<Map<String, String>> getRepairPrintCustomDataSemi(String processId, String technologyNumber, String reportingWorkId, Integer orderNumber); |
| | | |
| | | List<Map<String, String>> selectPrintAllMp(String orderId); |
| | | |
| | |
| | | List<Map<String, String>> SelectReworlDetailMpReview(String processIdStr, String technologyStr, String process, String previousProcess, String laminating); |
| | | |
| | | String getProcessLaminating(String process); |
| | | |
| | | String selectOrderid(String processIdStr); |
| | | } |
| | |
| | | |
| | | Integer getSelectShippingOrderDetailPageTotal(Integer offset, Integer pageSize,OrderDetail orderDetail); |
| | | |
| | | List<DeliveryDetail> getSelectDeliveryPrinting(@Param("deliveryDetail") DeliveryDetail deliveryDetail); |
| | | List<DeliveryDetail> getSelectDeliveryPrinting(@Param("deliveryId") String deliveryId); |
| | | |
| | | List<OrderDetail> getSelectOrderPrinting(Object productId, String orderId); |
| | | |
| | |
| | | List<OrderGlassDetail> orderGlassDetailList = |
| | | orderGlassDetailMapper.selectList( |
| | | new QueryWrapper<OrderGlassDetail>() |
| | | .eq("order_id", flowCard.getProcessId().substring(0, 10)) |
| | | .eq("order_id", orderId) |
| | | .eq("order_number", flowCard.getOrderNumber()) |
| | | ); |
| | | List<OrderProcessDetail> orderProcessDetailList = getOrderProcessDetails(orderGlassDetailList); |
| | |
| | | for (FlowCard flowCard : flowCardList) { |
| | | if (lableType != 2){//成品标签 |
| | | Map<String, Object> itemmap = new HashMap<>(); |
| | | itemmap.put("data", flowCardMapper.getRepairPrintCustomData(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getReportingWorkId())); |
| | | itemmap.put("data", flowCardMapper.getRepairPrintCustomData(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getReportingWorkId(),flowCard.getOrderNumber())); |
| | | list.add(itemmap); |
| | | } |
| | | else{//小片标签 |
| | | Map<String, Object> itemmap = new HashMap<>(); |
| | | itemmap.put("data", flowCardMapper.getRepairPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getReportingWorkId())); |
| | | itemmap.put("data", flowCardMapper.getRepairPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getReportingWorkId(),flowCard.getOrderNumber())); |
| | | list.add(itemmap); |
| | | } |
| | | |
| | |
| | | //不是第一道工序,查询报工数据 |
| | | List<Map<String,String>> details = reportingWorkMapper.SelectReworlDetailMp(processIdStr, technologyStr, process,previousProcess,laminating); |
| | | if(process.equals("中空")){ |
| | | String orderId = processIdStr.substring(0,10); |
| | | //获取该流程卡订单号 |
| | | String orderId = reportingWorkMapper.selectOrderid(processIdStr); |
| | | details.forEach( detail -> { |
| | | Integer glassId = orderGlassDetailMapper. |
| | | getMinIdByGroup(orderId, |
| | |
| | | //不是第一道工序,查询报工数据 |
| | | List<Map<String,String>> details = reportingWorkMapper.SelectReworlDetailMpReview(processIdStr, technologyStr, process,previousProcess,laminating); |
| | | if(process.equals("中空")){ |
| | | String orderId = processIdStr.substring(0,10); |
| | | String orderId = reportingWorkMapper.selectOrderid(processIdStr); |
| | | details.forEach( detail -> { |
| | | Integer glassId = orderGlassDetailMapper. |
| | | getMinIdByGroup(orderId, |
| | |
| | | //根据订单id,订单序号,以及小片序号 更新小片流程的完工数量以及刺破数量 |
| | | LambdaUpdateWrapper<OrderProcessDetail> updateWrapper = new LambdaUpdateWrapper<>(); |
| | | updateWrapper.eq(OrderProcessDetail::getOrderNumber, reportingWorkDetail.getOrderNumber()) |
| | | .eq(OrderProcessDetail::getProcessId, reportingWork.getProcessId().substring(0, 14)) |
| | | .eq(OrderProcessDetail::getProcessId, reportingWork.getProcessId()) |
| | | .eq(OrderProcessDetail::getOrderId, reportingWork.getOrderId()) |
| | | .eq(OrderProcessDetail::getProcess, reportingWork.getThisProcess()) |
| | | .eq(OrderProcessDetail::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber()) |
| | |
| | | .setSql("reporting_work_num =reporting_work_num +" + orderProcessDetail.getReportingWorkNum()) |
| | | .setSql("broken_num =broken_num +" + orderProcessDetail.getBrokenNum()); |
| | | orderProcessDetailMapper.update(null, updateWrapper); |
| | | |
| | | //判断完工数量和刺破数量是否为0,为0则不插入到数据库 |
| | | if (!(reportingWorkDetail.getCompletedQuantity() == 0 && reportingWorkDetail.getBreakageQuantity() == 0)) { |
| | | reportingWorkDetailMapper.insert(reportingWorkDetail); |
| | |
| | | int index = processId.lastIndexOf("/") + 1; |
| | | String result = processId.substring(index); |
| | | String technologyStr = reportingWork.get("technologyStr"); |
| | | String[] processIdStr = processId.split("/"); |
| | | //合片工序 |
| | | if (thisProcess.equals("夹胶") || thisProcess.equals("中空") || thisProcess.equals("包装")){ |
| | | LambdaUpdateWrapper |
| | | <ReportingWork> updateWrapper = new LambdaUpdateWrapper<>(); |
| | | updateWrapper |
| | | .eq(ReportingWork::getProcessId, processId.substring(0, 14)) |
| | | .eq(ReportingWork::getProcessId, processIdStr[0]) |
| | | .eq(ReportingWork::getThisProcess, reportingWork.get("process")) |
| | | .eq(ReportingWork::getReviewedState, 0) |
| | | .setSql("reviewed_state =1") |
| | | .set(ReportingWork::getReviewed, userName); |
| | | reportingWorkMapper.update(null, updateWrapper); |
| | | }else { |
| | | reportingWorkMapper.ReviewReportingWorkMp(processId.substring(0, 14),reportingWork.get("process"),technologyStr,userName); |
| | | reportingWorkMapper.ReviewReportingWorkMp(processIdStr[0],reportingWork.get("process"),technologyStr,userName); |
| | | |
| | | } |
| | | return true; |
| | |
| | | //根据订单id,订单序号,以及小片序号 更新小片流程的完工数量以及刺破数量 |
| | | LambdaUpdateWrapper<OrderProcessDetail> updateWrapper = new LambdaUpdateWrapper<>(); |
| | | updateWrapper.eq(OrderProcessDetail::getOrderNumber, reportingWorkDetail.getOrderNumber()) |
| | | .eq(OrderProcessDetail::getProcessId, reportingWork.getProcessId().substring(0, 14)) |
| | | .eq(OrderProcessDetail::getProcessId, reportingWork.getProcessId()) |
| | | .eq(OrderProcessDetail::getOrderId, reportingWork.getOrderId()) |
| | | .eq(OrderProcessDetail::getProcess, reportingWork.getThisProcess()) |
| | | .eq(OrderProcessDetail::getTechnologyNumber, reportingWorkDetail.getTechnologyNumber()) |
| | |
| | | |
| | | } |
| | | |
| | | public Map<String, Object> getSelectDeliveryPrinting( DeliveryDetail deliveryDetail) throws IllegalAccessException { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | List <Map<String, Object>> list=new ArrayList<Map<String, Object>>();//最终结果 |
| | | List <Map<String, Object>> moneryList=new ArrayList<Map<String, Object>>();//最终结果 |
| | | List<DeliveryDetail> deliveryDetailList=deliveryDetailMapper.getSelectDeliveryPrinting(deliveryDetail); |
| | | String orderId=""; |
| | | double otherMoney=0.0; |
| | | for (DeliveryDetail detail : deliveryDetailList) { |
| | | orderId=detail.getOrderDetail().getOrderId(); |
| | | Map<String, Object> itemmap = new HashMap<>(); |
| | | public List<Map<String, Object>> getSelectDeliveryPrinting(Map<String,Object> object) throws IllegalAccessException { |
| | | List<Delivery> deliveries = JSONArray.parseArray(JSONObject.toJSONString(object.get("deliveryId")), Delivery.class); |
| | | List <Map<String, Object>> list1=new ArrayList<Map<String, Object>>();//最终结果 |
| | | for(Delivery deliverys:deliveries){ |
| | | |
| | | List<Map<String, Object>> deliveryDetailList2 = deliveryDetailMapper.getSelectDeliveryDetailPrinting(detail.getDeliveryId(), |
| | | detail.getOrderDetail().getProductId(), detail.getOrderDetail().getOrderId()); |
| | | Map<String, Object> map = new HashMap<>(); |
| | | List <Map<String, Object>> list=new ArrayList<Map<String, Object>>();//最终结果 |
| | | List <Map<String, Object>> moneryList=new ArrayList<Map<String, Object>>();//最终结果 |
| | | List<DeliveryDetail> deliveryDetailList=deliveryDetailMapper.getSelectDeliveryPrinting(deliverys.getDeliveryId()); |
| | | String orderId=""; |
| | | double otherMoney=0.0; |
| | | for (DeliveryDetail detail : deliveryDetailList) { |
| | | orderId=detail.getOrderDetail().getOrderId(); |
| | | Map<String, Object> itemmap = new HashMap<>(); |
| | | |
| | | for (Map<String, Object> stringObjectMap : deliveryDetailList2) { |
| | | if(stringObjectMap.get("other_columns")!=null){ |
| | | JSONObject jsonObject = JSON.parseObject(stringObjectMap.get("other_columns").toString()); |
| | | for(String key : jsonObject.keySet()){ |
| | | boolean isnull = key.contains("M"); |
| | | if(isnull) { |
| | | Map<String, Object> moneryItemmap = new HashMap<>(); |
| | | Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectotherMoney(detail.getOrderDetail().getOrderId(), |
| | | detail.getDeliveryId(),Integer.parseInt(stringObjectMap.get("order_number").toString()), key,Double.valueOf(jsonObject.get(key).toString())); |
| | | Double sss= Double.valueOf(jsonObject.get(key).toString()); |
| | | moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney); |
| | | moneryList.add(moneryItemmap); |
| | | List<Map<String, Object>> deliveryDetailList2 = deliveryDetailMapper.getSelectDeliveryDetailPrinting(detail.getDeliveryId(), |
| | | detail.getOrderDetail().getProductId(), detail.getOrderDetail().getOrderId()); |
| | | |
| | | for (Map<String, Object> stringObjectMap : deliveryDetailList2) { |
| | | if(stringObjectMap.get("other_columns")!=null){ |
| | | JSONObject jsonObject = JSON.parseObject(stringObjectMap.get("other_columns").toString()); |
| | | for(String key : jsonObject.keySet()){ |
| | | boolean isnull = key.contains("M"); |
| | | if(isnull) { |
| | | Map<String, Object> moneryItemmap = new HashMap<>(); |
| | | Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectotherMoney(detail.getOrderDetail().getOrderId(), |
| | | detail.getDeliveryId(),Integer.parseInt(stringObjectMap.get("order_number").toString()), key,Double.valueOf(jsonObject.get(key).toString())); |
| | | Double sss= Double.valueOf(jsonObject.get(key).toString()); |
| | | moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney); |
| | | moneryList.add(moneryItemmap); |
| | | } |
| | | } |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | itemmap.put("DeliveryDetail", detail); |
| | | itemmap.put("DeliveryDetailList", deliveryDetailList2); |
| | | list.add(itemmap); |
| | | itemmap.put("DeliveryDetail", detail); |
| | | itemmap.put("DeliveryDetailList", deliveryDetailList2); |
| | | list.add(itemmap); |
| | | |
| | | } |
| | | /*Delivery delivery=deliveryMapper.getSelectShippingOrderDetailDeliveryPrinting(deliveryDetail); |
| | | delivery.setMoney(delivery.getMoney()+otherMoney); |
| | | map.put("data", list); |
| | | map.put("otherMoney",moneryList); |
| | | map.put("delivery", deliveryMapper.getSelectShippingOrderDetailDeliveryPrinting(deliveryDetail)); |
| | | map.put("money", toChinese(delivery.getMoney().toString(), false));*/ |
| | | |
| | | deliverys.setMoney(deliverys.getMoney()+otherMoney); |
| | | map.put("data", list); |
| | | map.put("otherMoney",moneryList); |
| | | map.put("delivery",deliverys ); |
| | | map.put("money", toChinese(deliverys.getMoney().toString(), false)); |
| | | list1.add(map); |
| | | } |
| | | Delivery delivery=deliveryMapper.getSelectShippingOrderDetailDeliveryPrinting(deliveryDetail); |
| | | delivery.setMoney(delivery.getMoney()+otherMoney); |
| | | map.put("data", list); |
| | | map.put("otherMoney",moneryList); |
| | | map.put("delivery", deliveryMapper.getSelectShippingOrderDetailDeliveryPrinting(deliveryDetail)); |
| | | map.put("money", toChinese(delivery.getMoney().toString(), false)); |
| | | return map; |
| | | |
| | | |
| | | return list1; |
| | | |
| | | } |
| | | |
| | |
| | | left join sd.customer as c on c.id = o.customer_id |
| | | left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number |
| | | where pl.process_id = #{processId} |
| | | and pl.order_sort=#{orderNumber} |
| | | and pl.technology_number = #{technologyNumber} |
| | | and pl.reporting_work_id = #{reportingWorkId} |
| | | group by od.order_number, width, height |
| | |
| | | on ogd.order_id = o.order_id and ogd.order_number = od.order_number and |
| | | ogd.technology_number = fc.technology_number |
| | | where pl.process_id = #{processId} |
| | | and pl.order_sort=#{orderNumber} |
| | | and pl.technology_number = #{technologyNumber} |
| | | and pl.reporting_work_id = #{reportingWorkId} |
| | | group by od.order_number, width, height |
| | |
| | | on o.order_id = od.order_id |
| | | where LENGTH(fc.process_id) = 14 |
| | | and odpd.process = #{selectProcesses} |
| | | and DATE_FORMAT((o.create_time), '%Y-%m-%d') between #{selectTime1} and #{selectTime2} |
| | | and o.create_time >= #{selectTime1} |
| | | AND o.create_time < #{selectTime2} |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | | and fc.quantity - odpd.reporting_work_num>0 |
| | |
| | | AND dd.order_number = ogd.order_number |
| | | AND dd.technology_number = ogd.technology_number |
| | | WHERE |
| | | DATE_FORMAT((rw.reporting_work_time), '%Y-%m-%d') between #{selectTime1} and #{selectTime2} |
| | | rw.reporting_work_time >= #{selectTime1} |
| | | AND rw.reporting_work_time < #{selectTime2} |
| | | AND dd.available = 0 |
| | | AND LENGTH( rw.process_id )= 14 |
| | | <if test="damageReportDTO.orderId != null and damageReportDTO.orderId != ''"> |
| | |
| | | ) as reportWorkQuantityCount |
| | | FROM sd.order_process_detail as a |
| | | left join sd.`order` as o on o.order_id = a.order_id |
| | | where DATE_FORMAT((o.create_time), '%Y-%m-%d') BETWEEN #{selectTime1} and #{selectTime2} |
| | | where o.create_time >= #{selectTime1} |
| | | AND o.create_time < #{selectTime2} |
| | | GROUP BY process_id, a.technology_number) as e |
| | | on e.process_id = c.process_id |
| | | and e.technology_number = c.technology_number |
| | | left join sd.delivery_detail as dd on dd.order_id = a.order_id and dd.order_number = a.order_number |
| | | where DATE_FORMAT((d.create_time), '%Y-%m-%d') BETWEEN #{selectTime1} and #{selectTime2} |
| | | where d.create_time >= #{selectTime1} |
| | | AND d.create_time < #{selectTime2} |
| | | and reportWorkQuantity is not null |
| | | GROUP BY a.order_id |
| | | ORDER BY a.order_id |
| | |
| | | FROM sd.`order` AS a |
| | | LEFT JOIN reporting_work AS b ON a.order_id = b.order_id |
| | | WHERE b.this_process = '切割' |
| | | AND DATE_FORMAT((a.create_time), '%Y-%m-%d') BETWEEN #{selectTime1} and #{selectTime2} |
| | | and a.create_time >= #{selectTime1} |
| | | AND a.create_time < #{selectTime2} |
| | | GROUP BY a.order_id) AS orw ON orw.order_id = o.order_id |
| | | LEFT JOIN (SELECT a.order_id, |
| | | SUM(b.reporting_work_num) AS completionsNum |
| | | FROM sd.`order` AS a |
| | | LEFT JOIN sd.order_process_detail AS b ON a.order_id = b.order_id |
| | | WHERE b.process = '包装' |
| | | AND DATE_FORMAT((a.create_time), '%Y-%m-%d') BETWEEN #{selectTime1} and #{selectTime2} |
| | | and a.create_time >= #{selectTime1} |
| | | AND a.create_time < #{selectTime2} |
| | | GROUP BY a.order_id) AS oopd ON oopd.order_id = o.order_id |
| | | LEFT JOIN reporting_work AS rw ON rw.order_id = fc.order_id |
| | | AND rw.process_id = fc.process_id |
| | | WHERE DATE_FORMAT((o.create_time), '%Y-%m-%d') BETWEEN #{selectTime1} and #{selectTime2} |
| | | WHERE o.create_time >= #{selectTime1} |
| | | AND o.create_time < #{selectTime2} |
| | | AND fc.create_time IS NOT NULL |
| | | GROUP BY o.order_id |
| | | </select> |
| | |
| | | left join sd.order_detail as od on od.order_id=ogd.order_id and od.order_number=ogd.order_number |
| | | left join sd.`order` as o on o.order_id=od.order_id |
| | | where o.create_order>0 and rw.reviewed_state>=0 and rwd.completed_quantity>0 and |
| | | DATE_FORMAT((rw.reporting_work_time), '%Y-%m-%d') between #{selectTime1} and #{selectTime2} |
| | | rw.reporting_work_time >= #{selectTime1} |
| | | AND rw.reporting_work_time < #{selectTime2} |
| | | and position(#{selectProcesses} in rw.this_process) |
| | | <if test="teamOutputDTO.thisProcess != null and teamOutputDTO.thisProcess != ''"> |
| | | and rw.this_process regexp #{teamOutputDTO.thisProcess} |
| | |
| | | left join sd.order_detail as od on od.order_id=ogd.order_id and od.order_number=ogd.order_number |
| | | left join sd.`order` as o on o.order_id=od.order_id |
| | | where o.create_order>0 and rw.reviewed_state>=0 and rwd.completed_quantity>0 and |
| | | DATE_FORMAT((rw.reporting_work_time), '%Y-%m-%d') between #{selectTime1} and #{selectTime2} |
| | | rw.reporting_work_time >= #{selectTime1} |
| | | AND rw.reporting_work_time < #{selectTime2} |
| | | and position(#{selectProcesses} in rw.this_process) |
| | | <if test="teamOutputDTO.thisProcess != null and teamOutputDTO.thisProcess != ''"> |
| | | and rw.this_process regexp #{teamOutputDTO.thisProcess} |
| | |
| | | on rwd.reporting_work_id = rw.reporting_work_id and rwd.order_number = ogd.order_number and |
| | | rwd.technology_number = ogd.technology_number |
| | | where rw.reviewed_state != 2 |
| | | and DATE_FORMAT((rw.reporting_work_time), '%Y-%m-%d') between #{selectTime1} and #{selectTime2} |
| | | and rw.reporting_work_time >= #{selectTime1} |
| | | AND rw.reporting_work_time < #{selectTime2} |
| | | and position(#{orderId} in rw.order_id) |
| | | and rw.reviewed_state!=-1 |
| | | and o.create_order>0 |
| | |
| | | on rwd.reporting_work_id = rw.reporting_work_id and rwd.order_number = ogd.order_number and |
| | | rwd.technology_number = ogd.technology_number |
| | | where rw.reviewed_state != 2 |
| | | and DATE_FORMAT((rw.reporting_work_time), '%Y-%m-%d') between #{selectTime1} and #{selectTime2} and position(#{orderId} in rw.order_id) |
| | | and rw.reporting_work_time >= #{selectTime1} |
| | | AND rw.reporting_work_time < #{selectTime2} and position(#{orderId} in rw.order_id) |
| | | and rw.reviewed_state!=-1 |
| | | and o.create_order>0 |
| | | <if test="reportingWork.reportingWorkId != null and reportingWork.reportingWorkId != ''"> |
| | |
| | | <select id="getProcessLaminating"> |
| | | select IFNULL(nickname,'') from sd.basic_data where basic_category='process' and basic_name=#{process} |
| | | </select> |
| | | |
| | | <select id="selectOrderid"> |
| | | select order_id from pp.flow_card where process_id=#{processIdStr} group by order_id |
| | | </select> |
| | | </mapper> |
| | |
| | | left join product pt on pt.id=od.product_id |
| | | |
| | | |
| | | <where> |
| | | <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''"> |
| | | and dd.delivery_id like concat('%',#{deliveryDetail.deliveryId},'%') |
| | | </if> |
| | | </where> |
| | | |
| | | where dd.delivery_id like concat('%',#{deliveryId},'%') |
| | | |
| | | group by od.order_id,od.product_name,od.product_id |
| | | </select> |
| | | |
| | |
| | | select |
| | | max(a.technology_number) as rowCount, |
| | | RowNum |
| | | from order_process_detail as a |
| | | from sd.order_process_detail as a |
| | | left join |
| | | (select min((@i:=@i+1)) AS RowNum,c.* |
| | | from sd.order_glass_detail as c, |