Merge branch 'master' of http://10.153.19.25:10105/r/ERP_override
| | |
| | | <td :colspan="1+item.processList.length*1">{{ itemTr.product_name }}</td> |
| | | </tr> |
| | | <tr> |
| | | <td rowspan='2'>序号</td> |
| | | <td rowspan='2' >宽*高</td> |
| | | <td rowspan='2' >数量</td> |
| | | <td rowspan='2'>备注</td> |
| | | <td rowspan='2'>面积</td> |
| | | <td v-for="(itemPr,index) in item.processList" :key="index" colspan="1">{{ itemPr.process }}</td> |
| | | <td rowspan='2' style="font-size: 15px">序号</td> |
| | | <td rowspan='2' style="font-size: 15px">宽*高</td> |
| | | <td rowspan='2' style="font-size: 15px">数量</td> |
| | | <td rowspan='2' style="font-size: 15px">备注</td> |
| | | <td rowspan='2' style="font-size: 15px">面积</td> |
| | | <td v-for="(itemPr,index) in item.processList" :key="index" colspan="1">{{ itemPr.process }}</td> |
| | | </tr> |
| | | <tr> |
| | | <template v-for=" n in item.processList.length"> |
| | |
| | | |
| | | |
| | | let props = defineProps({ |
| | | orderId:null |
| | | orderId:null, |
| | | }) |
| | | let productId=ref({ |
| | | |
| | |
| | | <th style="text-align: left;border:none;font-weight: bold;font-size: 17px;" colspan="7"> |
| | | 送货地址:<span>{{ data.order.deliveryAddress }}</span></th> |
| | | <th style="text-align: left;border:none;font-weight: bold;font-size: 17px;" colspan="2"> |
| | | 联系电话:<span>{{ data.order.contactNumber }}</span></th> |
| | | 联系电话:<span><input class="contactNumber" type="text" v-model="data.order.contactNumber"/></span></th> |
| | | </tr> |
| | | |
| | | </thead> |
| | |
| | | .day-in{ |
| | | height: 30px; |
| | | } |
| | | .contactNumber{ |
| | | width: 150px; |
| | | height:20px; |
| | | border: none; |
| | | box-shadow: none; |
| | | font-size: 17px; |
| | | } |
| | | |
| | | @media print { |
| | | @page { |
| | |
| | | ElMessage.error(t('ingredientsStock.pleaseOutboundType')) |
| | | return |
| | | } |
| | | const materialRequisitionPersonnel = titleUploadData.value.materialRequisitionPersonnel |
| | | /*const materialRequisitionPersonnel = titleUploadData.value.materialRequisitionPersonnel |
| | | if(materialRequisitionPersonnel === null || materialRequisitionPersonnel === undefined || materialRequisitionPersonnel === ''){ |
| | | ElMessage.error(t('ingredientsStock.pleaseMaterialRequisitionPersonnel')) |
| | | return |
| | | } |
| | | }*/ |
| | | /*const materialRequisitionTeam = titleUploadData.value.materialRequisitionTeam |
| | | if(materialRequisitionTeam === null || materialRequisitionTeam === undefined || materialRequisitionTeam === ''){ |
| | | ElMessage.error(t('ingredientsStock.pleaseMaterialRequisitionTeam')) |
| | |
| | | |
| | | /> |
| | | <el-button @click="changeDate" style="margin-top: -5px" id="searchButton" type="primary" :icon="Search">{{$t('basicData.search')}}</el-button>--> |
| | | <div> |
| | | <div style="width: 200px;"> |
| | | <el-row> |
| | | <el-select v-model="values" :placeholder="$t('ingredients.pleaseSelectACategory')" @change="selectInventoryWork"> |
| | | <el-option |
| | |
| | | const printType=route.query.printType |
| | | |
| | | onMounted(() => { |
| | | console.log(printType) |
| | | if (localStorage.getItem('hasRefreshed')=="false") { |
| | | localStorage.setItem('hasRefreshed', 'true'); |
| | | location.reload(); |
| | | }else{ |
| | | localStorage.setItem('hasRefreshed', 'false'); |
| | | } |
| | | if(printType==1){ |
| | | request.post(`/processCard/getSelectPrintCustomLabel/${type}/1`, data.value).then((res) => { |
| | | request.post(`/processCard/getSelectPrintCustomLabel2/${type}/1`, data.value).then((res) => { |
| | | if (res.code == 200) { |
| | | produceList.value = deepClone(res.data.title) |
| | | list.value = deepClone(res.data.data) |
| | |
| | | } |
| | | @page { |
| | | size: auto; /* auto is the initial value */ |
| | | margin: 12mm 4mm 2mm 6mm; /* this affects the margin in the printer settings */ |
| | | margin: 12mm 4mm 2mm 6mm !important; /* this affects the margin in the printer settings */ |
| | | |
| | | } |
| | | } |
| | |
| | | const printType=route.query.printType |
| | | |
| | | onMounted(() => { |
| | | if (localStorage.getItem('hasRefreshed')=="false") { |
| | | localStorage.setItem('hasRefreshed', 'true'); |
| | | location.reload(); |
| | | }else{ |
| | | localStorage.setItem('hasRefreshed', 'false'); |
| | | } |
| | | if (printType == 1) { |
| | | request.post(`/processCard/getSelectPrintCustomLabel/${type}/1`, data.value).then((res) => { |
| | | request.post(`/processCard/getSelectPrintCustomLabel2/${type}/1`, data.value).then((res) => { |
| | | if (res.code == 200) { |
| | | produceList.value = deepClone(res.data.title) |
| | | list.value = deepClone(res.data.data) |
| | |
| | | } |
| | | @page { |
| | | size: auto; /* auto is the initial value */ |
| | | margin: 2mm 2mm 2mm 2mm; /* this affects the margin in the printer settings */ |
| | | margin: 2mm 2mm 2mm 2mm !important; /* this affects the margin in the printer settings */ |
| | | |
| | | } |
| | | } |
| | |
| | | type.value = route.query.type |
| | | |
| | | onMounted(() => { |
| | | if (localStorage.getItem('hasRefreshed')=="false") { |
| | | localStorage.setItem('hasRefreshed', 'true'); |
| | | location.reload(); |
| | | }else{ |
| | | localStorage.setItem('hasRefreshed', 'false'); |
| | | } |
| | | if(projectNo.value!=null){ |
| | | request.post(`/processCard/getSelectPrintLabel/${projectNo.value}/${type.value}`).then((res) => { |
| | | if (res.code == 200) { |
| | |
| | | |
| | | |
| | | |
| | | @media print { |
| | | div { |
| | | page-break-inside: avoid; |
| | | } |
| | | @page { |
| | | size: auto; /* auto is the initial value */ |
| | | margin: 13mm 4mm 0mm 4mm; /* this affects the margin in the printer settings */ |
| | | |
| | | } |
| | | |
| | | } |
| | | |
| | | </style> |
| | |
| | | // selectRecords.forEach(obj => { |
| | | // delete obj.print_status; |
| | | // }); |
| | | let type = printType.value |
| | | let type = tag.value.name |
| | | let faceOrientation = stateValue.value |
| | | let lableTypes = lableType.value |
| | | let lableTitle = lableType.text |
| | |
| | | |
| | | |
| | | onMounted(() => { |
| | | if (localStorage.getItem('hasRefreshed')=="false") { |
| | | // 设置标志,表示已经刷新过 |
| | | localStorage.setItem('hasRefreshed', 'true'); |
| | | // 执行刷新操作 |
| | | location.reload(); |
| | | }else{ |
| | | localStorage.setItem('hasRefreshed', 'false'); |
| | | } |
| | | if(projectNo.value!=null){ |
| | | request.post(`/processCard/getSelectPrintLabel/${projectNo.value}/${type.value}`).then((res) => { |
| | | if (res.code == 200) { |
| | |
| | | |
| | | } |
| | | } |
| | | console.log(labelList.value) |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | |
| | | } |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | <div id="printFlowCard" > |
| | | <div v-if="type!=='3'" id="entirety" v-for="(item,id) in labelList" > |
| | | |
| | | <div class="row1" v-if="item.heat_layout_id!==null"> |
| | | <div class="row1" > |
| | | |
| | | <!-- <div class="cell" v-if="item.heat_layout_id!==null"></div>--> |
| | | <div class="cell" v-if="item.heat_layout_id!==undefined">{{ item.heat_layout_id }}/{{ item.heat_layout_sort }}</div> |
| | | <span>{{ item.customer_name }}</span> |
| | | <span>{{ item.order_id }}</span> |
| | | <span v-if="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 class="cell1" v-if="item.stock_id!=undefined">{{ item.stock_id }}</div> |
| | | |
| | | </div> |
| | | <!-- <div class="row2" v-else> |
| | | <span>{{ item.customer_name }}</span> |
| | | <span>{{ item.order_id }}</span> |
| | | <span v-if="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="row3" v-if="item.other_columns!=null&&(JSON.parse(item.other_columns).S02!=null)"> |
| | | <span v-if="item.heat_layout_id!==null" style="font-size: 6pt"> |
| | | ({{ item.heat_layout_id }}/{{ item.heat_layout_sort }}) |
| | | <template v-if="item.stock_id!=null"> |
| | | {{ item.stock_id }} |
| | | </template> |
| | | </span> |
| | | {{JSON.parse(item.other_columns).S02}}={{item.quantity}} |
| | | </div> |
| | | <div class="row3" v-else> |
| | | <span v-if="item.heat_layout_id!==null" style="font-size: 6pt"> |
| | | ({{ item.heat_layout_id }}/{{ item.heat_layout_sort }}) |
| | | <template v-if="item.stock_id!=null"> |
| | | {{ item.stock_id }} |
| | | </template> |
| | | </span> |
| | | |
| | | {{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}} |
| | | </div> |
| | | <div class="row3" v-if="item.other_columns!=null&&(JSON.parse(item.other_columns).S02!=null)">{{JSON.parse(item.other_columns).S02}}={{item.quantity}}</div> |
| | | <div class="row3" v-else>{{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}}</div> |
| | | <div class="row5"> |
| | | <span style="white-space: pre-wrap;font-size: 6pt">{{ item.building_number?item.building_number.replace(/\r|\n|\s/g,''):'' }}</span> |
| | | <span v-if="item.bend_radius!=null">R={{item.bend_radius}}</span> |
| | | <br> |
| | | <span v-if="company.showDeliveryCreator" >{{item.processing_note}}</span> |
| | | <span v-else style="font-size: 6pt">{{item.processing_note}}</span> |
| | | <span>{{item.project}}</span> |
| | | <span>{{item.building_number}}</span> |
| | | <span v-if="item.bend_radius!=null">R={{item.bend_radius}}</span> |
| | | </div> |
| | | <div class="row6"> |
| | | <span>{{item.glass_child}}</span> |
| | | |
| | | <span v-if="company.showDeliveryCreator" >{{item.processing_note}}</span> |
| | | <span v-else style="font-size: 6pt">{{item.processing_note}}</span> |
| | | </div> |
| | | |
| | | <div class="row5"> |
| | | <span>{{item.project}}</span> |
| | | </div> |
| | | </div> |
| | | |
| | | |
| | |
| | | <template v-if="type==='3'" v-for="(item,id) in labelList"> |
| | | <div v-if="type==='3'" id="entirety" v-for="n in item.quantity" > |
| | | |
| | | <div class="row1" > |
| | | <!-- <div class="cell" v-if="item.heat_layout_id!=null">{{ item.heat_layout_id }}/{{ item.heat_layout_sort }}</div>--> |
| | | <div class="row1" v-if="item.heat_layout_id!=null"> |
| | | |
| | | <div class="cell" v-if="item.heat_layout_id!=null">({{ item.heat_layout_id }}/{{ item.heat_layout_sort }})</div> |
| | | <span style="font-size: 8pt">{{ item.customer_name }}</span> |
| | | <!-- <div class="cell1" v-if="item.stock_id!=null">{{ item.stock_id }}</div>--> |
| | | |
| | | <div class="cell1" v-if="item.stock_id!=null">{{ item.stock_id }}</div> |
| | | |
| | | </div> |
| | | <!-- <div class="row2" v-else> |
| | | <div class="row2" v-else> |
| | | <span style="font-size: 8pt">{{ item.customer_name }}</span> |
| | | </div>--> |
| | | </div> |
| | | <div class="row2" style="font-size: 8pt" >{{item.order_id}} |
| | | <span style="font-size: 8pt">{{ remarks }}</span> |
| | | </div> |
| | | <div class="row3" v-if="item.other_columns!=null&&(JSON.parse(item.other_columns).S02!=null)"> |
| | | <span v-if="item.heat_layout_id!==null" style="font-size: 6pt"> |
| | | ({{ item.heat_layout_id }}/{{ item.heat_layout_sort }}) |
| | | <template v-if="item.stock_id!=null"> |
| | | {{ item.stock_id }} |
| | | </template> |
| | | </span> |
| | | {{JSON.parse(item.other_columns).S02}}={{item.quantity}} |
| | | </div> |
| | | <div class="row3" v-else> |
| | | <span v-if="item.heat_layout_id!==null" style="font-size: 6pt"> |
| | | ({{ item.heat_layout_id }}/{{ item.heat_layout_sort }}) |
| | | <template v-if="item.stock_id!=null"> |
| | | {{ item.stock_id }} |
| | | </template> |
| | | </span> |
| | | {{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}} |
| | | </div> |
| | | <div class="row3" v-if="item.other_columns!=null&&(JSON.parse(item.other_columns).S02!=null)">{{JSON.parse(item.other_columns).S02}}={{item.quantity}}</div> |
| | | <div class="row3" v-else>{{Math.round(item.width)}}x{{Math.round(item.height)}}={{item.quantity}}</div> |
| | | |
| | | <div class="row5"> |
| | | <span style="white-space: pre-wrap;font-size: 8pt">{{ item.building_number?item.building_number.replace(/\r|\n|\s/g,''):'' }}</span> |
| | |
| | | #entirety{ |
| | | text-align: center; |
| | | width: 180px; |
| | | height: 90px; |
| | | height: 87px; |
| | | margin-bottom: 10px; |
| | | margin-right: 5px; |
| | | overflow: hidden; |
| | |
| | | } |
| | | |
| | | .row1 { |
| | | font-size: 6pt; |
| | | font-size: 8pt; |
| | | font-weight: bold; |
| | | height: 15px; |
| | | } |
| | | .row1 span { |
| | | font-size: 8pt; |
| | | font-size: 10pt; |
| | | font-weight: bold; |
| | | } |
| | | .row2 span { |
| | |
| | | |
| | | .row3 { |
| | | margin-top: -5px; |
| | | height: 15px; |
| | | font-size: 13pt; |
| | | height: 25px; |
| | | font-size: 17pt; |
| | | font-weight: bolder; |
| | | } |
| | | |
| | | .row5 { |
| | | margin-top: 5px; |
| | | height: 18px; |
| | | height: 15px; |
| | | font-weight: bold; |
| | | font-size: 6pt; |
| | | } |
| | |
| | | position: absolute; |
| | | font-weight: bold; |
| | | margin-left: 5px; |
| | | margin-top: -6px; |
| | | margin-top: 20px; |
| | | font-size: 6pt; |
| | | } |
| | | |
| | |
| | | position: absolute; |
| | | font-weight: bold; |
| | | margin-left: 158px; |
| | | margin-top: -21px; |
| | | margin-top: 0px; |
| | | } |
| | | .font-size { |
| | | font-size: 6pt; |
| | |
| | | |
| | | |
| | | |
| | | @media print { |
| | | div { |
| | | page-break-inside: avoid; |
| | | } |
| | | @page { |
| | | size: auto; /* auto is the initial value */ |
| | | margin: 13mm 4mm 0mm 4mm; /* this affects the margin in the printer settings */ |
| | | |
| | | } |
| | | } |
| | | |
| | | </style> |
| | |
| | | const printType=route.query.printType |
| | | |
| | | onMounted(() => { |
| | | if (localStorage.getItem('hasRefreshed')=="false") { |
| | | localStorage.setItem('hasRefreshed', 'true'); |
| | | location.reload(); |
| | | }else{ |
| | | localStorage.setItem('hasRefreshed', 'false'); |
| | | } |
| | | if (printType == 1) { |
| | | request.post(`/processCard/getSelectPrintCustomLabel/${type}/1`, data.value).then((res) => { |
| | | request.post(`/processCard/getSelectPrintCustomLabel2/${type}/1`, data.value).then((res) => { |
| | | if (res.code == 200) { |
| | | produceList.value = deepClone(res.data.title) |
| | | list.value = deepClone(res.data.data) |
| | |
| | | } |
| | | @page { |
| | | size: auto; /* auto is the initial value */ |
| | | margin: 13mm 4mm 0mm 4mm; /* this affects the margin in the printer settings */ |
| | | margin: 13mm 4mm 0mm 4mm !important; /* this affects the margin in the printer settings */ |
| | | |
| | | } |
| | | } |
| | |
| | | let sheetIndex = ref(-1) |
| | | let orderType = ref("2") |
| | | let filterData = ref({}) |
| | | let sortData = ref({ |
| | | field:'id', |
| | | order:null |
| | | }) |
| | | let orderList = ref([]) |
| | | let pageNum=ref(1) |
| | | let total = reactive({ |
| | | let total = ref({ |
| | | pageTotal : 0, |
| | | dataTotal : 0, |
| | | pageSize : 50 |
| | |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | sortConfig: { //排序配置项 |
| | | remote: true//是否服务端排序 |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | |
| | | } |
| | | const List = ["quantity",'goodsQuantity','area','perimeter','money'] |
| | | if (List.includes(column.field)) { |
| | | return footSum(data, column.field) |
| | | //return footSum(data, column.field) |
| | | return total.value[column.field] |
| | | } |
| | | return '' |
| | | }) |
| | |
| | | }, |
| | | cellClick({ row }){ |
| | | rowClickIndex.value = row |
| | | }, |
| | | sortChange ({ field, order }) { |
| | | sortData.value = {field,order} |
| | | selectOrderList() |
| | | } |
| | | } |
| | | |
| | | const getOrderList = () => { |
| | | //加载请求 |
| | | request.post(`/order/getOrderList/1/${total.pageSize}/${orderType.value}/${orderInfo.selectDate}`,filterData).then((res) => { |
| | | const config = { |
| | | filter: filterData.value, |
| | | sort: sortData.value |
| | | } |
| | | request.post(`/order/getOrderList/1/${total.value.pageSize}/${orderType.value}/${orderInfo.selectDate}`,config).then((res) => { |
| | | if(res.code==200){ |
| | | total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal= res.data.total.pageTotal |
| | | total.value = res.data.total |
| | | /*total.dataTotal = res.data.total.dataTotal*1 |
| | | total.pageTotal= res.data.total.pageTotal*/ |
| | | orderInfo.selectDate = res.data.selectDate |
| | | orderList.value = deepClone(res.data.data) |
| | | xGrid.value.loadData(orderList.value) |
| | |
| | | }else{ |
| | | filterData.value[column.property] = value |
| | | } |
| | | request.post(`/order/getOrderList/${pageNum.value}/${total.pageSize}/${orderType.value}/${orderInfo.selectDate}`,filterData.value).then((res) => { |
| | | |
| | | const config = { |
| | | filter: filterData.value, |
| | | sort: sortData.value |
| | | } |
| | | request.post(`/order/getOrderList/${pageNum.value}/${total.value.pageSize}/${orderType.value}/${orderInfo.selectDate}`,config).then((res) => { |
| | | if(res.code==200){ |
| | | total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal=parseInt(res.data.total) |
| | | total.value = res.data.total |
| | | /*total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal=parseInt(res.data.total)*/ |
| | | pageNum.value=1 |
| | | orderList.value = deepClone(res.data.data) |
| | | xGrid.value.loadData(orderList.value) |
| | |
| | | //双击表格行 |
| | | |
| | | const selectOrderList = ()=>{ |
| | | request.post(`/order/getOrderList/${pageNum.value}/${total.pageSize}/${orderType.value}/${orderInfo.selectDate}` |
| | | ,filterData.value).then((res) => { |
| | | const config = { |
| | | filter: filterData.value, |
| | | sort: sortData.value |
| | | } |
| | | request.post(`/order/getOrderList/${pageNum.value}/${total.value.pageSize}/${orderType.value}/${orderInfo.selectDate}` |
| | | ,config).then((res) => { |
| | | if(res.code==200){ |
| | | total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal = res.data.total.pageTotal |
| | | total.value = res.data.total |
| | | /*total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal = res.data.total.pageTotal*/ |
| | | orderInfo.selectDate=res.data.selectDate |
| | | orderList.value = deepClone(res.data.data) |
| | | xGrid.value.loadData(orderList.value) |
| | |
| | | return Result.seccess(flowCardService.getSelectPrintLabelDetails(object)); |
| | | } |
| | | |
| | | @ApiOperation("打印自定义标签数据查询接口") |
| | | @ApiOperation("打印自定义标签数据查询接口明细") |
| | | @PostMapping("/getSelectPrintCustomLabel/{type}/{lableType}") |
| | | public Result getSelectPrintCustomLabel( @PathVariable String type, |
| | | @PathVariable Integer lableType, |
| | |
| | | |
| | | } |
| | | |
| | | @ApiOperation("打印自定义标签数据查询接口") |
| | | @PostMapping("/getSelectPrintCustomLabel2/{type}/{lableType}") |
| | | public Result getSelectPrintCustomLabel2( @PathVariable String type, |
| | | @PathVariable Integer lableType, |
| | | @RequestBody Map<String, Object> object) { |
| | | return Result.seccess(flowCardService.getSelectPrintCustomLabelSv2(type,lableType,object)); |
| | | |
| | | } |
| | | |
| | | @ApiOperation("复选框修改排版状态") |
| | | @SaCheckPermission("selectProcessCard.review") |
| | | @PostMapping("/updateComposing") |
| | |
| | | @ApiOperation("订单分页筛选查询") |
| | | @SaCheckPermission("selectOrder.search") |
| | | @PostMapping("/getOrderList/{pageNum}/{pageSize}/{orderType}/{selectDate}") |
| | | public Result getOrderList(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable Integer orderType, @PathVariable List<String> selectDate, @RequestBody Order order) { |
| | | return Result.seccess(orderService.getOrderList(pageNum, pageSize, selectDate, order,orderType)); |
| | | public Result getOrderList(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable Integer orderType, @PathVariable List<String> selectDate, @RequestBody Map<String,Object> config) { |
| | | return Result.seccess(orderService.getOrderList(pageNum, pageSize, selectDate, config,orderType)); |
| | | } |
| | | @ApiOperation("删除订单") |
| | | @SaCheckPermission("selectOrder.delete") |
| | |
| | | |
| | | List<Map<String, Object>> getPrintCustomData(String processId, Integer orderNumber); |
| | | |
| | | List<Map<String, Object>> getPrintCustomData2(String processId); |
| | | |
| | | Integer getPrintLabelCount(String processId, String technologyNumber); |
| | | |
| | | List<Map<String, String>> selectReplenishPrintMp(Date selectTime1, Date selectTime2, FlowCard flowCard); |
| | |
| | | |
| | | boolean updateOrderParameter(@Param("orderId") String orderId); |
| | | |
| | | List<Order> getOrderList(Integer offset, Integer pageSize, String startDate, String endDate, Order order, Integer orderType); |
| | | Map<String,Integer> getPageTotal(Integer offset, Integer pageSize, String startDate, String endDate, Order order , Integer orderType); |
| | | List<Order> getOrderList(Integer offset, Integer pageSize, String startDate, String endDate, Order order, Integer orderType, String field, String orderBy); |
| | | Map<String,Float> getPageTotal(Integer offset, Integer pageSize, String startDate, String endDate, Order order , Integer orderType); |
| | | |
| | | boolean reviewOrderById(String id, Integer status, String userId, String userName); |
| | | |
| | |
| | | return map; |
| | | } |
| | | |
| | | public Map<String, Object> getSelectPrintCustomLabelSv2(String type, Integer lableType, Map<String, Object> object) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | List<Map<String, Object>> list = new ArrayList<Map<String, Object>>();//最终结果 |
| | | List<FlowCard> flowCardList = JSONArray.parseArray(JSONObject.toJSONString(object.get("printList")), FlowCard.class); |
| | | if (!flowCardList.isEmpty()) { |
| | | Set<String> processedProcessIds = new HashSet<>(); // 用来存放已处理过的 processId |
| | | |
| | | if (lableType != 2){//成品标签 |
| | | for (FlowCard flowCard : flowCardList) { |
| | | String processId = flowCard.getProcessId(); |
| | | |
| | | // 检查是否已经处理过该 processId,如果处理过则跳过 |
| | | if (processedProcessIds.contains(processId)) { |
| | | continue; |
| | | } |
| | | Map<String, Object> itemmap = new HashMap<>(); |
| | | itemmap.put("data", flowCardMapper.getPrintCustomData2(flowCard.getProcessId())); |
| | | list.add(itemmap); |
| | | |
| | | // 将该 processId 加入已处理集合 |
| | | processedProcessIds.add(processId); |
| | | } |
| | | } |
| | | else{//小片标签 |
| | | for (FlowCard flowCard : flowCardList) { |
| | | Map<String, Object> itemmap = new HashMap<>(); |
| | | itemmap.put("data", flowCardMapper.getPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getProcess())); |
| | | list.add(itemmap); |
| | | } |
| | | } |
| | | } |
| | | map.put("data", list); |
| | | map.put("title", flowCardMapper.getPrintTitle(type)); |
| | | return map; |
| | | } |
| | | |
| | | public Object getCustomLabelDetailSv(String name, String form, String id, FlowCard flowCard) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("data", flowCardMapper.getCustomLabelDetailMp(name, form,id, flowCard)); |
| | |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | | import static org.apache.coyote.http11.Constants.a; |
| | | |
| | | @Service |
| | | @DS("sd") |
| | | @Transactional(rollbackFor = Exception.class) |
| | |
| | | } |
| | | |
| | | //查询获取列表 |
| | | public Map<String,Object> getOrderList(Integer pageNum, Integer pageSize, List<String> selectDate, Order order,Integer orderType) { |
| | | public Map<String,Object> getOrderList(Integer pageNum, Integer pageSize, List<String> selectDate, Map<String,Object> config,Integer orderType) { |
| | | Integer offset = (pageNum-1)*pageSize; |
| | | String endDate = LocalDate.now().toString(); |
| | | String startDate = LocalDate.now().minusDays(15).toString(); |
| | |
| | | endDate = selectDate.get(1); |
| | | } |
| | | } |
| | | JSONObject orderJson = new JSONObject(config); |
| | | Order order = JSONObject.parseObject(JSONObject.toJSONString(orderJson.get("filter")), Order.class); |
| | | Map<String,String> sortDate = (Map<String, String>) config.get("sort"); |
| | | String field = sortDate.get("field").replaceAll("(?<!^)([A-Z])", "_$1").toLowerCase(); |
| | | String orderBy = sortDate.get("order"); |
| | | System.out.println(field+" "+orderBy); |
| | | |
| | | Map<String,Object> map = new HashMap<>(); |
| | | map.put("data",orderMapper.getOrderList(offset, pageSize, startDate, endDate, order,orderType)); |
| | | map.put("data",orderMapper.getOrderList(offset, pageSize, startDate, endDate, order,orderType, field, orderBy)); |
| | | map.put("total",orderMapper.getPageTotal(offset, pageSize, startDate, endDate, order,orderType)); |
| | | List<String> list = new ArrayList<>(); |
| | | list.add(startDate); |
| | |
| | | ou.id as useId, |
| | | ou.project_no as projectNo, |
| | | mi.inventory_quantity AS inventoryQuantity, |
| | | mi.plan_quantity AS availableQuantity, |
| | | mi.available_quantity AS availableQuantity, |
| | | mi.plan_quantity AS planQuantity, |
| | | mi.id, |
| | | mi.inventory_organization as inventoryOrganization, |
| | |
| | | ms.json from pp.optimize_use ou left join mm.material_inventory mi on ou.raw_stock_code=mi.id left join mm.material_store ms on mi.material_code=ms.id |
| | | left join pp.optimize_project op on op.project_no=ou.project_no |
| | | <where> |
| | | mi.plan_quantity>0 and op.state>=100 and |
| | | date(ou.create_time)>=#{startDate} and date(ou.create_time) <= #{endDate} |
| | | mi.plan_quantity>0 and op.state>=100 and ou.state=1 |
| | | |
| | | </where> |
| | | order by ou.id desc |
| | |
| | | |
| | | <select id="getSelectMaterialInventoryEngineeringDatePageTotal"> |
| | | select |
| | | CEILING(count(id)/#{pageSize}) as 'pageTotal', |
| | | count(id) as 'total' |
| | | from |
| | | pp.optimize_use ou |
| | | CEILING(count(ou.id)/#{pageSize}) as 'pageTotal', |
| | | count(ou.id) as 'total' |
| | | from pp.optimize_use ou left join mm.material_inventory mi on ou.raw_stock_code=mi.id left join mm.material_store ms on mi.material_code=ms.id |
| | | left join pp.optimize_project op on op.project_no=ou.project_no |
| | | <where> |
| | | ou.not_use_count>0 and ou.state=1 and |
| | | date(ou.create_time)>=#{startDate} and date(ou.create_time) <= #{endDate} |
| | | mi.plan_quantity>0 and op.state>=100 and ou.state=1 |
| | | |
| | | </where> |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | |
| | |
| | | order by fc.process_id |
| | | </select> |
| | | |
| | | <select id="getPrintCustomData2"> |
| | | select o.order_id as orderId, |
| | | project, |
| | | customer_id as customerId, |
| | | o.customer_name as customerName, |
| | | order_type as orderType, |
| | | order_classify as orderClassify, |
| | | batch, |
| | | o.icon, |
| | | pack_type as packType, |
| | | delivery_date as deliveryDate, |
| | | al_type as alType, |
| | | money, |
| | | contract_id as contractId, |
| | | customer_batch customerBatch, |
| | | contacts, |
| | | delivery_address as deliveryAddress, |
| | | od.processing_note as processingNote, |
| | | width, |
| | | height, |
| | | fc.quantity, |
| | | od.order_number as orderNumber, |
| | | fc.technology_number as technologyNumber, |
| | | od.building_number as buildingNumber, |
| | | od.product_name as productName, |
| | | od.edging_type as edgingType, |
| | | od.remarks, |
| | | c.customer_abbreviation as customerAbbreviation, |
| | | p.product_abbreviation as productAbbreviation, |
| | | fc.process_id as processId, |
| | | o.create_time as createTime, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S01')) AS glassNumber, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S02')) AS figureNumber, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S03')) AS colourCeramicGlaze, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S04')) AS remarks1, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S05')) AS remarks2, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S06')) AS remarks3, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S07')) AS remarks4, |
| | | JSON_UNQUOTE(JSON_EXTRACT(od.other_columns, '$.S08')) AS remarks5, |
| | | p.remarks as filmNumber, |
| | | od.bend_radius as bendRadius, |
| | | od.other_columns, |
| | | ogd.glass_child as glassChild, |
| | | ogd.glass_address as glassAddress, |
| | | JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.color')) AS color |
| | | from sd.order as o |
| | | left join sd.order_detail as od on o.order_id = od.order_id |
| | | left join flow_card as fc on o.order_id = fc.order_id and |
| | | od.order_number = fc.order_number |
| | | left join sd.product as p on p.id = od.product_id |
| | | 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 and |
| | | pd.glass_sort = fc.technology_number |
| | | left join sd.order_glass_detail as ogd |
| | | on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number and |
| | | ogd.technology_number = fc.technology_number |
| | | where fc.process_id = #{processId} |
| | | group by od.order_number |
| | | order by fc.process_id |
| | | </select> |
| | | |
| | | <select id="selectReplenishPrintMp"> |
| | | select fc.id, |
| | | fc.order_id, |
| | |
| | | </update> |
| | | |
| | | <select id="getOrderList"> |
| | | select |
| | | *, |
| | | select * from (select |
| | | o.*, |
| | | ifnull(sum(fgi.quantity_available),0) as goodsQuantity |
| | | from |
| | | sd.`order` as o |
| | |
| | | and o.processing_note REGEXP #{order.processingNote} |
| | | </if> |
| | | group by o.id |
| | | order by o.id desc |
| | | ) as acc |
| | | order by |
| | | <if test="orderBy == null "> |
| | | id desc |
| | | </if> |
| | | <if test="orderBy == 'desc'"> |
| | | ${field} desc |
| | | </if> |
| | | <if test="orderBy == 'asc'"> |
| | | ${field} |
| | | </if> |
| | | limit #{offset},#{pageSize} |
| | | </select> |
| | | |
| | | <select id="getPageTotal"> |
| | | select |
| | | CEILING(count(o.id)/#{pageSize}) as 'pageTotal', |
| | | count(o.id) as 'total' |
| | | count(o.id) as 'dataTotal', |
| | | sum(o.quantity) as quantity, |
| | | sum(o.area) as area, |
| | | sum(o.money) as money, |
| | | ifnull(fgi.goodsQuantity ,0) as goodsQuantity , |
| | | ROUND(sum(perimeter),2) as perimeter, |
| | | #{pageSize} as pageSize |
| | | from |
| | | `order` as o |
| | | left join( |
| | | select order_id, |
| | | ifnull(sum(quantity_available),0) as goodsQuantity |
| | | from mm.finished_goods_inventory group by order_id |
| | | ) as fgi |
| | | on o.order_id = fgi.order_id |
| | | where date (o.create_time)>=#{startDate} and date(o.create_time) <= #{endDate} |
| | | <if test="orderType!= null and orderType != 0"> |
| | | and o.create_order = #{orderType} |