Merge branch 'master' of http://10.153.19.25:10101/r/ERP_override
| | |
| | | } |
| | | }, |
| | | { |
| | | tid: 'icon', title: '商标', data: '', type: 'text', |
| | | options: { |
| | | field: 'icon', |
| | | testData: '', |
| | | width:270, |
| | | height: 16, |
| | | fontSize: 11.25, |
| | | textAlign: "left", |
| | | textContentVerticalAlign: "middle" |
| | | } |
| | | }, |
| | | { |
| | | tid: 'orderType', title: '订单类型', data: '', type: 'text', |
| | | options: { |
| | | field: 'orderType', |
| | |
| | | } |
| | | const changeTag = () => { |
| | | const json = JSON.parse(tag.value.value) |
| | | //json.panels[0].printElements[0].options.fields.push({text: '序号尺寸', field: 'numberSize'}) |
| | | //json.panels[0].printElements[0].options.fields.push({text: '商标', field: 'icon'}) |
| | | |
| | | hiprintTemplate.value.setPaper(json.panels[0].width, json.panels[0].height) |
| | | hiprintTemplate.value.update(json) |
| | |
| | | }, |
| | | { |
| | | value: '1', |
| | | label: '初始工程', |
| | | label: '初始状态,1', |
| | | }, |
| | | { |
| | | value: '2', |
| | | label: '第一次优化', |
| | | label: '第一次优化,2', |
| | | }, |
| | | { |
| | | value: '10', |
| | | label: '模拟计算保存', |
| | | label: '模拟计算,10', |
| | | }, |
| | | { |
| | | value: '20', |
| | | label: '优化保存', |
| | | label: '优化完成,20', |
| | | }, |
| | | { |
| | | value: '100', |
| | | label: '允许生产', |
| | | label: '生产可见,100', |
| | | }, |
| | | { |
| | | value: '200', |
| | | label: '已领取', |
| | | label: '生产领取,200', |
| | | }, |
| | | ] |
| | | |
| | |
| | | // 原片面积固定为0,直接返回0 |
| | | const originalPieceAreaInput = 0; |
| | | |
| | | //日期左侧栏快捷选项 |
| | | const shortcuts = [ |
| | | { |
| | | text: '当日', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date(end) |
| | | start.setHours(0, 0, 0, 0) // 设置为当天的凌晨 00:00:00 |
| | | return [start, end] |
| | | } |
| | | }, |
| | | { |
| | | text: '近1周', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setDate(start.getDate() - 7) |
| | | return [start, end] |
| | | } |
| | | }, |
| | | |
| | | { |
| | | text: '近1个月', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setMonth(start.getMonth() - 1) |
| | | return [start, end] |
| | | } |
| | | }, |
| | | { |
| | | text: '近2个月', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setMonth(start.getMonth() - 2) |
| | | return [start, end] |
| | | } |
| | | }, |
| | | { |
| | | text: '近3个月', |
| | | value: () => { |
| | | const end = new Date() |
| | | const start = new Date() |
| | | start.setMonth(start.getMonth() - 3) |
| | | return [start, end] |
| | | } |
| | | } |
| | | ] |
| | | |
| | | </script> |
| | | |
| | |
| | | :start-placeholder="$t('basicData.startDate')" |
| | | :end-placeholder="$t('basicData.endDate')" |
| | | type="daterange" |
| | | :shortcuts="shortcuts" |
| | | showToday |
| | | format="YYYY/MM/DD" |
| | | value-format="YYYY-MM-DD" |
| | | /> |
| | |
| | | xGrid.value.loadData(updatedData); |
| | | } catch (error) { |
| | | console.error('更新表格数据时出错:', error); |
| | | // 这里可以根据实际需求添加一些回滚操作或者提示用户的逻辑,比如显示一个错误提示框等 |
| | | ElMessage.error('更新表格数据时出现错误,请检查输入或联系管理员'); |
| | | } |
| | | } else { |
| | |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'price', |
| | | width: 150, |
| | | title: t('单价'), |
| | | filters: [{data: ''}], |
| | | slots: {filter: 'num1_filter'}, |
| | | sortable: true |
| | | }, |
| | | { |
| | | field: 'remark', |
| | | width: 150, |
| | | title: t('basicData.remarks'), |
| | |
| | | <div class="row5"> |
| | | <span style="white-space: pre-wrap;font-size: 6pt">{{ item.building_number?item.building_number.replace(/\r|\n|\s/g,''):'' }}</span> |
| | | <span v-if="item.bend_radius!=null">R={{item.bend_radius}}</span> |
| | | </div> |
| | | <div class="row6"> |
| | | <span>{{item.glass_child}}</span> |
| | | <br> |
| | | <span v-if="company.showDeliveryCreator" >{{item.processing_note}}</span> |
| | | <span v-else style="font-size: 6pt">{{item.processing_note}}</span> |
| | | </div> |
| | | <div class="row6"> |
| | | <span>{{item.glass_child}}</span> |
| | | |
| | | </div> |
| | | |
| | | <div class="row5"> |
| | | <span>{{item.project}}</span> |
| | | </div> |
| | |
| | | #entirety{ |
| | | text-align: center; |
| | | width: 180px; |
| | | height: 87px; |
| | | height: 90px; |
| | | margin-bottom: 10px; |
| | | margin-right: 5px; |
| | | overflow: hidden; |
| | |
| | | |
| | | .row5 { |
| | | margin-top: 5px; |
| | | height: 15px; |
| | | height: 18px; |
| | | font-weight: bold; |
| | | font-size: 6pt; |
| | | } |
| | |
| | | const titleSelectJson = ref({ |
| | | processType: [], |
| | | }) |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | //第一次加载数据 |
| | | request.post(`/report/orderPlanDecomposition/${startTime}/${endTime}`, filterData.value).then((res) => { |
| | | request.post(`/report/orderPlanDecomposition/${startTime}/${newEndTime}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | // total.dataTotal = res.data.total.total*1 |
| | |
| | | const selectPageList = () => { |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | |
| | | request.post(`/report/selectReportingWork/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${inputVal}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/report/selectReportingWork/${pageNum.value}/${total.pageSize}/${startTime}/${newEndTime}/${inputVal}`, filterData.value).then((res) => { |
| | | if (res.code == 200) { |
| | | |
| | | |
| | |
| | | |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | request.post(`/report/orderPlanDecomposition/${startTime}/${endTime}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/report/orderPlanDecomposition/${startTime}/${newEndTime}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | // total.dataTotal = res.data.total.total*1 |
| | |
| | | import {changeFilterEvent, filterChanged} from "@/hook" |
| | | |
| | | import { useI18n } from 'vue-i18n' |
| | | import footSum from "@/hook/footSum"; |
| | | //语言获取 |
| | | const { t } = useI18n() |
| | | let router=useRouter() |
| | |
| | | data: [ |
| | | ],//table body实际数据 |
| | | //脚部求和 |
| | | // footerMethod ({ columns, data }) {//页脚函数 |
| | | // let footList=['7','8','9','10'] |
| | | // return[ |
| | | // columns.map((column, columnIndex) => { |
| | | // if (columnIndex === 0) { |
| | | // return '合计:' |
| | | // } |
| | | // if (footList.includes(column.field)) { |
| | | // return sumNum(data, column.field) |
| | | // } |
| | | // return '' |
| | | // }) |
| | | // ] |
| | | // } |
| | | footerMethod ({ columns, data }) {//页脚函数 |
| | | |
| | | return[ |
| | | columns.map((column, columnIndex) => { |
| | | if (columnIndex === 0) { |
| | | return t('basicData.total') |
| | | } |
| | | const List = ["quantity","broken_num","inventory",] |
| | | if (List.includes(column.field)) { |
| | | console.log(data) |
| | | console.log(column.field) |
| | | return footSum(data, column.field) |
| | | } |
| | | return '' |
| | | }) |
| | | ] |
| | | }, |
| | | |
| | | }) |
| | | |
| | |
| | | const getWorkOrder = () => { |
| | | let startTime = time.date1[0] |
| | | let endTime = time.date1[1] |
| | | request.post(`/report/taskCompletionStatus/${startTime}/${endTime}`,column).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/report/taskCompletionStatus/${startTime}/${newEndTime}`,column).then((res) => { |
| | | if (res.code == 200) { |
| | | if(res.data.data.length===0){ |
| | | ElMessage.warning(t('report.noDataFoundForThisOrder')) |
| | |
| | | const titleSelectJson = ref({ |
| | | processType: [], |
| | | }) |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | //第一次加载数据 |
| | | request.post(`/report/teamOutput/1/${total.pageSize}/${startTime}/${endTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | request.post(`/report/teamOutput/1/${total.pageSize}/${startTime}/${newEndTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | total.dataTotal = res.data.total.total*1 |
| | |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | let selectProcesses = procseeValue.value |
| | | |
| | | request.post(`/report/teamOutput/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/report/teamOutput/${pageNum.value}/${total.pageSize}/${startTime}/${newEndTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | if (res.code == 200) { |
| | | |
| | | |
| | |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | let selectProcesses = procseeValue.value |
| | | |
| | | request.post(`/report/teamOutput/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/report/teamOutput/${pageNum.value}/${total.pageSize}/${startTime}/${newEndTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | total.dataTotal = res.data.total.total * 1 |
| | |
| | | |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | request.post(`/report/teamOutput/1/${total.pageSize}/${startTime}/${endTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/report/teamOutput/1/${total.pageSize}/${startTime}/${newEndTime}/${selectProcesses}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | total.dataTotal = res.data.total.total*1 |
| | |
| | | :start-placeholder="$t('basicData.startDate')" |
| | | :end-placeholder="$t('basicData.endDate')" |
| | | format="YYYY/MM/DD" |
| | | style="width: 100px" |
| | | style="width: 250px" |
| | | type="daterange" |
| | | value-format="YYYY-MM-DD" |
| | | /> |
| | |
| | | dataTotal : 0, |
| | | pageSize : 100 |
| | | }) |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | //第一次加载数据 |
| | | request.post(`/reportingWork/selectReportingWork/1/${total.pageSize}/${startTime}/${endTime}/${inputVal}`, filterData.value).then((res) => { |
| | | request.post(`/reportingWork/selectReportingWork/1/${total.pageSize}/${startTime}/${newEndTime}/${inputVal}`, filterData.value).then((res) => { |
| | | |
| | | if (res.code == 200) { |
| | | total.dataTotal = res.data.total.total*1 |
| | |
| | | if (inputVal == '') { |
| | | inputVal = null |
| | | } |
| | | request.post(`/reportingWork/selectReportingWork/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${inputVal}`,filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/reportingWork/selectReportingWork/${pageNum.value}/${total.pageSize}/${startTime}/${newEndTime}/${inputVal}`,filterData.value).then((res) => { |
| | | if(res.code==200){ |
| | | |
| | | |
| | |
| | | if (inputVal == '') { |
| | | inputVal = null |
| | | } |
| | | request.post(`/reportingWork/selectReportingWork/${pageNum.value}/${total.pageSize}/${startTime}/${endTime}/${inputVal}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/reportingWork/selectReportingWork/${pageNum.value}/${total.pageSize}/${startTime}/${newEndTime}/${inputVal}`, filterData.value).then((res) => { |
| | | if (res.code == 200) { |
| | | total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal= res.data.total.pageTotal |
| | |
| | | //获取选中时间 |
| | | let startTime = form.date1[0] |
| | | let endTime = form.date1[1] |
| | | |
| | | request.post(`/reportingWork/selectReportingWork/1/${total.pageSize}/${startTime}/${endTime}/${inputVal}`, filterData.value).then((res) => { |
| | | let date = new Date(endTime); // 将日期字符串转为 Date 对象 |
| | | // 使用 setDate 方法加一天 |
| | | date.setDate(date.getDate() + 1); |
| | | let newEndTime = date.toISOString().split('T')[0]; // 获取 YYYY-MM-DD 格式的字符串 |
| | | request.post(`/reportingWork/selectReportingWork/1/${total.pageSize}/${startTime}/${newEndTime}/${inputVal}`, filterData.value).then((res) => { |
| | | if(res.code==200){ |
| | | total.dataTotal = res.data.total.total*1 |
| | | total.pageTotal=parseInt(res.data.total) |
| | |
| | | keyboardConfig:{ |
| | | isArrow: true, |
| | | isDel: true, |
| | | isEnter: true, |
| | | //isEnter: true, |
| | | isTab: true, |
| | | isEdit: true, |
| | | isChecked: true |
| | |
| | | } |
| | | if(evnt.$event.keyCode === 13 ){ |
| | | const { rowIndex,row,column } = xGrid.value.getSelectedCell() || xGrid.value.getEditRecord() |
| | | let nextRowIndex = xGrid.value.getRowIndex(row) + 1; |
| | | if (nextRowIndex < xGrid.value.getTableData().fullData.length) { |
| | | let nextRowIndex = xGrid.value.getRowIndex(row) + 1 |
| | | |
| | | |
| | | switch (column.field){ |
| | | case 'width': |
| | | xGrid.value.setSelectCell(row, 'height') |
| | | break; |
| | | case 'height': |
| | | xGrid.value.setSelectCell(row, 'quantity') |
| | | break; |
| | | case 'quantity': |
| | | if(nextRowIndex === length){ |
| | | xGrid.value.insertAt({}, xGrid.value.getTableData.length || -1) |
| | | } |
| | | const nextRow = xGrid.value.getTableData().fullData[nextRowIndex] |
| | | xGrid.value.setCurrentRow(nextRow) |
| | | xGrid.value.scrollToRow(nextRow) |
| | | xGrid.value.setSelectCell(nextRow, 'width') |
| | | break; |
| | | default: |
| | | /*if (nextRowIndex < length) { |
| | | const nextRow = xGrid.value.getTableData().fullData[nextRowIndex] |
| | | xGrid.value.setCurrentRow(nextRow) |
| | | xGrid.value.scrollToRow(nextRow) |
| | | xGrid.value.setSelectCell(nextRow, column.field) |
| | | }*/ |
| | | if(nextRowIndex === length){ |
| | | xGrid.value.insertAt({}, xGrid.value.getTableData.length || -1) |
| | | } |
| | | const nextRow1 = xGrid.value.getTableData().fullData[nextRowIndex] |
| | | xGrid.value.setCurrentRow(nextRow1) |
| | | xGrid.value.scrollToRow(nextRow1) |
| | | xGrid.value.setSelectCell(nextRow1, column.field) |
| | | break; |
| | | |
| | | } |
| | | |
| | | |
| | | |
| | | /*if (nextRowIndex < xGrid.value.getTableData().fullData.length) { |
| | | xGrid.value.setCurrentRow(xGrid.value.getTableData().fullData[nextRowIndex]); |
| | | } |
| | | if(rowIndex === length-1){ |
| | | xGrid.value.insertAt({}, xGrid.value.getTableData.length || -1) |
| | | } |
| | | }*/ |
| | | |
| | | } |
| | | if(evnt.$event.keyCode === 38 ){ |
| | |
| | | import io.swagger.annotations.ApiOperation; |
| | | import org.springframework.web.bind.annotation.*; |
| | | |
| | | import java.util.Map; |
| | | |
| | | @RestController |
| | | @Api(value="用户controller",tags={"用户操作接口"}) |
| | | @RequestMapping("/userInfo") |
| | |
| | | return Result.seccess(userService.findAll()); |
| | | } |
| | | |
| | | @ApiOperation("app查询报工班组列表") |
| | | @PostMapping("findByAddress") |
| | | public Result findByAddress(@RequestBody Map<String,String> userName){ |
| | | return Result.seccess(userService.findByAddress(userName)); |
| | | } |
| | | |
| | | @ApiOperation("查询所有工序") |
| | | @SaCheckPermission("userList.search") |
| | | @PostMapping("selectProcess") |
| | |
| | | import com.baomidou.mybatisplus.annotation.IdType; |
| | | import com.baomidou.mybatisplus.annotation.TableField; |
| | | import com.baomidou.mybatisplus.annotation.TableId; |
| | | import com.example.erp.entity.sd.DeliveryDetail; |
| | | import com.example.erp.entity.sd.Order; |
| | | import com.example.erp.entity.sd.OrderDetail; |
| | | import com.example.erp.entity.sd.OrderGlassDetail; |
| | | import com.fasterxml.jackson.annotation.JsonFormat; |
| | | import lombok.Data; |
| | | |
| | | import java.time.LocalDate; |
| | | import java.time.LocalDateTime; |
| | | |
| | | @Data |
| | |
| | | |
| | | List<Map<String, String>> selectReplenishPrintMp(Date selectTime1, Date selectTime2, FlowCard flowCard); |
| | | |
| | | List<Map<String, Object>> getRepairPrintCustomData(String processId, String technologyNumber, String reportingWorkId); |
| | | List<Map<String, Object>> getRepairPrintCustomData(String processId, String technologyNumber, String reportingWorkId, Integer orderNumber); |
| | | |
| | | List<Map<String, Object>> getGlassNumber(String technologyNumber, String processId); |
| | | |
| | |
| | | |
| | | List<Map<String, String>> selectPrintNotMergeMp(String orderId); |
| | | |
| | | List<Map<String, String>> getRepairPrintCustomDataSemi(String processId, String technologyNumber, String reportingWorkId); |
| | | List<Map<String, String>> getRepairPrintCustomDataSemi(String processId, String technologyNumber, String reportingWorkId, Integer orderNumber); |
| | | |
| | | List<Map<String, String>> selectPrintAllMp(String orderId); |
| | | |
| | |
| | | |
| | | |
| | | import com.baomidou.mybatisplus.core.mapper.BaseMapper; |
| | | import com.example.erp.controller.dto.UserDTO; |
| | | import com.example.erp.entity.userInfo.User; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | |
| | | Boolean updateUserNameById(Integer id,String userName); |
| | | |
| | | Boolean updateProcessMp(Integer id, String process); |
| | | |
| | | List<User> findByAddress(String userName); |
| | | } |
| | |
| | | for (FlowCard flowCard : flowCardList) { |
| | | if (lableType != 2){//成品标签 |
| | | Map<String, Object> itemmap = new HashMap<>(); |
| | | itemmap.put("data", flowCardMapper.getRepairPrintCustomData(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getReportingWorkId())); |
| | | itemmap.put("data", flowCardMapper.getRepairPrintCustomData(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getReportingWorkId(),flowCard.getOrderNumber())); |
| | | list.add(itemmap); |
| | | } |
| | | else{//小片标签 |
| | | Map<String, Object> itemmap = new HashMap<>(); |
| | | itemmap.put("data", flowCardMapper.getRepairPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getReportingWorkId())); |
| | | itemmap.put("data", flowCardMapper.getRepairPrintCustomDataSemi(flowCard.getProcessId(),flowCard.getTechnologyNumber(),flowCard.getReportingWorkId(),flowCard.getOrderNumber())); |
| | | list.add(itemmap); |
| | | } |
| | | |
| | |
| | | } else { |
| | | reportingWork.setReviewedState(0); |
| | | } |
| | | if(reportingWork.getReportingWorkTime()==null){ |
| | | LocalDateTime localDateTime = LocalDateTime.now(); |
| | | reportingWork.setReportingWorkTime(localDateTime); |
| | | } |
| | | |
| | | reportingWork.setNextProcess(orderProcessDetailMapper.selectNextProcess(processIdStr[0],processIdStr[1],reportingWork.getThisProcess())); |
| | | //主表插入 |
| | |
| | | |
| | | private String getOrderId(String dateType){ |
| | | String orderId = null; |
| | | if(dateType.equals("day")){ |
| | | if(dateType==null || dateType.equals("day")){ |
| | | Integer maxOrderId = orderMapper.selectMaxOrderId(); |
| | | //查询订单id,并且自增 |
| | | String formattedNumber = String.format("%02d", maxOrderId+1); |
| | |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; |
| | | import com.example.erp.controller.dto.UserDTO; |
| | | import com.example.erp.entity.userInfo.PermissionBasic; |
| | | import com.example.erp.entity.userInfo.Role; |
| | | import com.example.erp.entity.userInfo.SysError; |
| | | import com.example.erp.entity.userInfo.User; |
| | | import com.example.erp.mapper.pp.ProductionSchedulingMapper; |
| | | import com.example.erp.mapper.userInfo.*; |
| | | import com.example.erp.tools.TokenTools; |
| | | import org.springframework.beans.factory.annotation.Autowired; |
| | | import org.springframework.cache.annotation.CacheEvict; |
| | | import org.springframework.cache.annotation.Cacheable; |
| | | import org.springframework.stereotype.Service; |
| | | import org.springframework.transaction.annotation.Transactional; |
| | | import org.springframework.transaction.interceptor.TransactionAspectSupport; |
| | | |
| | | import java.util.Collections; |
| | | import java.util.HashMap; |
| | | import java.util.List; |
| | | import java.util.Map; |
| | | import java.util.*; |
| | | |
| | | @Service |
| | | @DS("user_info") |
| | |
| | | public Boolean updateProcessSv(Integer id, String process) { |
| | | return userMapper.updateProcessMp(id,process); |
| | | } |
| | | |
| | | public Object findByAddress(Map<String,String> userName) { |
| | | if(Objects.equals(userName.get("userName"), "")){ |
| | | userName.put("userName", null) ; |
| | | } |
| | | List<User> users = userMapper.findByAddress(userName.get("userName")); |
| | | List<Map<String,Object>> userList = new ArrayList<>(); |
| | | users.forEach(user -> { |
| | | Map<String,Object> userMap = new HashMap<>(); |
| | | userMap.put("value", user.getLoginName()); |
| | | userMap.put("text", user.getUserName()); |
| | | userList.add(userMap); |
| | | }); |
| | | Map<String,List<Object>> map = new HashMap<>(); |
| | | |
| | | map.put("users", Collections.singletonList(userList)); |
| | | return map; |
| | | } |
| | | } |
| | | |
| | |
| | | left join sd.customer as c on c.id = o.customer_id |
| | | left join sd.product_detail as pd on pd.prod_id = p.id and pd.sort_num = od.order_number |
| | | where pl.process_id = #{processId} |
| | | and pl.order_sort=#{orderNumber} |
| | | and pl.technology_number = #{technologyNumber} |
| | | and pl.reporting_work_id = #{reportingWorkId} |
| | | group by od.order_number, width, height |
| | |
| | | on ogd.order_id = o.order_id and ogd.order_number = od.order_number and |
| | | ogd.technology_number = fc.technology_number |
| | | where pl.process_id = #{processId} |
| | | and pl.order_sort=#{orderNumber} |
| | | and pl.technology_number = #{technologyNumber} |
| | | and pl.reporting_work_id = #{reportingWorkId} |
| | | group by od.order_number, width, height |
| | |
| | | d.shape , |
| | | op.process_cards , |
| | | d.product_name , |
| | | d.price, |
| | | op.remark , |
| | | d.building_number , |
| | | round(((`g`.`child_width` + g.child_height) * 2 * `f`.`quantity`),2) as perimeter , |
| | | round(((`g`.`child_width`/ 1000 + g.child_height / 1000) * 2 * `f`.`quantity`),2) as perimeter , |
| | | round((`g`.`area` * `f`.`quantity`),4) AS area, |
| | | f.technology_number , |
| | | g.glass_child , |
| | |
| | | on o.order_id = od.order_id |
| | | where LENGTH(fc.process_id) = 14 |
| | | and odpd.process = #{selectProcesses} |
| | | and rw.reporting_work_time >= #{selectTime1} |
| | | AND rw.reporting_work_time < #{selectTime2} |
| | | and o.create_time >= #{selectTime1} |
| | | AND o.create_time < #{selectTime2} |
| | | and position(#{orderId} in od.order_id) |
| | | and position(#{inputProject} in o.project) |
| | | and fc.quantity - odpd.reporting_work_num>0 |
| | |
| | | ) as reportWorkQuantityCount |
| | | FROM sd.order_process_detail as a |
| | | left join sd.`order` as o on o.order_id = a.order_id |
| | | where DATE_FORMAT((o.create_time), '%Y-%m-%d') BETWEEN #{selectTime1} and #{selectTime2} |
| | | where o.create_time >= #{selectTime1} |
| | | AND o.create_time < #{selectTime2} |
| | | GROUP BY process_id, a.technology_number) as e |
| | | on e.process_id = c.process_id |
| | | and e.technology_number = c.technology_number |
| | | left join sd.delivery_detail as dd on dd.order_id = a.order_id and dd.order_number = a.order_number |
| | | where DATE_FORMAT((d.create_time), '%Y-%m-%d') BETWEEN #{selectTime1} and #{selectTime2} |
| | | where d.create_time >= #{selectTime1} |
| | | AND d.create_time < #{selectTime2} |
| | | and reportWorkQuantity is not null |
| | | GROUP BY a.order_id |
| | | ORDER BY a.order_id |
| | |
| | | FROM sd.`order` AS a |
| | | LEFT JOIN reporting_work AS b ON a.order_id = b.order_id |
| | | WHERE b.this_process = '切割' |
| | | AND DATE_FORMAT((a.create_time), '%Y-%m-%d') BETWEEN #{selectTime1} and #{selectTime2} |
| | | and a.create_time >= #{selectTime1} |
| | | AND a.create_time < #{selectTime2} |
| | | GROUP BY a.order_id) AS orw ON orw.order_id = o.order_id |
| | | LEFT JOIN (SELECT a.order_id, |
| | | SUM(b.reporting_work_num) AS completionsNum |
| | | FROM sd.`order` AS a |
| | | LEFT JOIN sd.order_process_detail AS b ON a.order_id = b.order_id |
| | | WHERE b.process = '包装' |
| | | AND DATE_FORMAT((a.create_time), '%Y-%m-%d') BETWEEN #{selectTime1} and #{selectTime2} |
| | | and a.create_time >= #{selectTime1} |
| | | AND a.create_time < #{selectTime2} |
| | | GROUP BY a.order_id) AS oopd ON oopd.order_id = o.order_id |
| | | LEFT JOIN reporting_work AS rw ON rw.order_id = fc.order_id |
| | | AND rw.process_id = fc.process_id |
| | | WHERE DATE_FORMAT((o.create_time), '%Y-%m-%d') BETWEEN #{selectTime1} and #{selectTime2} |
| | | WHERE o.create_time >= #{selectTime1} |
| | | AND o.create_time < #{selectTime2} |
| | | AND fc.create_time IS NOT NULL |
| | | GROUP BY o.order_id |
| | | </select> |
| | |
| | | left join sd.order_detail as od on od.order_id=ogd.order_id and od.order_number=ogd.order_number |
| | | left join sd.`order` as o on o.order_id=od.order_id |
| | | where o.create_order>0 and rw.reviewed_state>=0 and rwd.completed_quantity>0 and |
| | | DATE_FORMAT((rw.reporting_work_time), '%Y-%m-%d') between #{selectTime1} and #{selectTime2} |
| | | rw.reporting_work_time >= #{selectTime1} |
| | | AND rw.reporting_work_time < #{selectTime2} |
| | | and position(#{selectProcesses} in rw.this_process) |
| | | <if test="teamOutputDTO.thisProcess != null and teamOutputDTO.thisProcess != ''"> |
| | | and rw.this_process regexp #{teamOutputDTO.thisProcess} |
| | |
| | | left join sd.order_detail as od on od.order_id=ogd.order_id and od.order_number=ogd.order_number |
| | | left join sd.`order` as o on o.order_id=od.order_id |
| | | where o.create_order>0 and rw.reviewed_state>=0 and rwd.completed_quantity>0 and |
| | | DATE_FORMAT((rw.reporting_work_time), '%Y-%m-%d') between #{selectTime1} and #{selectTime2} |
| | | rw.reporting_work_time >= #{selectTime1} |
| | | AND rw.reporting_work_time < #{selectTime2} |
| | | and position(#{selectProcesses} in rw.this_process) |
| | | <if test="teamOutputDTO.thisProcess != null and teamOutputDTO.thisProcess != ''"> |
| | | and rw.this_process regexp #{teamOutputDTO.thisProcess} |
| | |
| | | on rwd.reporting_work_id = rw.reporting_work_id and rwd.order_number = ogd.order_number and |
| | | rwd.technology_number = ogd.technology_number |
| | | where rw.reviewed_state != 2 |
| | | and DATE_FORMAT((rw.reporting_work_time), '%Y-%m-%d') between #{selectTime1} and #{selectTime2} |
| | | and rw.reporting_work_time >= #{selectTime1} |
| | | AND rw.reporting_work_time < #{selectTime2} |
| | | and position(#{orderId} in rw.order_id) |
| | | and rw.reviewed_state!=-1 |
| | | and o.create_order>0 |
| | |
| | | on rwd.reporting_work_id = rw.reporting_work_id and rwd.order_number = ogd.order_number and |
| | | rwd.technology_number = ogd.technology_number |
| | | where rw.reviewed_state != 2 |
| | | and DATE_FORMAT((rw.reporting_work_time), '%Y-%m-%d') between #{selectTime1} and #{selectTime2} and position(#{orderId} in rw.order_id) |
| | | and rw.reporting_work_time >= #{selectTime1} |
| | | AND rw.reporting_work_time < #{selectTime2} and position(#{orderId} in rw.order_id) |
| | | and rw.reviewed_state!=-1 |
| | | and o.create_order>0 |
| | | <if test="reportingWork.reportingWorkId != null and reportingWork.reportingWorkId != ''"> |
| | |
| | | select |
| | | max(a.technology_number) as rowCount, |
| | | RowNum |
| | | from order_process_detail as a |
| | | from sd.order_process_detail as a |
| | | left join |
| | | (select min((@i:=@i+1)) AS RowNum,c.* |
| | | from sd.order_glass_detail as c, |
| | |
| | | on b.role_id = c.id |
| | | where state =1 and a.id != 1 |
| | | </select> |
| | | <select id="findByAddress" resultMap="findAllMap"> |
| | | SELECT a.*, |
| | | b.role_id, |
| | | c.role |
| | | FROM erp_user_info.user as a |
| | | left join user_role as b |
| | | on a.id = b.user_id |
| | | left join role as c |
| | | on b.role_id = c.id |
| | | where state =1 and a.id != 1 and address is not null and address !='' |
| | | <if test="userName != null and userName != '' and userName != 'null'"> |
| | | and user_name like concat('%',#{userName},'%') |
| | | </if> |
| | | </select> |
| | | |
| | | <select id="findOne" > |
| | | SELECT * |