Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
| | |
| | | gridOptions.columns = props.childrenData.columns |
| | | getReportData() |
| | | addListener(xGrid.value,gridOptions) |
| | | |
| | | |
| | | }) |
| | | function filterChanged(column){ |
| | | //gridOptions.loading=true |
| | |
| | | |
| | | </table> |
| | | |
| | | <!-- <table border="1" > |
| | | <thead> |
| | | <tr class="title-s"> |
| | | <th colspan="13"> |
| | | <h1> |
| | | {{company.companyName}} |
| | | </h1> |
| | | </th> |
| | | </tr> |
| | | |
| | | <tr class="title-s"> |
| | | <th colspan="2"></th> |
| | | <th colspan="5"> |
| | | <h3>éå®åè´§å</h3> |
| | | </th> |
| | | <th colspan="2" style="text-align: left;">åè´§åå·ï¼<span>{{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> |
| | | </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> |
| | | </tr> |
| | | <tr> |
| | | <th style="width: 6%;">åºå·</th> |
| | | <th style="width: 20%;">楼å±ç¼å·</th> |
| | | <th style="width: 20%;" colspan="2">宽Xé«</th> |
| | | <th style="width: 10%;">æ°é</th> |
| | | <th style="width: 10%;">é¢ç§¯</th> |
| | | <th style="width: 10%;">åä»·</th> |
| | | <th style="width: 12%;">éé¢</th> |
| | | <th style="width: 12%;" colspan="2">å å·¥è¦æ±</th> |
| | | </tr> |
| | | </thead> |
| | | <template v-for="(item, index) in produceList" :key="index" > |
| | | <tr> |
| | | <td style="font-size: 15px;text-align: left" colspan="4">产ååç§°:<span>{{item.DeliveryDetail.orderDetail.productName}}</span></td> |
| | | <td style="font-size: 15px;text-align: left" colspan="3">对æ¹åå·:</td> |
| | | <td style="font-size: 15px;text-align: left" colspan="3">订åç¼å·:<span>{{item.DeliveryDetail.orderDetail.orderId}}</span></td> |
| | | </tr> |
| | | |
| | | <tr class="day-in" v-for="(items, index1) in item.DeliveryDetailList" :key="index1"> |
| | | <td>{{items.order_number}}</td> |
| | | <td>{{items.buildingNumber}}</td> |
| | | <td colspan="2" style="font-size: 15px;font-weight: bold;">{{items.width}}x{{items.height}}</td> |
| | | <td>{{items.quantity}}</td> |
| | | <td>{{items.area}}</td> |
| | | <td>{{items.price}}</td> |
| | | <td>{{items.money}}</td> |
| | | <td colspan="2">{{items.processingNote}}</td> |
| | | </tr> |
| | | <tr class="day-in" > |
| | | <td style="font-size: 15px;" colspan="4">å°è®¡:</td> |
| | | <td>{{item.DeliveryDetail.quantity}}</td> |
| | | <td>{{item.DeliveryDetail.area}}</td> |
| | | <td></td> |
| | | <td>{{item.DeliveryDetail.money}}</td> |
| | | <td></td> |
| | | </tr> |
| | | |
| | | </template> |
| | | <tr class="day-in"> |
| | | <td style="font-size: 15px;" colspan="4">å计:</td> |
| | | <td>{{delivery.quantity}}</td> |
| | | <td>{{delivery.area}}</td> |
| | | <td></td> |
| | | <td>{{delivery.money-otherMoneys-delivery.freight}}</td> |
| | | <td></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;"> |
| | | <div style="width: 25%">å 工费ç¨</div> |
| | | <div style="width: 25%">åä»·</div> |
| | | <div style="width: 25%">æ°é</div> |
| | | <div style="width: 25%">éé¢</div> |
| | | </div> |
| | | </td> |
| | | <td style="text-align: left;border:none;font-size: 15px;" colspan="5">æ»éé¢: {{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 otherMoney" :key="index2"> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney.alias}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney.price}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney.count}}</div> |
| | | <div style="width: 25%">{{item.DeliveryDetailOtherMoney.monery}}</div> |
| | | </div> |
| | | <div style="display: flex;font-size: 10px;text-align: center" v-if="delivery.freight>0"> |
| | | <div style="width: 25%">è¿è´¹</div> |
| | | <div style="width: 25%">{{delivery.freightPrice}}</div> |
| | | <div style="width: 25%">{{delivery.freightQuantity}}</div> |
| | | <div style="width: 25%">{{delivery.freight}}</div> |
| | | </div> |
| | | </td> |
| | | <td style="text-align: left;border:none;font-size: 15px;" colspan="5">大åéé¢: {{money}}</td> |
| | | </tr> |
| | | |
| | | |
| | | <tfoot style="border: 0"> |
| | | <!– <el-row :gutter="24"> |
| | | <el-col :span="4"><div style="font-size: 12px" class="bottom">å¶ååï¼{{data.order.creator}}<span style="font-size: 10px"></span></div></el-col> |
| | | <el-col :span="6"><div style="font-size: 12px" class="bottom">å¶åæ¥æï¼{{data.order.createTime}}<span style="font-size: 10px"></span></div></el-col> |
| | | <el-col :span="4"><div style="font-size: 12px" class="bottom">å®¡æ ¸åï¼{{data.order.verifier}}</div></el-col> |
| | | <el-col :span="6"><div style="font-size: 12px" class="bottom">å®¡æ ¸æ¥æï¼{{data.order.updateTime}}</div></el-col> |
| | | <el-col :span="4"><div style="font-size: 12px" class="bottom">æå°äººï¼{{username}}</div></el-col> |
| | | |
| | | </el-row>–> |
| | | <tr class="day-in" style="border: 0;"> |
| | | <td colspan="9" style="border: 0;"> |
| | | <div style="display:flex;"> |
| | | <div style="width: 15%">å¶ååï¼{{ delivery.creator }}</div> |
| | | <div style="width: 25%">å¶åæ¥æï¼{{ delivery.createTime }}</div> |
| | | <div style="width: 10%">åè´§åï¼</div> |
| | | <div style="width: 10%">叿ºï¼</div> |
| | | <div style="width: 15%">客æ·ç¾åï¼</div> |
| | | <div style="width: 15%">ç¾æ¶æ¥æï¼</div> |
| | | </div> |
| | | |
| | | |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="9" style="border: 0;"> |
| | | <div style="display:flex;" class="bottom">æ¶å åª</div> |
| | | <div style="display:flex;" class="bottom"> |
| | | {{takeCare}} |
| | | </div> |
| | | |
| | | </td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="9" style="border: 0;"> |
| | | <div style="display:flex;" class="bottom"> |
| | | {{remark}} |
| | | </div> |
| | | |
| | | </td> |
| | | </tr> |
| | | </tfoot> |
| | | |
| | | </table>--> |
| | | |
| | | </div> |
| | | |
| | |
| | | <style scoped> |
| | | @media print { |
| | | @page { |
| | | margin: 8mm 16mm 20mm 16mm !important; |
| | | margin: 12mm 10mm 20mm 10mm !important; |
| | | } |
| | | .pages { |
| | | page-break-after: always; |
| | | } |
| | | |
| | | @page { |
| | | @top-right { |
| | | margin-top: 50px; |
| | | content: "第 " counter(page) " 页"; /* 使ç¨counteræ·»å 页ç */ |
| | | } |
| | | } |
| | | } |
| | | h1,h3{ |
| | | left:0; |
| | |
| | | <style scoped> |
| | | @media print { |
| | | @page { |
| | | margin: 8mm 16mm 20mm 16mm !important; |
| | | margin: 12mm 10mm 20mm 10mm !important; |
| | | } |
| | | .pages { |
| | | page-break-after: always; |
| | | } |
| | | @page { |
| | | @top-right { |
| | | margin-top: 50px; |
| | | content: "第 " counter(page) " 页"; /* 使ç¨counteræ·»å 页ç */ |
| | | } |
| | | } |
| | | } |
| | | h1,h3{ |
| | | left:0; |
New file |
| | |
| | | <script setup> |
| | | import {ref} from "vue"; |
| | | import request from "@/utils/request"; |
| | | import {ElMessage} from "element-plus"; |
| | | import {useI18n} from "vue-i18n" |
| | | const { t } = useI18n() |
| | | const props = defineProps({ |
| | | transferData:{} |
| | | }) |
| | | const emits = defineEmits(['orderNumberTransfer']) |
| | | /*request.post()*/ |
| | | const orderNumberTransferSubmit = () => { |
| | | request.post('/reportingWork/reportingWorkTransfer',props.transferData).then(res => { |
| | | if(res.code === '200' && res.data.data===true){ |
| | | ElMessage.success(t('basicData.msg.saveSuccess')) |
| | | emits('orderNumberTransfer') |
| | | }else{ |
| | | ElMessage.warning(res.data.msg) |
| | | } |
| | | |
| | | }).catch(err => { |
| | | ElMessage.error(t('order.transferPage.errorToMes')) |
| | | }) |
| | | /*emits('orderNumberTransfer')*/ |
| | | } |
| | | </script> |
| | | |
| | | <template> |
| | | <el-form :model="props.transferData"> |
| | | <el-form-item :label="$t('order.transferPage.oldOrderId')+'ï¼'" label-width="140px"> |
| | | <el-text>{{props.transferData.oldOrderId}}</el-text> |
| | | </el-form-item> |
| | | <el-form-item :label="$t('order.transferPage.oldOrderNumber')+'ï¼'" label-width="140px"> |
| | | <el-text>{{props.transferData.oldOrderNumber}}</el-text> |
| | | </el-form-item> |
| | | <el-form-item :label="$t('order.transferPage.newOrderId')+'ï¼'" label-width="140px"> |
| | | <el-input v-model="props.transferData.newOrderId" autocomplete="off" /> |
| | | </el-form-item> |
| | | <el-form-item :label="$t('order.transferPage.newOrderNumber')+'ï¼'" label-width="140px"> |
| | | <el-input v-model="props.transferData.newOrderNumber" type="number" autocomplete="off" /> |
| | | </el-form-item> |
| | | <el-form-item label-width="140px"> |
| | | <el-popconfirm :title="$t('order.transferPage.confirmTitle')" |
| | | @confirm="orderNumberTransferSubmit()"> |
| | | <template #reference> |
| | | <el-button |
| | | type="primary" |
| | | style="margin-left: 268px">{{$t('craft.sure')}}</el-button> |
| | | </template> |
| | | </el-popconfirm> |
| | | </el-form-item> |
| | | </el-form> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | |
| | | </style> |
| | |
| | | <script setup> |
| | | import {onMounted, reactive, ref, watch} from "vue"; |
| | | import {computed, onMounted, reactive, ref, watch} from "vue"; |
| | | import {changeFilterEvent, filterChanged} from "@/hook" |
| | | import footSum from "@/hook/footSum" |
| | | import {useI18n} from "vue-i18n" |
| | | import request from "@/utils/request" |
| | | import {ElMessage} from "element-plus" |
| | |
| | | align: 'center',//æåå±
ä¸ |
| | | stripe:true,//æé©¬çº¹ |
| | | showOverflow:true, |
| | | showFooter: true,//æ¾ç¤ºè |
| | | rowConfig: {isCurrent: true, isHover: true,height: 30},//é¼ æ ç§»å¨æéæ©é«äº® |
| | | virtualScroll: true, // å¼å¯èææ»å¨åè½ |
| | | id: 'Order_Process', |
| | |
| | | } |
| | | return null |
| | | }, |
| | | |
| | | |
| | | footerMethod ({ columns, data }) {//页è彿° |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return t('basicData.total') |
| | | } |
| | | if (list.value.includes(column.field)) { |
| | | return footSum(data, column.field) |
| | | } |
| | | return '' |
| | | }) |
| | | ] |
| | | } |
| | | }) |
| | | const list = ref([]) |
| | | |
| | | let props = defineProps({ |
| | | orderId:null |
| | |
| | | {field: 'glass_child',width: 130, title: t('reportingWorks.glassChild') ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'order_type', width: 120,title: t('order.orderType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'process_id',width: 110, title: t('processCard.processId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | |
| | | {field: 'technology_number', width: 90,title: t('processCard.technologyNumber'),showOverflow:"ellipsis"}, |
| | | {field: 'quantity', width: 90,title: t('order.quantity')}, |
| | | {field: 'gross_area', width: 90,title: t('order.area')}, |
| | | {field: 'shippedQuantity',width: 120, title: t('delivery.deliveryQuantity')}, |
| | | {field: 'inventory',width: 120, title: t('productStock.inventoryQuantity')}, |
| | | {field: 'inventoryArea',width: 120, title: t('report.inventoryArea')}, |
| | |
| | | getWorkOrder() |
| | | }) |
| | | |
| | | |
| | | |
| | | const getWorkOrder = () => { |
| | | request.post(`/report/processCardProgress/${props.orderId}`,column).then((res) => { |
| | | request.post(`/report/processCardProgress/${props.orderId}`,column).then(async (res) => { |
| | | if (res.code == 200) { |
| | | |
| | | gridOptions.columns = JSON.parse(JSON.stringify(columns)) |
| | | gridOptions.columns.forEach(item =>{ |
| | | item.filterMethod = filterChanged |
| | | }) |
| | | res.data.title.forEach(item =>{ |
| | | let column = {slots: { default: 'quantitySum' }, width: 90,title: item.process} |
| | | list.value = ['quantity'] |
| | | res.data.title.forEach((item,index) =>{ |
| | | list.value.push('reportWorkQuantity.'+item.process) |
| | | let column = {slots: { default: 'quantitySum'}, |
| | | width: 90, |
| | | title: item.process, |
| | | field:'reportWorkQuantity.'+item.process} |
| | | gridOptions.columns.push(column) |
| | | }) |
| | | res.data.data.forEach(item => { |
| | |
| | | item.reportWorkQuantityCount=JSON.parse(item.reportWorkQuantityCount) |
| | | }) |
| | | //gridOptions.mergeCells= res.data.mergeCells |
| | | xGrid.value.loadData(res.data.data) |
| | | await xGrid.value.loadData(res.data.data) |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | } |
| | |
| | | <template> |
| | | <div id="sheet" @dblclick="handleDoubleClick"> |
| | | <table border="1" > |
| | | <thead> |
| | | <tr class="title-s"> |
| | | <th colspan="9"> |
| | | <h1> |
| | |
| | | <th v-if="!company.showDeliveryCreator" style="width: 10%;" colspan="1">å å·¥è¦æ±</th> |
| | | <th v-if="!company.showDeliveryCreator" style="width: 10%;" colspan="1">夿³¨</th> |
| | | </tr> |
| | | </thead> |
| | | <template v-for="(item, index) in produceList" :key="index" > |
| | | <tr> |
| | | <td style="font-size: 15px;font-weight: bold;text-align: left" colspan="4">产ååç§°: |
| | |
| | | const grossNum = ref({ |
| | | quantity: 0, |
| | | grossArea: 0, |
| | | perimeter: 0 |
| | | perimeter: 0, |
| | | weight:0 |
| | | }) |
| | | const getData = () => { |
| | | request.get(`/order/printOrderProductDetail/${props.orderId}/${selectedValues.value}`).then(res => { |
| | |
| | | grossNum.value.quantity += getQuantity(item.productDetail) |
| | | grossNum.value.grossArea += getArea(item.productDetail) |
| | | grossNum.value.perimeter += getPerimeter(item.productDetail) |
| | | grossNum.value.weight += getWeight(item.productDetail) |
| | | stringToJson(item.productDetail) |
| | | }) |
| | | |
| | | grossNum.value.quantity = parseFloat(grossNum.value.quantity.toFixed(2)) |
| | | grossNum.value.grossArea = parseFloat(grossNum.value.grossArea.toFixed(2)) |
| | | grossNum.value.perimeter = parseFloat(grossNum.value.perimeter.toFixed(2)) |
| | | grossNum.value.weight = parseFloat(grossNum.value.weight.toFixed(2)) |
| | | |
| | | }) |
| | | } |
| | |
| | | grossNum.value.quantity=0 |
| | | grossNum.value.grossArea=0 |
| | | grossNum.value.perimeter=0 |
| | | grossNum.value.weight=0 |
| | | data.value= res.data |
| | | |
| | | data.value.orderProductDetail.forEach(item => { |
| | | grossNum.value.quantity += getQuantity(item.productDetail) |
| | | grossNum.value.grossArea += getArea(item.productDetail) |
| | | grossNum.value.perimeter += getPerimeter(item.productDetail) |
| | | grossNum.value.weight += getWeight(item.productDetail) |
| | | stringToJson(item.productDetail) |
| | | }) |
| | | grossNum.value.quantity = parseFloat(grossNum.value.quantity.toFixed(2)) |
| | | grossNum.value.grossArea = parseFloat(grossNum.value.grossArea.toFixed(2)) |
| | | grossNum.value.perimeter = parseFloat(grossNum.value.perimeter.toFixed(2)) |
| | | grossNum.value.weight = parseFloat(grossNum.value.weight.toFixed(2)) |
| | | |
| | | }) |
| | | |
| | |
| | | return parseFloat(perimeter.toFixed(2)) |
| | | } |
| | | |
| | | const getWeight = (productList) => { |
| | | let weight = 0 |
| | | productList.forEach(item => { |
| | | weight += item.weight |
| | | }) |
| | | return parseFloat(weight.toFixed(2)) |
| | | } |
| | | |
| | | const printSheet = () => { |
| | | } |
| | | |
| | |
| | | </tr> |
| | | |
| | | <tr class="title-s"> |
| | | <th colspan="2" style="width: 30%"></th> |
| | | <th colspan="2" style="width: 30%;text-align: left;"><span>æ»éé:{{ grossNum.weight }}</span></th> |
| | | <th colspan="5" style="width: 40%;"> |
| | | <h3 >ç产任å¡å(æå)</h3> |
| | | </th> |
| | |
| | | selected:'éä¸', |
| | | partiallySelected:'é¨åéä¸', |
| | | unchecked :'æªéä¸', |
| | | copy:'å¤å¶', |
| | | msg:{ |
| | | max255:'أدخ٠255 ØØ±ÙÙØ§ ÙØØ¯ Ø£ÙØµÙ', |
| | | range99999Dec2: |
| | |
| | | |
| | | quantityMount:'æ°ééé¢', |
| | | allAmount:'é¢ç§¯éé¢ï¼æ»éé¢ï¼', |
| | | orderTransfer:'è®¢åæ¥å·¥è½¬ç§»', |
| | | |
| | | msg:{ |
| | | productCheck:'Ø§ÙØ±Ø¬Ø§Ø¡ Ø§Ø®ØªÙØ§Ø± Ù
ÙØªØ¬', |
| | |
| | | |
| | | pleaseCancelTheFilteringFirst:'ÙØ±Ø¬Ù Ø¥ÙØºØ§Ø¡ Ø§ÙØ§Ø®ØªÙار Ø£ÙÙØ§Ù', |
| | | grossAreaIsNot0:'åå¨å®é
æ»é¢ç§¯çäº0', |
| | | differentSize:'æ¤è®¢å嫿æå¨ä¿®æ¹å¤§å°çï¼å审修æ¹è®¢ååè¯·éæ°é置大å°çï¼æ¯å¦å审ï¼' |
| | | differentSize:'æ¤è®¢å嫿æå¨ä¿®æ¹å¤§å°çï¼å审修æ¹è®¢ååè¯·éæ°é置大å°çï¼æ¯å¦å审ï¼', |
| | | updateOrderIdErrorGtMaxId:'è¾å
¥è®¢åå·ä¸è½å¤§äºæå¤§è®¢åå·', |
| | | updateOrderIdErrorIsExist:'è¾å
¥è®¢åå·å·²åå¨', |
| | | updateOrderIdErrorIsSame:'è¾å
¥è®¢åå·ç¸å', |
| | | updateOrderIdErrorDiscrepancyInLength:'è¾å
¥è®¢åå·é¿åº¦ä¸ç¬¦', |
| | | updateOrderIdErrorInputNumber:'请è¾å
¥æ°å', |
| | | updateOrderIdErrorNotNo1:'ä¸è½ä¿®æ¹ç¬¬ä¸ä¸ªåå', |
| | | } |
| | | |
| | | }, |
| | |
| | | copyTitle:'ÙØ³Ø® Ø§ÙØ¹ÙÙØ§Ù', |
| | | msgList:{ |
| | | checkOrder:'ÙÙ
ÙØªÙ
Ø§ÙØ¹Ø«Ùر عÙÙ Ù
عÙÙÙ
ات Ø§ÙØ·ÙØ¨Ø ÙØ±Ø¬Ù ØªØØ¯Ùد Ø§ÙØ·Ùب اÙÙØ§Ù', |
| | | } |
| | | isOptimize:'æ¤è®¢å已转ä¼åï¼åé失败ï¼', |
| | | isReportingWork:'æ¤è®¢åå·²æ¥å·¥ï¼åé失败ï¼', |
| | | isStorage:'æ¤è®¢åå·²å
¥åºï¼åé失败ï¼', |
| | | }, |
| | | updateOrderId:"ä¿®æ¹è®¢åå·", |
| | | reportingTransfer:'æ¥å·¥è½¬ç§»' |
| | | }, |
| | | craft:{ |
| | | glassAddress:'ÙØ¶Ø¹ Ø¹ÙØ§Ù
Ø© Ø§ÙØ²Ø¬Ø§Ø¬', |
| | |
| | | |
| | | customerAbbreviation:'اختصار Ø§ÙØ¹Ù
ÙÙ', |
| | | pleaseEnterTheCustomerAbbreviation:'Ø§ÙØ±Ø¬Ø§Ø¡ ادخا٠اختصار Ø§ÙØ¹Ù
ÙÙ', |
| | | msgList:{ |
| | | notCustomerInfo:'æªæ¥è¯¢å°å®¢æ·ä¿¡æ¯', |
| | | } |
| | | }, |
| | | delivery:{ |
| | | page:{ |
| | |
| | | patchNum :'عدد Ù
جÙ
ÙØ¹Ø§Øª Ø§ÙØªØ³ÙÙÙ
', |
| | | finished :'Ù
عد٠اÙÙ
ÙØªØ¬Ø§Øª اÙÙÙØ§Ø¦ÙØ©', |
| | | finishedProductReport :'ØªÙØ±Ùر اÙÙ
ÙØªØ¬Ø§Øª اÙÙÙØ§Ø¦ÙØ©', |
| | | workProcessName:'å¨å¶ååç§°', |
| | | }, |
| | | productionBasicData:{ |
| | | page:{ |
| | |
| | | selected:'selected', |
| | | partiallySelected:'partially selected', |
| | | unchecked :'unchecked', |
| | | copy:'Copy', |
| | | msg:{ |
| | | max255:"The value contains a maximum of 255 characters", |
| | | range99999Dec2: |
| | |
| | | |
| | | quantityMount:'Quantity and Amount', |
| | | allAmount:'é¢ç§¯éé¢ï¼æ»éé¢ï¼', |
| | | orderTransfer:'è®¢åæ¥å·¥è½¬ç§»', |
| | | |
| | | msg:{ |
| | | productCheck:'Please select a product', |
| | |
| | | |
| | | pleaseCancelTheFilteringFirst:'Please cancel the selection first.', |
| | | grossAreaIsNot0:'There is an actual total area equal to0', |
| | | differentSize:'æ¤è®¢å嫿æå¨ä¿®æ¹å¤§å°çï¼å审修æ¹è®¢ååè¯·éæ°é置大å°çï¼æ¯å¦å审ï¼' |
| | | differentSize:'æ¤è®¢å嫿æå¨ä¿®æ¹å¤§å°çï¼å审修æ¹è®¢ååè¯·éæ°é置大å°çï¼æ¯å¦å审ï¼', |
| | | updateOrderIdErrorGtMaxId:'è¾å
¥è®¢åå·ä¸è½å¤§äºæå¤§è®¢åå·', |
| | | updateOrderIdErrorIsExist:'è¾å
¥è®¢åå·å·²åå¨', |
| | | updateOrderIdErrorIsSame:'è¾å
¥è®¢åå·ç¸å', |
| | | updateOrderIdErrorDiscrepancyInLength:'è¾å
¥è®¢åå·é¿åº¦ä¸ç¬¦', |
| | | updateOrderIdErrorInputNumber:'请è¾å
¥æ°å', |
| | | updateOrderIdErrorNotNo1:'ä¸è½ä¿®æ¹ç¬¬ä¸ä¸ªåå', |
| | | } |
| | | |
| | | }, |
| | |
| | | copy:'Copy', |
| | | copyTitle:'Copy Title', |
| | | msgList:{ |
| | | checkOrder:'No order information is found. Please click Order first' |
| | | } |
| | | checkOrder:'No order information is found. Please click Order first', |
| | | isOptimize:'æ¤è®¢å已转ä¼åï¼åé失败ï¼', |
| | | isReportingWork:'æ¤è®¢åå·²æ¥å·¥ï¼åé失败ï¼', |
| | | isStorage:'æ¤è®¢åå·²å
¥åºï¼åé失败ï¼', |
| | | }, |
| | | updateOrderId:"ä¿®æ¹è®¢åå·", |
| | | reportingTransfer:'æ¥å·¥è½¬ç§»' |
| | | }, |
| | | craft:{ |
| | | glassAddress:'Glass Address', |
| | |
| | | |
| | | customerAbbreviation:'Customer abbreviation', |
| | | pleaseEnterTheCustomerAbbreviation:'Please enter the customers abbreviation', |
| | | msgList:{ |
| | | notCustomerInfo:'æªæ¥è¯¢å°å®¢æ·ä¿¡æ¯', |
| | | } |
| | | }, |
| | | delivery:{ |
| | | page:{ |
| | |
| | | patchNum :'Patch number', |
| | | finished :'Rate of finished product', |
| | | finishedProductReport :'Finished product report', |
| | | workProcessName:'å¨å¶ååç§°', |
| | | }, |
| | | productionBasicData:{ |
| | | page:{ |
| | |
| | | selected:'éä¸', |
| | | partiallySelected:'é¨åéä¸', |
| | | unchecked :'æªéä¸', |
| | | copy:'å¤å¶', |
| | | msg:{ |
| | | max255:"ÐведиÑе 255 Ñимволов.", |
| | | range99999Dec2: |
| | |
| | | |
| | | quantityMount:'æ°ééé¢', |
| | | allAmount:'é¢ç§¯éé¢ï¼æ»éé¢ï¼', |
| | | orderTransfer:'è®¢åæ¥å·¥è½¬ç§»', |
| | | |
| | | msg:{ |
| | | productCheck:'ÐожалÑйÑÑа, вÑбеÑиÑе пÑодÑкÑ', |
| | |
| | | |
| | | pleaseCancelTheFilteringFirst:'请å
åæ¶çé', |
| | | grossAreaIsNot0:'åå¨å®é
æ»é¢ç§¯çäº0', |
| | | differentSize:'æ¤è®¢å嫿æå¨ä¿®æ¹å¤§å°çï¼å审修æ¹è®¢ååè¯·éæ°é置大å°çï¼æ¯å¦å审ï¼' |
| | | differentSize:'æ¤è®¢å嫿æå¨ä¿®æ¹å¤§å°çï¼å审修æ¹è®¢ååè¯·éæ°é置大å°çï¼æ¯å¦å审ï¼', |
| | | updateOrderIdErrorGtMaxId:'è¾å
¥è®¢åå·ä¸è½å¤§äºæå¤§è®¢åå·', |
| | | updateOrderIdErrorIsExist:'è¾å
¥è®¢åå·å·²åå¨', |
| | | updateOrderIdErrorIsSame:'è¾å
¥è®¢åå·ç¸å', |
| | | updateOrderIdErrorDiscrepancyInLength:'è¾å
¥è®¢åå·é¿åº¦ä¸ç¬¦', |
| | | updateOrderIdErrorInputNumber:'请è¾å
¥æ°å', |
| | | updateOrderIdErrorNotNo1:'ä¸è½ä¿®æ¹ç¬¬ä¸ä¸ªåå', |
| | | } |
| | | |
| | | }, |
| | |
| | | copyTitle:'ÐопиÑоваÑÑ Ð·Ð°Ð³Ð¾Ð»Ð¾Ð²Ð¾Ðº', |
| | | msgList:{ |
| | | checkOrder:'ÐÑли инÑоÑмаÑÐ¸Ñ Ð¾ заказе не полÑÑена, нажмиÑе на заказ.', |
| | | } |
| | | isOptimize:'æ¤è®¢å已转ä¼åï¼åé失败ï¼', |
| | | isReportingWork:'æ¤è®¢åå·²æ¥å·¥ï¼åé失败ï¼', |
| | | isStorage:'æ¤è®¢åå·²å
¥åºï¼åé失败ï¼', |
| | | }, |
| | | updateOrderId:"ä¿®æ¹è®¢åå·", |
| | | reportingTransfer:'æ¥å·¥è½¬ç§»' |
| | | }, |
| | | craft:{ |
| | | glassAddress:'ÐаÑкиÑовка', |
| | |
| | | |
| | | customerAbbreviation:'ÐлиенÑÑ Ð¡Ð¾ÐºÑаÑениÑ', |
| | | pleaseEnterTheCustomerAbbreviation:'ÐожалÑйÑÑа, введиÑе ÑокÑаÑение клиенÑа.', |
| | | msgList:{ |
| | | notCustomerInfo:'æªæ¥è¯¢å°å®¢æ·ä¿¡æ¯', |
| | | } |
| | | }, |
| | | delivery:{ |
| | | page:{ |
| | |
| | | patchNum :'ÐолиÑеÑÑво ÑÑеклÑннÑÑ
плаÑÑин', |
| | | finished :'ÐоÑÑÑиÑÐ¸ÐµÐ½Ñ Ð³Ð¾Ñовой пÑодÑкÑии', |
| | | finishedProductReport :'ÐÑÑÐµÑ Ð¾ гоÑовой пÑодÑкÑии', |
| | | workProcessName:'å¨å¶ååç§°', |
| | | }, |
| | | productionBasicData:{ |
| | | page:{ |
| | |
| | | selected:'éä¸', |
| | | partiallySelected:'é¨åéä¸', |
| | | unchecked :'æªéä¸', |
| | | copy:'å¤å¶', |
| | | msg:{ |
| | | max255:"æå¤è¾å
¥255个å符", |
| | | range99999Dec2: |
| | |
| | | |
| | | quantityMount:'æ°ééé¢', |
| | | allAmount:'é¢ç§¯éé¢ï¼æ»éé¢ï¼', |
| | | orderTransfer:'è®¢åæ¥å·¥è½¬ç§»', |
| | | transferPage:{ |
| | | oldOrderId:'å订åå·', |
| | | newOrderId:'æ°è®¢åå·', |
| | | oldOrderNumber:'å订ååºå·', |
| | | newOrderNumber:'æ°è®¢ååºå·', |
| | | confirmTitle:'ç¡®å®è½¬ç§»æ¤åºå·çæµç¨å¡æ¥å·¥æ°æ®?', |
| | | errorToMes:'ä¸mesé讯å¼å¸¸' |
| | | |
| | | }, |
| | | |
| | | msg:{ |
| | | productCheck:'è¯·éæ©äº§å', |
| | |
| | | |
| | | pleaseCancelTheFilteringFirst:'请å
åæ¶çé', |
| | | grossAreaIsNot0:'åå¨å®é
æ»é¢ç§¯çäº0', |
| | | differentSize:'æ¤è®¢å嫿æå¨ä¿®æ¹å¤§å°çï¼å审修æ¹è®¢ååè¯·éæ°é置大å°çï¼æ¯å¦å审ï¼' |
| | | differentSize:'æ¤è®¢å嫿æå¨ä¿®æ¹å¤§å°çï¼å审修æ¹è®¢ååè¯·éæ°é置大å°çï¼æ¯å¦å审ï¼', |
| | | updateOrderIdErrorGtMaxId:'è¾å
¥è®¢åå·ä¸è½å¤§äºæå¤§è®¢åå·', |
| | | updateOrderIdErrorIsExist:'è¾å
¥è®¢åå·å·²åå¨', |
| | | updateOrderIdErrorIsSame:'è¾å
¥è®¢åå·ç¸å', |
| | | updateOrderIdErrorDiscrepancyInLength:'è¾å
¥è®¢åå·é¿åº¦ä¸ç¬¦', |
| | | updateOrderIdErrorInputNumber:'请è¾å
¥æ°å', |
| | | updateOrderIdErrorNotNo1:'ä¸è½ä¿®æ¹ç¬¬ä¸ä¸ªåå', |
| | | } |
| | | |
| | | }, |
| | |
| | | copy:'å¤å¶è®¢å', |
| | | copyTitle:'å¤å¶è¡¨å¤´', |
| | | msgList:{ |
| | | checkOrder:'æªæ¥è¯¢å°è®¢åä¿¡æ¯ï¼è¯·å
åå»è®¢å' |
| | | } |
| | | checkOrder:'æªæ¥è¯¢å°è®¢åä¿¡æ¯ï¼è¯·å
åå»è®¢å', |
| | | isOptimize:'æ¤è®¢å已转ä¼åï¼åé失败ï¼', |
| | | isReportingWork:'æ¤è®¢åå·²æ¥å·¥ï¼åé失败ï¼', |
| | | isStorage:'æ¤è®¢åå·²å
¥åºï¼åé失败ï¼', |
| | | }, |
| | | updateOrderId:"ä¿®æ¹è®¢åå·", |
| | | reportingTransfer:'æ¥å·¥è½¬ç§»' |
| | | }, |
| | | craft:{ |
| | | glassAddress:'æ è®°', |
| | |
| | | |
| | | customerAbbreviation:'客æ·ç®ç§°', |
| | | pleaseEnterTheCustomerAbbreviation:'请è¾å
¥å®¢æ·ç®ç§°', |
| | | msgList:{ |
| | | notCustomerInfo:'æªæ¥è¯¢å°å®¢æ·ä¿¡æ¯', |
| | | } |
| | | }, |
| | | delivery:{ |
| | | page:{ |
| | |
| | | patchNum :'è¡¥çæ°é', |
| | | finished :'æåç', |
| | | finishedProductReport :'æåæ¥è¡¨', |
| | | workProcessName:'å¨å¶ååç§°', |
| | | }, |
| | | productionBasicData:{ |
| | | page:{ |
| | |
| | | export default defineStore('companyInfo', { |
| | | |
| | | state: () => ({ |
| | | timeOut:false,//éåtrueï¼å
¶ä»falseï¼æ¯å¦å¼å¯è¶
æ¶æ¹åå¤éæ¡ç¶æ |
| | | connectMes:false,//常å·trueï¼å
¶ä»falseï¼æ¾ç¤ºè®¢åæ¥å·¥è½¬ç§»æ¯å¦å¯ç¨ |
| | | companyName: '天津åç»ç»çå·¥ä¸ææ¯æéå
¬å¸ï¼TJBB-QR7.1-01ï¼', |
| | | address:'天津å®å»åºèè½ç¯ä¿å·¥ä¸åºå¤©å
´è·¯è¥¿ä¾§å®ä¸éåä¾§', |
| | | telephone:'022-59280088', |
| | |
| | | export default defineStore('companyInfo', { |
| | | |
| | | state: () => ({ |
| | | timeOut:false,//éåtrueï¼å
¶ä»falseï¼æ¯å¦å¼å¯è¶
æ¶æ¹åå¤éæ¡ç¶æ |
| | | connectMes:true,//常å·trueï¼å
¶ä»falseï¼æ¾ç¤ºè®¢åæ¥å·¥è½¬ç§»æ¯å¦å¯ç¨ |
| | | companyName: '常å·å¸åå©ç»çæéå
¬å¸', |
| | | address:'常å·å¸å¤©å®åºééé大æåè·¯8å·', |
| | | telephone:'022-59280088', |
| | |
| | | export default defineStore('companyInfo', { |
| | | |
| | | state: () => ({ |
| | | timeOut:false,//éåtrueï¼å
¶ä»falseï¼æ¯å¦å¼å¯è¶
æ¶æ¹åå¤éæ¡ç¶æ |
| | | connectMes:false,//常å·trueï¼å
¶ä»falseï¼æ¾ç¤ºè®¢åæ¥å·¥è½¬ç§»æ¯å¦å¯ç¨ |
| | | companyName: 'æ°çæé«ç»çç§ææéå
¬å¸', |
| | | address:'æ°çäºå®¶æ¸ å·¥ä¸åå
µå¢æ°å建æå·¥ä¸ååºå·¥ä¸è·¯11å·é1å·', |
| | | telephone:'13419168999', |
| | |
| | | export default defineStore('companyInfo', { |
| | | |
| | | state: () => ({ |
| | | timeOut:true,//éåtrueï¼å
¶ä»falseï¼æ¯å¦å¼å¯è¶
æ¶æ¹åå¤éæ¡ç¶æ |
| | | connectMes:false,//常å·trueï¼å
¶ä»falseï¼æ¾ç¤ºè®¢åæ¥å·¥è½¬ç§»æ¯å¦å¯ç¨ |
| | | companyName: 'éåç¦å天æç»çæéå
¬å¸', |
| | | address:'æµæ±çéåå¸éä¸åºæ¹å®
éå·¥ä¸åè½åºé¹¤å²©è¡28å·2å·', |
| | | telephone:'153 8178 1915 ç¦å天æ', |
| | |
| | | <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/ingredientsStock/AccessoriesMonthlySettlement' }">è¾
ææç»</el-breadcrumb-item>--> |
| | | <el-breadcrumb-item @click="changeRouter(5)" :class="indexFlag===5?'indexTag':''" :to="{ path: '/main/ingredientsStock/returnToStorage' }">{{$t('ingredientsStock.returnToStorage')}}</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(6)" :class="indexFlag===6?'indexTag':''" :to="{ path: '/main/ingredientsStock/selectSurplusMaterials' }">{{$t('ingredientsStock.surplusMaterialManagement')}}</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(7)" :class="indexFlag===7?'indexTag':''" :to="{ path: '/main/ingredientsStock/materialAdditionRecord' }">{{$t('ç©ææ°å¢')}}</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(7)" :class="indexFlag===7?'indexTag':''" :to="{ path: '/main/ingredientsStock/materialAdditionRecord' }">{{$t('ingredients.materialAddition')}}</el-breadcrumb-item> |
| | | <el-breadcrumb-item v-show="false" :to="{ path: '/main/order/orderReport' }">{{$t('ingredientsStock.returnToStorage')}}</el-breadcrumb-item> |
| | | </el-breadcrumb> |
| | | |
| | |
| | | ElMessage.error("请è¾å
¥åºååºå") |
| | | return |
| | | }*/ |
| | | let flowData |
| | | if(selectRecords.height===undefined){ |
| | | flowData = ref({ |
| | | |
| | | title: titleUploadData.value, |
| | | materialCode: selectRecords.id, |
| | | userName:userStore.user.userName, |
| | | userId:userStore.user.userId |
| | | |
| | | let flowData = ref({ |
| | | totalArea: parseFloat(divideAuto(multiply(selectRecords.height,selectRecords.width),1000000,2))*titleUploadData.value.inventoryQuantity, |
| | | singlePieceArea: parseFloat(divideAuto(multiply(selectRecords.height,selectRecords.width),1000000,2)), |
| | | title: titleUploadData.value, |
| | | materialCode: selectRecords.id, |
| | | userName:userStore.user.userName, |
| | | userId:userStore.user.userId |
| | | }) |
| | | }else{ |
| | | flowData = ref({ |
| | | totalArea: parseFloat(divideAuto(multiply(selectRecords.height,selectRecords.width),1000000,2))*titleUploadData.value.inventoryQuantity, |
| | | singlePieceArea: parseFloat(divideAuto(multiply(selectRecords.height,selectRecords.width),1000000,2)), |
| | | title: titleUploadData.value, |
| | | materialCode: selectRecords.id, |
| | | userName:userStore.user.userName, |
| | | userId:userStore.user.userId |
| | | |
| | | }) |
| | | }) |
| | | } |
| | | |
| | | console.log(flowData.value) |
| | | |
| | | request.post("/materialInventory/saveMaterialInventory", flowData.value).then((res) => { |
| | |
| | | <template v-for="(item,id) in labelList"> |
| | | <div id="entirety" > |
| | | |
| | | <div class="row1" v-if="item.heat_layout_id!=null"> |
| | | <span>{{ item.customer_name }}</span> |
| | | <span>{{ item.order_id }}</span> |
| | | <span v-if="item.process.includes('夹è¶')||item.process.includes('夹å±')">è¶ç</span> |
| | | <span v-else-if="item.process.includes('ä¸ç©º')">ä¸ç©º</span> |
| | | <span v-else-if="item.process.includes('ç¾å¶')">ç¾å¶</span> |
| | | <span v-else></span> |
| | | </div> |
| | | <div class="row6" v-else> |
| | | <div class="row1" v-if="item.customer_name!==undefined"> |
| | | <span>{{ item.customer_name }}</span> |
| | | <span>{{ item.order_id }}</span> |
| | | <span v-if="item.process.includes('夹è¶')||item.process.includes('夹å±')">è¶ç</span> |
| | |
| | | </div> |
| | | |
| | | |
| | | <div class="row2"> |
| | | |
| | | <div class="row2" v-if="item.customer_name!==undefined"> |
| | | <span>{{item.project}}</span> |
| | | <span>{{ item.building_number }}</span> |
| | | <span v-if="item.bend_radius!=null">R={{item.bend_radius}}</span> |
| | |
| | | </span> |
| | | {{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}} |
| | | </div> |
| | | <div class="row5"> |
| | | <div class="row5" v-if="item.customer_name!==undefined"> |
| | | <span>{{item.glass_child}}</span> |
| | | <span>{{item.processing_note}}</span> |
| | | </div> |
| | |
| | | request.post(`/processCard/getSelectPrintLabel/${projectNo.value}/${type.value}`).then((res) => { |
| | | if (res.code == 200) { |
| | | labelList.value = deepClone(res.data.data) |
| | | console.log(res.data.data) |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | |
| | | <!-- åæåæ ç¾--> |
| | | <template v-for="(item,id) in labelList"> |
| | | <div v-if="type!=='3'" id="entirety" > |
| | | <div class="row1" > |
| | | <div v-if="item.customer_name!==undefined" class="row1" > |
| | | <!--é¢åçå¾åºå·ï¼é¢åçå¾éç顺åº--> |
| | | <!-- <div class="cell" v-if="item.heat_layout_id!==undefined">{{ item.heat_layout_id }}/{{ item.heat_layout_sort }}</div>--> |
| | | <span>{{ item.customer_name }}</span> |
| | |
| | | {{JSON.parse(item.other_columns).S02}}={{item.quantity}} |
| | | </div> |
| | | <div class="row3" v-else> |
| | | <span v-if="item.heat_layout_id!==undefined && company.showDeliveryCreator" style="font-size: 7pt;"> |
| | | <span v-if="item.heat_layout_sort!==undefined && company.showDeliveryCreator" style="font-size: 7pt;"> |
| | | ({{ item.stock_id }}) {{ item.heat_layout_id }}/{{ item.heat_layout_sort }} |
| | | </span> |
| | | <span v-if="item.stock_id!==undefined && !company.showDeliveryCreator" style="font-size: 7pt"> |
| | |
| | | </span> |
| | | {{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}} |
| | | </div> |
| | | <div class="row5"> |
| | | <div v-if="item.customer_name!==undefined" class="row5"> |
| | | <span>{{item.project}}</span> |
| | | <span>{{item.building_number?item.building_number.replace(/\r|\n|\s/g,''):''}}</span> |
| | | <span v-if="item.bend_radius!=null">R={{item.bend_radius}}</span> |
| | | </div> |
| | | <div class="row6"> |
| | | <div v-if="item.customer_name!==undefined" class="row6"> |
| | | <span>{{item.glass_child}}</span> |
| | | <span v-if="company.showDeliveryCreator" style="font-size: 10pt" >{{item.processing_note}}</span> |
| | | <span v-else style="font-size: 6pt">{{item.processing_note}}</span> |
| | |
| | | <span style="font-size: 8pt">{{ item.customer_name }}</span> |
| | | |
| | | </div> |
| | | <div class="row2" v-else> |
| | | <div class="row1" v-else> |
| | | <span style="font-size: 8pt">{{ item.customer_name }}</span> |
| | | </div> |
| | | <div class="row2" style="font-size: 8pt" >{{item.order_id}} |
| | |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged}, |
| | | {field: 'quantity', width: 90,title: t('order.quantity')}, |
| | | {field: 'gross_area', width: 90,title: t('order.area')}, |
| | | {field: 'broken_num',width: 90, title: t('reportingWorks.quantityBroken')}, |
| | | // {field: 'shippedQuantity',width: 120, title: t('report.shippedQuantity')}, |
| | | {field: 'inventory',width: 120, title: t('report.inventoryNum')}, |
| | |
| | | if (columnIndex === 0) { |
| | | return t('basicData.total') |
| | | } |
| | | const List = ["quantity", "broken_num", "inventory", "inventoryArea"]; // éæåçæ±å |
| | | const List = ["quantity", "broken_num", "inventory", "inventoryArea","gross_area"]; // éæåçæ±å |
| | | if (List.includes(column.field)) { |
| | | return footSum(data, column.field) |
| | | } |
| | |
| | | field: 'processId', width: 140, title: t('processCard.processId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' } |
| | | }, |
| | | {field: 'orderNumber', width: 90, title: t('order.OrderNum')}, |
| | | {field: 'code', width: 60, title: t('reportingWorks.glassNumber')}, |
| | | {field: 'width', width: 100, title: t('order.width')}, |
| | | {field: 'height', width: 100, title: t('order.height')}, |
| | | {field: 'code', width: 100, title: t('reportingWorks.glassNumber')}, |
| | | {field: 'width', width: 90, title: t('order.width')}, |
| | | {field: 'height', width: 90, title: t('order.height')}, |
| | | {field: 'workProcessName', width: 120, title: t('report.workProcessName')}, |
| | | {field: 'edgingType', width: 110, title: t('order.edgingType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'completedQuantity', width: 90, title: t('reportingWorks.completedQuantity')}, |
| | | {field: 'area', width: 100, title: t('reportingWorks.completedArea')}, |
| | | {field: 'reviewed', title: t('processCard.reviewed')}, |
| | | {field: 'examineTime', title: t('ingredientsStock.reviewedTime')}, |
| | | {field: 'productName', title: t('order.product')}, |
| | | {field: 'reviewed',width: 80, title: t('processCard.reviewed')}, |
| | | {field: 'examineTime',width: 80, title: t('ingredientsStock.reviewedTime')}, |
| | | {field: 'productName',width: 150, title: t('order.product')}, |
| | | ],//表头æé® |
| | | |
| | | toolbarConfig: { |
| | |
| | | const user=userInfo() |
| | | //å®ä¹è¡¨å¤´æ°æ® |
| | | const titleUploadData = ref({ |
| | | //æ¯å¦åçå·¥åº |
| | | laminating:'', |
| | | reportingWorkId: null, |
| | | //æµç¨å¡å· |
| | | processId: null, |
| | |
| | | |
| | | |
| | | let inputDisabled = ref(false) |
| | | onMounted(() =>{ |
| | | onMounted(async () =>{ |
| | | await initTiltle() |
| | | if(route.query.processId !== undefined && route.query.processId!=='' && route.query.processId!=null ){ |
| | | titleUploadData.value.processId = route.query.processId |
| | | //å½è´¨æ£å®¡æ ¸åå è½½æç»ä¿¡æ¯ |
| | | if(route.query.reviewStatus === '1'){ |
| | | if(titleUploadData.value.thisProcess !== undefined |
| | | && titleUploadData.value.thisProcess!=='' |
| | | && titleUploadData.value.thisProcess!=null){ |
| | | getWork() |
| | | getQuantity() |
| | | } |
| | | } |
| | | } |
| | | //route.query.reportingWorkId = 'BG2403150004' |
| | | //夿æ¯å¦ä¼ å
¥æ¥å·¥ç¼å· |
| | |
| | | }, |
| | | {field: 'completed', width: 90, title:t('reportingWorks.completed'),}, |
| | | {field: 'onceBroken', width: 90, title: t('reportingWorks.onceBroken'),}, |
| | | { |
| | | field: 'reviewed_state', |
| | | title: t('processCard.reviewedState'), |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged |
| | | }, |
| | | |
| | | ], |
| | | //表åéªè¯ |
| | |
| | | }) |
| | | const maxQuantity = Math.max(...equalByOrderNum.map(item =>item.breakageQuantity || 0)) |
| | | let process = titleUploadData.value.thisProcess |
| | | let laminating = titleUploadData.value.laminating |
| | | equalByOrderNum.forEach((row) =>{ |
| | | if (process=='夹è¶' || process=='ä¸ç©º' || process=='å
è£
' ||process=='æè¶åç²æ¡'){ |
| | | if (laminating == 'laminating'){ |
| | | row.completedQuantity= brokenRow.value.quantity*1-maxQuantity |
| | | } |
| | | |
| | | }) |
| | | |
| | | |
| | |
| | | |
| | | //ç¬¬ä¸æ¬¡å è½½æ°æ® |
| | | let groupChangeProcess = ref(false)//ç¨äºæ¬çç»æ¾ç¤ºé®é¢ |
| | | request.post(`/reportingWork/selectProcess/${user.user.userId}`).then((res) => { |
| | | if (res.code == 200) { |
| | | titleSelectJson.value.processType = res.data.process |
| | | if(user.user.address!==null && user.user.address!==''){ |
| | | titleUploadData.value.thisProcess = user.user.address |
| | | titleUploadData.value.teamsGroupsName = user.user.userName |
| | | groupChangeProcess.value = true |
| | | if (user.user.address==='ææ¯é¨å¤æ²' || user.user.address==='夹è¶'){ |
| | | groupChangeProcess.value = false |
| | | const initTiltle = async () => { |
| | | await request.post(`/reportingWork/selectProcess/${user.user.userId}`).then((res) => { |
| | | if (res.code == 200) { |
| | | titleSelectJson.value.processType = res.data.process |
| | | if(user.user.address!==null && user.user.address!==''){ |
| | | titleUploadData.value.thisProcess = user.user.address |
| | | titleUploadData.value.teamsGroupsName = user.user.userName |
| | | groupChangeProcess.value = true |
| | | if (user.user.address==='ææ¯é¨å¤æ²' || user.user.address==='夹è¶'){ |
| | | groupChangeProcess.value = false |
| | | } |
| | | gridOptions.toolbarConfig.buttons[1].visible=false |
| | | } |
| | | gridOptions.toolbarConfig.buttons[1].visible=false |
| | | } |
| | | |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | } |
| | | }) |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | function checkSameNumForId(data, targetId) { |
| | | // åå§åä¸ä¸ªå¯¹è±¡æ¥åå¨éå°çidåå
¶å¯¹åºçnumå¼ |
| | |
| | | router.push({path:'/main/reportingWorks/AddReportingWork', |
| | | query:{ |
| | | processId:titleUploadData.value.processId, |
| | | reviewStatus:1, |
| | | random:Math.random() |
| | | } |
| | | }) |
| | |
| | | titleUploadData.value = res.data.data |
| | | titleUploadData.value.processId = processId |
| | | titleUploadData.value.teamsGroupsName = user.user.userName |
| | | titleUploadData.value.laminating = res.data.laminating |
| | | //设å¤ä¸ææ¡ |
| | | titleSelectJson.value.deviceType = res.data.device |
| | | //çç»ä¸ææ¡ |
| | |
| | | |
| | | //ç»å®ä¸æ¹è¡¨æ ¼ |
| | | detail.value = res.data.Detail |
| | | xGrid.value.reloadData(detail.value) |
| | | // 使ç¨mapæ¹æ³æ¥å¤çæ¯ä¸ªå¯¹è±¡ |
| | | let modifiedCollection = detail.value.map(item => { |
| | | if (item.reviewed_state === 1) { |
| | | return { ...item, reviewed_state: "å·²å®¡æ ¸" }; |
| | | } |
| | | else if (item.reviewed_state === 0) { |
| | | return { ...item, reviewed_state: "æªå®¡æ ¸" }; |
| | | } |
| | | else { |
| | | // å
¶ä»æ
åµä¿æä¸å |
| | | return item; |
| | | } |
| | | }); |
| | | xGrid.value.reloadData(modifiedCollection) |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | } |
| | |
| | | |
| | | const editClosedEvent = ({ row, column }) => { |
| | | let process = titleUploadData.value.thisProcess |
| | | let laminating = titleUploadData.value.laminating |
| | | if (column.property==='completedQuantity') { |
| | | xGrid.value.getTableData().fullData.forEach((item, index) =>{ |
| | | if(item.order_number===row.order_number && (process=='夹è¶' || process=='ä¸ç©º' || process=='å
è£
' ||process=='æè¶åç²æ¡')){ |
| | | if(item.order_number===row.order_number && laminating == 'laminating'){ |
| | | item.completedQuantity=row.completedQuantity |
| | | } |
| | | }) |
| | |
| | | const getQuantity = () => { |
| | | titleUploadData.value.thisCompletedQuantity = 0 |
| | | titleUploadData.value.thisWornQuantity = 0 |
| | | let laminating = titleUploadData.value.laminating |
| | | const arr = xGrid.value.getTableData().fullData |
| | | const returnArr = arr.filter((obj, index, self) => |
| | | self.findIndex((t) => t.order_number === obj.order_number) === index |
| | | ) |
| | | |
| | | |
| | | //æ ¹æ®æ¯å¦åçå·¥åºè¿æ»¤ |
| | | const returnArr = |
| | | laminating === "laminating" |
| | | ? arr.filter((obj, index, self) => |
| | | self.findIndex((t) => t.order_number === obj.order_number) === index |
| | | ) |
| | | : arr; |
| | | let sumBreak = 0 |
| | | let sumQuantity = 0 |
| | | returnArr.forEach((item)=>{ |
| | |
| | | |
| | | //ç¹å»æ¥è¯¢ |
| | | const getWorkOrder = () => { |
| | | |
| | | gridOptions.loading = true |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | let inputVal = form.orderId |
| | |
| | | total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal=parseInt(res.data.total) |
| | | pageNum.value=1 |
| | | total.value = res.data.footSum |
| | | produceList = deepClone(res.data.data) |
| | | // 使ç¨mapæ¹æ³æ¥å¤çæ¯ä¸ªå¯¹è±¡ |
| | | let modifiedCollection = produceList.map(item => { |
| | |
| | | </el-col> |
| | | </template> |
| | | <template #add> |
| | | <el-button @click="add" type="primary" style="margin-right: 3px">æ°å¢</el-button> |
| | | <el-button @click="add" type="primary" style="margin-right: 3px">{{$t('basicData.insert')}}</el-button> |
| | | |
| | | </template> |
| | | |
| | |
| | | body: { |
| | | options: [ |
| | | [ |
| | | { code: 'sheet1', name: '订å', prefixIcon: 'vxe-icon-file-txt', visible: true}, |
| | | { code: 'sheet2', name: 'åè´§', prefixIcon: 'vxe-icon-file-txt', visible: true}, |
| | | { code: 'sheet1', name: t('orderBasicData.order'), prefixIcon: 'vxe-icon-file-txt', visible: true}, |
| | | { code: 'sheet2', name: t('searchOrder.delivery'), prefixIcon: 'vxe-icon-file-txt', visible: true}, |
| | | ] |
| | | ] |
| | | } |
| | |
| | | switch (menu.code) { |
| | | case 'sheet1': { |
| | | if(rowClickIndex.value===null){ |
| | | ElMessage.warning("æªæ¥è¯¢å°å®¢æ·ä¿¡æ¯") |
| | | ElMessage.warning(t('customer.msgList.notCustomerInfo'))//"æªæ¥è¯¢å°å®¢æ·ä¿¡æ¯" |
| | | return |
| | | } |
| | | router.push({path: '/main/customer/selectCustomerOrder', query: { id: row.id,type:1 }}) |
| | |
| | | } |
| | | case 'sheet2': { |
| | | if(rowClickIndex.value===null){ |
| | | ElMessage.warning("æªæ¥è¯¢å°å®¢æ·ä¿¡æ¯") |
| | | ElMessage.warning(t('customer.msgList.notCustomerInfo')) |
| | | return |
| | | } |
| | | router.push({path: '/main/customer/selectCustomerOrder', query: { id: row.id,type:2 }}) |
| | |
| | | const blob = new Blob([res]) |
| | | if ('download' in document.createElement('a')) { // éIEä¸è½½ |
| | | const elink = document.createElement('a') |
| | | elink.download = `客æ·è®¢å.xlsx` |
| | | elink.download = `customerOrder.xlsx` |
| | | elink.style.display = 'none' |
| | | elink.href = URL.createObjectURL(blob) |
| | | document.body.appendChild(elink) |
| | |
| | | const blob = new Blob([res]) |
| | | if ('download' in document.createElement('a')) { // éIEä¸è½½ |
| | | const elink = document.createElement('a') |
| | | elink.download = `客æ·åè´§.xlsx` |
| | | elink.download = `customerDelivery.xlsx` |
| | | elink.style.display = 'none' |
| | | elink.href = URL.createObjectURL(blob) |
| | | document.body.appendChild(elink) |
| | |
| | | |
| | | pageNum=1 |
| | | produceList = deepClone(res.data.data) |
| | | |
| | | |
| | | const orderDetails = res.data.data |
| | | orderDetails.forEach(item => { |
| | | item.otherColumns = JSON.parse(item.otherColumns) |
| | | }) |
| | | xGrid.value.reloadData(orderDetails) |
| | | xGrid.value.loadData(produceList) |
| | | |
| | | |
| | | //ç¦ç¨æé® |
| | | gridOptions.toolbarConfig.buttons[1].disabled = true |
| | | gridOptions.toolbarConfig.buttons[2].disabled = true |
| | |
| | | |
| | | pageNum=1 |
| | | produceList = deepClone(res.data.data) |
| | | |
| | | console.log(res.data.data) |
| | | const orderDetails = res.data.data |
| | | orderDetails.forEach(item => { |
| | | item.otherColumns = JSON.parse(item.otherColumns) |
| | |
| | | import footSum from "@/hook/footSum" |
| | | import {useI18n} from "vue-i18n" |
| | | import {multiply,multiplyAuto,divideAuto} from '@/utils/decimal' |
| | | import OrderNumberReportTransfer from "@/components/sd/order/OrderNumberReportTransfer.vue"; |
| | | const { t } = useI18n() |
| | | |
| | | let dialogTableVisible = ref(false) |
| | |
| | | let errorAreaVisible = ref(false) |
| | | let otherMoneyVisible = ref(false) |
| | | let sizeCheckVisible = ref(false) |
| | | let dialogTransferVisible = ref(false) |
| | | const transferData = ref({ |
| | | oldOrderId:null, |
| | | newOrderNumber:null, |
| | | newOrderId:null, |
| | | oldOrderNumber:null, |
| | | }) |
| | | let orderIdVisible = ref(false) |
| | | const maxTableLen =ref(500) |
| | | const userStore = useUserInfoStore() |
| | |
| | | { code: 'errorArea', name: t('basicData.errorSettlementArea'), prefixIcon: 'vxe-icon-chart-bar-x', visible: true, disabled: false }, |
| | | { code: 'otherMoney', name: t('basicData.otherAmounts'), prefixIcon: 'vxe-icon-chart-bar-x', visible: true, disabled: false }, |
| | | { code: 'sizeCheck', name: t('basicData.sizeReview'), prefixIcon: 'vxe-icon-eye-fill', visible: true, disabled: false }, |
| | | { code: 'updateOrderId', name: 'ä¿®æ¹è®¢åå·', prefixIcon: 'vxe-icon-eye-fill', visible: true, disabled: false } |
| | | { code: 'updateOrderId', name: t('searchOrder.updateOrderId'), prefixIcon: 'vxe-icon-eye-fill', visible: true, disabled: false }, |
| | | { code: 'reportingTransfer', name: t('searchOrder.reportingTransfer'), prefixIcon: 'vxe-icon-send', visible: true, disabled: true } |
| | | ] |
| | | ] |
| | | } |
| | |
| | | |
| | | }) |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | computedMoney(result.cell) |
| | | gridOptions.menuConfig.body.options[0][5].disabled = false |
| | | break |
| | | } |
| | | case "reportingTransfer":{ |
| | | const row = xGrid.value.getCurrentRecord() |
| | | if(row===null){ |
| | | ElMessage.warning(t('components.pleaseClickToSelectARowFirst')) |
| | | return |
| | | } |
| | | transferData.value.oldOrderNumber = row.orderNumber |
| | | transferData.value.oldOrderId = titleUploadData.value.orderId |
| | | dialogTransferVisible.value = true |
| | | break |
| | | } |
| | | } |
| | |
| | | gridOptions.toolbarConfig.buttons[2].disabled = true |
| | | gridOptions.toolbarConfig.buttons[3].disabled = true |
| | | gridOptions.toolbarConfig.buttons[4].disabled = true |
| | | |
| | | |
| | | } |
| | | } |
| | | if(res.data.order.processingCard>0 && company.connectMes){ |
| | | gridOptions.menuConfig.body.options[0][12].disabled = false |
| | | } |
| | | |
| | | if(res.data.order.productionOrder !==0 ){ |
| | |
| | | orderId:newOrderId.value, |
| | | random:Math.random()}}) |
| | | }else if(res.data==="false1"){ |
| | | ElMessage.warning("è¾å
¥è®¢åå·ä¸è½å¤§äºæå¤§è®¢åå·") |
| | | ElMessage.warning(t('order.msg.updateOrderIdErrorGtMaxId')) |
| | | }else if(res.data==="false2"){ |
| | | ElMessage.warning("è¾å
¥è®¢åå·å·²åå¨") |
| | | ElMessage.warning(t('order.msg.updateOrderIdErrorIsExist')) |
| | | }else if(res.data==="false3"){ |
| | | ElMessage.warning("è¾å
¥è®¢åå·ç¸å") |
| | | ElMessage.warning(t('order.msg.updateOrderIdErrorIsSame')) |
| | | }else if(res.data==="false4"){ |
| | | ElMessage.warning("è¾å
¥è®¢åå·é¿åº¦ä¸ç¬¦") |
| | | ElMessage.warning(t('order.msg.updateOrderIdErrorDiscrepancyInLength')) |
| | | }else if(res.data==="false5"){ |
| | | ElMessage.warning("请è¾å
¥æ°å") |
| | | ElMessage.warning(t('order.msg.updateOrderIdErrorInputNumber')) |
| | | }else if(res.data==="false6"){ |
| | | ElMessage.warning("ä¸è½ä¿®æ¹ç¬¬ä¸ä¸ªåå") |
| | | ElMessage.warning(t('order.msg.updateOrderIdErrorNotNo1')) |
| | | } |
| | | }) |
| | | } |
| | |
| | | await ElMessageBox.confirm( |
| | | t('order.msg.differentSize'), |
| | | t('order.msg.warning'), |
| | | { |
| | | confirmButtonText: t('basicData.confirmButtonText'), |
| | | {confirmButtonText: t('basicData.confirmButtonText'), |
| | | cancelButtonText: t('basicData.cancelButtonText'), |
| | | type: 'warning', |
| | | } |
| | |
| | | await initOrder(1) |
| | | createCustomerVisible.value = false |
| | | } |
| | | const orderNumberTransfer = () => { |
| | | router.push({ |
| | | path:'/main/order/createOrder', |
| | | query:{ |
| | | orderId:titleUploadData.value.orderId, |
| | | random:Math.random()}}) |
| | | } |
| | | |
| | | </script> |
| | | |
| | |
| | | <create-customer :getOrderPage="'order'" @getOrderFunction="createCustomerSuccess" /> |
| | | </el-dialog> |
| | | |
| | | <!-- è®¢åæ¥å·¥è½¬ç§»--> |
| | | <el-dialog v-model="dialogTransferVisible" |
| | | :close-on-click-modal="false" |
| | | :title="$t('order.orderTransfer')" |
| | | destroy-on-close width="500"> |
| | | <order-number-report-transfer :transferData="transferData" @orderNumberTransfer="orderNumberTransfer"/> |
| | | </el-dialog> |
| | | |
| | | |
| | | </div> |
| | | </template> |
| | |
| | | {field: 'order.packType',width:120, title: t('order.packType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | // {field: 'prodID',width:120, title: 'å·¥èºæµç¨',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'perimeter',width:120, title: t('order.perimeter'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'weight',width:120, title: t('processCard.weight'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'price',width:120, title: t('order.price'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'grossAmount',width:120, title: t('order.grossAmount'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'order.otherMoney',width:120, title: t('basicData.otherAmounts'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | |
| | | url :'/order/getOrderProductSummary', |
| | | exportUrl :'/order/exportOrderProductSummary', |
| | | exportName:t('order.orderDetailsSummaryReport'), |
| | | footList:['quantity','grossArea','computeGrossArea','perimeter','price','grossAmount'] |
| | | footList:['quantity','grossArea','computeGrossArea','perimeter','price','grossAmount','weight'] |
| | | }) |
| | | |
| | | |
| | |
| | | {field: 'order.packType',width:120, title: t('order.packType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | // {field: 'prodID',width:120, title: 'å·¥èºæµç¨',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'perimeter',width:120, title: t('order.perimeter'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'weight',width:120, title: t('processCard.weight'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'price',width:120, title: t('order.price'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'grossAmount',width:120, title: t('order.grossAmount'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'order.otherMoney',width:120, title: t('basicData.otherAmounts'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | |
| | | url :'/order/getOrderReport', |
| | | exportUrl :'/order/exportOrderReport', |
| | | exportName:t('order.orderDetailsReport'), |
| | | footList:['quantity','grossArea','computeGrossArea','perimeter','price','grossAmount'] |
| | | footList:['quantity','grossArea','computeGrossArea','perimeter','price','grossAmount','weight'] |
| | | }) |
| | | |
| | | |
| | |
| | | ElMessage.success(t('product.msg.operateSuccess')+'!') |
| | | selectOrderList() |
| | | }else if(res.data==='false1'){ |
| | | ElMessage.warning('æ¤è®¢å已转ä¼åï¼åé失败ï¼') |
| | | ElMessage.warning(t('searchOrder.msgList.isOptimize')) |
| | | }else if(res.data==='false2'){ |
| | | ElMessage.warning('æ¤è®¢åå·²æ¥å·¥ï¼åé失败ï¼') |
| | | ElMessage.warning(t('searchOrder.msgList.isReportingWork')) |
| | | }else if(res.data==='false3'){ |
| | | ElMessage.warning('æ¤è®¢åå·²å
¥åºï¼åé失败ï¼') |
| | | ElMessage.warning(t('searchOrder.msgList.isStorage')) |
| | | } |
| | | }) |
| | | }) |
| | |
| | | |
| | | } |
| | | } |
| | | //订åè·ç¦»å°äºä¸å¤©åæ¹åcheckbox class æ¹åé¢è² |
| | | const timeOutChangeColor =(row)=>{ |
| | | if(company.timeOut){ |
| | | return row.timeOut |
| | | } |
| | | } |
| | | |
| | | </script> |
| | | |
| | |
| | | |
| | | <template #state="{ row,column}"> |
| | | <el-checkbox |
| | | :class="timeOutChangeColor(row)" |
| | | v-if="row[column.field] === 2" |
| | | @click.native.prevent |
| | | :indeterminate="row[column.field]===1" |
| | | :checked="true"/> |
| | | <el-checkbox |
| | | v-else |
| | | :class="timeOutChangeColor(row)" |
| | | @click.native.prevent |
| | | :indeterminate="row[column.field]===1" |
| | | :checked="false"/> |
| | |
| | | height: 100%; |
| | | } |
| | | |
| | | |
| | | :deep(.timeOut.is-checked .el-checkbox__inner) { |
| | | background-color: orangered; |
| | | border-color: orangered; |
| | | } |
| | | |
| | | |
| | | </style> |
| | |
| | | margin-left: 0.5rem;" |
| | | size="large" |
| | | type="primary" |
| | | round>{{"å¤å¶"}}</el-button> |
| | | round>{{$t('basicData.copy')}}</el-button> |
| | | <el-button |
| | | :disabled="productTotal.state===1" |
| | | @click="saveProduct(null)" |
| | |
| | | /** |
| | | * èªå®ä¹æéè®¤è¯æ¥å£æ©å±ï¼Sa-Token å°ä»æ¤å®ç°ç±»è·åæ¯ä¸ªè´¦å·æ¥æçæéç |
| | | * |
| | | * @author kong |
| | | * @since 2022-10-13 |
| | | */ |
| | | |
| | | |
| | |
| | | private String reviewed; |
| | | @ExcelProperty("å®¡æ ¸æ¶é´") |
| | | private String examineTime; |
| | | @ExcelProperty("å¨å¶ååç§°") |
| | | private String workProcessName; |
| | | } |
| | |
| | | private LocalDate updateTime; |
| | | @TableField(select = false,exist = false) |
| | | private Integer goodsQuantity; |
| | | @TableField(select = false,exist = false) |
| | | private String timeOut; |
| | | |
| | | @TableField(value = "customer_id") |
| | | private Customer customer; |
| | |
| | | package com.example.erp.mapper.pp; |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.example.erp.dto.pp.ReworkDTO; |
| | | import com.example.erp.entity.mm.FinishedGoodsInventory; |
| | | import com.example.erp.entity.pp.FlowCard; |
| | |
| | | import java.util.Map; |
| | | |
| | | @Mapper |
| | | public interface ReworkMapper { |
| | | public interface ReworkMapper extends BaseMapper<Rework> { |
| | | |
| | | List<ReworkDTO> SelectRework(@Param("offset") Integer offset, @Param("pageSize") Integer pageSiz, |
| | | String startDate, String endDate,@Param("rework") ReworkDTO rework); |
| | |
| | | Map<String, Object> getSelectotherMoney(@Param("orderId") String orderId,@Param("deliveryId") String deliveryId, |
| | | @Param("orderNumber") Integer orderNumber,@Param("key") String key,@Param("value") Double value); |
| | | |
| | | Map<String, Object> getSelectOrderotherMoney(@Param("orderId") String orderId,@Param("orderNumber") Integer orderNumber, @Param("key") String key,@Param("value") Double value); |
| | | Map<String, Object> getSelectOrderotherMoney(@Param("orderId") String orderId,@Param("orderNumber") Integer orderNumber, @Param("key") String key,@Param("value") Double value,@Param("quantity") Integer quantity); |
| | | |
| | | Map<String, Object> getSelectOrderotherMoneys(@Param("orderId") String orderId,@Param("orderNumber") Integer orderNumber, @Param("key") String key,@Param("value") Double value); |
| | | |
| | | List <Map<String, Object>> getSelectOrderDetailPrinting(@Param("productId") Integer productId,@Param("orderId") String orderId); |
| | | |
| | |
| | | Log log = new Log(); |
| | | log.setOperatorId(object.get("userId").toString()); |
| | | log.setOperator(object.get("userName").toString()); |
| | | log.setFunction("cancelMaterialAdditionRecordç©ææ°å¢æ¤é"); |
| | | log.setContent(object.toString()); |
| | | //è·å对象éå循ç¯è¿è¡æ°å¢ä¿®æ¹ |
| | | List<MaterialLog> materialLoglist = JSONArray.parseArray(JSONObject.toJSONString(object.get("materialAdd")), MaterialLog.class); |
| | |
| | | private final SysErrorService sysErrorService; |
| | | private final FinishedOperateLogMapper finishedOperateLogMapper; |
| | | private final RestTemplate restTemplate; |
| | | private final PatchLogMapper patchLogMapper; |
| | | private final ReworkMapper reworkMapper; |
| | | |
| | | |
| | | /*public ReportingWorkService(ReportingWorkMapper reportingWorkMapper, BasicDateProduceMapper basicDateProduceMapper, DamageDetailsMapper damageDetailsMapper, ReportingWorkDetailMapper reportingWorkDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper, OrderProcessDetailService orderProcessDetailService, OrderMapper orderMapper, FlowCardMapper flowCardMapper, LogService logService, LogMapper logMapper, OrderGlassDetailMapper orderGlassDetailMapper, SysErrorService sysErrorService, OrderDetailMapper orderDetailMapper, FinishedOperateLogMapper finishedOperateLogMapper, ReportingWorkTransferMapper reportingWorkTransferMapper) { |
| | |
| | | if (retrievedData!=null){ |
| | | Integer reviewedState = retrievedData.getReviewedState(); |
| | | //æ ¹æ®å®¡æ ¸ç¶ææ¥è¯¢æªå®¡æ ¸æ°æ® |
| | | if (reviewedState==1){//å·²å®¡æ ¸ |
| | | // if (reviewedState==1){//å·²å®¡æ ¸ |
| | | //䏿¯ç¬¬ä¸éå·¥åºï¼æ¥è¯¢æ¥å·¥æ°æ® |
| | | List<Map<String,String>> details = reportingWorkMapper.SelectReworlDetailMp(processIdStr, technologyStr, process,previousProcess,laminating); |
| | | if(process.equals("ä¸ç©º")){ |
| | |
| | | }); |
| | | } |
| | | map.put("Detail",details ); |
| | | }else { |
| | | //䏿¯ç¬¬ä¸éå·¥åºï¼æ¥è¯¢æ¥å·¥æ°æ® |
| | | List<Map<String,String>> details = reportingWorkMapper.SelectReworlDetailMpReview(processIdStr, technologyStr, process,previousProcess,laminating); |
| | | if(process.equals("ä¸ç©º")){ |
| | | String orderId = reportingWorkMapper.selectOrderid(processIdStr); |
| | | details.forEach( detail -> { |
| | | Integer glassId = orderGlassDetailMapper. |
| | | getMinIdByGroup(orderId, |
| | | String.valueOf(detail.get("order_number")), |
| | | String.valueOf(detail.get("group"))); |
| | | int listGlassId = Integer.parseInt(String.valueOf(detail.get("glassId"))); |
| | | if(listGlassId !=glassId){ |
| | | detail.put("rowClass","latter"); |
| | | } |
| | | }); |
| | | } |
| | | map.put("Detail",details ); |
| | | } |
| | | // }else { |
| | | // //䏿¯ç¬¬ä¸éå·¥åºï¼æ¥è¯¢æ¥å·¥æ°æ® |
| | | // List<Map<String,String>> details = reportingWorkMapper.SelectReworlDetailMpReview(processIdStr, technologyStr, process,previousProcess,laminating); |
| | | // if(process.equals("ä¸ç©º")){ |
| | | // String orderId = reportingWorkMapper.selectOrderid(processIdStr); |
| | | // details.forEach( detail -> { |
| | | // Integer glassId = orderGlassDetailMapper. |
| | | // getMinIdByGroup(orderId, |
| | | // String.valueOf(detail.get("order_number")), |
| | | // String.valueOf(detail.get("group"))); |
| | | // int listGlassId = Integer.parseInt(String.valueOf(detail.get("glassId"))); |
| | | // if(listGlassId !=glassId){ |
| | | // detail.put("rowClass","latter"); |
| | | // } |
| | | // }); |
| | | // } |
| | | // map.put("Detail",details ); |
| | | // } |
| | | } |
| | | } |
| | | |
| | |
| | | map.put("historyTeams", reportingWorkMapper.historyTeamsMp(processIdStr, process)); |
| | | //åå²å·¥åº |
| | | map.put("historyProcess", reportingWorkMapper.SelectHistoryProcessMp(historyProcess, process)); |
| | | //æ¯å¦åçå·¥åº |
| | | map.put("laminating", laminating); |
| | | } |
| | | return map; |
| | | } |
| | |
| | | |
| | | @Transactional(rollbackFor = Exception.class) |
| | | public Object reportingWorkTransferSv(Map<String, String> reportingWork) { |
| | | Map<String, Object> result = new HashMap<>(); |
| | | |
| | | Order oldOrder = orderMapper.selectOrderId(reportingWork.get("oldOrderId")); |
| | | OrderDetail oldOrderDetail = orderDetailMapper.selectOne( |
| | | new QueryWrapper<OrderDetail>() |
| | | .eq("order_id", reportingWork.get("oldOrderId")) |
| | | .eq("order_number", reportingWork.get("oldOrderNumber")) |
| | | ); |
| | | if(oldOrder == null){ |
| | | result.put("msg","æ§è®¢åä¸åå¨"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | if(oldOrderDetail == null){ |
| | | result.put("msg","æ§è®¢å次åºå·ä¸åå¨"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | |
| | | Order newOrder = orderMapper.selectOrderId(reportingWork.get("newOrderId")); |
| | | OrderDetail newOrderDetail = orderDetailMapper.selectOne( |
| | |
| | | .eq("order_id", reportingWork.get("newOrderId")) |
| | | .eq("order_number", reportingWork.get("newOrderNumber")) |
| | | ); |
| | | if (newOrder == null){ |
| | | result.put("msg","æ°è®¢åä¸åå¨"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | if(newOrderDetail == null){ |
| | | result.put("msg","æ°è®¢å次åºå·ä¸åå¨"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | if(Objects.equals(oldOrder.getOrderId(), newOrder.getOrderId())){ |
| | | result.put("msg","æ°æ§è®¢åå·ä¸è´"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | |
| | | if(!Objects.equals(oldOrder.getCustomerId(), newOrder.getCustomerId())){ |
| | | return "æ°æ§è®¢å客æ·ä¸ä¸è´"; |
| | | result.put("msg","æ°æ§è®¢å客æ·ä¸ä¸è´"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | if(!Objects.equals(oldOrderDetail.getProductId(), newOrderDetail.getProductId())){ |
| | | return "æ°æ§è®¢å产åä¸ä¸è´"; |
| | | result.put("msg","æ°æ§è®¢å产åä¸ä¸è´"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | if (!Objects.equals(oldOrderDetail.getWidth(), newOrderDetail.getWidth()) |
| | | || !Objects.equals(oldOrderDetail.getHeight(), newOrderDetail.getHeight())){ |
| | | return "æ°æ§è®¢å尺寸ä¸ä¸è´"; |
| | | result.put("msg","æ°æ§è®¢å尺寸ä¸ä¸è´"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | |
| | | |
| | |
| | | .eq("order_number", reportingWork.get("oldOrderNumber")) |
| | | ); |
| | | if(oldOrderProcessDetailList.isEmpty()){ |
| | | return "æ§è®¢åæªåæµç¨å¡"; |
| | | result.put("msg","æ§è®¢åæªåæµç¨å¡"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | //è·åæ°è®¢åæ¯å¦æµç¨å¡æ¯å¦åå¨ |
| | | List<OrderProcessDetail> newOrderProcessDetailList = orderProcessDetailMapper |
| | |
| | | .eq("order_number", reportingWork.get("newOrderNumber")) |
| | | ); |
| | | if(newOrderProcessDetailList.isEmpty()){ |
| | | return "æ°è®¢åæªåæµç¨å¡"; |
| | | result.put("msg","æ°è®¢åæªåæµç¨å¡"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | //æ°è®¢åæ¯å¦åå¨å·²ç»æçåºå· |
| | | List<FlowCard> newFlowCardLayoutStatus = flowCardMapper.selectList(new QueryWrapper<FlowCard>() |
| | |
| | | .gt("layout_status",0) |
| | | ); |
| | | if(!newFlowCardLayoutStatus.isEmpty()){ |
| | | return "æ°è®¢åæ¤åºå·å卿ç"; |
| | | result.put("msg","æ°è®¢åæ¤åºå·å卿ç"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | List<ReportingWorkTransfer> reportingWorkTransferList = reportingWorkTransferMapper |
| | | .selectList(new QueryWrapper<ReportingWorkTransfer>() |
| | | .eq("old_order", reportingWork.get("newOrderId")) |
| | | .eq("old_order_number", reportingWork.get("newOrderNumber")) |
| | | ); |
| | | if(!reportingWorkTransferList.isEmpty()){ |
| | | result.put("msg","æ°è®¢ååºå·ä¹åå·²è½¬åºæ¥å·¥æ°æ®ï¼æ æ³è¿è¡è½¬å
¥"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | |
| | | //è·åæ§è®¢åæ¥å·¥æ°æ®æ±æ» |
| | | List<OrderProcessDetail> oldOrderProcessDetailForReport = orderProcessDetailMapper |
| | | .selectList(new QueryWrapper<OrderProcessDetail>() |
| | |
| | | .eq("order_number", reportingWork.get("oldOrderNumber")) |
| | | .gt("reporting_work_num",0) |
| | | ); |
| | | |
| | | if (oldOrderProcessDetailForReport.isEmpty()){ |
| | | result.put("msg","æ§è®¢å没æå¯è½¬åºçæ¥å·¥æ°æ®"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | List<String> oldOrderProcessIdList = new ArrayList<>(); |
| | | oldOrderProcessDetailList.forEach(oldOrderProcessDetail -> oldOrderProcessIdList.add(oldOrderProcessDetail.getProcessId())); |
| | | |
| | | //è·åæ§æ°æ®ç ´æè¡¨æ¯å¦åå¨ç ´æ |
| | | List<DamageDetails> damageDetails = damageDetailsMapper.selectList( |
| | | new QueryWrapper<DamageDetails>() |
| | | .in("process_id",oldOrderProcessIdList) |
| | | .eq("order_number", reportingWork.get("oldOrderNumber")) |
| | | .eq("quantity",0) |
| | | ); |
| | | if(!damageDetails.isEmpty()){ |
| | | result.put("msg","æ§è®¢åå卿¥å·¥æªå¤çç ´ææ°æ®"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | //è·åè¡¥ç表æ¯å¦åå¨è¡¥çæªå®¡æ ¸ç¶æ |
| | | List<PatchLog> patchLogs = patchLogMapper.selectList( |
| | | new QueryWrapper<PatchLog>() |
| | | .eq("order_id", reportingWork.get("oldOrderId")) |
| | | .eq("order_sort", reportingWork.get("oldOrderNumber")) |
| | | .eq("review_status",0) |
| | | ); |
| | | if (patchLogs.isEmpty()){ |
| | | result.put("msg","æ§è®¢ååå¨è¡¥çæªå®¡æ ¸æ°æ®"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | List<Rework> reworks = reworkMapper.selectList( |
| | | new QueryWrapper<Rework>() |
| | | .eq("order_id", reportingWork.get("oldOrderId")) |
| | | .eq("order_sort", reportingWork.get("oldOrderNumber")) |
| | | .eq("review_status",0) |
| | | ); |
| | | if (patchLogs.isEmpty()){ |
| | | result.put("msg","æ§è®¢ååå¨è¿å·¥æªå®¡æ ¸æ°æ®ï¼è¯·å
å®¡æ ¸æ¥å·¥ååè¿è¡è½¬åº"); |
| | | result.put("data",false); |
| | | return result; |
| | | } |
| | | |
| | | |
| | | Map<String,Object> log = new HashMap<>(); |
| | | log.put("oldOrderBeforeChange",oldOrderProcessDetailForReport); |
| | |
| | | reportingWorkMapper.update(null,new UpdateWrapper<ReportingWork>() |
| | | .set("reviewed_state",3) |
| | | .eq("process_id",oldOrderProcessDetail.getProcessId()) |
| | | .gt("reviewed_state",0) |
| | | ); |
| | | |
| | | |
| | |
| | | orderNumberTransferList.add(orderNumberTransfer); |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | | }); |
| | |
| | | //restTemplate.postForObject("http://localhost:8086/order/test",orderNumberTransferList,String.class); |
| | | |
| | | //åmesåéhttpè¯·æ± |
| | | ResponseEntity<String> response =restTemplate.exchange( |
| | | ResponseEntity<OrderNumberTransferDTO> response =restTemplate.exchange( |
| | | "http://localhost:88/api/loadGlass/order/order/orderChange", |
| | | HttpMethod.POST, |
| | | new HttpEntity<>(orderNumberTransferList), |
| | | String.class); |
| | | OrderNumberTransferDTO.class); |
| | | |
| | | if(response.getStatusCode() == HttpStatus.OK){ |
| | | return true; |
| | | OrderNumberTransferDTO responseBody = response.getBody(); |
| | | result.put("data",true); |
| | | }else{ |
| | | return "è¿æ¥mesååºè¶
æ¶"; |
| | | result.put("msg","è¿æ¥mesååºè¶
æ¶"); |
| | | result.put("data",false); |
| | | } |
| | | |
| | | return result; |
| | | |
| | | } |
| | | } |
| | |
| | | if(isnull) { |
| | | Map<String, Object> moneryItemmap = new HashMap<>(); |
| | | Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(orderDetail.getOrderId(),orderDetail.getOrderNumber(), |
| | | key, Double.valueOf(jsonObject.get(key).toString())); |
| | | key, Double.valueOf(jsonObject.get(key).toString()),orderDetail.getDeliveryDetail().getQuantity()); |
| | | if(deliveryDetailOtherMoney.get("monery")!=null){ |
| | | otherMoneys=otherMoneys+Double.valueOf(deliveryDetailOtherMoney.get("monery").toString()); |
| | | deliveryDetailotherMoneys=Double.valueOf(deliveryDetailOtherMoney.get("monery").toString()); |
| | |
| | | boolean isnull = key.contains("M"); |
| | | if(isnull){ |
| | | Map<String, Object> moneryItemmap = new HashMap<>(); |
| | | Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoney(detail.getOrderId(),Integer.parseInt(stringObjectMap.get("order_number").toString()) |
| | | Map<String, Object> deliveryDetailOtherMoney = deliveryDetailMapper.getSelectOrderotherMoneys(detail.getOrderId(),Integer.parseInt(stringObjectMap.get("order_number").toString()) |
| | | ,key,Double.valueOf(jsonObject.get(key).toString())); |
| | | grossAmount=grossAmount.add(BigDecimal.valueOf(Double.parseDouble(deliveryDetailOtherMoney.get("monery").toString()))); |
| | | moneryItemmap.put("DeliveryDetailOtherMoney", deliveryDetailOtherMoney); |
| | |
| | | ip: localhost |
| | | port: 3306 |
| | | |
| | | #sa-token: |
| | | # timeout: 86400 |
| | | |
| | | |
| | | spring: |
| | | datasource: |
| | |
| | | o.project, |
| | | od.building_number, |
| | | od.processing_note, |
| | | ogd.child_width as width, |
| | | ogd.child_height as height, |
| | | opd.o_width as width, |
| | | opd.o_height as height, |
| | | ogd.glass_child, |
| | | ogd.process, |
| | | e.type_name, |
| | | opd.stock_id, |
| | | opd.polys_id, |
| | | od.quantity, |
| | | IFNULL(od.quantity,1) as quantity, |
| | | od.other_columns, |
| | | od.bend_radius, |
| | | od.order_number as heat_layout_id, |
| | | a.id as heat_layout_sort, |
| | | ifnull(od.order_number,0) as heat_layout_id, |
| | | ifnull(a.id,0) as heat_layout_sort, |
| | | od.product_name |
| | | from pp.optimize_detail opd |
| | | left join sd.`order` o on SUBSTR(opd.process_id, 1, 10) = o.order_id |
| | |
| | | left join sd.product p on od.product_id = p.id |
| | | left join sd.basic_glass_type e on e.type_id = p.type_id |
| | | left join sd.customer c on c.id = o.customer_id |
| | | where opd.project_no = #{projectNo} |
| | | where opd.project_no = #{projectNo} and o.order_id is not null |
| | | order by opd.heat_layout_id, opd.heat_layout_sort desc |
| | | </select> |
| | | |
| | |
| | | left join |
| | | (select (@row_number := @row_number + 1) as id,process_id as process_id from (select process_id from pp.optimize_detail tt where project_no =#{projectNo} group by process_id) tt,(select @row_number := 0) as t) a |
| | | on a.process_id=opd.process_id |
| | | where opd.project_no = #{projectNo} |
| | | where opd.project_no = #{projectNo} and o.order_id is not null |
| | | group by order_id,od.order_number |
| | | order by ogd.child_width desc,ogd.child_height desc |
| | | </select> |
| | |
| | | <result column="code" property="code"/> |
| | | <result column="reviewed" property="reviewed"/> |
| | | <result column="examine_time" property="examineTime"/> |
| | | <result column="workProcessName" property="workProcessName"/> |
| | | </resultMap> |
| | | |
| | | <resultMap id="scheduleProductionScheduleMap" type="com.example.erp.dto.pp.ScheduleProductionScheduleDTO"> |
| | |
| | | e.reportWorkQuantityCount, |
| | | e.reportWorkTime, |
| | | e.broken_num, |
| | | c.quantity*a.area as gross_area, |
| | | ifnull(f.inventory, 0) as inventory, |
| | | round(ifnull(f.inventory, 0) * a.area, 2) as inventoryArea, |
| | | ifnull(dd.quantity, 0) as shippedQuantity, |
| | |
| | | od.product_name, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code, |
| | | rw.reviewed, |
| | | rw.examine_time |
| | | rw.examine_time, |
| | | GROUP_CONCAT(ogd.glass_child SEPARATOR '+') as workProcessName |
| | | FROM |
| | | reporting_work as rw left join reporting_work_detail as rwd on rwd.reporting_work_id=rw.reporting_work_id |
| | | left join flow_card as fc on fc.order_id=rw.order_id and fc.process_id=rw.process_id and fc.order_number=rwd.order_number and fc.technology_number=rwd.technology_number |
| | |
| | | <!-- é第ä¸éå·¥åºæ¥å·¥æç»æ¥è¯¢--> |
| | | <select id="SelectReworlDetailMp"> |
| | | SELECT |
| | | fc.order_number, |
| | | ogd.glass_child, |
| | | ogd.technology_number, |
| | | ogd.glass_address, |
| | | fc.quantity AS quantity_card, |
| | | ogd.child_width, |
| | | ogd.child_height, |
| | | fc.order_number, |
| | | ogd.glass_child, |
| | | ogd.technology_number, |
| | | ogd.glass_address, |
| | | fc.quantity AS quantity_card, |
| | | ogd.child_width, |
| | | ogd.child_height, |
| | | if(od.shape=1,'æ®å½¢',if(od.shape=2,'å¼å½¢','')) as shape, |
| | | if((odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num ) < 0, |
| | | 0, |
| | | if((odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num ) < 0, |
| | | 0, |
| | | odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num) as quantity, |
| | | if((odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num) < 0, |
| | | 0, |
| | | if((odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num) < 0, |
| | | 0, |
| | | odpds.reporting_work_num_count + ifnull(c.patchNumSum,0) -odpd.reporting_work_num_count -odpd.broken_num) as completedQuantity, |
| | | odpd.reporting_work_num as completed, |
| | | odpd.broken_num as onceBroken, |
| | | ogd.`group`, |
| | | if(fc.quantity -odpd.reporting_work_num = 0 ,true,false) as saveFlag, -- 夿æ¯å¦å·²ç»å®æï¼å·²ç»å®æä¸åºå·åååºå·æ°éç¸åæè½æäº¤ |
| | | od.other_columns, |
| | | ogd.id as 'glassId' |
| | | odpd.reporting_work_num as completed, |
| | | odpd.broken_num as onceBroken, |
| | | ogd.`group`, |
| | | if(fc.quantity -odpd.reporting_work_num = 0 ,true,false) as saveFlag, -- 夿æ¯å¦å·²ç»å®æï¼å·²ç»å®æä¸åºå·åååºå·æ°éç¸åæè½æäº¤ |
| | | od.other_columns, |
| | | ogd.id as 'glassId',IFNULL(rws.reviewed_state,0) as reviewed_state |
| | | |
| | | FROM |
| | | sd.order_detail AS od |
| | | sd.order_detail AS od |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | | ON od.order_id = ogd.order_id |
| | | AND od.order_number = ogd.order_number |
| | | <if test="process == '夹è¶'"> |
| | | ON od.order_id = ogd.order_id |
| | | AND od.order_number = ogd.order_number |
| | | <if test="process == '夹è¶' or (process == 'æè¶åç²æ¡')" > |
| | | AND ogd.`group` = (select `group` |
| | | from sd.order_glass_detail |
| | | where order_id = ogd.order_id |
| | | and order_number = ogd.order_number |
| | | and POSITION(technology_number in #{technologyStr}) |
| | | limit 1) |
| | | from sd.order_glass_detail |
| | | where order_id = ogd.order_id |
| | | and order_number = ogd.order_number |
| | | and POSITION(technology_number in #{technologyStr}) |
| | | limit 1) |
| | | </if> |
| | | |
| | | |
| | | LEFT JOIN flow_card AS fc |
| | | ON fc.order_id = ogd.order_id |
| | | and fc.production_id=ogd.production_id |
| | | AND fc.order_number = ogd.order_number |
| | | AND fc.technology_number = ogd.technology_number |
| | | ON fc.order_id = ogd.order_id |
| | | and fc.production_id=ogd.production_id |
| | | AND fc.order_number = ogd.order_number |
| | | AND fc.technology_number = ogd.technology_number |
| | | left join sd.order_process_detail as odpd |
| | | ON odpd.order_id = fc.order_id |
| | | AND odpd.order_number = fc.order_number |
| | | AND odpd.technology_number = fc.technology_number |
| | | and odpd.process_id = fc.process_id |
| | | ON odpd.order_id = fc.order_id |
| | | AND odpd.order_number = fc.order_number |
| | | AND odpd.technology_number = fc.technology_number |
| | | and odpd.process_id = fc.process_id |
| | | left join sd.order_process_detail as odpds |
| | | ON odpds.id = odpd.id-1 |
| | | ON odpds.id = odpd.id-1 |
| | | left join |
| | | (SELECT |
| | | (SELECT |
| | | sum(rw.rework_num) as 'patchNumSum', |
| | | rw.process_id,rw.order_sort,rw.technology_number, |
| | | rwk.this_process |
| | |
| | | reporting_work as rwk |
| | | on rw.reporting_work_id =rwk.reporting_work_id |
| | | where rwk.this_process=#{process} |
| | | and rw.review_status=1 |
| | | and rw.review_status>=0 |
| | | and rw.process_id = #{processIdStr} |
| | | GROUP BY rw.process_id,rw.order_sort,rw.technology_number) as c |
| | | on c.process_id = fc.process_id |
| | | and c.order_sort = fc.order_number |
| | | and c.technology_number = fc.technology_number |
| | | |
| | | WHERE |
| | | fc.process_id = #{processIdStr} |
| | | on c.process_id = fc.process_id |
| | | and c.order_sort = fc.order_number |
| | | and c.technology_number = fc.technology_number |
| | | left join (select reviewed_state as reviewed_state , |
| | | process_id,a.reporting_work_id,b.technology_number,b.order_number |
| | | from reporting_work as a |
| | | left join reporting_work_detail as b on a.reporting_work_id = b.reporting_work_id |
| | | where this_process=#{previousProcess} and process_id= #{processIdStr} and a.reviewed_state>=0 |
| | | <if test="laminating != 'laminating'"> |
| | | AND POSITION(fc.technology_number in #{technologyStr}) |
| | | AND POSITION(b.technology_number in #{technologyStr}) |
| | | </if> |
| | | GROUP BY b.order_number,b.technology_number |
| | | ) as rws |
| | | on rws.process_id = fc.process_id and rws.order_number=fc.order_number and rws.technology_number=fc.technology_number |
| | | WHERE |
| | | fc.process_id = #{processIdStr} |
| | | |
| | | AND odpd.process = #{process} |
| | | <if test="laminating != 'laminating'"> |
| | | AND POSITION(fc.technology_number in #{technologyStr}) |
| | | </if> |
| | | order by fc.order_number |
| | | </select> |
| | | |
| | |
| | | od.area, |
| | | od.gross_area, |
| | | od.compute_area, |
| | | dd.area as compute_gross_area, |
| | | od.compute_gross_area, |
| | | od.processing_note, |
| | | od.edging_type, |
| | | od.perimeter, |
| | |
| | | </select> |
| | | |
| | | <select id="getSelectOrderotherMoney" > |
| | | select bom.alias,ifnull(oom.price,0) as price,#{value}*od.quantity as count,ifnull(oom.price,0)*#{value}*od.quantity as monery |
| | | select bom.alias,ifnull(oom.price,0) as price,#{value}*#{quantity} as count,ifnull(oom.price,0)*#{value}*#{quantity} as monery |
| | | from order_detail od |
| | | left join order_other_money oom on oom.order_id=od.order_id and oom.column=#{key} |
| | | left join basic_other_money bom on bom.`column`=oom.`column` |
| | | where od.order_id = #{orderId} and od.order_number=#{orderNumber} and (od.other_columns!='{}' or od.other_columns!=null) |
| | | </select> |
| | | |
| | | <select id="getSelectOrderotherMoneys" > |
| | | select bom.alias,ifnull(oom.price,0) as price,#{value}*od.quantity as count,ifnull(oom.price,0)*#{value}*od.quantity as monery |
| | | from order_detail od |
| | | left join order_other_money oom on oom.order_id=od.order_id and oom.column=#{key} |
| | | left join basic_other_money bom on bom.`column`=oom.`column` |
| | | where od.order_id = #{orderId} and od.order_number=#{orderNumber} and (od.other_columns!='{}' or od.other_columns!=null) |
| | | </select> |
| | | |
| | | <select id="getSelectOrderDetailPrinting" > |
| | | select od.order_id, |
| | | od.order_number, |
| | |
| | | a.edging_type, |
| | | b.pack_type, |
| | | round(sum(a.perimeter),2) as perimeter, |
| | | round(sum(a.weight),2) as weight, |
| | | a.price, |
| | | sum(a.gross_amount ) as gross_amount, |
| | | b.al_type, |
| | |
| | | <select id="getOrderList"> |
| | | select * from (select |
| | | o.*, |
| | | ifnull(sum(fgi.quantity_available),0) as goodsQuantity |
| | | ifnull(sum(fgi.quantity_available),0) as goodsQuantity, |
| | | if(DATEDIFF(o.delivery_date, CURDATE()) < 3 and o.delivery < 2, 'timeOut','' ) as timeOut |
| | | from |
| | | sd.`order` as o |
| | | left join mm.finished_goods_inventory as fgi |