Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
# Conflicts:
# north-glass-erp/src/main/resources/mapper/pp/Report.xml
| | |
| | | export default { |
| | | serverUrl:"localhost:8086" |
| | | serverUrl:"10.153.19.150:8086" |
| | | //serverUrl:"res.abeim.cn" |
| | | } |
| | |
| | | name: 'damageReport', |
| | | component: () => import('../views/pp/report/DamageReport.vue'), |
| | | }, |
| | | { |
| | | //跨工序次破报表 |
| | | path: 'crossProcessBreaking', |
| | | name: 'crossProcessBreaking', |
| | | component: () => import('../views/pp/report/crossProcessBreaking.vue'), |
| | | }, |
| | | // { |
| | | // path: '', |
| | | // redirect:'/main/report/ProductionSchedule' |
| | |
| | | <div id="main"> |
| | | <div id="div-title"> |
| | | <el-breadcrumb :separator-icon="ArrowRight"> |
| | | <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/machine/SelectMachine' }">设备管理</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/machine/SelectMachine' }">设备情况</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/machine/AddMachine' }">设备新增</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/machine/MaintenanceAndRepair' }">保养与维修</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(4)" :class="indexFlag===4?'indexTag':''" :to="{ path: '/main/machine/AddMaintenanceAndRepair' }">保养与维修新增</el-breadcrumb-item> |
| | |
| | | import {useRouter} from 'vue-router' |
| | | import {changeFilterEvent, filterChanged} from "@/hook" |
| | | import {useI18n} from 'vue-i18n' |
| | | import deepClone from "@/utils/deepClone"; |
| | | import {ElMessage} from "element-plus"; |
| | | import {ElDatePicker, ElMessage} from "element-plus"; |
| | | import request from "@/utils/request"; |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | //语言获取 |
| | | const {t} = useI18n() |
| | | let router = useRouter() |
| | |
| | | const getTableRow = (row, type) => { |
| | | switch (type) { |
| | | case 'edit' : { |
| | | //alert('我接收到子组件传送的编辑信息') |
| | | router.push({path: '/main/reportingWorks/ReportingWorkDetail', query: {id: row.id}}) |
| | | request.post(`/maintenance/openSelectId/${row.id}`).then((res) => { |
| | | if (res.code == 200) { |
| | | |
| | | getMaintenanceRepair.value = res.data.data[0] |
| | | dialogTableVisible.value=true |
| | | } else { |
| | | |
| | | ElMessage.warning(res.msg) |
| | | |
| | | } |
| | | }) |
| | | break |
| | | } |
| | | case 'delete': { |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | request.post(`/maintenance/deleteMaintenance/${row.id}`).then((res) => { |
| | | if (res.code === 200) { |
| | | if (res.code == 200) { |
| | | ElMessage.success(t('workOrder.deleteOk')) |
| | | router.push({path: '/main/machine/MaintenanceAndRepair', query: {random:Math.random()}}) |
| | | router.push({path: '/main/machine/MaintenanceAndRepair', query: {startTime:startTime,endTime:endTime,random:Math.random()}}) |
| | | } else { |
| | | |
| | | ElMessage.warning(res.msg) |
| | |
| | | return count.toFixed(2) |
| | | } |
| | | |
| | | //获取3天前到当前时间 |
| | | function getNowTime() { |
| | | const start = new Date(new Date().getTime() - 3600 * 1000 * 24 * 3) |
| | | .toISOString() |
| | | .replace('T', ' ') |
| | | .slice(0, 10) //默认开始时间7天前 |
| | | const end = new Date(new Date().getTime()+3600 * 1000 * 24) |
| | | .toISOString() |
| | | .replace('T', ' ') |
| | | .slice(0, 10)//默认结束时间当前时间 |
| | | return [start, end] |
| | | } |
| | | |
| | | const form = reactive({ |
| | | date1: '', |
| | | }) |
| | | |
| | | const getMaintenanceRepair = ref({ |
| | | id: '', |
| | | device_id: '', |
| | | type: '', |
| | | device_name: '', |
| | | fault_time: '', |
| | | fault_reason: '', |
| | | maintenance_time: '', |
| | | maintenance_illustrate: '', |
| | | start_time: '', |
| | | stop_time: '', |
| | | process: '', |
| | | personnel: '', |
| | | cost: '', |
| | | }) |
| | | |
| | | //第一次加载获取近3天时间和默认状态 |
| | | form.date1 = getNowTime() |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | |
| | | //首次加载 |
| | | request.post(`/maintenance/selectMaintenance/${startTime}/${endTime}`).then((res) => { |
| | | if (res.code == 200) { |
| | | |
| | | xGrid.value.loadData(res.data.data) |
| | | gridOptions.loading = false |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | } |
| | | }) |
| | | |
| | | const getWorkOrder = () => { |
| | | |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | request.post(`/maintenance/selectMaintenance/${startTime}/${endTime}`).then((res) => { |
| | | if (res.code == 200) { |
| | | console.log(res.data.data) |
| | | xGrid.value.loadData(res.data.data) |
| | | gridOptions.loading = false |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | } |
| | | }) |
| | | } |
| | | |
| | | //子组件接收参数 |
| | | const xGrid = ref() |
| | |
| | | const size = ref<'default' | 'large' | 'small'>('default') |
| | | |
| | | const value1 = ref('') |
| | | const dialogFormVisible = ref(false) |
| | | const dialogTableVisible = ref(false) |
| | | const formLabelWidth = '140px' |
| | | |
| | | const form = reactive({ |
| | | name: '', |
| | | region: '', |
| | | date1: '', |
| | | date2: '', |
| | | delivery: false, |
| | | type: [], |
| | | resource: '', |
| | | desc: '', |
| | | }) |
| | | |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div class="main-div-customer"> |
| | | <div id="selectForm"> |
| | | <el-row :gutter="0"> |
| | | <el-date-picker |
| | | v-model="form.date1" |
| | | type="daterange" |
| | | format="YYYY/MM/DD" |
| | | value-format="YYYY-MM-DD" |
| | | :start-placeholder="$t('basicData.startDate')" |
| | | :end-placeholder="$t('basicData.endDate')" |
| | | :default-time="defaultTime" |
| | | |
| | | /> |
| | | |
| | | <el-button |
| | | @click="getWorkOrder()" |
| | | id="select" |
| | | type="primary" :icon="Search">{{$t('basicData.search')}} |
| | | </el-button> |
| | | </el-row> |
| | | |
| | | </div> |
| | | <vxe-grid |
| | | ref="xGrid" |
| | | class="mytable-scrollbar" |
| | |
| | | |
| | | <!--左边固定显示的插槽--> |
| | | <template #button_slot="{ row }"> |
| | | <el-button link size="small" type="primary" @click="dialogFormVisible = true">编辑</el-button> |
| | | <el-button @click="getTableRow(row,'edit');" link type="primary" size="small">{{$t('basicData.edit')}}</el-button> |
| | | <el-button link size="small" type="primary" @click="getTableRow(row,'delete')">删除</el-button> |
| | | </template> |
| | | |
| | |
| | | |
| | | </vxe-grid> |
| | | |
| | | <el-dialog v-model="dialogFormVisible" title="保养与维修编辑"> |
| | | <el-dialog v-model="dialogTableVisible" title="保养与维修编辑"> |
| | | |
| | | <el-form :model="form"> |
| | | <el-row> |
| | |
| | | </el-form> |
| | | <template #footer> |
| | | <span class="dialog-footer"> |
| | | <el-button @click="dialogFormVisible = false">取消</el-button> |
| | | <el-button type="primary" @click="dialogFormVisible = false"> |
| | | 确认 |
| | | <el-button @click="dialogTableVisible = false">取消</el-button> |
| | | <el-button type="primary" @click="updateBasic"> |
| | | 修改 |
| | | </el-button> |
| | | </span> |
| | | </template> |
| | |
| | | width: 99%; |
| | | height: 100%; |
| | | } |
| | | #selectForm { |
| | | width: 40%; |
| | | text-align: center; |
| | | } |
| | | </style> |
| | |
| | | <script setup> |
| | | |
| | | import {reactive, ref} from "vue"; |
| | | import {useRouter} from 'vue-router' |
| | | import request from "@/utils/request"; |
| | | import deepClone from "@/utils/deepClone"; |
| | | import {ElDatePicker, ElMessage} from "element-plus"; |
| | | import { useI18n } from 'vue-i18n' |
| | | import {changeFilterEvent, filterChanged} from "@/hook" |
| | | import {Search} from "@element-plus/icons-vue"; |
| | | //语言获取 |
| | | const { t } = useI18n() |
| | | let router=useRouter() |
| | | //定义数据返回结果 |
| | | let produceList = ref([]) |
| | | |
| | | const getBasicData = ref({ |
| | | id: '', |
| | | basic_type: '', |
| | | basic_name: '', |
| | | d_basic_name: '', |
| | | }) |
| | | const getTableRow = (row,type) =>{ |
| | | switch (type) { |
| | | case 'edit' :{ |
| | |
| | | return count.toFixed(2) |
| | | } |
| | | |
| | | //子组件接收参数 |
| | | const hasDecimal = (value) => { |
| | | const regex = /\./; // 定义正则表达式,查找小数点 |
| | | return regex.test(value); // 返回true/false |
| | | } |
| | | |
| | | |
| | | //首次加载 |
| | | request.post(`/maintenance/selectMachine`).then((res) => { |
| | | if (res.code == 200) { |
| | | xGrid.value.loadData(res.data.data) |
| | | gridOptions.loading = false |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | } |
| | | }) |
| | | |
| | | |
| | | //子组件接收参数 |
| | | const xGrid = ref() |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | // remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | |
| | | },//表头参数 |
| | | columns:[ |
| | | {type:'expand',fixed:"left",slots: { content:'content' },width: 50}, |
| | | {title: '操作', width: 140, slots: { default: 'button_slot' },fixed:"left"}, |
| | | { type: 'seq',fixed:"left", title: '自序', width: 50 }, |
| | | {field: '设备编号', width: 120, title: '设备编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, }, |
| | | {field: '标准名称',width: 120, title: '标准名称', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: '设备名称', width: 130,title: '设备名称', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: '购买时间',width: 120, title: '购买时间',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '安装时间', width: 100,title: '安装时间', sortable: true,showOverflow:"ellipsis"}, |
| | | {field: '使用周期', width: 100,title: '使用周期(年)', sortable: true}, |
| | | {field: '使用状态',width: 100, title: '使用状态', sortable: true}, |
| | | {field: '维修次数',width: 120, title: '维修次数', sortable: true,showOverflow:"ellipsis"}, |
| | | {field: '保养次数', width: 120,title: '保养次数', sortable: true}, |
| | | {field: '最后维修时间',width: 120, title: '最后维修时间', sortable: true}, |
| | | {field: '最后保养时间',width: 120, title: '最后保养时间', sortable: true}, |
| | | {field: '维修费用',width: 120, title: '维修费用', sortable: true}, |
| | | {field: '保养费用',width: 120, title: '保养费用', sortable: true}, |
| | | {field: '所在工艺',width: 120, title: '所在工艺', sortable: true}, |
| | | {field: '作废状态',width: 120, title: '作废状态', sortable: true}, |
| | | {field: 'deviceId', width: 120, title: '设备编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged }, |
| | | {field: 'deviceName', width: 130,title: '设备名称' ,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged}, |
| | | {field: 'type',width: 100, title: '使用状态',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged }, |
| | | {field: 'faultCount',width: 120, title: '维修次数' ,showOverflow:"ellipsis"}, |
| | | {field: 'maintenanceCount', width: 120,title: '保养次数', }, |
| | | {field: 'faultLastTime',width: 120, title: '最后维修时间', }, |
| | | {field: 'maintenanceLastTime',width: 120, title: '最后保养时间', }, |
| | | {field: 'faultCost',width: 120, title: '维修费用', }, |
| | | {field: 'maintenanceCost',width: 120, title: '保养费用', }, |
| | | {field: 'process',width: 120, title: '所在工艺',filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod: filterChanged } |
| | | ], |
| | | //表头按钮 |
| | | toolbarConfig: { |
| | |
| | | custom: true |
| | | }, |
| | | data: [ |
| | | { |
| | | "设备编号": 'SB2209211', |
| | | '标准名称': '钢化炉(22E)', |
| | | '设备名称': '钢化炉(22E)', |
| | | '购买时间': '2022-03-16', |
| | | '安装时间':'2022-03-16', |
| | | '使用周期':'313', |
| | | '使用状态':'使用中', |
| | | '维修次数':'0', |
| | | '保养次数':'0', |
| | | '最后维修时间':'', |
| | | '最后保养时间':'', |
| | | '维修费用':'', |
| | | '保养费用':'', |
| | | '所在工艺':'钢化', |
| | | '作废状态':'正常', |
| | | }, |
| | | { |
| | | "设备编号": 'SB2209211', |
| | | '标准名称': '钢化炉(22E)', |
| | | '设备名称': '钢化炉(22E)', |
| | | '购买时间': '2022-03-16', |
| | | '安装时间':'2022-03-16', |
| | | '使用周期':'313', |
| | | '使用状态':'使用中', |
| | | '维修次数':'0', |
| | | '保养次数':'0', |
| | | '最后维修时间':'', |
| | | '最后保养时间':'', |
| | | '维修费用':'', |
| | | '保养费用':'', |
| | | '所在工艺':'钢化', |
| | | '作废状态':'正常', |
| | | }, |
| | | { |
| | | "设备编号": 'SB2209211', |
| | | '标准名称': '钢化炉(22E)', |
| | | '设备名称': '钢化炉(22E)', |
| | | '购买时间': '2022-03-16', |
| | | '安装时间':'2022-03-16', |
| | | '使用周期':'313', |
| | | '使用状态':'使用中', |
| | | '维修次数':'0', |
| | | '保养次数':'0', |
| | | '最后维修时间':'', |
| | | '最后保养时间':'', |
| | | '维修费用':'', |
| | | '保养费用':'', |
| | | '所在工艺':'钢化', |
| | | '作废状态':'正常', |
| | | }, |
| | | ],//table body实际数据 |
| | | //脚部求和 |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | let footList=['维修次数','保养次数','维修费用','保养费用'] |
| | | let footList=['','','',''] |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | |
| | | const dialogFormVisible = ref(false) |
| | | const formLabelWidth = '140px' |
| | | |
| | | const form = reactive({ |
| | | name: '', |
| | | region: '', |
| | | date1: '', |
| | | date2: '', |
| | | delivery: false, |
| | | type: [], |
| | | resource: '', |
| | | desc: '', |
| | | }) |
| | | |
| | | |
| | | </script> |
| | | |
| | |
| | | <div class="main-div-customer"> |
| | | <vxe-grid |
| | | max-height="100%" |
| | | @filter-change="filterChanged" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | | v-bind="gridOptions" |
| | |
| | | </ul> |
| | | </template> |
| | | |
| | | <!--左边固定显示的插槽--> |
| | | <template #button_slot="{ row }"> |
| | | <el-button @click="dialogFormVisible = true" link type="primary" size="small">编辑</el-button> |
| | | <el-button @click="getTableRow(row,'delete')" link type="primary" size="small">删除</el-button> |
| | | </template> |
| | | |
| | | <template #num1_filter="{ column, $panel }"> |
| | | <div> |
| | | <div v-for="(option, index) in column.filters" :key="index"> |
| | | <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/> |
| | | <input type="text" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/> |
| | | </div> |
| | | </div> |
| | | </template> |
| | |
| | | switch (menu.code) { |
| | | case 'copyChecked' :{ |
| | | let result = toolbarButtonClickEvent() |
| | | if (result.cell === "scheduled_start_time" ||result.cell === "plan_end_time"){ |
| | | if(result){ |
| | | const dataList = xGrid.value.getTableData().visibleData |
| | | const val = dataList[result.start][result.cell] |
| | |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | |
| | | break |
| | | } |
| | | case 'copyAll' :{ |
| | | let result = toolbarButtonClickEvent() |
| | | if (result.cell === "scheduled_start_time" ||result.cell === "plan_end_time") { |
| | | if(result){ |
| | | const dataList = xGrid.value.getTableData().visibleData |
| | | const val = dataList[result.start][result.cell] |
| | |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | break |
| | | } |
| | | case 'clearChecked' :{ |
| | | let result = toolbarButtonClickEvent() |
| | | if (result.cell === "scheduled_start_time" ||result.cell === "plan_end_time") { |
| | | if(result){ |
| | | const dataList = xGrid.value.getTableData().visibleData |
| | | dataList.forEach((item,index) =>{ |
| | |
| | | } |
| | | }) |
| | | } |
| | | } |
| | | break |
| | | } |
| | | } |
| | |
| | | //子组件接收参数 |
| | | const xGrid = ref() |
| | | const gridOptions = reactive({ |
| | | loading: true, |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | |
| | | ],//table body实际数据 |
| | | //脚部求和 |
| | | footerMethod({columns, data}) {//页脚函数 |
| | | let footList = ['quantity', 'computeGrossArea',] |
| | | let footList = ['quantity', 'orderDetail.computeGrossArea',] |
| | | return [ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
New file |
| | |
| | | <script setup> |
| | | import BasicTable from "@/components/BasicTable.vue" |
| | | import request from "@/utils/request" |
| | | import { ref} from "vue" |
| | | |
| | | const childrenData = ref({ |
| | | columns:[ |
| | | {type:'expand',fixed:"left",width: 80}, |
| | | {type: 'seq',fixed:"left", title: '自序', width: 80 }, |
| | | {field: 'reportingWork.reportingWorkTime', width: 120, title: '报工时间',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true, }, |
| | | {field: 'responsibleProcess',width: 120, title: '责任工序', sortable: true,showOverflow:"ellipsis" ,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'responsibleTeam', width: 130,title: '责任班组', sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'breakageType', width: 100,title: '次破类型', sortable: true,showOverflow:"ellipsis"}, |
| | | {field: 'breakageReason', width: 100,title: '次破原因', sortable: true,showOverflow:"ellipsis"}, |
| | | {field: 'breakageQuantity', width: 100,title: '次破数量', sortable: true}, |
| | | {field: 'area',width: 100, title: '次破面积', sortable: true}, |
| | | {field: 'order.project', width: 120,title: '项目名称', sortable: true}, |
| | | {field: 'order.orderId',width: 120, title: '销售单号', sortable: true}, |
| | | {field: 'orderGlassDetail.glassChild',width: 120, title: '单品名称', sortable: true}, |
| | | ],//表格表头字段 |
| | | data:[],//表格数据 |
| | | url :'/report/crossProcessBreaking', |
| | | footList:['quantity','grossArea','computeGrossArea','perimeter','price','grossAmount'] |
| | | }) |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <basic-table |
| | | :childrenData="childrenData"/> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | </style> |
| | |
| | | <el-menu-item index="/main/report/TeamOutput">班组产量</el-menu-item> |
| | | <el-menu-item index="/main/report/EquipmentOutput">设备产量</el-menu-item> |
| | | </el-sub-menu> |
| | | <el-sub-menu index="3" popper-class="test"> |
| | | <template #title>次破报表</template> |
| | | <el-menu-item index="/main/report/DamageReport">次破报表</el-menu-item> |
| | | <el-menu-item index="/main/report/CrossProcessBreaking">跨工序次破</el-menu-item> |
| | | </el-sub-menu> |
| | | |
| | | <el-menu-item index="/main/report/SplittingDetailsOutside">分架明细</el-menu-item> |
| | | <el-menu-item index="/main/report/TaskCompletionStatus">任务完成情况</el-menu-item> |
| | | <el-menu-item index="/main/report/RawMaterialRequisition">原片领料</el-menu-item> |
| | |
| | | ref="xGrid" |
| | | class="mytable-scrollbar" |
| | | max-height="100%" |
| | | height="400px" |
| | | size="small" |
| | | v-bind="gridOptions" |
| | | v-on="gridEvents" |
| | |
| | | }) |
| | | break |
| | | } |
| | | case 'setType':{ |
| | | alert('我接收到子组件传送的反审状态') |
| | | break |
| | | } |
| | | } |
| | | } |
| | | |
| | |
| | | break |
| | | } |
| | | case 'delete': { |
| | | request.post(`/workOrder/deleteOrderWork/${row.orderId}/${row.orderDetail.productName}`).then((res) => { |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | let state = optionVal.value |
| | | console.log(startTime, endTime, state) |
| | | request.post(`/workOrder/deleteOrderWork/${row.orderId}/${row.productionId}`).then((res) => { |
| | | if (res.code == 200) { |
| | | ElMessage.success(t('workOrder.deleteOk')) |
| | | location.reload(); |
| | | //location.reload(); |
| | | router.push({path: '/main/workOrder/SelectWorkOrder', query: {startTime:startTime,endTime:endTime,state:state,random:Math.random()}}) |
| | | } else { |
| | | ElMessage.warning(res.msg) |
| | | router.push("/login") |
| | | } |
| | | }) |
| | | break |
| | |
| | | let pageNum = $ref(1) |
| | | let pageState = null |
| | | |
| | | //获取七天前到当前时间 |
| | | //获取3天前到当前时间 |
| | | function getNowTime() { |
| | | const start = new Date(new Date().getTime() - 3600 * 1000 * 24 * 3) |
| | | .toISOString() |
| | |
| | | } |
| | | |
| | | |
| | | //第一次加载获取近七天时间和默认状态 |
| | | //第一次加载获取近3天时间和默认状态 |
| | | form.date1 = getNowTime() |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | let state = optionVal.value |
| | | |
| | | //第一次加载数据 |
| | | |
| | | console.log('第一次加载数据:',state,startTime,endTime) |
| | | request.post(`/workOrder/orderGlassDetail/${startTime}/${endTime}/${state}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | |
| | | , width: 130 |
| | | }, |
| | | {field: 'order.batch', title: t('order.batch'), filters: [{data: ''}], slots: {filter: 'num1_filter'}, width: 110}, |
| | | {field: 'orderDetail.productName', title: t('order.product'), filters: [{data: ''}], slots: {filter: 'num1_filter'}, width: 210}, |
| | | {field: 'orderDetail.computeArea', title: t('order.computeArea'), showOverflow: "ellipsis", width: 110}, |
| | | {field: 'orderDetail.quantity', title: t('order.quantity'), width: 70}, |
| | | {field: 'orderDetail.computeGrossArea', title: t('order.trueGrossArea'),}, |
| | | {field: 'orderDetail.perimeter', title: t('workOrder.perimeter'), showOverflow: "ellipsis"}, |
| | | {field: 'orderDetail.bendRadius', title: t('order.bendRadius'),}, |
| | | {field: 'orderDetail.processingNote', title: t('order.processingNote'),} |
| | | {field: 'order.project', title: '项目名称', filters: [{data: ''}], slots: {filter: 'num1_filter'}, width: 210}, |
| | | {field: 'order.orderType', title: '订单类型', showOverflow: "ellipsis", width: 110}, |
| | | {field: 'orderDetail.grossArea', title: '面积', width: 70}, |
| | | {field: 'orderDetail.quantity', title: '数量',}, |
| | | {field: 'order.creator', title: '创建人',}, |
| | | ],//表头按钮 |
| | | data: null,//表格数据 |
| | | toolbarConfig: { |
| | |
| | | <el-breadcrumb :separator-icon="ArrowRight"> |
| | | <el-breadcrumb-item @click="changeRouter(1)" :class="indexFlag===1?'indexTag':''" :to="{ path: '/main/delivery/selectDelivery' }">{{$t('delivery.shippingHomepage')}}</el-breadcrumb-item> |
| | | <el-breadcrumb-item @click="changeRouter(2)" :class="indexFlag===2?'indexTag':''" :to="{ path: '/main/delivery/selectOrderList' }">{{$t('delivery.orderShipment')}}</el-breadcrumb-item> |
| | | <!-- <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/delivery/deliveryReport' }">{{$t('productStock.reportForms')}}</el-breadcrumb-item>--> |
| | | <el-breadcrumb-item @click="changeRouter(3)" :class="indexFlag===3?'indexTag':''" :to="{ path: '/main/delivery/deliveryReport' }">{{$t('productStock.reportForms')}}</el-breadcrumb-item> |
| | | |
| | | </el-breadcrumb> |
| | | </div> |
| | |
| | | <script setup> |
| | | |
| | | import {Folder, Search} from "@element-plus/icons-vue"; |
| | | import {reactive} from "vue"; |
| | | import BasicTable from "@/components/BasicTable.vue" |
| | | import request from "@/utils/request" |
| | | import {onMounted, reactive, ref} from "vue" |
| | | import { useI18n } from 'vue-i18n' |
| | | |
| | | //语言获取 |
| | | const { t } = useI18n() |
| | | const selectData = ref(["",""]) |
| | | let filterData = ref({}) |
| | | |
| | | |
| | | |
| | | const gridOptions = reactive({ |
| | | border: "full",//表格加边框 |
| | | keepSource: true,//保持源数据 |
| | | align: 'center',//文字居中 |
| | | stripe:true,//斑马纹 |
| | | rowConfig: {isCurrent: true, isHover: true,height: 50},//鼠标移动或选择高亮 |
| | | id: 'OrderList', |
| | | showFooter: true,//显示脚 |
| | | printConfig: {}, |
| | | importConfig: {}, |
| | | exportConfig: {}, |
| | | scrollY:{ enabled: true },//开启虚拟滚动 |
| | | showOverflow:true, |
| | | columnConfig: { |
| | | resizable: true, |
| | | useKey: true |
| | | }, |
| | | filterConfig: { //筛选配置项 |
| | | remote: true |
| | | }, |
| | | customConfig: { |
| | | storage: true |
| | | }, |
| | | editConfig: { |
| | | trigger: 'click', |
| | | mode: 'row', |
| | | showStatus: true |
| | | },//表头参数 |
| | | const childrenData = ref({ |
| | | columns:[ |
| | | |
| | | {type:'expand',slots: { content:'content' },width: 50,fixed:"left"}, |
| | | {type: 'seq', title: '自序', width: 80 ,fixed:"left"}, |
| | | {field: '0',width:120, title: '发货单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '1',width:120, title: '销售单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '2',width:120, title: '客户单号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '3',width:120, title: '项目名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '4',width:120, title: '客户名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '5',width:120, title: '业务员',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '6',width:120, title: '送货地址',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '7',width:120, title: '发货员',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '8',width:120, title: '楼号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '9',width:120, title: '产品编号',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '10',width:120, title: '产品名称',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '11',width:120, title: '发货数量',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '12',width:120, title: '周长',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '13',width:120, title: '实际面积',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '14',width:120, title: '发货面积',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '15',width:120, title: '单价',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '16',width:120, title: '发货金额',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '17',width:120, title: '宽',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '18',width:120, title: '高',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '19',width:120, title: '形状',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '20',width:120, title: '磨边类型',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '21',width:120, title: '备注',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '22',width:120, title: '加工要求',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: '22',width:120, title: '建立时间',filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true} |
| | | |
| | | |
| | | ],//表头按钮 |
| | | toolbarConfig: { |
| | | buttons: [ |
| | | ], |
| | | import: false, |
| | | export: true, |
| | | print: true, |
| | | zoom: true, |
| | | custom: true |
| | | }, |
| | | data: [ |
| | | ],//table body实际数据 |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return '合计:' |
| | | } |
| | | // if (props.tableProp.footList.includes(column.field)) { |
| | | // return sumNum(data, column.field) |
| | | // } |
| | | return '' |
| | | {type: 'seq', title: t('basicData.Number'), width: 80 }, |
| | | {field: 'deliveryId',width:120, title: t('delivery.deliveryNoteId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'creator',width:120, title: t('delivery.shipper'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'deliveryDate',width:120, title: t('delivery.deliveryDate'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'customerId',width:120, title: t('customer.customerNumber'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'customerName',width:120, title: t('customer.customerName'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'project',width:120, title: t('order.project'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'orderId',width:120, title: t('order.OrderNum'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'paymentTerms',width:120, title: t('delivery.paymentTerms'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'payMethod',width:120, title:t('delivery.paymentMethod'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'quantity',width:120, title: t('order.quantity'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'area',width:120, title: t('productStock.totalArea'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'createTime',width:120, title: t('productStock.statementDate'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }} |
| | | ],//表格表头字段 |
| | | data:[],//表格数据 |
| | | pageTotal : 0,//总页数 |
| | | dataTotal : 0,//数据总条数 |
| | | pageSize : 100,//页面显示数量 |
| | | pageNum:1,//当前页 |
| | | selectDate:['',''],//查询的日期 |
| | | footList:['quantity','grossArea','computeGrossArea','perimeter','price','grossAmount'] |
| | | }) |
| | | ] |
| | | //页面第一次加载 |
| | | onMounted(() => { |
| | | |
| | | getReportData() |
| | | }) |
| | | |
| | | //封装获取数据方法方法 |
| | | const getReportData = () => { |
| | | request.post(`/Delivery/getSelectShippingOrder/${childrenData.value.pageNum}/${childrenData.value.pageSize}/${childrenData.value.selectDate}`,filterData.value).then(res => { |
| | | if(res.code === '200'){ |
| | | childrenData.value.data = res.data.data |
| | | childrenData.value.pageTotal = res.data.total.pageTotal |
| | | childrenData.value.dataTotal = res.data.total.total |
| | | childrenData.value.selectDate = res.data.selectDate |
| | | } |
| | | }) |
| | | } |
| | | |
| | | }) |
| | | const getData = (filter) => { |
| | | filterData.value = filter |
| | | getReportData() |
| | | } |
| | | |
| | | </script> |
| | | |
| | | <template> |
| | | <div class="main-div"> |
| | | <el-date-picker |
| | | v-model="value1" |
| | | type="daterange" |
| | | start-placeholder="开始时间" |
| | | end-placeholder="结束时间" |
| | | /> |
| | | <el-button style="margin-top: -5px" id="searchButton" type="primary" :icon="Search">查询</el-button> |
| | | <div class="order-detail"> |
| | | <vxe-grid |
| | | max-height="97%" |
| | | class="mytable-scrollbar" |
| | | ref="xGrid" |
| | | v-bind="gridOptions" |
| | | |
| | | > |
| | | <template #num1_filter="{ column, $panel }"> |
| | | <div> |
| | | <div v-for="(option, index) in column.filters" :key="index"> |
| | | <input type="type" v-model="option.data" @input="changeFilterEvent($event, option, $panel)"/> |
| | | </div> |
| | | </div> |
| | | </template> |
| | | <template #content="{ row}"> |
| | | <ul class="expand-wrapper"> |
| | | <li v-for="(item,key,index) in row"> |
| | | <span style="font-weight: bold">{{key+': '}}</span> |
| | | <span>{{ item }}</span> |
| | | </li> |
| | | </ul> |
| | | </template> |
| | | |
| | | </vxe-grid> |
| | | </div> |
| | | </div> |
| | | <basic-table |
| | | @getData="getData" |
| | | :childrenData="childrenData"/> |
| | | </template> |
| | | |
| | | <style scoped> |
| | | .main-div { |
| | | width: 100%; |
| | | height: 100%; |
| | | } |
| | | .el-col{ |
| | | border: #181818 1px solid; |
| | | } |
| | | .order-primary{ |
| | | width: 100%; |
| | | } |
| | | .order-detail{ |
| | | width: 100%; |
| | | height: 80%; |
| | | } |
| | | </style> |
| | |
| | | {field: 'deliveryState',title: t('basicData.review'), width: 40, slots: { default: 'state' }}, |
| | | {field: 'stockState',title: t('productStock.outbound'), width: 40, slots: { default: 'state' }}, |
| | | |
| | | {field: 'deliveryId',width:120, title: t('delivery.deliveryNoteNumber'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'deliveryId',width:120, title: t('delivery.deliveryNoteId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'creator',width:120, title: t('delivery.shipper'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'deliveryDate',width:120, title: t('delivery.deliveryDate'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'customerId',width:120, title: t('customer.customerNumber'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.sql.Date; |
| | | import java.util.Map; |
| | | |
| | | @RestController |
| | |
| | | } |
| | | |
| | | @ApiOperation("查询维修保养数据接口") |
| | | @PostMapping ("/selectMaintenance") |
| | | public Result selectMaintenance() { |
| | | return Result.seccess(deviceMaintenanceService.selectMaintenanceSv()); |
| | | @PostMapping ("/selectMaintenance/{selectTime1}/{selectTime2}") |
| | | public Result selectMaintenance( |
| | | @PathVariable Date selectTime1, |
| | | @PathVariable Date selectTime2 |
| | | ) { |
| | | return Result.seccess(deviceMaintenanceService.selectMaintenanceSv(selectTime1,selectTime2)); |
| | | } |
| | | |
| | | |
| | |
| | | } |
| | | } |
| | | |
| | | @ApiOperation("查询设备管理接口") |
| | | @PostMapping ("/selectMachine") |
| | | public Result selectMachine() { |
| | | return Result.seccess(deviceMaintenanceService.selectMachineSv()); |
| | | } |
| | | |
| | | @ApiOperation("根据Id查询对应数据接口") |
| | | @PostMapping ("/openSelectId/{id}") |
| | | public Result openSelectId( |
| | | @PathVariable String id){ |
| | | return Result.seccess(deviceMaintenanceService.openSelectIdSv(id)); |
| | | |
| | | } |
| | | } |
| | |
| | | |
| | | import com.example.erp.common.Constants; |
| | | import com.example.erp.common.Result; |
| | | import com.example.erp.entity.pp.DamageDetails; |
| | | import com.example.erp.entity.pp.FlowCard; |
| | | import com.example.erp.entity.sd.OrderDetail; |
| | | import com.example.erp.entity.sd.OrderGlassDetail; |
| | | import com.example.erp.exception.ServiceException; |
| | | import com.example.erp.service.pp.ReportService; |
| | |
| | | return Result.seccess(reportService.processCardProgressSv(orderId,columns)); |
| | | } |
| | | |
| | | @ApiOperation("跨工序次破") |
| | | @PostMapping("/crossProcessBreaking/{pageNum}/{pageSize}/{selectDate}") |
| | | public Result getOrderReport(@PathVariable Integer pageNum, |
| | | @PathVariable Integer pageSize, |
| | | @PathVariable List<String> selectDate, |
| | | @RequestBody DamageDetails damageDetails) { |
| | | return Result.seccess(reportService.crossProcessBreakingSv(pageNum,pageSize,selectDate,damageDetails)); |
| | | |
| | | } |
| | | |
| | | } |
| | |
| | | |
| | | //删除工单 |
| | | @ApiOperation("删除工单接口") |
| | | @PostMapping("/deleteOrderWork/{orderId}/{productName}") |
| | | @PostMapping("/deleteOrderWork/{orderId}/{productionId}") |
| | | public Result deleteOrderWork( |
| | | @PathVariable String orderId, |
| | | @PathVariable String productName |
| | | @PathVariable String productionId |
| | | ){ |
| | | if(workOrderService.deleteOrderWorkSv(orderId,productName)){ |
| | | if(workOrderService.deleteOrderWorkSv(orderId,productionId)){ |
| | | return Result.seccess(); |
| | | }else { |
| | | throw new ServiceException(Constants.Code_500,"删除失败"); |
| | |
| | | return Result.seccess(deliveryService.getSelectShippingOrder(pageNum,pageSize,selectDate,delivery)); |
| | | } |
| | | |
| | | /*发货报表查询*/ |
| | | @ApiOperation("发货报表查询接口") |
| | | @PostMapping("/getSelectDeliveryDetailReport/{pageNum}/{pageSize}/{selectDate}") |
| | | public Result getSelectDeliveryDetailReport(@PathVariable Integer pageNum, @PathVariable Integer pageSize,@PathVariable List<String> selectDate, @RequestBody DeliveryDetail deliveryDetail){ |
| | | return Result.seccess(deliveryService.getSelectDeliveryDetailReport(pageNum,pageSize,selectDate,deliveryDetail)); |
| | | } |
| | | |
| | | /*发货订单明细查询*/ |
| | | @ApiOperation("发货编辑订单明细查询接口") |
| | | @PostMapping("/getSelectShippingOrderDetail/{pageNum}/{pageSize}") |
| | |
| | | package com.example.erp.entity.pp; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.example.erp.entity.sd.Order; |
| | | import com.example.erp.entity.sd.OrderGlassDetail; |
| | | import com.example.erp.entity.sd.Product; |
| | | import lombok.Data; |
| | | |
| | | |
| | |
| | | private Integer qualityInsStatus; |
| | | //数量 |
| | | private Integer quantity; |
| | | |
| | | @TableField(select = false,exist = false) |
| | | private String area; |
| | | |
| | | @TableField(select = false,exist = false) |
| | | private ReportingWork reportingWork; |
| | | |
| | | @TableField(select = false,exist = false) |
| | | private Order order; |
| | | |
| | | @TableField(select = false,exist = false) |
| | | private OrderGlassDetail orderGlassDetail; |
| | | } |
| | |
| | | package com.example.erp.entity.pp; |
| | | |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | |
| | | //故障日期 |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private LocalDateTime faultTime; |
| | | //故障原因 |
| | | private String faultReason; |
| | | //保养日期 |
| | | @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8") |
| | | private LocalDateTime maintenanceTime; |
| | |
| | | private LocalDateTime createTime; |
| | | //修改时间 |
| | | private LocalDateTime updateTime; |
| | | //故障原因 |
| | | private String faultReason; |
| | | |
| | | //外键设备表 |
| | | private Device device; |
| | | |
| | | @TableField(select = false,exist= false) |
| | | private String faultCount; |
| | | @TableField(select = false,exist= false) |
| | | private String maintenanceCount; |
| | | @TableField(select = false,exist= false) |
| | | private String faultLastTime; |
| | | @TableField(select = false,exist= false) |
| | | private String maintenanceLastTime; |
| | | @TableField(select = false,exist= false) |
| | | private String faultCost; |
| | | @TableField(select = false,exist= false) |
| | | private String maintenanceCost; |
| | | |
| | | |
| | | } |
| | |
| | | import lombok.Data; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.util.List; |
| | | |
| | | @Data |
| | | @TableName("sd.order_glass_detail") |
| | |
| | | import com.example.erp.entity.pp.DeviceMaintenance; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.sql.Date; |
| | | import java.time.LocalDateTime; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | String faultReason, LocalDateTime maintenanceTime, String maintenanceIllustrate, |
| | | LocalDateTime stopTime, LocalDateTime startTime,String process, String personnel, String cost); |
| | | |
| | | List<DeviceMaintenance> selectMaintenanceMp(); |
| | | List<DeviceMaintenance> selectMaintenanceMp(Date selectTime1, Date selectTime2); |
| | | |
| | | Boolean deleteMaintenanceMp(String id); |
| | | |
| | | List<DeviceMaintenance> selectMachineMp(); |
| | | |
| | | List<Map<String,String>> openSelectIdMp(String id); |
| | | } |
| | |
| | | package com.example.erp.mapper.pp; |
| | | |
| | | |
| | | import com.example.erp.entity.pp.DamageDetails; |
| | | import com.example.erp.entity.pp.FlowCard; |
| | | import com.example.erp.entity.sd.OrderDetail; |
| | | import com.example.erp.entity.sd.OrderGlassDetail; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | |
| | | public interface ReportMapper { |
| | | |
| | | List<Map<String, String>> processCardProgressMp(String orderId); |
| | | |
| | | List<DamageDetails> getProcessBreaking(Integer offset, Integer pageSize, String startDate, String endDate, DamageDetails damageDetails); |
| | | |
| | | Map<String,Integer> getProcessBreakingTotal(Integer offset, Integer pageSize, String startDate, String endDate, DamageDetails damageDetails); |
| | | } |
| | |
| | | Integer selectOrderNumber(String productIdVl); |
| | | |
| | | //删除工单,将对应产品生产订单号改为null |
| | | Boolean deleteOrderWorkMp(String orderId, String productName); |
| | | Boolean deleteOrderWorkMp(String orderId, String productionId); |
| | | |
| | | Integer selectWorkCount(String orderId); |
| | | |
| | | Boolean updateWorkType(String orderId, Integer state); |
| | | |
| | | Integer selectYesWorkCount(String orderId); |
| | | |
| | | Integer selectProcessCard(String orderId); |
| | | } |
| | |
| | | import org.springframework.data.repository.CrudRepository; |
| | | |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | |
| | | @Mapper |
| | | public interface DeliveryDetailMapper extends CrudRepository<DeliveryDetail,Long> { |
| | |
| | | |
| | | Integer getSelectShippingOrderDetailPageTotal(Integer offset, Integer pageSize,OrderDetail orderDetail); |
| | | |
| | | List<DeliveryDetail> getSelectDeliveryDetailReport(@Param("offset") Integer offset, |
| | | @Param("pageSize") Integer pageSize,String startDate, String endDate, |
| | | @Param("deliveryDetail") DeliveryDetail deliveryDetail); |
| | | |
| | | Map<String,Integer> getSelectDeliveryDetailReportPageTotal(Integer offset, Integer pageSize,String startDate, String endDate, DeliveryDetail deliveryDetail); |
| | | |
| | | List<DeliveryDetail> getSelectShippingOrderDetails(@Param("offset") Integer offset, |
| | | @Param("pageSize") Integer pageSize, |
| | | @Param("orderDetail") OrderDetail orderDetail); |
| | |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.sql.Date; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | |
| | | } |
| | | } |
| | | |
| | | public Map<String, Object> selectMaintenanceSv() { |
| | | public Map<String, Object> selectMaintenanceSv(Date selectTime1, Date selectTime2) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("data", deviceMaintenanceMapper.selectMaintenanceMp()); |
| | | map.put("data", deviceMaintenanceMapper.selectMaintenanceMp(selectTime1,selectTime2)); |
| | | return map; |
| | | } |
| | | |
| | |
| | | return false; |
| | | } |
| | | } |
| | | |
| | | public Map<String, Object> selectMachineSv() { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("data", deviceMaintenanceMapper.selectMachineMp()); |
| | | return map; |
| | | } |
| | | |
| | | public Map<String, Object> openSelectIdSv(String id) { |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("data", deviceMaintenanceMapper.openSelectIdMp(id)); |
| | | return map; |
| | | } |
| | | } |
| | |
| | | import com.alibaba.fastjson.JSONObject; |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | |
| | | import com.example.erp.entity.pp.DamageDetails; |
| | | import com.example.erp.entity.pp.FlowCard; |
| | | import com.example.erp.mapper.pp.ReportMapper; |
| | | import com.example.erp.mapper.sd.OrderProcessDetailMapper; |
| | |
| | | import org.springframework.stereotype.Service; |
| | | |
| | | import java.sql.Date; |
| | | import java.time.LocalDate; |
| | | import java.util.*; |
| | | import java.util.stream.Collectors; |
| | | |
| | |
| | | private final ReportMapper reportMapper; |
| | | |
| | | private final OrderProcessDetailMapper orderProcessDetailMapper; |
| | | |
| | | |
| | | |
| | | public ReportService(ReportMapper reportMapper, OrderProcessDetailMapper orderProcessDetailMapper) { |
| | | this.reportMapper = reportMapper; |
| | |
| | | |
| | | return map; |
| | | } |
| | | |
| | | public Map<String,Object> crossProcessBreakingSv(Integer pageNum, Integer pageSize, List<String> selectDate, DamageDetails damageDetails) { |
| | | Integer offset = (pageNum-1)*pageSize; |
| | | String endDate = LocalDate.now().toString(); |
| | | String startDate = LocalDate.now().minusDays(15).toString(); |
| | | if(selectDate !=null && selectDate.size()==2){ |
| | | if(!selectDate.get(0).isEmpty()){ |
| | | startDate = selectDate.get(0); |
| | | } |
| | | if(!selectDate.get(1).isEmpty()){ |
| | | endDate = selectDate.get(1); |
| | | } |
| | | } |
| | | Map<String,Object> map = new HashMap<>(); |
| | | map.put("data",reportMapper.getProcessBreaking(offset, pageSize, startDate, endDate, damageDetails)); |
| | | map.put("total",reportMapper.getProcessBreakingTotal(offset, pageSize, startDate, endDate, damageDetails)); |
| | | List<String> list = new ArrayList<>(); |
| | | list.add(startDate); |
| | | list.add(endDate); |
| | | map.put("selectDate",list); |
| | | // map.put("total",orderMapper.getPageTotal(offset, pageSize, startDate, endDate, orderDetail)); |
| | | return map; |
| | | } |
| | | } |
| | |
| | | } |
| | | |
| | | //删除生产订单 |
| | | public Boolean deleteOrderWorkSv(String orderId, String productName) { |
| | | if (!orderId.isEmpty() && !productName.isEmpty()) { |
| | | public Boolean deleteOrderWorkSv(String orderId, String productionId) { |
| | | if (!orderId.isEmpty() && !productionId.isEmpty()) { |
| | | //查询该订单是否已经建立流程卡 |
| | | Integer getProcessCard = workOrderMapper.selectProcessCard(orderId); |
| | | if (getProcessCard == 0){ |
| | | //删除订单小片表生产订单号 |
| | | workOrderMapper.deleteOrderWorkMp(orderId, productName); |
| | | workOrderMapper.deleteOrderWorkMp(orderId, productionId); |
| | | int state = 0; |
| | | int states = 1; |
| | | //查询该订单未转生产订单的条数 |
| | |
| | | workOrderMapper.updateWorkType(orderId, states); |
| | | } |
| | | return true; |
| | | } |
| | | else { |
| | | return false; |
| | | } |
| | | |
| | | } else { |
| | | return false; |
| | | } |
| | |
| | | return map; |
| | | } |
| | | |
| | | public Map<String, Object> getSelectDeliveryDetailReport(Integer pageNum, Integer pageSize,List<String> selectDate, DeliveryDetail deliveryDetail) { |
| | | Integer offset = (pageNum - 1) * pageSize; |
| | | String endDate = LocalDate.now().toString(); |
| | | String startDate = LocalDate.now().minusDays(15).toString(); |
| | | if(selectDate !=null && selectDate.size()==2){ |
| | | if(!selectDate.get(0).isEmpty()){ |
| | | startDate = selectDate.get(0); |
| | | } |
| | | if(!selectDate.get(1).isEmpty()){ |
| | | endDate = selectDate.get(1); |
| | | } |
| | | } |
| | | Map<String, Object> map = new HashMap<>(); |
| | | map.put("data", deliveryDetailMapper.getSelectDeliveryDetailReport(offset, pageSize,startDate,endDate, deliveryDetail)); |
| | | map.put("total", deliveryDetailMapper.getSelectDeliveryDetailReportPageTotal(offset, pageSize,startDate,endDate, deliveryDetail)); |
| | | List<String> list = new ArrayList<>(); |
| | | list.add(startDate); |
| | | list.add(endDate); |
| | | map.put("selectDate",list); |
| | | return map; |
| | | } |
| | | |
| | | public Map<String, Object> getSelectShippingOrderDetail(Integer pageNum, Integer pageSize, OrderDetail orderDetail) { |
| | | Integer offset = (pageNum - 1) * pageSize; |
| | | |
| | |
| | | username: root |
| | | password: beibo.123/ |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | #mybatis-plus: |
| | | # configuration: |
| | | # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl |
| | |
| | | </insert> |
| | | |
| | | <select id="selectMaintenanceMp" resultMap="DeviceMaintenanceMapper"> |
| | | select * from device_maintenance |
| | | select * from device_maintenance where DATE_FORMAT((create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 } |
| | | </select> |
| | | |
| | | <delete id="deleteMaintenanceMp"> |
| | | delete from device_maintenance where id = #{id} |
| | | </delete> |
| | | |
| | | <select id="selectMachineMp"> |
| | | select dm.device_id,dm.device_name, |
| | | if(dm.type=1,'维修','保养') as type, |
| | | (select count(*) from device_maintenance where id = dm.id and type = 1) as faultCount, |
| | | (select count(*) from device_maintenance where id = dm.id and type = 2) as maintenanceCount, |
| | | (select date(fault_time) from device_maintenance where id = dm.id and type = 1 order by fault_time desc limit 1) as faultLastTime, |
| | | (select date(maintenance_time) from device_maintenance where id = dm.id and type = 2 order by maintenance_time desc limit 1) as maintenanceLastTime, |
| | | (select sum(cost) from device_maintenance where id = dm.id and dm.type=1) as faultCost, |
| | | (select sum(cost) from device_maintenance where id = dm.id and dm.type=2) as maintenanceCost, |
| | | dm.process |
| | | from device_maintenance as dm |
| | | group by dm.device_id |
| | | |
| | | </select> |
| | | |
| | | <select id="openSelectIdMp"> |
| | | select * from device_maintenance where id = #{id} |
| | | </select> |
| | | </mapper> |
| | |
| | | od.product_name, |
| | | SUM( od.quantity) as quantity, |
| | | SUM(od.compute_gross_area) as compute_gross_area, |
| | | od.perimeter |
| | | sum(od.perimeter) as perimeter |
| | | from sd.order_detail as od left join |
| | | (select order_id,order_number,production_id,splitting_status from sd.order_glass_detail |
| | | GROUP BY order_id,order_number |
| | |
| | | on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number |
| | | set ogd.splitting_status=0 |
| | | where ogd.order_id = #{orderId} |
| | | and fc.process_id = #{processId} |
| | | and ogd.production_id = left(#{processId},11) |
| | | |
| | | </update> |
| | | |
| | |
| | | |
| | | </resultMap> |
| | | |
| | | <resultMap id="damageDetailsTableMap" type="com.example.erp.entity.pp.DamageDetails"> |
| | | <result column="responsible_process" property="responsibleProcess"/> |
| | | <result column="responsible_team" property="responsibleTeam"/> |
| | | <result column="breakage_type" property="breakageType"/> |
| | | <result column="breakage_reason" property="breakageReason"/> |
| | | <result column="breakage_quantity" property="breakageQuantity"/> |
| | | <result column="area" property="area"/> |
| | | <result column="reporting_work_id" property="reportingWork.reportingWorkId"/> |
| | | <result column="reporting_work_time" property="reportingWork.reportingWorkTime"/> |
| | | <result column="this_process" property="reportingWork.thisProcess"/> |
| | | <result column="project" property="order.project"/> |
| | | <result column="order_id" property="order.orderId"/> |
| | | <result column="glass_child" property="orderGlassDetail.glassChild"/> |
| | | </resultMap> |
| | | |
| | | |
| | | <!-- 流程卡进度--> |
| | | <select id="processCardProgressMp"> |
| | |
| | | where a.order_id = #{orderId} |
| | | |
| | | </select> |
| | | |
| | | <select id="getProcessBreaking" resultMap="damageDetailsTableMap"> |
| | | select rw.reporting_work_id,rw.reporting_work_time,dd.responsible_process,dd.responsible_team, |
| | | dd.breakage_type,dd.breakage_reason,ROUND((dd.breakage_quantity)) as breakage_quantity, |
| | | round(ogd.child_width*ogd.child_height*(dd.breakage_quantity)/1000000,2) as area,rw.this_process, |
| | | o.project,o.order_id,ogd.glass_child |
| | | from |
| | | damage_details as dd |
| | | left join reporting_work as rw |
| | | on rw.reporting_work_id=dd.reporting_work_id |
| | | left join sd.order as o |
| | | on rw.order_id=o.order_id |
| | | left join sd.order_glass_detail as ogd |
| | | on ogd.order_id=o.order_id and ogd.order_number=dd.order_number |
| | | and ogd.technology_number and dd.technology_number |
| | | where date(rw.reporting_work_time)>=#{startDate} and date(rw.reporting_work_time) <= #{endDate} |
| | | and rw.this_worn_quantity>0 and dd.available=0 |
| | | and reviewed_state!=2 |
| | | and rw.this_process!=dd.responsible_process |
| | | GROUP BY dd.id |
| | | order by dd.id desc |
| | | limit #{offset},#{pageSize} |
| | | </select> |
| | | |
| | | <select id="getProcessBreakingTotal"> |
| | | select |
| | | CEILING(count(dd.id)/#{pageSize}) as 'pageTotal', |
| | | count(distinct dd.id) as 'total' |
| | | from |
| | | damage_details as dd |
| | | left join reporting_work as rw |
| | | on rw.reporting_work_id=dd.reporting_work_id |
| | | left join sd.order as o |
| | | on rw.order_id=o.order_id |
| | | left join sd.order_glass_detail as ogd |
| | | on ogd.order_id=o.order_id and ogd.order_number=dd.order_number |
| | | and ogd.technology_number and dd.technology_number |
| | | where date(rw.reporting_work_time)>=#{startDate} and date(rw.reporting_work_time) <= #{endDate} |
| | | and rw.this_worn_quantity>0 and dd.available=0 |
| | | and reviewed_state!=2 |
| | | and rw.this_process!=dd.responsible_process |
| | | order by dd.id desc |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | <result column="splitting_status" property="splittingStatus"/> |
| | | <result column="create_time" property="createTime"/> |
| | | <!--接收其他外键实体类数据--> |
| | | <association property="order" javaType="com.example.erp.entity.sd.Order"> |
| | | <result column="batch" property="batch"/> |
| | | </association> |
| | | <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail"> |
| | | <result column="product_id" property="productId"/> |
| | | <result column="product_name" property="productName"/> |
| | | <result column="compute_area" property="computeArea"/> |
| | | <result column="quantity" property="quantity"/> |
| | | <result column="compute_gross_area" property="computeGrossArea"/> |
| | | <result column="perimeter" property="perimeter"/> |
| | | <result column="bend_radius" property="bendRadius"/> |
| | | <result column="processing_note" property="processingNote"/> |
| | | </association> |
| | | |
| | | <!--<result column="g_typeId" property="glassTypes.typeId"/> |
| | | <result column="g_type" property="glassTypes.type"/>--> |
| | | <result column="batch" property="order.batch"/> |
| | | <result column="order_type" property="order.orderType"/> |
| | | <result column="project" property="order.project"/> |
| | | <result column="area" property="order.area"/> |
| | | <result column="creator" property="order.creator"/> |
| | | <!-- <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">--> |
| | | <!-- <result column="product_id" property="productId"/>--> |
| | | <!-- <result column="product_name" property="productName"/>--> |
| | | <!-- <result column="compute_area" property="computeArea"/>--> |
| | | <result column="quantity" property="orderDetail.quantity"/> |
| | | <!-- <result column="compute_gross_area" property="computeGrossArea"/>--> |
| | | <!-- <result column="perimeter" property="perimeter"/>--> |
| | | <!-- <result column="bend_radius" property="bendRadius"/>--> |
| | | <!-- <result column="processing_note" property="processingNote"/>--> |
| | | <result column="gross_area" property="orderDetail.grossArea"/> |
| | | <!-- </association>--> |
| | | |
| | | </resultMap> |
| | | |
| | | <select id="selectWordOrder" resultMap="wordOrderMap"> |
| | | select |
| | | o.order_id, |
| | | ogd.production_id, |
| | | o.batch, |
| | | od.product_name, |
| | | od.compute_area, |
| | | od.quantity, |
| | | od.compute_gross_area, |
| | | od.perimeter, |
| | | od.bend_radius, |
| | | od.processing_note |
| | | o.project, |
| | | o.order_type, |
| | | o.area as gross_area, |
| | | o.quantity as quantity, |
| | | o.creator |
| | | from sd.order_detail as od |
| | | left join `order` as o |
| | | on o.order_id=od.order_id |
| | | where o.production_order!=2 and o.order_review=2 |
| | | |
| | | from `order` as o left join order_detail as od on o.order_id=od.order_id |
| | | left join order_glass_detail as ogd on o.order_id=ogd.order_id and ogd.order_number=od.order_number |
| | | where isnull(ogd.production_id) and o.order_review=2 and o.production_order!=2 |
| | | <if test="orderGlassDetail.orderId != null and orderGlassDetail.orderId != ''"> |
| | | and o.order_id regexp #{orderGlassDetail.orderId} |
| | | </if> |
| | | <if test="orderGlassDetail.productionId != null and orderGlassDetail.productionId != ''"> |
| | | and ogd.production_id regexp #{orderGlassDetail.productionId} |
| | | </if> |
| | | |
| | | <if test="orderGlassDetail.order.batch != null and orderGlassDetail.order.batch != ''"> |
| | | and o.batch regexp #{orderGlassDetail.order.batch} |
| | | </if> |
| | | <if test="orderGlassDetail.orderDetail.productName != null and orderGlassDetail.orderDetail.productName!= ''"> |
| | | and od.product_name regexp #{orderGlassDetail.orderDetail.productName} |
| | | <if test="orderGlassDetail.order.project != null and orderGlassDetail.order.project!= ''"> |
| | | and o.project regexp #{orderGlassDetail.order.project} |
| | | </if> |
| | | <if test="orderGlassDetail.order.orderType != null and orderGlassDetail.order.orderType!= ''"> |
| | | and o.order_type regexp #{orderGlassDetail.order.orderType} |
| | | </if> |
| | | |
| | | <if test="orderGlassDetail.createTime != ''"> |
| | | and DATE_FORMAT((ogd.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 } |
| | | and DATE_FORMAT((o.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 } |
| | | </if> |
| | | |
| | | group by o.order_id |
| | |
| | | <select id="selectWordOrderNo" resultMap="wordOrderMap"> |
| | | select |
| | | o.order_id, |
| | | od.order_number, |
| | | ogd.production_id, |
| | | o.batch, |
| | | od.product_name, |
| | | od.compute_area, |
| | | od.quantity, |
| | | od.compute_gross_area, |
| | | od.perimeter, |
| | | od.bend_radius, |
| | | od.processing_note |
| | | |
| | | from `order` as o left join order_detail as od on o.order_id=od.order_id |
| | | left join order_glass_detail as ogd on o.order_id=ogd.order_id and ogd.order_number=od.order_number |
| | | o.project, |
| | | o.order_type, |
| | | (od.gross_area) as gross_area, |
| | | (od.quantity) as quantity, |
| | | o.creator, |
| | | od.id |
| | | from sd.order_glass_detail as ogd |
| | | left join order_detail as od |
| | | on od.order_id=ogd.order_id |
| | | and ogd.order_number=od.order_number |
| | | left join `order` as o |
| | | on o.order_id=ogd.order_id |
| | | where ogd.production_id IS NOT NULL |
| | | |
| | | <if test="orderGlassDetail.orderId != null and orderGlassDetail.orderId != ''"> |
| | | and ogd.order_id regexp #{orderGlassDetail.orderId} |
| | | and o.order_id regexp #{orderGlassDetail.orderId} |
| | | </if> |
| | | <if test="orderGlassDetail.productionId != null and orderGlassDetail.productionId != ''"> |
| | | and ogd.production_id regexp #{orderGlassDetail.productionId} |
| | |
| | | <if test="orderGlassDetail.order.batch != null and orderGlassDetail.order.batch != ''"> |
| | | and o.batch regexp #{orderGlassDetail.order.batch} |
| | | </if> |
| | | <if test="orderGlassDetail.orderDetail.productName != null and orderGlassDetail.orderDetail.productName!= ''"> |
| | | and od.product_name regexp #{orderGlassDetail.orderDetail.productName} |
| | | <if test="orderGlassDetail.order.project != null and orderGlassDetail.order.project!= ''"> |
| | | and o.project regexp #{orderGlassDetail.order.project} |
| | | </if> |
| | | <if test="orderGlassDetail.order.orderType != null and orderGlassDetail.order.orderType!= ''"> |
| | | and o.order_type regexp #{orderGlassDetail.order.orderType} |
| | | </if> |
| | | |
| | | <if test="orderGlassDetail.createTime != ''"> |
| | | and DATE_FORMAT((ogd.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 } |
| | | and DATE_FORMAT((o.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 } |
| | | </if> |
| | | |
| | | group by ogd.production_id,ogd.order_number |
| | | order by ogd.id desc |
| | | |
| | | |
| | | ; |
| | | group by od.id,ogd.order_id,od.order_number |
| | | order by od.id desc |
| | | </select> |
| | | |
| | | <select id="addWordOrder" > |
| | |
| | | ogd.production_time=null, |
| | | ogd.founder=null |
| | | where od.order_id = #{orderId} |
| | | and od.product_name = #{productName} |
| | | </update> |
| | | |
| | | <select id="selectWorkCount"> |
| | |
| | | </select> |
| | | |
| | | <update id="updateWorkType"> |
| | | update sd.order as o set o.production_order=#{state} where o.order_id=#{orderId} |
| | | update sd.order as o |
| | | set o.production_order=#{state} |
| | | where o.order_id = #{orderId} |
| | | </update> |
| | | <select id="selectProcessCard"> |
| | | select processing_card from sd.`order` where order_id = #{orderId} |
| | | </select> |
| | | </mapper> |
| | |
| | | |
| | | </resultMap> |
| | | |
| | | <resultMap id="selectDeliveryDetail" type="com.example.erp.entity.sd.DeliveryDetail"> |
| | | |
| | | <result column="order_id" property="orderId"/> |
| | | <result column="order_number" property="orderNumber"/> |
| | | <result column="o_quantity" property="quantity"/> |
| | | <result column="delivery_id" property="deliveryId"/> |
| | | <result column="delivery_number" property="deliveryNumber"/> |
| | | <result column="area" property="area"/> |
| | | <result column="money" property="money"/> |
| | | <result column="delivery_detail_remakes" property="deliveryDetailRemakes"/> |
| | | <result column="delivery_detail_state" property="deliveryDetailState"/> |
| | | <result column="create_time" property="createTime"/> |
| | | |
| | | <result column="customer_id" property="delivery.customerId"/> |
| | | <result column="customer_name" property="delivery.customerName"/> |
| | | <result column="project" property="delivery.project"/> |
| | | <result column="pay_method" property="delivery.payMethod"/> |
| | | <result column="payment_terms" property="delivery.paymentTerms"/> |
| | | <result column="pay_date" property="delivery.payDate"/> |
| | | <result column="contacts" property="delivery.contacts"/> |
| | | <result column="contact_number" property="delivery.contactNumber"/> |
| | | <result column="delivery_address" property="delivery.deliveryAddress"/> |
| | | <result column="delivery_date" property="delivery.deliveryDate"/> |
| | | <result column="creator" property="delivery.creator"/> |
| | | <result column="salesman" property="delivery.salesman"/> |
| | | |
| | | |
| | | |
| | | </resultMap> |
| | | |
| | | <delete id="deleteDeliveryDetail"> |
| | | delete from sd.delivery_detail where delivery_id=#{deliveryId} |
| | | </delete> |
| | |
| | | </where> |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | |
| | | <select id="getSelectDeliveryDetailReport" resultMap="selectDeliveryDetail"> |
| | | select dd.delivery_id, |
| | | dd.delivery_number, |
| | | d.payment_terms, |
| | | d.project, |
| | | d.customer_id, |
| | | d.customer_name, |
| | | d.delivery_date, |
| | | d.pay_method, |
| | | d.pay_date, |
| | | d.salesman, |
| | | d.creator, |
| | | d.contacts, |
| | | d.contact_number, |
| | | d.delivery_address, |
| | | dd.order_id, |
| | | dd.order_number, |
| | | dd.area, |
| | | dd.money, |
| | | dd.quantity, |
| | | dd.delivery_detail_remakes, |
| | | dd.create_time |
| | | from sd.delivery_detail dd |
| | | left join sd.delivery d on dd.delivery_id=d.delivery_id |
| | | <where> |
| | | <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''"> |
| | | and dd.delivery_id regexp #{deliveryDetail.deliveryId} |
| | | </if> |
| | | <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''"> |
| | | and dd.delivery_number regexp #{deliveryDetail.deliveryNumber} |
| | | </if> |
| | | <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''"> |
| | | and dd.order_id regexp #{deliveryDetail.orderId} |
| | | </if> |
| | | <if test="deliveryDetail.orderNumber != null and deliveryDetail.orderNumber != ''"> |
| | | and dd.order_number regexp #{deliveryDetail.orderNumber} |
| | | </if> |
| | | <if test="deliveryDetail.area != null and deliveryDetail.area != ''"> |
| | | and dd.area regexp #{deliveryDetail.area} |
| | | </if> |
| | | <if test="deliveryDetail.money != null and deliveryDetail.money != ''"> |
| | | and dd.money regexp #{deliveryDetail.money} |
| | | </if> |
| | | <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''"> |
| | | and dd.quantity regexp #{deliveryDetail.quantity} |
| | | </if> |
| | | <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''"> |
| | | and dd.delivery_detail_remakes regexp #{deliveryDetail.deliveryDetailRemakes} |
| | | </if> |
| | | <if test="deliveryDetail.createTime != null and deliveryDetail.createTime != ''"> |
| | | and dd.create_time regexp #{deliveryDetail.createTime} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.paymentTerms != null and deliveryDetail.delivery.paymentTerms != ''"> |
| | | and d.payment_terms regexp #{deliveryDetail.delivery.paymentTerms} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.project != null and deliveryDetail.delivery.project != ''"> |
| | | and d.project regexp #{deliveryDetail.delivery.project} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.customerId != null and deliveryDetail.delivery.customerId != ''"> |
| | | and d.customer_id regexp #{deliveryDetail.delivery.customerId} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.customerName != null and deliveryDetail.delivery.customerName != ''"> |
| | | and d.customer_name regexp #{deliveryDetail.delivery.customerName} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.deliveryDate != null and deliveryDetail.delivery.deliveryDate != ''"> |
| | | and d.delivery_date regexp #{deliveryDetail.delivery.deliveryDate} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.payMethod != null and deliveryDetail.delivery.payMethod != ''"> |
| | | and d.pay_method regexp #{deliveryDetail.delivery.payMethod} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.payDate != null and deliveryDetail.delivery.payDate != ''"> |
| | | and d.pay_date regexp #{deliveryDetail.delivery.payDate} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.salesman != null and deliveryDetail.delivery.salesman != ''"> |
| | | and d.salesman regexp #{deliveryDetail.delivery.salesman} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.creator != null and deliveryDetail.delivery.creator != ''"> |
| | | and d.creator regexp #{deliveryDetail.delivery.creator} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.contacts != null and deliveryDetail.delivery.contacts != ''"> |
| | | and d.contacts regexp #{deliveryDetail.delivery.contacts} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.contactNumber != null and deliveryDetail.delivery.contactNumber != ''"> |
| | | and d.contact_number regexp #{deliveryDetail.delivery.contactNumber} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.deliveryAddress != null and deliveryDetail.delivery.deliveryAddress != ''"> |
| | | and d.delivery_address regexp #{deliveryDetail.delivery.deliveryAddress} |
| | | </if> |
| | | |
| | | </where> |
| | | order by dd.delivery_id,dd.delivery_number |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="getSelectDeliveryDetailReportPageTotal" resultMap="selectDeliveryDetail"> |
| | | select CEILING(count(dd.id)/#{pageSize}) as 'pageTotal', |
| | | count(dd.id) as 'total' |
| | | from sd.delivery_detail dd |
| | | left join sd.delivery d on dd.delivery_id=d.delivery_id |
| | | <where> |
| | | <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''"> |
| | | and dd.delivery_id regexp #{deliveryDetail.deliveryId} |
| | | </if> |
| | | <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''"> |
| | | and dd.delivery_number regexp #{deliveryDetail.deliveryNumber} |
| | | </if> |
| | | <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''"> |
| | | and dd.order_id regexp #{deliveryDetail.orderId} |
| | | </if> |
| | | <if test="deliveryDetail.orderNumber != null and deliveryDetail.orderNumber != ''"> |
| | | and dd.order_number regexp #{deliveryDetail.orderNumber} |
| | | </if> |
| | | <if test="deliveryDetail.area != null and deliveryDetail.area != ''"> |
| | | and dd.area regexp #{deliveryDetail.area} |
| | | </if> |
| | | <if test="deliveryDetail.money != null and deliveryDetail.money != ''"> |
| | | and dd.money regexp #{deliveryDetail.money} |
| | | </if> |
| | | <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''"> |
| | | and dd.quantity regexp #{deliveryDetail.quantity} |
| | | </if> |
| | | <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''"> |
| | | and dd.delivery_detail_remakes regexp #{deliveryDetail.deliveryDetailRemakes} |
| | | </if> |
| | | <if test="deliveryDetail.createTime != null and deliveryDetail.createTime != ''"> |
| | | and dd.create_time regexp #{deliveryDetail.createTime} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.paymentTerms != null and deliveryDetail.delivery.paymentTerms != ''"> |
| | | and d.payment_terms regexp #{deliveryDetail.delivery.paymentTerms} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.project != null and deliveryDetail.delivery.project != ''"> |
| | | and d.project regexp #{deliveryDetail.delivery.project} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.customerId != null and deliveryDetail.delivery.customerId != ''"> |
| | | and d.customer_id regexp #{deliveryDetail.delivery.customerId} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.customerName != null and deliveryDetail.delivery.customerName != ''"> |
| | | and d.customer_name regexp #{deliveryDetail.delivery.customerName} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.deliveryDate != null and deliveryDetail.delivery.deliveryDate != ''"> |
| | | and d.delivery_date regexp #{deliveryDetail.delivery.deliveryDate} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.payMethod != null and deliveryDetail.delivery.payMethod != ''"> |
| | | and d.pay_method regexp #{deliveryDetail.delivery.payMethod} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.payDate != null and deliveryDetail.delivery.payDate != ''"> |
| | | and d.pay_date regexp #{deliveryDetail.delivery.payDate} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.salesman != null and deliveryDetail.delivery.salesman != ''"> |
| | | and d.salesman regexp #{deliveryDetail.delivery.salesman} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.creator != null and deliveryDetail.delivery.creator != ''"> |
| | | and d.creator regexp #{deliveryDetail.delivery.creator} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.contacts != null and deliveryDetail.delivery.contacts != ''"> |
| | | and d.contacts regexp #{deliveryDetail.delivery.contacts} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.contactNumber != null and deliveryDetail.delivery.contactNumber != ''"> |
| | | and d.contact_number regexp #{deliveryDetail.delivery.contactNumber} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.deliveryAddress != null and deliveryDetail.delivery.deliveryAddress != ''"> |
| | | and d.delivery_address regexp #{deliveryDetail.delivery.deliveryAddress} |
| | | </if> |
| | | |
| | | </where> |
| | | order by dd.delivery_id,dd.delivery_number |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | </mapper> |
| | |
| | | username: root |
| | | password: beibo.123/ |
| | | driver-class-name: com.mysql.cj.jdbc.Driver |
| | | #mybatis-plus: |
| | | # configuration: |
| | | # log-impl: org.apache.ibatis.logging.stdout.StdOutImpl |
| | |
| | | </insert> |
| | | |
| | | <select id="selectMaintenanceMp" resultMap="DeviceMaintenanceMapper"> |
| | | select * from device_maintenance |
| | | select * from device_maintenance where DATE_FORMAT((create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 } |
| | | </select> |
| | | |
| | | <delete id="deleteMaintenanceMp"> |
| | | delete from device_maintenance where id = #{id} |
| | | </delete> |
| | | |
| | | <select id="selectMachineMp"> |
| | | select dm.device_id,dm.device_name, |
| | | if(dm.type=1,'维修','保养') as type, |
| | | (select count(*) from device_maintenance where id = dm.id and type = 1) as faultCount, |
| | | (select count(*) from device_maintenance where id = dm.id and type = 2) as maintenanceCount, |
| | | (select date(fault_time) from device_maintenance where id = dm.id and type = 1 order by fault_time desc limit 1) as faultLastTime, |
| | | (select date(maintenance_time) from device_maintenance where id = dm.id and type = 2 order by maintenance_time desc limit 1) as maintenanceLastTime, |
| | | (select sum(cost) from device_maintenance where id = dm.id and dm.type=1) as faultCost, |
| | | (select sum(cost) from device_maintenance where id = dm.id and dm.type=2) as maintenanceCost, |
| | | dm.process |
| | | from device_maintenance as dm |
| | | group by dm.device_id |
| | | |
| | | </select> |
| | | |
| | | <select id="openSelectIdMp"> |
| | | select * from device_maintenance where id = #{id} |
| | | </select> |
| | | </mapper> |
| | |
| | | od.product_name, |
| | | SUM( od.quantity) as quantity, |
| | | SUM(od.compute_gross_area) as compute_gross_area, |
| | | od.perimeter |
| | | sum(od.perimeter) as perimeter |
| | | from sd.order_detail as od left join |
| | | (select order_id,order_number,production_id,splitting_status from sd.order_glass_detail |
| | | GROUP BY order_id,order_number |
| | |
| | | on ogd.order_id = fc.order_id and ogd.order_number = fc.order_number |
| | | set ogd.splitting_status=0 |
| | | where ogd.order_id = #{orderId} |
| | | and fc.process_id = #{processId} |
| | | and ogd.production_id = left(#{processId},11) |
| | | |
| | | </update> |
| | | |
| | |
| | | |
| | | </resultMap> |
| | | |
| | | <resultMap id="damageDetailsTableMap" type="com.example.erp.entity.pp.DamageDetails"> |
| | | <result column="responsible_process" property="responsibleProcess"/> |
| | | <result column="responsible_team" property="responsibleTeam"/> |
| | | <result column="breakage_type" property="breakageType"/> |
| | | <result column="breakage_reason" property="breakageReason"/> |
| | | <result column="breakage_quantity" property="breakageQuantity"/> |
| | | <result column="area" property="area"/> |
| | | <result column="reporting_work_id" property="reportingWork.reportingWorkId"/> |
| | | <result column="reporting_work_time" property="reportingWork.reportingWorkTime"/> |
| | | <result column="this_process" property="reportingWork.thisProcess"/> |
| | | <result column="project" property="order.project"/> |
| | | <result column="order_id" property="order.orderId"/> |
| | | <result column="glass_child" property="orderGlassDetail.glassChild"/> |
| | | </resultMap> |
| | | |
| | | |
| | | <!-- 流程卡进度--> |
| | | <select id="processCardProgressMp"> |
| | | select |
| | |
| | | where a.order_id = #{orderId} |
| | | |
| | | </select> |
| | | |
| | | <select id="getProcessBreaking" resultMap="damageDetailsTableMap"> |
| | | select rw.reporting_work_id,rw.reporting_work_time,dd.responsible_process,dd.responsible_team, |
| | | dd.breakage_type,dd.breakage_reason,ROUND((dd.breakage_quantity)) as breakage_quantity, |
| | | round(ogd.child_width*ogd.child_height*(dd.breakage_quantity)/1000000,2) as area,rw.this_process, |
| | | o.project,o.order_id,ogd.glass_child |
| | | from |
| | | damage_details as dd |
| | | left join reporting_work as rw |
| | | on rw.reporting_work_id=dd.reporting_work_id |
| | | left join sd.order as o |
| | | on rw.order_id=o.order_id |
| | | left join sd.order_glass_detail as ogd |
| | | on ogd.order_id=o.order_id and ogd.order_number=dd.order_number |
| | | and ogd.technology_number and dd.technology_number |
| | | where date(rw.reporting_work_time)>=#{startDate} and date(rw.reporting_work_time) <= #{endDate} |
| | | and rw.this_worn_quantity>0 and dd.available=0 |
| | | and reviewed_state!=2 |
| | | and rw.this_process!=dd.responsible_process |
| | | GROUP BY dd.id |
| | | order by dd.id desc |
| | | limit #{offset},#{pageSize} |
| | | </select> |
| | | |
| | | <select id="getProcessBreakingTotal"> |
| | | select |
| | | CEILING(count(dd.id)/#{pageSize}) as 'pageTotal', |
| | | count(distinct dd.id) as 'total' |
| | | from |
| | | damage_details as dd |
| | | left join reporting_work as rw |
| | | on rw.reporting_work_id=dd.reporting_work_id |
| | | left join sd.order as o |
| | | on rw.order_id=o.order_id |
| | | left join sd.order_glass_detail as ogd |
| | | on ogd.order_id=o.order_id and ogd.order_number=dd.order_number |
| | | and ogd.technology_number and dd.technology_number |
| | | where date(rw.reporting_work_time)>=#{startDate} and date(rw.reporting_work_time) <= #{endDate} |
| | | and rw.this_worn_quantity>0 and dd.available=0 |
| | | and reviewed_state!=2 |
| | | and rw.this_process!=dd.responsible_process |
| | | order by dd.id desc |
| | | </select> |
| | | |
| | | </mapper> |
| | |
| | | <result column="splitting_status" property="splittingStatus"/> |
| | | <result column="create_time" property="createTime"/> |
| | | <!--接收其他外键实体类数据--> |
| | | <association property="order" javaType="com.example.erp.entity.sd.Order"> |
| | | <result column="batch" property="batch"/> |
| | | </association> |
| | | <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail"> |
| | | <result column="product_id" property="productId"/> |
| | | <result column="product_name" property="productName"/> |
| | | <result column="compute_area" property="computeArea"/> |
| | | <result column="quantity" property="quantity"/> |
| | | <result column="compute_gross_area" property="computeGrossArea"/> |
| | | <result column="perimeter" property="perimeter"/> |
| | | <result column="bend_radius" property="bendRadius"/> |
| | | <result column="processing_note" property="processingNote"/> |
| | | </association> |
| | | |
| | | <!--<result column="g_typeId" property="glassTypes.typeId"/> |
| | | <result column="g_type" property="glassTypes.type"/>--> |
| | | <result column="batch" property="order.batch"/> |
| | | <result column="order_type" property="order.orderType"/> |
| | | <result column="project" property="order.project"/> |
| | | <result column="area" property="order.area"/> |
| | | <result column="creator" property="order.creator"/> |
| | | <!-- <association property="orderDetail" javaType="com.example.erp.entity.sd.OrderDetail">--> |
| | | <!-- <result column="product_id" property="productId"/>--> |
| | | <!-- <result column="product_name" property="productName"/>--> |
| | | <!-- <result column="compute_area" property="computeArea"/>--> |
| | | <result column="quantity" property="orderDetail.quantity"/> |
| | | <!-- <result column="compute_gross_area" property="computeGrossArea"/>--> |
| | | <!-- <result column="perimeter" property="perimeter"/>--> |
| | | <!-- <result column="bend_radius" property="bendRadius"/>--> |
| | | <!-- <result column="processing_note" property="processingNote"/>--> |
| | | <result column="gross_area" property="orderDetail.grossArea"/> |
| | | <!-- </association>--> |
| | | |
| | | </resultMap> |
| | | |
| | | <select id="selectWordOrder" resultMap="wordOrderMap"> |
| | | select |
| | | o.order_id, |
| | | ogd.production_id, |
| | | o.batch, |
| | | od.product_name, |
| | | od.compute_area, |
| | | od.quantity, |
| | | od.compute_gross_area, |
| | | od.perimeter, |
| | | od.bend_radius, |
| | | od.processing_note |
| | | o.project, |
| | | o.order_type, |
| | | o.area as gross_area, |
| | | o.quantity as quantity, |
| | | o.creator |
| | | from sd.order_detail as od |
| | | left join `order` as o |
| | | on o.order_id=od.order_id |
| | | where o.production_order!=2 and o.order_review=2 |
| | | |
| | | from `order` as o left join order_detail as od on o.order_id=od.order_id |
| | | left join order_glass_detail as ogd on o.order_id=ogd.order_id and ogd.order_number=od.order_number |
| | | where isnull(ogd.production_id) and o.order_review=2 and o.production_order!=2 |
| | | <if test="orderGlassDetail.orderId != null and orderGlassDetail.orderId != ''"> |
| | | and o.order_id regexp #{orderGlassDetail.orderId} |
| | | </if> |
| | | <if test="orderGlassDetail.productionId != null and orderGlassDetail.productionId != ''"> |
| | | and ogd.production_id regexp #{orderGlassDetail.productionId} |
| | | </if> |
| | | |
| | | <if test="orderGlassDetail.order.batch != null and orderGlassDetail.order.batch != ''"> |
| | | and o.batch regexp #{orderGlassDetail.order.batch} |
| | | </if> |
| | | <if test="orderGlassDetail.orderDetail.productName != null and orderGlassDetail.orderDetail.productName!= ''"> |
| | | and od.product_name regexp #{orderGlassDetail.orderDetail.productName} |
| | | <if test="orderGlassDetail.order.project != null and orderGlassDetail.order.project!= ''"> |
| | | and o.project regexp #{orderGlassDetail.order.project} |
| | | </if> |
| | | <if test="orderGlassDetail.order.orderType != null and orderGlassDetail.order.orderType!= ''"> |
| | | and o.order_type regexp #{orderGlassDetail.order.orderType} |
| | | </if> |
| | | |
| | | <if test="orderGlassDetail.createTime != ''"> |
| | | and DATE_FORMAT((ogd.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 } |
| | | and DATE_FORMAT((o.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 } |
| | | </if> |
| | | |
| | | group by o.order_id |
| | |
| | | <select id="selectWordOrderNo" resultMap="wordOrderMap"> |
| | | select |
| | | o.order_id, |
| | | od.order_number, |
| | | ogd.production_id, |
| | | o.batch, |
| | | od.product_name, |
| | | od.compute_area, |
| | | od.quantity, |
| | | od.compute_gross_area, |
| | | od.perimeter, |
| | | od.bend_radius, |
| | | od.processing_note |
| | | |
| | | from `order` as o left join order_detail as od on o.order_id=od.order_id |
| | | left join order_glass_detail as ogd on o.order_id=ogd.order_id and ogd.order_number=od.order_number |
| | | o.project, |
| | | o.order_type, |
| | | (od.gross_area) as gross_area, |
| | | (od.quantity) as quantity, |
| | | o.creator, |
| | | od.id |
| | | from sd.order_glass_detail as ogd |
| | | left join order_detail as od |
| | | on od.order_id=ogd.order_id |
| | | and ogd.order_number=od.order_number |
| | | left join `order` as o |
| | | on o.order_id=ogd.order_id |
| | | where ogd.production_id IS NOT NULL |
| | | |
| | | <if test="orderGlassDetail.orderId != null and orderGlassDetail.orderId != ''"> |
| | | and ogd.order_id regexp #{orderGlassDetail.orderId} |
| | | and o.order_id regexp #{orderGlassDetail.orderId} |
| | | </if> |
| | | <if test="orderGlassDetail.productionId != null and orderGlassDetail.productionId != ''"> |
| | | and ogd.production_id regexp #{orderGlassDetail.productionId} |
| | |
| | | <if test="orderGlassDetail.order.batch != null and orderGlassDetail.order.batch != ''"> |
| | | and o.batch regexp #{orderGlassDetail.order.batch} |
| | | </if> |
| | | <if test="orderGlassDetail.orderDetail.productName != null and orderGlassDetail.orderDetail.productName!= ''"> |
| | | and od.product_name regexp #{orderGlassDetail.orderDetail.productName} |
| | | <if test="orderGlassDetail.order.project != null and orderGlassDetail.order.project!= ''"> |
| | | and o.project regexp #{orderGlassDetail.order.project} |
| | | </if> |
| | | <if test="orderGlassDetail.order.orderType != null and orderGlassDetail.order.orderType!= ''"> |
| | | and o.order_type regexp #{orderGlassDetail.order.orderType} |
| | | </if> |
| | | |
| | | <if test="orderGlassDetail.createTime != ''"> |
| | | and DATE_FORMAT((ogd.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 } |
| | | and DATE_FORMAT((o.create_time),'%Y-%m-%d') BETWEEN #{ selectTime1 } AND #{ selectTime2 } |
| | | </if> |
| | | |
| | | group by ogd.production_id,ogd.order_number |
| | | order by ogd.id desc |
| | | |
| | | |
| | | ; |
| | | group by od.id,ogd.order_id,od.order_number |
| | | order by od.id desc |
| | | </select> |
| | | |
| | | <select id="addWordOrder" > |
| | |
| | | ogd.production_time=null, |
| | | ogd.founder=null |
| | | where od.order_id = #{orderId} |
| | | and od.product_name = #{productName} |
| | | </update> |
| | | |
| | | <select id="selectWorkCount"> |
| | |
| | | </select> |
| | | |
| | | <update id="updateWorkType"> |
| | | update sd.order as o set o.production_order=#{state} where o.order_id=#{orderId} |
| | | update sd.order as o |
| | | set o.production_order=#{state} |
| | | where o.order_id = #{orderId} |
| | | </update> |
| | | <select id="selectProcessCard"> |
| | | select processing_card from sd.`order` where order_id = #{orderId} |
| | | </select> |
| | | </mapper> |
| | |
| | | |
| | | </resultMap> |
| | | |
| | | <resultMap id="selectDeliveryDetail" type="com.example.erp.entity.sd.DeliveryDetail"> |
| | | |
| | | <result column="order_id" property="orderId"/> |
| | | <result column="order_number" property="orderNumber"/> |
| | | <result column="o_quantity" property="quantity"/> |
| | | <result column="delivery_id" property="deliveryId"/> |
| | | <result column="delivery_number" property="deliveryNumber"/> |
| | | <result column="area" property="area"/> |
| | | <result column="money" property="money"/> |
| | | <result column="delivery_detail_remakes" property="deliveryDetailRemakes"/> |
| | | <result column="delivery_detail_state" property="deliveryDetailState"/> |
| | | <result column="create_time" property="createTime"/> |
| | | |
| | | <result column="customer_id" property="delivery.customerId"/> |
| | | <result column="customer_name" property="delivery.customerName"/> |
| | | <result column="project" property="delivery.project"/> |
| | | <result column="pay_method" property="delivery.payMethod"/> |
| | | <result column="payment_terms" property="delivery.paymentTerms"/> |
| | | <result column="pay_date" property="delivery.payDate"/> |
| | | <result column="contacts" property="delivery.contacts"/> |
| | | <result column="contact_number" property="delivery.contactNumber"/> |
| | | <result column="delivery_address" property="delivery.deliveryAddress"/> |
| | | <result column="delivery_date" property="delivery.deliveryDate"/> |
| | | <result column="creator" property="delivery.creator"/> |
| | | <result column="salesman" property="delivery.salesman"/> |
| | | |
| | | |
| | | |
| | | </resultMap> |
| | | |
| | | <delete id="deleteDeliveryDetail"> |
| | | delete from sd.delivery_detail where delivery_id=#{deliveryId} |
| | | </delete> |
| | |
| | | </where> |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | |
| | | <select id="getSelectDeliveryDetailReport" resultMap="selectDeliveryDetail"> |
| | | select dd.delivery_id, |
| | | dd.delivery_number, |
| | | d.payment_terms, |
| | | d.project, |
| | | d.customer_id, |
| | | d.customer_name, |
| | | d.delivery_date, |
| | | d.pay_method, |
| | | d.pay_date, |
| | | d.salesman, |
| | | d.creator, |
| | | d.contacts, |
| | | d.contact_number, |
| | | d.delivery_address, |
| | | dd.order_id, |
| | | dd.order_number, |
| | | dd.area, |
| | | dd.money, |
| | | dd.quantity, |
| | | dd.delivery_detail_remakes, |
| | | dd.create_time |
| | | from sd.delivery_detail dd |
| | | left join sd.delivery d on dd.delivery_id=d.delivery_id |
| | | <where> |
| | | <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''"> |
| | | and dd.delivery_id regexp #{deliveryDetail.deliveryId} |
| | | </if> |
| | | <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''"> |
| | | and dd.delivery_number regexp #{deliveryDetail.deliveryNumber} |
| | | </if> |
| | | <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''"> |
| | | and dd.order_id regexp #{deliveryDetail.orderId} |
| | | </if> |
| | | <if test="deliveryDetail.orderNumber != null and deliveryDetail.orderNumber != ''"> |
| | | and dd.order_number regexp #{deliveryDetail.orderNumber} |
| | | </if> |
| | | <if test="deliveryDetail.area != null and deliveryDetail.area != ''"> |
| | | and dd.area regexp #{deliveryDetail.area} |
| | | </if> |
| | | <if test="deliveryDetail.money != null and deliveryDetail.money != ''"> |
| | | and dd.money regexp #{deliveryDetail.money} |
| | | </if> |
| | | <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''"> |
| | | and dd.quantity regexp #{deliveryDetail.quantity} |
| | | </if> |
| | | <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''"> |
| | | and dd.delivery_detail_remakes regexp #{deliveryDetail.deliveryDetailRemakes} |
| | | </if> |
| | | <if test="deliveryDetail.createTime != null and deliveryDetail.createTime != ''"> |
| | | and dd.create_time regexp #{deliveryDetail.createTime} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.paymentTerms != null and deliveryDetail.delivery.paymentTerms != ''"> |
| | | and d.payment_terms regexp #{deliveryDetail.delivery.paymentTerms} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.project != null and deliveryDetail.delivery.project != ''"> |
| | | and d.project regexp #{deliveryDetail.delivery.project} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.customerId != null and deliveryDetail.delivery.customerId != ''"> |
| | | and d.customer_id regexp #{deliveryDetail.delivery.customerId} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.customerName != null and deliveryDetail.delivery.customerName != ''"> |
| | | and d.customer_name regexp #{deliveryDetail.delivery.customerName} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.deliveryDate != null and deliveryDetail.delivery.deliveryDate != ''"> |
| | | and d.delivery_date regexp #{deliveryDetail.delivery.deliveryDate} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.payMethod != null and deliveryDetail.delivery.payMethod != ''"> |
| | | and d.pay_method regexp #{deliveryDetail.delivery.payMethod} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.payDate != null and deliveryDetail.delivery.payDate != ''"> |
| | | and d.pay_date regexp #{deliveryDetail.delivery.payDate} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.salesman != null and deliveryDetail.delivery.salesman != ''"> |
| | | and d.salesman regexp #{deliveryDetail.delivery.salesman} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.creator != null and deliveryDetail.delivery.creator != ''"> |
| | | and d.creator regexp #{deliveryDetail.delivery.creator} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.contacts != null and deliveryDetail.delivery.contacts != ''"> |
| | | and d.contacts regexp #{deliveryDetail.delivery.contacts} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.contactNumber != null and deliveryDetail.delivery.contactNumber != ''"> |
| | | and d.contact_number regexp #{deliveryDetail.delivery.contactNumber} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.deliveryAddress != null and deliveryDetail.delivery.deliveryAddress != ''"> |
| | | and d.delivery_address regexp #{deliveryDetail.delivery.deliveryAddress} |
| | | </if> |
| | | |
| | | </where> |
| | | order by dd.delivery_id,dd.delivery_number |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | |
| | | <select id="getSelectDeliveryDetailReportPageTotal" resultMap="selectDeliveryDetail"> |
| | | select CEILING(count(dd.id)/#{pageSize}) as 'pageTotal', |
| | | count(dd.id) as 'total' |
| | | from sd.delivery_detail dd |
| | | left join sd.delivery d on dd.delivery_id=d.delivery_id |
| | | <where> |
| | | <if test="deliveryDetail.deliveryId != null and deliveryDetail.deliveryId != ''"> |
| | | and dd.delivery_id regexp #{deliveryDetail.deliveryId} |
| | | </if> |
| | | <if test="deliveryDetail.deliveryNumber != null and deliveryDetail.deliveryNumber != ''"> |
| | | and dd.delivery_number regexp #{deliveryDetail.deliveryNumber} |
| | | </if> |
| | | <if test="deliveryDetail.orderId != null and deliveryDetail.orderId != ''"> |
| | | and dd.order_id regexp #{deliveryDetail.orderId} |
| | | </if> |
| | | <if test="deliveryDetail.orderNumber != null and deliveryDetail.orderNumber != ''"> |
| | | and dd.order_number regexp #{deliveryDetail.orderNumber} |
| | | </if> |
| | | <if test="deliveryDetail.area != null and deliveryDetail.area != ''"> |
| | | and dd.area regexp #{deliveryDetail.area} |
| | | </if> |
| | | <if test="deliveryDetail.money != null and deliveryDetail.money != ''"> |
| | | and dd.money regexp #{deliveryDetail.money} |
| | | </if> |
| | | <if test="deliveryDetail.quantity != null and deliveryDetail.quantity != ''"> |
| | | and dd.quantity regexp #{deliveryDetail.quantity} |
| | | </if> |
| | | <if test="deliveryDetail.deliveryDetailRemakes != null and deliveryDetail.deliveryDetailRemakes != ''"> |
| | | and dd.delivery_detail_remakes regexp #{deliveryDetail.deliveryDetailRemakes} |
| | | </if> |
| | | <if test="deliveryDetail.createTime != null and deliveryDetail.createTime != ''"> |
| | | and dd.create_time regexp #{deliveryDetail.createTime} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.paymentTerms != null and deliveryDetail.delivery.paymentTerms != ''"> |
| | | and d.payment_terms regexp #{deliveryDetail.delivery.paymentTerms} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.project != null and deliveryDetail.delivery.project != ''"> |
| | | and d.project regexp #{deliveryDetail.delivery.project} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.customerId != null and deliveryDetail.delivery.customerId != ''"> |
| | | and d.customer_id regexp #{deliveryDetail.delivery.customerId} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.customerName != null and deliveryDetail.delivery.customerName != ''"> |
| | | and d.customer_name regexp #{deliveryDetail.delivery.customerName} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.deliveryDate != null and deliveryDetail.delivery.deliveryDate != ''"> |
| | | and d.delivery_date regexp #{deliveryDetail.delivery.deliveryDate} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.payMethod != null and deliveryDetail.delivery.payMethod != ''"> |
| | | and d.pay_method regexp #{deliveryDetail.delivery.payMethod} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.payDate != null and deliveryDetail.delivery.payDate != ''"> |
| | | and d.pay_date regexp #{deliveryDetail.delivery.payDate} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.salesman != null and deliveryDetail.delivery.salesman != ''"> |
| | | and d.salesman regexp #{deliveryDetail.delivery.salesman} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.creator != null and deliveryDetail.delivery.creator != ''"> |
| | | and d.creator regexp #{deliveryDetail.delivery.creator} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.contacts != null and deliveryDetail.delivery.contacts != ''"> |
| | | and d.contacts regexp #{deliveryDetail.delivery.contacts} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.contactNumber != null and deliveryDetail.delivery.contactNumber != ''"> |
| | | and d.contact_number regexp #{deliveryDetail.delivery.contactNumber} |
| | | </if> |
| | | <if test="deliveryDetail.delivery.deliveryAddress != null and deliveryDetail.delivery.deliveryAddress != ''"> |
| | | and d.delivery_address regexp #{deliveryDetail.delivery.deliveryAddress} |
| | | </if> |
| | | |
| | | </where> |
| | | order by dd.delivery_id,dd.delivery_number |
| | | limit #{offset},#{pageSize}; |
| | | </select> |
| | | </mapper> |