Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
| | |
| | | //洛阳 172.17.2.7 |
| | | //天津 192.168.150.39 |
| | | //上海 10.153.18.3 |
| | | //温州 192.168.2.7 |
| | | //温州 192.168.2.7 1171bpue44086.vicp.fun:44934 |
| | |
| | | <div id="bj" v-else style="float: right;font-size: 28px"></div> |
| | | <div>{{ company.companyName }}</div> |
| | | <div> |
| | | 生产流程卡<span style="font-weight: bold" v-if="printProject!=null">({{ printProject }})</span> |
| | | ({{itemFlow.order_type}})生产流程卡<span style="font-weight: bold" v-if="printProject!=null">({{ printProject }})</span> |
| | | <span style="font-weight: bold" v-if="props.compound!=null">({{ props.compound }}层同架)</span> |
| | | </div> |
| | | <div style="font-weight: bolder;display: flex;justify-content:space-between"> |
| | |
| | | <div style="float: left;"><img id="img-pic" style="width: 42px;height: 32px" src="@/assets/northGlass.ico" alt=""></div> |
| | | <div id="bj" style="float: right;font-size: 28px">补 {{ id + 1 }}</div> |
| | | <div style="left: 150px">{{ company.companyName }}</div> |
| | | <div>生产流程卡</div> |
| | | <div>({{itemFlow.order_type}})生产流程卡</div> |
| | | <div style="font-weight: bolder;display: flex;justify-content:space-between"> |
| | | <div> |
| | | 补片单号:{{itemFlow.patch_id}} |
| | |
| | | </tr> |
| | | <tr v-for="(items,index) in item.detail" :key="index"> |
| | | <td class="tdNowrap">客户名称:</td> |
| | | <td colspan="2">{{ items.customer_name }}</td> |
| | | <td colspan="3">{{ items.customer_name }}</td> |
| | | <td class="tdNowrap">项目名称:</td> |
| | | <td v-if="name=='洛阳北方玻璃技术股份有限公司'" colspan="4" style="min-width: 250px;">{{ items.projectBatch }}</td> |
| | | <td v-else colspan="4" style="min-width: 250px;">{{ items.project }}</td> |
| | | <td class="tdNowrap">工艺流程:</td> |
| | | <td :colspan="2+item.processList.length*2" style="width: 500px">{{ items.process }}</td> |
| | | <td :colspan="4+item.processList.length*2" style="width: 500px">{{ items.process }}</td> |
| | | </tr> |
| | | <tr v-for="(itemTr,index) in item.detail" :key="index"> |
| | | <td class="tdNowrap">磨边类型:</td> |
| | | <td colspan="2">{{ itemTr.edging_type }}</td> |
| | | <td colspan="3">{{ itemTr.edging_type }}</td> |
| | | <td class="tdNowrap">单片名称:</td> |
| | | <td colspan="8">{{ itemTr.glass_child }}</td> |
| | | <td class="tdNowrap">产品名称:</td> |
| | |
| | | <tr> |
| | | <td rowspan='2'>序号</td> |
| | | <td rowspan='2'>编号</td> |
| | | <td rowspan="2">小片顺序</td> |
| | | <td rowspan='2'>宽*高</td> |
| | | <td rowspan="2">层号</td> |
| | | <td rowspan='2'>宽(弧长)*高</td> |
| | | <td rowspan='2'>数量</td> |
| | | <td rowspan='2'>面积</td> |
| | | <td rowspan='2'>周长</td> |
| | |
| | | |
| | | <tr v-for="(itemDatile,index) in item.detailList" :key="index"> |
| | | <td>{{ itemDatile.order_number }}</td> |
| | | <td v-if="name=='金华福喜天成玻璃有限公司' || name=='浙江巨星嘉泰新材料有限公司' ">{{ itemDatile.building_number }}</td> |
| | | <td v-else>{{ itemDatile.s01Value }}</td> |
| | | <td class="tdNowrap" v-if="name=='金华福喜天成玻璃有限公司' || name=='浙江巨星嘉泰新材料有限公司' ">{{ itemDatile.building_number }}</td> |
| | | <td class="tdNowrap" v-else>{{ itemDatile.s01Value }}</td> |
| | | <td>{{ itemDatile.technology_number }}</td> |
| | | <td>{{ itemDatile.child_width }}</td> |
| | | <td class="item" style="width: 5%;height: 100%;"> |
| | |
| | | <td>{{ itemDatile.total_area }}</td> |
| | | <td>{{ itemDatile.perimeter }}</td> |
| | | <td>{{ itemDatile.bend_radius }}</td> |
| | | <td>{{ itemDatile.patch_type }}</td> |
| | | <td>{{ itemDatile.patch_reason }}</td> |
| | | <td>{{ itemDatile.patch_processes }}</td> |
| | | <td>{{ itemDatile.responsible_team }}</td> |
| | | <td class="tdNowrap">{{ itemDatile.patch_type }}</td> |
| | | <td class="tdNowrap">{{ itemDatile.patch_reason }}</td> |
| | | <td class="tdNowrap">{{ itemDatile.patch_processes }}</td> |
| | | <td class="tdNowrap">{{ itemDatile.responsible_team }}</td> |
| | | <td>{{ itemDatile.responsible_personnel }}</td> |
| | | <td>{{ itemDatile.remarks }}</td> |
| | | <td class="tdNowrap">{{ itemDatile.remarks }}</td> |
| | | <template v-for=" n in item.processList.length"> |
| | | <td></td> |
| | | <td></td> |
| | |
| | | } |
| | | |
| | | .tdNowrap { |
| | | |
| | | white-space: nowrap; |
| | | } |
| | | |
| | | #contentTable tfoot { |
| | |
| | | } |
| | | |
| | | }, |
| | | searchDeliverFilter:{ |
| | | list:ref([]), |
| | | data:{} |
| | | |
| | | }, |
| | | projectNo:ref(), |
| | | optimizeData:{ |
| | | optimalResults:'', |
| | |
| | | } |
| | | } |
| | | } |
| | | this.searchDeliverFilter={ |
| | | list:[], |
| | | data:{} |
| | | } |
| | | this.projectNo=null |
| | | this.optimizeData={ |
| | | optimalResults:null, |
| | |
| | | {field: 'child_height', width: 120, title: t('order.height'),filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged}, |
| | | {field: 'thickness',filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | width: 90, title: t('order.totalThickness')}, |
| | | |
| | | {field: 'quantity', width: 120, title: t('order.quantity'),filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | filterMethod: filterChanged}, |
| | |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | sortConfig: { |
| | | multiple: true, |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | //remote: true |
| | | }, |
| | |
| | | destroy-on-close |
| | | :close-on-click-modal="false" |
| | | :close-on-press-escape="false"> |
| | | > |
| | | <SelectOrderList |
| | | style="width: 100%;height: 600px" |
| | | :customer-id="titleUploadData.customerId" |
| | |
| | | <script setup> |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import {reactive, ref} from "vue"; |
| | | import {onMounted, reactive, ref} from "vue"; |
| | | import {useRouter} from "vue-router" |
| | | import request from "@/utils/request" |
| | | import deepClone from "@/utils/deepClone" |
| | |
| | | |
| | | //筛选条件,有外键需要先定义明细里面的数据 |
| | | let filterData = ref({}) |
| | | let sortData = ref({ |
| | | field:'id', |
| | | order:null |
| | | }) |
| | | |
| | | let selectDate = ref(["",""]) |
| | | |
| | |
| | | pageSize : 100 |
| | | }) |
| | | |
| | | //第一次调用 |
| | | request.post(`/delivery/getSelectShippingOrder/1/${total.pageSize}/${orderInfo.selectDeliveryDate}`,filterData.value).then((res) => { |
| | | |
| | | if(res.code==200){ |
| | | total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal= res.data.total.pageTotal |
| | | |
| | | orderInfo.selectDeliveryDate = res.data.selectDate |
| | | pageNum.value=1 |
| | | produceList = deepClone(res.data.data) |
| | | if(company.companyName=='洛阳北方玻璃技术股份有限公司'){ |
| | | xGrid.value.menuConfig.body.options[0][2].visible=true |
| | | xGrid.value.menuConfig.body.options[0][3].visible=true |
| | | xGrid.value.menuConfig.body.options[0][4].visible=true |
| | | xGrid.value.menuConfig.body.options[0][5].visible=true |
| | | } |
| | | xGrid.value.loadData(produceList) |
| | | gridOptions.loading=false |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | | } |
| | | onMounted(async () => { |
| | | filterData.value = orderInfo.searchDeliverFilter.data |
| | | await getDeliveryList() |
| | | orderInfo.searchDeliverFilter.list.forEach(item =>{ |
| | | xGrid.value.getColumnByField(item.field).filters = item.column.filters |
| | | }) |
| | | }) |
| | | |
| | | const getDeliveryList = async () => { |
| | | //加载请求 |
| | | const config = { |
| | | filter: filterData.value, |
| | | sort: sortData.value |
| | | } |
| | | await request.post(`/delivery/getSelectShippingOrder/1/${total.pageSize}/${orderInfo.selectDeliveryDate}`,config).then((res) => { |
| | | |
| | | if(res.code==200){ |
| | | total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal= res.data.total.pageTotal |
| | | |
| | | orderInfo.selectDeliveryDate = res.data.selectDate |
| | | pageNum.value=1 |
| | | produceList = deepClone(res.data.data) |
| | | if(company.companyName=='洛阳北方玻璃技术股份有限公司'){ |
| | | xGrid.value.menuConfig.body.options[0][2].visible=true |
| | | xGrid.value.menuConfig.body.options[0][3].visible=true |
| | | xGrid.value.menuConfig.body.options[0][4].visible=true |
| | | xGrid.value.menuConfig.body.options[0][5].visible=true |
| | | } |
| | | xGrid.value.loadData(produceList) |
| | | gridOptions.loading=false |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | | } |
| | | }) |
| | | } |
| | | |
| | | |
| | | |
| | | //定义当前页数 |
| | |
| | | }else{ |
| | | filterData.value[column.property] = value |
| | | } |
| | | request.post(`/delivery/getSelectShippingOrder/1/${total.pageSize}/${orderInfo.selectDeliveryDate}`,filterData.value).then((res) => { |
| | | |
| | | const config = { |
| | | filter: filterData.value, |
| | | sort: sortData.value |
| | | } |
| | | request.post(`/delivery/getSelectShippingOrder/1/${total.pageSize}/${orderInfo.selectDeliveryDate}`,config).then((res) => { |
| | | |
| | | if(res.code==200){ |
| | | total.dataTotal = res.data.total.total*1 |
| | |
| | | xGrid.value.menuConfig.body.options[0][2].visible=true |
| | | xGrid.value.menuConfig.body.options[0][3].visible=true |
| | | } |
| | | |
| | | orderInfo.searchDeliverFilter.list = xGrid.value.getCheckedFilters() |
| | | orderInfo.searchDeliverFilter.data = filterData.value |
| | | gridOptions.loading=false |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | |
| | | |
| | | |
| | | const selectOrderList = ()=>{ |
| | | request.post(`/delivery/getSelectShippingOrder/${pageNum.value}/${total.pageSize}/${orderInfo.selectDeliveryDate}`,filterData.value).then((res) => { |
| | | const config = { |
| | | filter: filterData.value, |
| | | sort: sortData.value |
| | | } |
| | | request.post(`/delivery/getSelectShippingOrder/${pageNum.value}/${total.pageSize}/${orderInfo.selectDeliveryDate}`,config).then((res) => { |
| | | |
| | | if(res.code==200){ |
| | | if (res.data.total!=null){ |
| | |
| | | }, |
| | | cellClick({ row }){ |
| | | rowClickIndex.value = row |
| | | }, |
| | | sortChange ({ field, order }) { |
| | | sortData.value = {field,order} |
| | | selectOrderList() |
| | | } |
| | | } |
| | | |
| | |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | sortConfig: { //排序配置项 |
| | | remote: true//是否服务端排序 |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | |
| | | //筛选条件,有外键需要先定义明细里面的数据 |
| | | let filterData = ref({ |
| | | |
| | | finishedGoodsInventory:{ |
| | | quantityAvailable:'', |
| | | |
| | | }, |
| | | customerId: null, // 新增 |
| | | project: null, // 新增 |
| | | excludeOrderIds: [] // 新增 |
| | | |
| | | }) |
| | | let selectDate = ref(["",""]) |
| | | |
| | |
| | | |
| | | |
| | | // 第一次调用,修改为带筛选条件 |
| | | const fetchOrders = () => { |
| | | // 新增:从props获取筛选条件 |
| | | if(props.customerId!==undefined){ |
| | | filterData.value.customerId = props.customerId |
| | | filterData.value.project = props.project |
| | | filterData.value.excludeOrderIds = props.excludeOrderIds |
| | | gridOptions.toolbarConfig.buttons[0].visible = false |
| | | }else{ |
| | | gridOptions.toolbarConfig.buttons[1].visible = false |
| | | } |
| | | const fetchOrders = async () => { |
| | | |
| | | request.post(`/delivery/getSelectOrderInventory/${pageNum.value}/${total.pageSize}/${orderInfo.selectOrderListDate}`, filterData.value).then((res) => { |
| | | await request.post(`/delivery/getSelectOrderInventory/${pageNum.value}/${total.pageSize}/${orderInfo.selectOrderListDate}`, filterData.value).then((res) => { |
| | | if(res.code==200){ |
| | | total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal= res.data.total.pageTotal |
| | |
| | | } |
| | | |
| | | |
| | | onMounted(() => { |
| | | fetchOrders() |
| | | onMounted(async () => { |
| | | if (props.customerId !== undefined) { |
| | | filterData.value.customerId = props.customerId |
| | | filterData.value.project = props.project |
| | | filterData.value.excludeOrderIds = props.excludeOrderIds |
| | | gridOptions.toolbarConfig.buttons[0].visible = false |
| | | |
| | | await fetchOrders() |
| | | } else { |
| | | gridOptions.toolbarConfig.buttons[1].visible = false |
| | | filterData.value = orderInfo.searchOrderFilter.data |
| | | await fetchOrders() |
| | | orderInfo.searchOrderFilter.list.forEach(item => { |
| | | xGrid.value.getColumnByField(item.field).filters = item.column.filters |
| | | }) |
| | | } |
| | | |
| | | |
| | | }) |
| | | |
| | | const changeFilterEvent = (event, option, $panel,) => { |
| | |
| | | pageNum.value=1 |
| | | produceList = deepClone(res.data.data) |
| | | xGrid.value.loadData(produceList) |
| | | |
| | | //不是弹窗界面 |
| | | if(props.customerId===undefined){ |
| | | orderInfo.searchOrderFilter.list = xGrid.value.getCheckedFilters() |
| | | orderInfo.searchOrderFilter.data = filterData.value |
| | | } |
| | | |
| | | gridOptions.loading=false |
| | | }else{ |
| | | ElMessage.warning(res.msg) |
| | |
| | | {field: 'customerId',width:120, title: t('customer.customerNumber'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'customerName',width:120, title: t('customer.customerName'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'quantity',width:120, title: t('order.quantity'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'finishedGoodsInventory.quantityAvailable',width:120, title: t('delivery.availableStock'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'finishedGoodsInventory.quantityAvailable',width:120, title: t('delivery.availableStock'), sortable: true}, |
| | | {field: 'project',width:120, title: t('order.project'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'batch',width:120, title: t('order.batch'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'money',width:120, title: t('order.money'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | |
| | | @ApiOperation("发货订单查询接口") |
| | | @SaCheckPermission("selectDelivery.search") |
| | | @PostMapping("/getSelectShippingOrder/{pageNum}/{pageSize}/{selectDate}") |
| | | public Result getSelectShippingOrder(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable List<String> selectDate, @RequestBody Delivery delivery) throws JsonProcessingException { |
| | | return Result.success(deliveryService.getSelectShippingOrder(pageNum,pageSize,selectDate,delivery)); |
| | | public Result getSelectShippingOrder(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable List<String> selectDate, @RequestBody Map<String,Object> config) throws JsonProcessingException { |
| | | return Result.success(deliveryService.getSelectShippingOrder(pageNum,pageSize,selectDate,config)); |
| | | } |
| | | |
| | | /*发货报表查询*/ |
| New file |
| | |
| | | package com.example.erp.dto.sd; |
| | | |
| | | import com.alibaba.excel.annotation.ExcelProperty; |
| | | import com.example.erp.entity.sd.Order; |
| | | import lombok.Data; |
| | | |
| | | import java.time.LocalDate; |
| | | |
| | | |
| | | @Data |
| | | public class DeliverySearchDTO { |
| | | @ExcelProperty("编号") |
| | | private Long id; |
| | | @ExcelProperty("发货状态") |
| | | private Integer deliveryState; |
| | | @ExcelProperty("出库状态") |
| | | private Integer stockState; |
| | | @ExcelProperty("付款条件") |
| | | private String paymentTerms; |
| | | @ExcelProperty("发货单号") |
| | | private String deliveryId; |
| | | @ExcelProperty("订单编号") |
| | | private String orderId; |
| | | @ExcelProperty("项目名称") |
| | | private String project; |
| | | @ExcelProperty("客户编号") |
| | | private String customerId; |
| | | @ExcelProperty("客户名称") |
| | | private String customerName; |
| | | @ExcelProperty("发货日期") |
| | | private LocalDate deliveryDate; |
| | | @ExcelProperty("支付方式") |
| | | private String payMethod; |
| | | @ExcelProperty("支付日期") |
| | | private LocalDate payDate; |
| | | @ExcelProperty("销售人id") |
| | | private String salesmanId; |
| | | @ExcelProperty("销售人") |
| | | private String salesman; |
| | | @ExcelProperty("创建人id") |
| | | private String creatorId; |
| | | @ExcelProperty("创建人") |
| | | private String creator; |
| | | @ExcelProperty("联系人") |
| | | private String contacts; |
| | | @ExcelProperty("联系电话") |
| | | private String contactNumber; |
| | | @ExcelProperty("送货地址") |
| | | private String deliveryAddress; |
| | | @ExcelProperty("面积") |
| | | private Double area; |
| | | @ExcelProperty("数量") |
| | | private Integer quantity; |
| | | @ExcelProperty("总金额") |
| | | private Double money; |
| | | @ExcelProperty("其他金额") |
| | | private Double otherMoney; |
| | | @ExcelProperty("运费金额") |
| | | private Double freight; |
| | | @ExcelProperty("运费数量") |
| | | private Integer freightQuantity; |
| | | @ExcelProperty("运费单价") |
| | | private Double freightPrice; |
| | | @ExcelProperty("打印次数") |
| | | private Integer printingNumber; |
| | | @ExcelProperty("备注") |
| | | private String remarks; |
| | | @ExcelProperty("创建时间") |
| | | private LocalDate createTime; |
| | | @ExcelProperty("修改时间") |
| | | private LocalDate updateTime; |
| | | |
| | | private Order order; |
| | | } |
| | |
| | | package com.example.erp.mapper.sd; |
| | | |
| | | import com.example.erp.dto.sd.DeliverySearchDTO; |
| | | import com.example.erp.entity.pp.FlowCard; |
| | | import com.example.erp.entity.sd.Delivery; |
| | | import com.example.erp.entity.sd.DeliveryDetail; |
| | |
| | | |
| | | List<Delivery> getSelectShippingOrder(@Param("offset") Integer offset, |
| | | @Param("pageSize") Integer pageSize,String startDate, String endDate, |
| | | @Param("delivery") Delivery delivery); |
| | | @Param("delivery") DeliverySearchDTO delivery,String field, String orderBy); |
| | | |
| | | Delivery getSelectShippingOrderDetailDelivery(@Param("offset") Integer offset, |
| | | @Param("pageSize") Integer pageSize, |
| | |
| | | Order getSelectShippingOrderDetailDeliverys(@Param("offset") Integer offset, |
| | | @Param("pageSize") Integer pageSize, |
| | | @Param("orderDetail") OrderDetail orderDetail); |
| | | Map<String,Integer> getSelectShippingOrderPageTotal(Integer offset, Integer pageSize, String startDate, String endDate, Delivery delivery); |
| | | Map<String,Integer> getSelectShippingOrderPageTotal(Integer offset, Integer pageSize, String startDate, String endDate, DeliverySearchDTO delivery); |
| | | |
| | | List<Order> getSelectOrderInventory(@Param("offset") Integer offset, |
| | | @Param("pageSize") Integer pageSize,String startDate, String endDate, |
| | |
| | | import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper; |
| | | import com.example.erp.dto.sd.DeliveryDetailDTO; |
| | | import com.example.erp.dto.sd.DeliveryDetailProductDTO; |
| | | import com.example.erp.dto.sd.DeliverySearchDTO; |
| | | import com.example.erp.dto.sd.OrderSearchDTO; |
| | | import com.example.erp.entity.mm.FinishedOperateLog; |
| | | import com.example.erp.entity.sd.*; |
| | | import com.example.erp.entity.userInfo.Log; |
| | |
| | | FinishedGoodsInventoryService finishedGoodsInventoryService; |
| | | |
| | | |
| | | public Map<String, Object> getSelectShippingOrder(Integer pageNum, Integer pageSize,List<String> selectDate, Delivery delivery) throws JsonProcessingException { |
| | | public Map<String, Object> getSelectShippingOrder(Integer pageNum, Integer pageSize,List<String> selectDate, Map<String,Object> config) throws JsonProcessingException { |
| | | 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); |
| | | DeliverySearchDTO delivery = JSONObject.parseObject(JSONObject.toJSONString(orderJson.get("filter")), DeliverySearchDTO.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"); |
| | | |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("data", deliveryMapper.getSelectShippingOrder(offset, pageSize,startDate,endDate, delivery)); |
| | | map.put("data", deliveryMapper.getSelectShippingOrder(offset, pageSize,startDate,endDate, delivery,field, orderBy)); |
| | | map.put("total", deliveryMapper.getSelectShippingOrderPageTotal(offset, pageSize,startDate,endDate, delivery)); |
| | | List<String> list = new ArrayList<>(); |
| | | list.add(startDate); |
| | |
| | | '' as qrcode, |
| | | ifnull(rack,"") as rack, |
| | | o.quantity as orderQuantity, |
| | | o.area as orderArea |
| | | o.area as orderArea, |
| | | o.order_type |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and |
| | |
| | | #{technologyNumber} as technologyNumber, |
| | | concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber, |
| | | concat('对应我司单号', o.batch) AS otherRemarks, |
| | | '' as qrcode |
| | | '' as qrcode, |
| | | o.order_type |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and |
| | |
| | | round(SUM(ogd.total_area), 2) as gross_area, |
| | | sum(od.weight) as weight, |
| | | #{technologyNumber} as technologyNumber, |
| | | concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber |
| | | concat(fc.process_id, '/', #{technologyNumber}) as processIdNumber, |
| | | o.order_type |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and |
| | |
| | | concat('对应我司单号', o.batch) AS otherRemarks, |
| | | dd.responsible_personnel, |
| | | #{mergeTechnologyNumber} as mergeTechnologyNumber, |
| | | pl.patch_id |
| | | pl.patch_id, |
| | | o.order_type |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and |
| | |
| | | fc.technology_number as qrcode, |
| | | o.other_remarks, |
| | | o.quantity as orderQuantity, |
| | | o.area as orderArea |
| | | o.area as orderArea, |
| | | o.order_type |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and |
| | |
| | | fc.quantity - odpd.reporting_work_num - ifnull(fc.termination_quantity,0) as incompleteNum, |
| | | ROUND(ogd.child_width * ogd.child_height * (fc.quantity - odpd.reporting_work_num- ifnull(fc.termination_quantity,0)) / 1000000, |
| | | 2) as incompleteArea, |
| | | od.product_name |
| | | od.product_name, |
| | | JSON_UNQUOTE(JSON_EXTRACT(pd.separation, '$.thickness')) AS thickness |
| | | |
| | | from sd.order_detail AS od |
| | | LEFT JOIN sd.order_glass_detail AS ogd |
| | |
| | | and odpd.process_id = fc.process_id |
| | | left join sd.`order` as o |
| | | on o.order_id = od.order_id |
| | | left join sd.product_detail as pd on pd.prod_id=od.product_id |
| | | where o.create_order>0 |
| | | and odpd.process = #{selectProcesses} |
| | | and o.create_time >= #{selectTime1} |
| | |
| | | <if test="order.createTime != null and order.createTime != ''"> |
| | | and o.create_time REGEXP #{order.createTime} |
| | | </if> |
| | | <if test="order.finishedGoodsInventory.quantityAvailable != null and order.finishedGoodsInventory.quantityAvailable != ''"> |
| | | and fgi.quantity_available REGEXP #{order.finishedGoodsInventory.quantityAvailable} |
| | | </if> |
| | | </where> |
| | | group by o.order_id order by o.id desc |
| | | limit #{offset},#{pageSize}; |
| | |
| | | </if> |
| | | <if test="order.createTime != null and order.createTime != ''"> |
| | | and o.create_time REGEXP #{order.createTime} |
| | | </if> |
| | | <if test="order.finishedGoodsInventory.quantityAvailable != null and order.finishedGoodsInventory.quantityAvailable != ''"> |
| | | and fgi.quantity_available REGEXP #{order.finishedGoodsInventory.quantityAvailable} |
| | | </if> |
| | | </where> |
| | | group by o.order_id limit #{offset},#{pageSize}) as zu; |
| | |
| | | |
| | | </where> |
| | | group by d.delivery_id |
| | | order by d.id desc |
| | | order by |
| | | <if test="orderBy == null "> |
| | | d.id desc |
| | | </if> |
| | | <if test="orderBy == 'desc'"> |
| | | d.${field} desc |
| | | </if> |
| | | <if test="orderBy == 'asc'"> |
| | | d.${field} |
| | | </if> |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |