Merge branch 'master' of http://bore.pub:10439/r/ERP_override
| | |
| | | customer.value = produceList.value[0].detail[0] |
| | | let height = 0 |
| | | let index = 0 |
| | | |
| | | produceList.value[0].detailList.forEach(order => { |
| | | if(orderDetailList.value[index]===undefined){ |
| | | orderDetailList.value[index]=[] |
| | | for(let i=0;i<produceList.value.length;i++){ |
| | | //换产品就换页 |
| | | if(i>0){ |
| | | index+=1 |
| | | } |
| | | orderDetailList.value[index]=[] |
| | | orderDetailList.value[index].push({ |
| | | type:'customer', |
| | | customer:produceList.value[i].detail[0] |
| | | }) |
| | | produceList.value[i].detailList.forEach(order => { |
| | | height+=50 |
| | | //判断高度是否超过350,则换页 |
| | | if(height>=500){ |
| | | height=0 |
| | | index+=1 |
| | | orderDetailList.value[index]=[] |
| | | |
| | | orderDetailList.value[index].push({ |
| | | type:'customer', |
| | | customer:produceList.value[i].detail[0] |
| | | }) |
| | | } |
| | | orderDetailList.value[index].push({ |
| | | type:'product', |
| | |
| | | }) |
| | | }) |
| | | }) |
| | | } |
| | | orderDetailList.value.forEach((page,index)=>{ |
| | | let sum = { |
| | | quantity:0, |
| | |
| | | <div style="display:flex;"> |
| | | <div style="width: 100%"><span style="font-weight: bold;">客户名称</span>: |
| | | <input class="contactNumber" style="width: 80%;font-size: 9px" type="text" |
| | | v-model="customer.customer_name" /> |
| | | v-model="page[0].customer.customer_name" /> |
| | | </div> |
| | | </div> |
| | | <div style="display:flex;"> |
| | | <div style="width: 100%"><span style="font-weight: bold">工程名称</span>:{{customer.project}}</div> |
| | | <div style="width: 100%"><span style="font-weight: bold">工程名称</span>:{{page[0].customer.project}}</div> |
| | | </div> |
| | | <div style="display:flex;"> |
| | | <div style="width: 50%"><span style="font-weight: bold">订单号</span>:{{customer.order_id}}</div> |
| | | <div style="width: 50%"><span style="font-weight: bold">装箱单号</span>:{{customer.remarks}}</div> |
| | | <div style="width: 50%"><span style="font-weight: bold">订单号</span>:{{page[0].customer.order_id}}</div> |
| | | <div style="width: 50%"><span style="font-weight: bold">装箱单号</span>:{{page[0].customer.remarks}}</div> |
| | | </div> |
| | | <div style="display:flex;"> |
| | | <div style="width: 50%"><span style="font-weight: bold">包装日期</span>:{{customer.reporting_work_time}}</div> |
| | | <div style="width: 50%"><span style="font-weight: bold">本架数量</span>:{{customer.quantity}}</div> |
| | | <div style="width: 50%"><span style="font-weight: bold">包装日期</span>:{{page[0].customer.reporting_work_time}}</div> |
| | | <div style="width: 50%"><span style="font-weight: bold">本架数量</span>:{{page[0].customer.quantity}}</div> |
| | | </div> |
| | | <div style="display:flex;"> |
| | | <div style="width: 50%;font-size: 9px"><span style="font-weight: bold">加工班组</span>:{{customer.teams_groups_name2}}</div> |
| | | <div style="width: 50%;font-size: 9px"><span style="font-weight: bold">包装班组</span>:{{customer.teams_groups_name}}</div> |
| | | <div style="width: 50%;font-size: 9px"><span style="font-weight: bold">加工班组</span>:{{page[0].customer.teams_groups_name2}}</div> |
| | | <div style="width: 50%;font-size: 9px"><span style="font-weight: bold">包装班组</span>:{{page[0].customer.teams_groups_name}}</div> |
| | | </div> |
| | | <div style="display:flex;"> |
| | | <div style="width: 50%"><span style="font-weight: bold">质量检验</span>:刘化菊</div> |
| | |
| | | <td>{{ row.size.area }}</td> |
| | | </tr> |
| | | |
| | | <tr id="footsum" v-else style="border: 0;font-size: 10px"> |
| | | <tr id="footsum" v-else-if="row.type==='sum'" style="border: 0;font-size: 10px"> |
| | | <td colspan="5" style="border: 0;"> |
| | | <div style="display:flex;"> |
| | | <div>本页数量</div> |
| | |
| | | <td colspan="6"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="2"></el-col> |
| | | <el-col :span="12" style="font-size: 17px;font-weight: bold"> {{delivery.orderId }}</el-col> |
| | | <el-col :span="12" style="font-size: 16px"> {{delivery.orderId }}</el-col> |
| | | </el-row> |
| | | </td> |
| | | </tr> |
| | |
| | | </td> |
| | | </tr> |
| | | |
| | | <tr> |
| | | <tr id="table-sum"> |
| | | <td id="sum_td"></td> |
| | | <td></td> |
| | | <td></td> |
| | | <td> |
| | | <td style="width: 65px" > |
| | | {{getQuantitySum(pageIndex)}} |
| | | </td> |
| | | <td> |
| | | <input style="border: 0;width: 100px" :value="getAreaSum(pageIndex)"> |
| | | <td style="width: 100px"> |
| | | <input style="border: 0;width: 100px;font-size: 17px" :value="getAreaSum(pageIndex)"> |
| | | </td> |
| | | <td></td> |
| | | <td style="width: 80px"></td> |
| | | <td v-if="props.type===1"> |
| | | {{getMoneySum(pageIndex)}} |
| | | </td> |
| | |
| | | text-align: center; |
| | | } |
| | | tbody *{ |
| | | font-size: 12px; |
| | | font-size: 14px; |
| | | } |
| | | #footsum1,#footsum{ |
| | | font-weight: bold;font-size: 17px; |
| | |
| | | bottom: 1cm; |
| | | width: 100%; /* 或者设置成具体的宽度 */ |
| | | } |
| | | #table-sum { |
| | | position: absolute; /* 或者使用 relative,根据具体需求 */ |
| | | bottom: 5cm; |
| | | } |
| | | #sum_td{ |
| | | width: 9cm; |
| | | } |
| | | |
| | | } |
| | | |
| | | .textarea{ |
| | |
| | | :deep(.el-textarea__inner){ |
| | | color: #333333; |
| | | font-family: 'Microsoft YaHei', '微软雅黑', sans-serif; |
| | | font-size: 12px; |
| | | font-size: 14px; |
| | | } |
| | | :deep(.aaa){ |
| | | width: 150px; |
| | |
| | | :deep(.bbb){ |
| | | width: 5cm; |
| | | } |
| | | :deep(#table-sum td){ |
| | | font-size: 17px; |
| | | } |
| | | </style> |
| | |
| | | let remark =ref(company.deliveryRemark) |
| | | |
| | | |
| | | |
| | | let props = defineProps({ |
| | | deliveryId:null, |
| | | type:null |
| | | }) |
| | | const form = ref({ |
| | | }) |
| | | const form = ref({}) |
| | | let produceList2 = ref([]) |
| | | |
| | | |
| | |
| | | |
| | | request.post(`/delivery/getSelectDeliveryPrinting`,form.value).then((res) => { |
| | | if(res.code==200){ |
| | | console.log(res.data) |
| | | //console.log(res.data) |
| | | produceList.value = deepClone(res.data) |
| | | for(let i=0;i<produceList.value.length;i++){ |
| | | produceList.value[i].data.forEach(item =>{ |
| | |
| | | produceList1.otherMoneys+=produceList1.otherMoney[i].DeliveryDetailOtherMoney.monery |
| | | if(otherMoney1.length===0){ |
| | | otherMoney1.push(produceList1.otherMoney[i]) |
| | | } |
| | | else{ |
| | | } else { |
| | | for(let s=0;s<otherMoney1.length;s++){ |
| | | if(produceList1.otherMoney[i].DeliveryDetailOtherMoney.alias===otherMoney1[s].DeliveryDetailOtherMoney.alias){ |
| | | |
| | |
| | | } |
| | | //给数据进行分页 |
| | | pageData.value = groupArrayByFive(produceList2.value[0].data) |
| | | console.log(pageData.value) |
| | | //console.log(pageData.value) |
| | | delivery.value = produceList2.value[0].delivery |
| | | console.log(delivery.value) |
| | | |
| | | //console.log(delivery.value) |
| | | |
| | | |
| | | }else{ |
| | |
| | | |
| | | function groupArrayByFive(arr) { |
| | | |
| | | let result = []; |
| | | /*let result = []; |
| | | let productName=ref() |
| | | arr.forEach(item=>{ |
| | | for (let i = 0; i < item.DeliveryDetailList.length; i += 8) { |
| | |
| | | result.push(resultMap) |
| | | } |
| | | |
| | | })*/ |
| | | let result = []; |
| | | arr.forEach(item => { |
| | | item.DeliveryDetailList.forEach(items => { |
| | | result.push(items) |
| | | }) |
| | | |
| | | return result; |
| | | }) |
| | | console.log(result) |
| | | let index=0 |
| | | let number=0 |
| | | let numberResult = []; |
| | | let results = []; |
| | | let productName=result[0]['product_name'] |
| | | for (let i = 0; i < result.length; i ++) { |
| | | if(productName!=result[i]['product_name']){ |
| | | productName=result[i]['product_name'] |
| | | index++ |
| | | } |
| | | number++ |
| | | numberResult.push(result[i]) |
| | | |
| | | |
| | | let next=false |
| | | if (i + 1 != result.length) { |
| | | if(result[i+1]['product_name']!=productName){ |
| | | next=true |
| | | } |
| | | }else{ |
| | | next=true |
| | | } |
| | | |
| | | if((index==3 && next) ||number==8){ |
| | | results.push(numberResult); |
| | | index=0 |
| | | number=0 |
| | | numberResult=[] |
| | | }else{ |
| | | if (i + 1 == result.length) { |
| | | results.push(numberResult); |
| | | index=0 |
| | | number=0 |
| | | numberResult=[] |
| | | } |
| | | } |
| | | |
| | | |
| | | |
| | | |
| | | |
| | | } |
| | | console.log(results) |
| | | |
| | | /*for (let i = 0; i < result.length; i += 8) { |
| | | results.push(result.slice(i, i + 8)); |
| | | }*/ |
| | | |
| | | for (let i = 0; i < results.length; i++) { |
| | | let name = results[i][0]['product_name'] //上一次名称 |
| | | let key = 0; //相同数 |
| | | for (let j = 0; j < results[i].length; j++) { |
| | | let thisName = results[i][j]['product_name']; |
| | | if (thisName != name) { |
| | | results[i][key].rowspan = j - key; |
| | | name=results[i][j]['product_name'] |
| | | key = j; |
| | | } |
| | | if (j + 1 == results[i].length) { |
| | | results[i][key].rowspan = j - key+1; |
| | | name=results[i][j]['product_name'] |
| | | } |
| | | |
| | | } |
| | | } |
| | | |
| | | |
| | | return results; |
| | | } |
| | | |
| | | let deliveryDate = ref() |
| | | onMounted(() => { |
| | | const today = new Date |
| | |
| | | }) |
| | | |
| | | |
| | | |
| | | const printSheet = () => { |
| | | } |
| | | let companyName = ref('洛阳玻璃公司') |
| | |
| | | if(pageData.value[page] === undefined){ |
| | | return 0 |
| | | } |
| | | return pageData.value[page].DeliveryDetailList[0].reduce((accumulator, currentValue) => { |
| | | return pageData.value[page].reduce((accumulator, currentValue) => { |
| | | return add(accumulator,currentValue.quantity) |
| | | }, 0) |
| | | |
| | |
| | | if(pageData.value[page] === undefined){ |
| | | return 0 |
| | | } |
| | | return pageData.value[page].DeliveryDetailList[0].reduce((accumulator, currentValue) => { |
| | | return pageData.value[page].reduce((accumulator, currentValue) => { |
| | | return addAuto(accumulator,currentValue.area,2) |
| | | }, 0) |
| | | } |
| | |
| | | if(pageData.value[page] === undefined){ |
| | | return 0 |
| | | } |
| | | return pageData.value[page].DeliveryDetailList[0].reduce((accumulator, currentValue) => { |
| | | return pageData.value[page].reduce((accumulator, currentValue) => { |
| | | return addAuto(accumulator,currentValue.money,2) |
| | | }, 0) |
| | | } |
| | |
| | | |
| | | <table class="content1" v-for="(page,pageIndex) in pageData" > |
| | | <thead> |
| | | <tr style="height: 3.6cm"><td></td></tr> |
| | | <tr style="height: 3.6cm"> |
| | | <td></td> |
| | | </tr> |
| | | |
| | | <tr> |
| | | <td colspan="6" > |
| | |
| | | </el-row> |
| | | </td> |
| | | </tr> |
| | | <tr style="height: 0.1cm"><td></td></tr> |
| | | <tr style="height: 0.1cm"> |
| | | <td></td> |
| | | </tr> |
| | | |
| | | <tr style="margin-top: 20px"> |
| | | <td colspan="6"> |
| | |
| | | </el-row> |
| | | </td> |
| | | </tr> |
| | | <tr style="height: 0.1cm"><td></td></tr> |
| | | <tr style="height: 0.1cm"> |
| | | <td></td> |
| | | </tr> |
| | | <tr> |
| | | <td colspan="6"> |
| | | <el-row :gutter="20"> |
| | | <el-col :span="2"></el-col> |
| | | <el-col :span="12" style="font-size: 17px;font-weight: bold"> {{delivery.orderId }}</el-col> |
| | | <el-col :span="12" style="font-size: 16px;"> {{ delivery.orderId }}</el-col> |
| | | </el-row> |
| | | </td> |
| | | </tr> |
| | | |
| | | <tr style="height: 1cm"><td></td></tr> |
| | | |
| | | <tr style="height: 1cm"> |
| | | <td></td> |
| | | </tr> |
| | | |
| | | |
| | | </thead> |
| | | <tbody > |
| | | <template v-for="(items,index1) in page.DeliveryDetailList[0]"> |
| | | <template v-for="(items,index1) in page"> |
| | | <tr> |
| | | |
| | | <td style="width: 4cm" :rowspan="page.id" v-if="index1===0"> |
| | | <td style="width: 4cm" :rowspan="items.rowspan" v-if="items.rowspan!==undefined"> |
| | | <el-input class="textarea" type="textarea" |
| | | :autosize="{ minRows: 1, maxRows: 20 }" |
| | | v-model="page.DeliveryDetail.orderDetail.productName" /> |
| | | v-model="items.product_name"/> |
| | | </td> |
| | | <td style="width: 0.8cm"></td> |
| | | |
| | |
| | | |
| | | </tr> |
| | | </template> |
| | | <tr> |
| | | <tr id="table-sum"> |
| | | <td id="sum_td"></td> |
| | | <td></td> |
| | | <td></td> |
| | | <td></td> |
| | | <td></td> |
| | | <td> |
| | | <td style="width: 60px"> |
| | | {{getQuantitySum(pageIndex)}} |
| | | </td> |
| | | <td> |
| | | <td style="width: 100px"> |
| | | <input style="border: 0;width: 100px" :value="getAreaSum(pageIndex)"> |
| | | </td> |
| | | <td></td> |
| | | <td style="width: 80px"></td> |
| | | <td v-if="props.type===1||props.type===3"> |
| | | {{getMoneySum(pageIndex)}} |
| | | </td> |
| | |
| | | </template> |
| | | |
| | | |
| | | |
| | | |
| | | <style scoped> |
| | | *{ |
| | | color: rgba(0, 0, 0, 0.8); /* 更深的黑色 */ |
| | | font-family: 'Microsoft YaHei', '微软雅黑', sans-serif; |
| | | outline: none; |
| | | } |
| | | |
| | | #sheet{ |
| | | width: 21cm; |
| | | } |
| | | |
| | | table{ |
| | | width: 18.3cm |
| | | |
| | | } |
| | | |
| | | .content1{ |
| | | page-break-after: always; |
| | | |
| | | } |
| | | |
| | | span{ |
| | | width: 7cm; |
| | | text-align: center; |
| | | } |
| | | |
| | | tbody *{ |
| | | font-size: 12px; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | #footsum1,#footsum{ |
| | | font-size: 17px; |
| | | } |
| | |
| | | width: 100%; /* 或者设置成具体的宽度 */ |
| | | font-size: 17px; |
| | | } |
| | | |
| | | #footsum1{ |
| | | position: fixed; |
| | | bottom: 1cm; |
| | | width: 100%; /* 或者设置成具体的宽度 */ |
| | | } |
| | | #table-sum { |
| | | position: absolute; /* 或者使用 relative,根据具体需求 */ |
| | | bottom: 5cm; |
| | | } |
| | | #sum_td{ |
| | | width: 9cm; |
| | | } |
| | | } |
| | | |
| | |
| | | --el-input-hover-border-color: rgba(255,255,255,0.0); |
| | | --el-input-hover-border-width: 0px; |
| | | } |
| | | |
| | | /*textarea { |
| | | |
| | | font-size: 16px; |
| | |
| | | :deep(.el-textarea__inner){ |
| | | color: #333333; |
| | | font-family: 'Microsoft YaHei', '微软雅黑', sans-serif; |
| | | font-size: 12px; |
| | | font-size: 14px; |
| | | } |
| | | |
| | | :deep(#table-sum td){ |
| | | font-size: 17px; |
| | | } |
| | | |
| | | </style> |
| | |
| | | mergeCells:[], |
| | | toolbarConfig: { |
| | | zoom: true, |
| | | custom: true |
| | | /*custom: true*/ |
| | | }, |
| | | cellClassName ({ row, column,columnIndex}) { |
| | | if (columnIndex>10 && row.thisQuantity*1 === row.reportWorkQuantity[column.title]*1){ |
| | |
| | | gridOptions.loading = true |
| | | 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 |
| | |
| | | <script setup> |
| | | import {onMounted, reactive, ref} from "vue"; |
| | | import {onMounted, reactive, ref, watch} from "vue"; |
| | | import {useI18n} from "vue-i18n"; |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | import request from "@/utils/request"; |
| | |
| | | }) |
| | | |
| | | const xGrid = ref() |
| | | |
| | | // 添加监听器 - 监听膜系选择变化 |
| | | watch(optionVal, (newVal, oldVal) => { |
| | | if (oldVal !== undefined && newVal !== oldVal) { |
| | | // 当膜系改变时,自动刷新数据 |
| | | if (newVal) { |
| | | selectFlowCardList(); |
| | | } |
| | | } |
| | | }); |
| | | |
| | | |
| | | const gridOptions = reactive({ |
| | | |
| | | height: '100%', |
| | |
| | | } |
| | | ); |
| | | |
| | | |
| | | watch(() => props.technologyNumber, |
| | | (newValue, oldValue) => { |
| | | if (props.technologyNumber != null) { |
| | | getWorkOrder(); |
| | | } |
| | | }); |
| | | |
| | | |
| | | const getWorkOrder = () => { |
| | | if (props.processId!=null || props.processId!=""){ |
| | | if ((props.processId != null && props.processId != "") && |
| | | (props.technologyNumber != null && props.technologyNumber != "")) { |
| | | request.post(`/glassOptimize/getProcessCardDetail/${props.processId}/${props.technologyNumber}`).then((res) => { |
| | | if(res.code==200){ |
| | | xGrid.value.loadData(res.data.data) |
| | |
| | | } |
| | | }) |
| | | } |
| | | |
| | | } |
| | | </script> |
| | | |
| | |
| | | |
| | | List<Map<String, String>> getPrimaryListLimt(String orderId, String processId, String remarks); |
| | | |
| | | List<Map<String, String>> getPrimaryListLimts(String orderId, String processId, String remarks); |
| | | List<Map<String, String>> getPrimaryListLimts(String customerName, String project, String remarks); |
| | | |
| | | List<Map<String, Object>> getDetailList(String orderId, String processId, String remarks); |
| | | |
| | |
| | | } |
| | | |
| | | Map<String, Object> itemmap = new HashMap<>(); |
| | | itemmap.put("detail", finishedOperateLogMapper.getPrimaryListLimts(finishedOperateLog.getOrderId(),finishedOperateLog.getProcessId(),finishedOperateLog.getRemarks())); |
| | | itemmap.put("detail", finishedOperateLogMapper.getPrimaryListLimts(finishedOperateLog.getOrder().getCustomerName(),finishedOperateLog.getOrder().getProject(),finishedOperateLog.getRemarks())); |
| | | |
| | | List<Map<String, Object>> detailList = finishedOperateLogMapper.getDetailList2(finishedOperateLog.getOrderId(),finishedOperateLog.getProcessId(),finishedOperateLog.getRemarks()); |
| | | |
| | |
| | | Map<String, String> data = JSON.parseObject(dataList.get(i).get("reportWorkQuantity"), |
| | | new TypeReference<Map<String, String>>() { |
| | | }); |
| | | dataList.get(i).put("reportWorkQuantityShow",dataList.get(i).get("reportWorkQuantity")); |
| | | |
| | | for (String key : clos.keySet()) { |
| | | if(data.get(key) != null){ |
| | | Integer max = orderGlassDetailMapper |
| | |
| | | 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(); |
| | | String startDate = LocalDate.now().minusDays(365).toString(); |
| | | if(selectDate !=null && selectDate.size()==2){ |
| | | if(!selectDate.get(0).isEmpty()){ |
| | | startDate = selectDate.get(0); |
| | |
| | | from (select * |
| | | from mm.finished_operate_log aa where aa.operate_type = #{type} and aa.status!='已作废') fol |
| | | left join sd.order_detail od on fol.order_id = od.order_id and fol.operation_number = od.order_number |
| | | left join sd.`order` o on o.order_id=fol.order_id |
| | | <where> |
| | | date(fol.operate_time)>=#{startDate} and date(fol.operate_time) <= #{endDate} |
| | | <if test="finishedOperateLog.operationOrderNumber != null and finishedOperateLog.operationOrderNumber != ''"> |
| | |
| | | and fol.remarks regexp #{finishedOperateLog.remarksr} |
| | | </if> |
| | | </where> |
| | | group by fol.remarks,od.order_id,fol.process_id |
| | | group by fol.remarks,od.order_id |
| | | -- ,fol.process_id |
| | | order by fol.operate_time desc |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | |
| | | </select> |
| | | |
| | | <select id="getPrimaryListLimts"> |
| | | |
| | | |
| | | |
| | | select kkk.*,rw.teams_groups_name as teams_groups_name2 from(select o.order_id, |
| | | o.customer_name, |
| | | o.project, |
| | |
| | | |
| | | |
| | | where |
| | | o.order_id=#{orderId} and fol.remarks=#{remarks} |
| | | o.customer_name=#{customerName} and fol.remarks=#{remarks} and o.project=#{project} |
| | | and (fol.remarks is not null and fol.remarks !="") and (fol.process_id !="" and fol.process_id is not null) |
| | | |
| | | group by fol.remarks,od.order_id |
| | | group by fol.remarks,o.customer_name,o.project |
| | | ) as kkk |
| | | left join pp.reporting_work rw on rw.process_id=kkk.process_id and rw.this_process=kkk.previous_process |
| | | group by kkk.remarks,kkk.order_id |
| | | group by kkk.remarks,kkk.customer_name,kkk.project |
| | | |
| | | </select> |
| | | |
| | |
| | | # c.quantity, |
| | | c.quantity as thisQuantity,/*用于判断是否改变颜色*/ |
| | | e.reportWorkQuantity, |
| | | e.reportWorkQuantityShow, |
| | | e.reportWorkQuantityCount, |
| | | e.reportWorkTime, |
| | | e.broken_num, |
| | |
| | | '}' |
| | | ) as reportWorkQuantity, |
| | | concat('{', |
| | | GROUP_CONCAT(concat("\"", process, "\":\"", if(technology_number!=1 and (bd.nickname='stepD' || bd.nickname='stepB' ) ,0,reporting_work_num), "\"")), |
| | | '}' |
| | | ) as reportWorkQuantityShow, |
| | | concat('{', |
| | | GROUP_CONCAT(concat("\"", process, "\":\"", reporting_work_num_count, "\"")), |
| | | '}' |
| | | ) as reportWorkQuantityCount, |
| | |
| | | sd.`order` as o |
| | | left join mm.finished_goods_inventory as fgi |
| | | on o.order_id = fgi.order_id |
| | | where date(o.create_time)>=#{startDate} and date(o.create_time) <= #{endDate} |
| | | where date(o.create_time) between #{startDate} and #{endDate} |
| | | |
| | | <if test="orderType!= null and orderType != ''"> |
| | | and o.create_order = #{orderType} |