Merge branch 'master' of http://bore.pub:10439/r/ERP_override
| | |
| | | <template> |
| | | <!-- <el-button id="printButton" @click="printFlowCard();">{{ $t('basicData.print') }}</el-button>--> |
| | | <div id="printFlowCard"> |
| | | <table v-for="(item,id) in produceList" id="contentTable" :key="id"> |
| | | <table v-for="(item,id) in produceList" id="contentTable" :key="id" style="border-bottom: none"> |
| | | <thead> |
| | | <tr v-for="(itemFlow,index) in item.detail" :key="index"> |
| | | <td colspan="29"> |
| | |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | </tr> |
| | | <tr> |
| | | <td>质检签名</td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2">生产签名</td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | <td colspan="2"></td> |
| | | </tr> |
| | | |
| | | <tr> |
| | | <td>原片箱号</td> |
| | | <td colspan="28"></td> |
| | |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | |
| | | <tr style="border-bottom: none"> |
| | | <td colspan="29" style="text-align: left;border-bottom: none;"> |
| | | <div> |
| | | <span>质检签名:</span> |
| | | <span style="margin-left: 300px">生产签名:</span> |
| | | </div> |
| | | </td> |
| | | </tr> |
| | | </tfoot> |
| | | </table> |
| | | |
| | | </div> |
| | | |
| | | </template> |
| | |
| | | margin: 0; |
| | | padding: 0; |
| | | } |
| | | |
| | | td,input{ |
| | | text-align: center; |
| | | } |
| | |
| | | 次破原因:{{itemtextarea.breakage_reason}} |
| | | 责任工序:{{itemtextarea.responsible_process}} |
| | | 责任班组:{{itemtextarea.responsible_team}} |
| | | <span v-if="itemtextarea.responsible_personnel!=null">责任信息:{{itemtextarea.responsible_personnel}}</span> |
| | | </div> |
| | | </td> |
| | | |
| | |
| | | 次破原因:{{itemtextarea.breakage_reason}} |
| | | 责任工序:{{itemtextarea.responsible_process}} |
| | | 责任班组:{{itemtextarea.responsible_team}} |
| | | <span v-if="itemtextarea.responsible_personnel!=null">责任信息:{{itemtextarea.responsible_personnel}}</span> |
| | | </div> |
| | | </td> |
| | | <td>完工签名</td> |
| | |
| | | return |
| | | } |
| | | let flowData = ref({ |
| | | |
| | | userId:userid, |
| | | userName:username, |
| | | patchLog:selectRecords |
| | |
| | | import {useI18n} from 'vue-i18n' |
| | | import footSum from "@/hook/footSum" |
| | | import {changeFilterEvent,filterChanged} from "@/hook" |
| | | import userInfo from "@/stores/userInfo" |
| | | //语言获取 |
| | | const {t} = useI18n() |
| | | let productGlassTypeStore = useProductGlassTypeStore() |
| | | let router = useRouter() |
| | | const userStore = useUserInfoStore() |
| | | const username = userStore.user.userName |
| | | const user=userInfo() |
| | | let flag = $ref(true) |
| | | |
| | | function intoCreateProduct() { |
| | |
| | | let flowCardData = ref({ |
| | | flowCard: selectRecords, |
| | | userName: username, |
| | | productionId: productionId |
| | | productionId: productionId, |
| | | userId:user.user.userId |
| | | }) |
| | | |
| | | request.post("/processCard/addFlowCard", flowCardData.value).then((res) => { |
| | |
| | | import useUserInfoStore from '@/stores/userInfo' |
| | | import {toolbarButtonClickEvent} from "@/hook/mouseMove"; |
| | | import footSum from "@/hook/footSum" |
| | | import userInfo from "@/stores/userInfo" |
| | | //语言获取 |
| | | const {t} = useI18n() |
| | | const userStore = useUserInfoStore() |
| | | const user=userInfo() |
| | | let productGlassTypeStore = useProductGlassTypeStore() |
| | | let router = useRouter() |
| | | let props = defineProps({ |
| | |
| | | break |
| | | } |
| | | case 'delete': { |
| | | request.post(`/processCard/deleteFlowCard/${row.orderId}/${row.processId}`).then((res) => { |
| | | request.post(`/processCard/deleteFlowCard/${row.orderId}/${row.processId}/${user.user.userId}/${user.user.userName}`).then((res) => { |
| | | if (res.code == 200 && res.data === true) { |
| | | ElMessage.success(t('workOrder.deleteOk')) |
| | | router.push({path: '/main/processCard/SelectProcessCard', query: {random: Math.random()}}) |
| | |
| | | const selectPageList = () => { |
| | | 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) => { |
| | | if (res.code == 200) { |
| | |
| | | {field: 'code', width: 60, title: t('reportingWorks.glassNumber')}, |
| | | {field: 'width', width: 100, title: t('order.width')}, |
| | | {field: 'height', width: 100, title: t('order.height')}, |
| | | {field: 'shape', width: 90, title: t('order.shape')}, |
| | | {field: 'thickness', width: 90, title: t('order.totalThickness')}, |
| | | {field: 'edgingType', width: 110, title: t('order.edgingType'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'completedQuantity', width: 90, title: t('reportingWorks.completedQuantity')}, |
| | | {field: 'area', width: 100, title: t('reportingWorks.completedArea')}, |
| | | {field: 'productName', width: 150, title: t('order.product')}, |
| | | {field: 'productName', title: t('order.product')}, |
| | | ],//表头按钮 |
| | | |
| | | toolbarConfig: { |
| | |
| | | :layouts="[ 'PrevPage', 'Jump','PageCount', 'NextPage', 'Total']" |
| | | :total="total.dataTotal" |
| | | @page-change="handlePageChange" |
| | | |
| | | > |
| | | </vxe-pager> |
| | | </template> |
| | |
| | | {type: 'expand', fixed: "left", slots: {content: 'content'}, width: 50}, |
| | | {field: 'select',type:'checkbox',title: t('basicData.check'), width: 80,fixed:"left"}, |
| | | {type: 'seq', fixed: "left", title: t('basicData.Number'), width: 50}, |
| | | {field: 'reworkTeam', width: 120, title: t('rework.reworkTeam'), slots: {default: 'responsibleTeam_default', edit: 'responsibleTeam'}, editRender: {}}, |
| | | {field: 'orderId', width: 120, title: t('order.orderId'), sortable: true, showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'processId', width: 120, title: t('processCard.processId'), sortable: true, filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'reworkTeam', width: 160, title: t('rework.reworkTeam'), slots: {default: 'responsibleTeam_default', edit: 'responsibleTeam'}, editRender: {}}, |
| | | {field: 'orderId', width: 130, title: t('order.orderId'), sortable: true, showOverflow: "ellipsis", filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'processId', width: 140, title: t('processCard.processId'), sortable: true, filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'orderSort', width: 120, title: t('order.OrderNum'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'technologyNumber', width: 110, title: t('replenish.mark'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }, showOverflow: "ellipsis",filterMethod:filterChanged}, |
| | | {field: 'project', width: 120, title: t('order.project'), filters: [{data: ''}], slots: {filter: 'num1_filter'}, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'reworkProcesses', width: 120, title: t('rework.reworkProcess'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'reworkType', width: 120, title: t('rework.reworkType'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | |
| | | {field: 'responsibleEquipment', width: 120, title: t('reportingWorks.responsibleEquipment'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'responsibleTeam', width: 120, title: t('reportingWorks.responsibleTeam'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'batch', width: 90, title: t('order.batch'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }, showOverflow: "ellipsis",filterMethod:filterChanged}, |
| | | {field: 'orderSort', width: 120, title: t('order.OrderNum'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'technologyNumber', width: 110, title: t('replenish.mark'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' }, showOverflow: "ellipsis",filterMethod:filterChanged}, |
| | | {field: 'glassAddress', width: 120, title: t('replenish.sliceMarking'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'glassAddress', width: 120, title: t('replenish.sliceMarking'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'breakageQuantity', width: 120, title: t('reportingWorks.quantityBroken'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | | {field: 'reworkNum',width:120, title: t('productStock.reworkQuantity'),editRender: { name: 'input', attrs: { placeholder: '' } },filters:[{ data: '' }],slots: { filter: 'num1_filter' }}, |
| | | {field: 'width', width: 80, title: t('order.width'), sortable: true,filters:[{ data: '' }],slots: { filter: 'num1_filter' },filterMethod:filterChanged}, |
| | |
| | | {field: 'create_time', width: 100, title: t('productStock.productionDate')}, |
| | | {field: 'update_time', width: 120, title: t('productStock.approvedDate')}, |
| | | {field: 'product_name', width: 120, title: t('order.product'), filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | {field: 'reporting_work_id', width: 100,title: t('reportingWorks.reportingWorkId'),filters: [{data: ''}], slots: {filter: 'num1_filter'},filterMethod:filterChanged}, |
| | | |
| | | ],//表头按钮 |
| | | |
| | | toolbarConfig: { |
| | | buttons: [{ |
| | | 'name': t('basicData.review'),status: 'primary', |
| | | 'code':'add' |
| | | }], |
| | | buttons: [ |
| | | { |
| | | 'name': t('basicData.review'),status: 'primary', |
| | | 'code':'add' |
| | | }, |
| | | // { |
| | | // 'name': t('basicData.delete'),status: 'primary', |
| | | // 'code':'delete' |
| | | // } |
| | | ], |
| | | /*import: false, |
| | | export: true, |
| | | print: true,*/ |
| | |
| | | return; |
| | | |
| | | } |
| | | case 'delete': { |
| | | const $table = xGrid.value |
| | | if ($table) { |
| | | const selectRecords = $table.getCheckboxRecords() |
| | | if (selectRecords.length === 0) { |
| | | ElMessage.warning(t('productStock.unselectedData')) |
| | | return |
| | | } |
| | | let flowData = ref({ |
| | | userId:userid, |
| | | userName:username, |
| | | rework:selectRecords |
| | | |
| | | }) |
| | | request.post("/rework/deleteRework",flowData.value).then((res) => { |
| | | if(res.code==200 && res.data===true){ |
| | | ElMessage.success(t('basicData.msg.deleteSuccess')) |
| | | router.push({path:'/main/rework/SelectRework',query:{random:Math.random()}}) |
| | | |
| | | }else{ |
| | | ElMessage.warning(t('basicData.msg.deleteFail')) |
| | | router.push("/login") |
| | | } |
| | | }) |
| | | } |
| | | return |
| | | |
| | | } |
| | | |
| | | } |
| | | } |
| | |
| | | columns:[ |
| | | {title: t('basicData.operate'), width: 220, slots: { default: 'button_slot' },fixed:"left",}, |
| | | {field: 'orderNumber',fixed:"left",width:120, title: t('order.OrderNum'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'orderDetail.productId',fixed:"left",width:120, title: t('order.productId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true}, |
| | | {field: 'orderDetail.productId',fixed:"left",width:120, title: t('order.productId'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'orderDetail.productName',fixed:"left",width:120, title: t('order.product'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'technologyNumber',width:120, fixed:"left", title: t('craft.glassAddress'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | | {field: 'glassChild',width:120, title: t('craft.glassChild'),filters:[{ data: '' }],slots: { filter: 'num1_filter' }, sortable: true,filterMethod:filterChanged}, |
| | |
| | | //删除流程卡 |
| | | @ApiOperation("删除流程卡接口") |
| | | @SaCheckPermission("SelectProcessCard.delete") |
| | | @PostMapping("/deleteFlowCard/{orderId}/{processId}") |
| | | @PostMapping("/deleteFlowCard/{orderId}/{processId}/{userId}/{userName}") |
| | | public Result deleteOrderWork( |
| | | @PathVariable String orderId, |
| | | @PathVariable String processId |
| | | @PathVariable String processId, |
| | | @PathVariable String userId, |
| | | @PathVariable String userName |
| | | ) { |
| | | // if(flowCardService.deleteFlowCardSv(orderId,processId)){ |
| | | // return Result.seccess(); |
| | |
| | | // throw new ServiceException(Constants.Code_500,"删除失败,请检查是否已报工"); |
| | | // |
| | | // } |
| | | return Result.seccess(flowCardService.deleteFlowCardSv(orderId, processId)); |
| | | return Result.seccess(flowCardService.deleteFlowCardSv(orderId, processId,userId,userName)); |
| | | } |
| | | |
| | | //修改排版状态 |
| | |
| | | |
| | | } |
| | | |
| | | // @ApiOperation("补片删除接口") |
| | | // @SaCheckPermission("SelectReplenish.review") |
| | | // @PostMapping("/deleteReplenish") |
| | | // public Result deleteReplenish( @RequestBody Map<String,Object> object){ |
| | | // return Result.seccess(replenishService.deleteReplenishSv(object)); |
| | | // } |
| | | @ApiOperation("补片删除接口") |
| | | @SaCheckPermission("SelectReplenish.delete") |
| | | @PostMapping("/deleteReplenish") |
| | | public Result deleteReplenish( @RequestBody Map<String,Object> object){ |
| | | return Result.seccess(replenishService.deleteReplenishSv(object)); |
| | | } |
| | | } |
| | |
| | | return Result.seccess(reworkService.selectPrintSv(selectTime1,selectTime2, flowCard)); |
| | | |
| | | } |
| | | |
| | | @ApiOperation("返工删除接口") |
| | | @SaCheckPermission("SelectRework.delete") |
| | | @PostMapping("/deleteRework") |
| | | public Result deleteRework( @RequestBody Map<String,Object> object){ |
| | | return Result.seccess(reworkService.deleteReworkSv(object)); |
| | | } |
| | | } |
| | |
| | | private String width; |
| | | @ExcelProperty("高") |
| | | private String height; |
| | | @ExcelProperty("形状") |
| | | private String shape; |
| | | @ExcelProperty("厚度") |
| | | private String thickness; |
| | | // @ExcelProperty("形状") |
| | | // private String shape; |
| | | // @ExcelProperty("厚度") |
| | | // private String thickness; |
| | | @ExcelProperty("磨边类型") |
| | | private String edgingType; |
| | | @ExcelProperty("完工数量") |
| | |
| | | |
| | | import com.example.erp.entity.pp.PatchLog; |
| | | import com.example.erp.entity.pp.ReportingWork; |
| | | import com.example.erp.entity.pp.Rework; |
| | | import org.apache.ibatis.annotations.Mapper; |
| | | import org.apache.ibatis.annotations.Param; |
| | | |
| | |
| | | List<Map<String,Object>> getSelectReplenish(@Param("offset") Integer offset, @Param("pageSize") Integer pageSiz); |
| | | |
| | | |
| | | Boolean deleteReplenishMp(String patchId); |
| | | |
| | | Boolean updatePatchDdMp(String reportingWorkId, String orderSort, Integer technologyNumber, Integer qualityInspector); |
| | | |
| | | Boolean updatePatchBgMp(String reportingWorkId, String orderSort, Integer technologyNumber); |
| | | |
| | | |
| | | } |
| | | |
| | |
| | | List<Map<String,Object>> getSelectReplenish(@Param("offset") Integer offset, @Param("pageSize") Integer pageSiz); |
| | | |
| | | Integer getMaxFlowCard(@Param("processId") String processId); |
| | | |
| | | Boolean deleteReworkMp(String reworkId); |
| | | |
| | | Boolean updateReworkDdMp(String reportingWorkId, String orderSort, Integer technologyNumber, Integer reworkNum); |
| | | |
| | | Boolean updateReworkBgMp(String reportingWorkId, String orderSort, Integer technologyNumber); |
| | | } |
| | | |
| | |
| | | import com.example.erp.entity.pp.FlowCard; |
| | | import com.example.erp.entity.sd.OrderGlassDetail; |
| | | import com.example.erp.entity.sd.OrderProcessDetail; |
| | | import com.example.erp.entity.userInfo.Log; |
| | | import com.example.erp.mapper.pp.FlowCardMapper; |
| | | import com.example.erp.mapper.sd.OrderGlassDetailMapper; |
| | | import com.example.erp.mapper.sd.OrderProcessDetailMapper; |
| | | import com.example.erp.service.userInfo.LogService; |
| | | import com.fasterxml.jackson.databind.ObjectMapper; |
| | | import org.springframework.stereotype.Service; |
| | | |
| | |
| | | OrderGlassDetailMapper orderGlassDetailMapper; |
| | | final |
| | | OrderProcessDetailMapper orderProcessDetailMapper; |
| | | final |
| | | LogService logService; |
| | | |
| | | public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper) { |
| | | public FlowCardService(FlowCardMapper flowCardMapper, OrderGlassDetailMapper orderGlassDetailMapper, OrderProcessDetailMapper orderProcessDetailMapper,LogService logService) { |
| | | this.flowCardMapper = flowCardMapper; |
| | | this.orderGlassDetailMapper = orderGlassDetailMapper; |
| | | this.orderProcessDetailMapper = orderProcessDetailMapper; |
| | | this.logService= logService; |
| | | } |
| | | |
| | | //流程卡管理查询 |
| | |
| | | } |
| | | |
| | | //删除流程卡 |
| | | public Boolean deleteFlowCardSv(String orderId, String processId) { |
| | | public Boolean deleteFlowCardSv(String orderId, String processId, String userId, String userName) { |
| | | if (!orderId.isEmpty() && !processId.isEmpty()) { |
| | | //判断该流程卡是否报工 |
| | | Integer count = flowCardMapper.reportingWorkCount(processId); |
| | |
| | | //修改订单表分架状态为1,删除部分 |
| | | flowCardMapper.updateProcessingCard(orderId, 1); |
| | | } |
| | | |
| | | //保存日志 |
| | | Log log = new Log(); |
| | | log.setContent(orderId+processId); |
| | | log.setFunction("deleteFlowCardSv流程卡删除"); |
| | | log.setOperatorId(userId); |
| | | log.setOperator(userName); |
| | | logService.saveLog(log); |
| | | return true; |
| | | } else { |
| | | return false; |
| | |
| | | //赋值订单工艺表 |
| | | orderProcessDetailMapper.insertOrderProcessDetail(orderProcessDetailList); |
| | | } |
| | | |
| | | //保存日志 |
| | | Log log = new Log(); |
| | | log.setContent(object.toString()); |
| | | log.setFunction("addFlowCardSv流程卡新增"); |
| | | log.setOperatorId((String) object.get("userId")); |
| | | log.setOperator((String) object.get("userName")); |
| | | logService.saveLog(log); |
| | | return true; |
| | | } else { |
| | | return false; |
| | |
| | | List<PatchLog> patchLoglist = JSONArray.parseArray(JSONObject.toJSONString(object.get("patchLog")), PatchLog.class); |
| | | if (!patchLoglist.isEmpty()){ |
| | | for (PatchLog patchLog : patchLoglist) { |
| | | //删除补片表对应补片id数据 |
| | | patchMapper.deleteReplenishMp(patchLog.getPatchId()); |
| | | //修改次破明细表补片数量和状态 |
| | | patchMapper.updatePatchDdMp(patchLog.getReportingWorkId(),patchLog.getOrderSort(),patchLog.getTechnologyNumber(),patchLog.getPatchNum()); |
| | | //修改报工明细表状态 |
| | | patchMapper.updatePatchBgMp(patchLog.getReportingWorkId(),patchLog.getOrderSort(),patchLog.getTechnologyNumber()); |
| | | |
| | | } |
| | | } |
| | |
| | | public List exportTeamOutputSv(Map<String, Object> dates) { |
| | | List<LocalDate> date= (List<LocalDate>) dates.get("date"); |
| | | String process= (String) dates.get("processes"); |
| | | |
| | | if (process.equals("全部")){ |
| | | process=""; |
| | | } |
| | | return reportMapper.exportTeamOutputMp(date,process); |
| | | } |
| | | } |
| | |
| | | import com.baomidou.dynamic.datasource.annotation.DS; |
| | | import com.example.erp.entity.pp.BasicDataProduce; |
| | | import com.example.erp.entity.pp.FlowCard; |
| | | import com.example.erp.entity.pp.PatchLog; |
| | | import com.example.erp.entity.pp.Rework; |
| | | import com.example.erp.entity.userInfo.Log; |
| | | import com.example.erp.entity.userInfo.SysError; |
| | |
| | | map.put("type", flowCardMapper.selectType()); |
| | | return map; |
| | | } |
| | | |
| | | public Boolean deleteReworkSv(Map<String, Object> object) { |
| | | boolean saveState = true; |
| | | Object savePoint = TransactionAspectSupport.currentTransactionStatus().createSavepoint(); |
| | | try { |
| | | System.out.println(111111); |
| | | //获取对象集合循环进行新增修改 |
| | | List<Rework> reworklist = JSONArray.parseArray(JSONObject.toJSONString(object.get("rework")), Rework.class); |
| | | if (!reworklist.isEmpty()){ |
| | | for (Rework rework : reworklist) { |
| | | //删除返工表对应补片id数据 |
| | | reworkMapper.deleteReworkMp(rework.getReworkId()); |
| | | //修改次破明细表补片数量和状态 |
| | | reworkMapper.updateReworkDdMp(rework.getReportingWorkId(),rework.getOrderSort(),rework.getTechnologyNumber(),rework.getReworkNum()); |
| | | //修改报工明细表状态 |
| | | reworkMapper.updateReworkBgMp(rework.getReportingWorkId(),rework.getOrderSort(),rework.getTechnologyNumber()); |
| | | |
| | | } |
| | | } |
| | | |
| | | } catch (Exception e) { |
| | | TransactionAspectSupport.currentTransactionStatus().rollbackToSavepoint(savePoint); |
| | | //将异常传入数据库 |
| | | SysError sysError = new SysError(); |
| | | sysError.setError(e.toString()); |
| | | sysError.setFunc("saveOrder"); |
| | | sysErrorService.insert(sysError); |
| | | saveState = false; |
| | | |
| | | } |
| | | |
| | | return saveState; |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | |
| | | |
| | | |
| | | </resultMap> |
| | | |
| | | <select id="SelectWorkBasicTeams" resultMap="selectBasicDataProduce"> |
| | | select bdp.basic_name ,bd.basic_name as d_basic_name |
| | | from pp.basic_data_produce bdp |
| | | left join sd.basic_data bd on bdp.basic_category = bd.id |
| | | where bd.basic_name = #{process} |
| | | and bdp.basic_type = "teamsgroups" |
| | | SELECT user_name as basic_name,address as d_basic_name from erp_user_info.user |
| | | where address IS NOT NULL and address= #{process} |
| | | |
| | | </select> |
| | | |
| | | <!-- 查询工序--> |
| | |
| | | dd.breakage_reason, |
| | | dd.responsible_process, |
| | | dd.responsible_team, |
| | | concat('对应我司单号', o.batch) AS otherRemarks |
| | | concat('对应我司单号', o.batch) AS otherRemarks, |
| | | dd.responsible_personnel |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and |
| | |
| | | dd.breakage_reason, |
| | | dd.responsible_process, |
| | | dd.responsible_team, |
| | | concat('对应我司单号', o.batch) AS otherRemarks |
| | | concat('对应我司单号', o.batch) AS otherRemarks, |
| | | dd.responsible_personnel |
| | | from flow_card as fc |
| | | left join sd.order_glass_detail as ogd |
| | | on fc.order_id = ogd.order_id and fc.order_number = ogd.order_number and |
| | |
| | | order by dd.id desc |
| | | </select> |
| | | |
| | | <delete id="deleteReplenishMp"> |
| | | delete from pp.patch_log where patch_id=#{patchId} |
| | | </delete> |
| | | |
| | | <update id="updatePatchDdMp"> |
| | | update pp.damage_details set patch_status=0,quantity=quantity-#{qualityInspector} |
| | | where reporting_work_id=#{reportingWorkId} and order_number=#{orderSort} and technology_number=#{technologyNumber} |
| | | </update> |
| | | |
| | | <update id="updatePatchBgMp"> |
| | | update pp.reporting_work_detail set patch_status=0 |
| | | where reporting_work_id=#{reportingWorkId} and order_number=#{orderSort} and technology_number=#{technologyNumber} |
| | | </update> |
| | | |
| | | |
| | | </mapper> |
| | |
| | | rw.teams_groups_name, |
| | | o.project, |
| | | rw.process_id, |
| | | rwd.order_number, |
| | | fc.order_number, |
| | | MAX( ogd.child_width ) as width, |
| | | MAX( ogd.child_height ) as height, |
| | | if(od.shape=1,'普形',if(od.shape=2,'异形','')) as shape, |
| | | sum( pd.thickness ) as thickness, |
| | | od.edging_type, |
| | | opd.reporting_work_num as completed_quantity, |
| | | ROUND(MAX( ogd.child_width )*MAX( ogd.child_height )*opd.reporting_work_num/1000000,2) as area, |
| | | od.product_name, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code |
| | | FROM |
| | | reporting_work AS rw |
| | | LEFT JOIN reporting_work_detail AS rwd ON rw.reporting_work_id = rwd.reporting_work_id |
| | | LEFT JOIN sd.`order` AS o ON o.order_id = rw.order_id |
| | | LEFT JOIN sd.order_detail AS od ON od.order_id = o.order_id |
| | | AND od.order_number = rwd.order_number |
| | | LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id |
| | | AND ogd.order_number = rwd.order_number |
| | | AND ogd.technology_number = rwd.technology_number |
| | | AND ogd.order_number = od.order_number |
| | | LEFT JOIN ( |
| | | SELECT |
| | | prod_id, |
| | | glass_sort, |
| | | REPLACE ( JSON_UNQUOTE( JSON_EXTRACT( separation, '$.thickness' )), 'mm', '' ) AS thickness |
| | | FROM |
| | | sd.product_detail |
| | | WHERE |
| | | detail_type = "glass" |
| | | ) AS pd ON pd.prod_id = od.product_id AND pd.glass_sort = rwd.technology_number |
| | | LEFT JOIN sd.order_process_detail AS opd ON opd.order_id = o.order_id |
| | | AND opd.process_id = rw.process_id |
| | | AND opd.order_number = ogd.order_number |
| | | AND opd.technology_number = ogd.technology_number |
| | | sd.`order` as o left join sd.order_detail as od on od.order_id=o.order_id |
| | | left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number |
| | | left join flow_card as fc on fc.order_id=ogd.order_id and fc.order_number=ogd.order_number and fc.technology_number=ogd.technology_number |
| | | left join reporting_work as rw on rw.order_id=od.order_id and rw.process_id=fc.process_id |
| | | left join sd.order_process_detail as opd on opd.order_id = o.order_id AND opd.process_id = rw.process_id |
| | | AND opd.order_number = fc.order_number AND opd.technology_number = fc.technology_number and opd.process=rw.this_process |
| | | left join sd.product_detail as pd on pd.prod_id = od.product_id and pd.glass_sort = fc.technology_number and detail_type = "glass" |
| | | where opd.reporting_work_num > 0 and rw.reviewed_state=1 and rw.reporting_work_time between #{selectTime1} and #{selectTime2} |
| | | and position(#{selectProcesses} in rw.this_process) |
| | | <if test="teamOutputDTO.thisProcess != null and teamOutputDTO.thisProcess != ''"> |
| | |
| | | <if test="teamOutputDTO.processId != null and teamOutputDTO.processId != ''"> |
| | | and rw.process_id regexp #{teamOutputDTO.processId} |
| | | </if> |
| | | <if test="teamOutputDTO.thickness != null and teamOutputDTO.thickness != ''"> |
| | | and thickness regexp #{teamOutputDTO.thickness} |
| | | </if> |
| | | <if test="teamOutputDTO.edgingType != null and teamOutputDTO.edgingType != ''"> |
| | | and od.edging_type regexp #{teamOutputDTO.edgingType} |
| | | </if> |
| | |
| | | rw.this_process, |
| | | rw.teams_groups_name, |
| | | rw.process_id, |
| | | rwd.order_number |
| | | fc.order_number |
| | | ORDER BY |
| | | rw.this_process, |
| | | rw.process_id, |
| | | rwd.order_number, |
| | | fc.order_number, |
| | | rw.reporting_work_time, |
| | | rw.teams_groups_name |
| | | limit #{offset},#{pageSize}; |
| | |
| | | rw.teams_groups_name, |
| | | o.project, |
| | | rw.process_id, |
| | | rwd.order_number, |
| | | fc.order_number, |
| | | MAX( ogd.child_width ) as width, |
| | | MAX( ogd.child_height ) as height, |
| | | if(od.shape=1,'普形',if(od.shape=2,'异形','')) as shape, |
| | | sum( pd.thickness ) as thickness, |
| | | od.edging_type, |
| | | opd.reporting_work_num as completed_quantity, |
| | | ROUND(MAX( ogd.child_width )*MAX( ogd.child_height )*opd.reporting_work_num/1000000,2) as area, |
| | | od.product_name, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code |
| | | FROM |
| | | reporting_work AS rw |
| | | LEFT JOIN reporting_work_detail AS rwd ON rw.reporting_work_id = rwd.reporting_work_id |
| | | LEFT JOIN sd.`order` AS o ON o.order_id = rw.order_id |
| | | LEFT JOIN sd.order_detail AS od ON od.order_id = o.order_id |
| | | AND od.order_number = rwd.order_number |
| | | LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id |
| | | AND ogd.order_number = rwd.order_number |
| | | AND ogd.technology_number = rwd.technology_number |
| | | AND ogd.order_number = od.order_number |
| | | LEFT JOIN ( |
| | | SELECT |
| | | prod_id, |
| | | glass_sort, |
| | | REPLACE ( JSON_UNQUOTE( JSON_EXTRACT( separation, '$.thickness' )), 'mm', '' ) AS thickness |
| | | FROM |
| | | sd.product_detail |
| | | WHERE |
| | | detail_type = "glass" |
| | | ) AS pd ON pd.prod_id = od.product_id AND pd.glass_sort = rwd.technology_number |
| | | LEFT JOIN sd.order_process_detail AS opd ON opd.order_id = o.order_id |
| | | AND opd.process_id = rw.process_id |
| | | AND opd.order_number = ogd.order_number |
| | | AND opd.technology_number = ogd.technology_number |
| | | sd.`order` as o left join sd.order_detail as od on od.order_id=o.order_id |
| | | left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number |
| | | left join flow_card as fc on fc.order_id=ogd.order_id and fc.order_number=ogd.order_number and fc.technology_number=ogd.technology_number |
| | | left join reporting_work as rw on rw.order_id=od.order_id and rw.process_id=fc.process_id |
| | | left join sd.order_process_detail as opd on opd.order_id = o.order_id AND opd.process_id = rw.process_id |
| | | AND opd.order_number = fc.order_number AND opd.technology_number = fc.technology_number and opd.process=rw.this_process |
| | | left join sd.product_detail as pd on pd.prod_id = od.product_id and pd.glass_sort = fc.technology_number and detail_type = "glass" |
| | | where opd.reporting_work_num > 0 and rw.reviewed_state=1 |
| | | and date(rw.reporting_work_time) >= #{date[0]} |
| | | and date(rw.reporting_work_time) >= #{date[0]} |
| | | and date(rw.reporting_work_time) <= #{date[1]} |
| | | and position(#{process} in rw.this_process) |
| | | GROUP BY |
| | | rw.this_process, |
| | | rw.teams_groups_name, |
| | | rw.process_id, |
| | | rwd.order_number |
| | | fc.order_number |
| | | ORDER BY |
| | | rw.this_process, |
| | | rw.process_id, |
| | | rwd.order_number, |
| | | fc.order_number, |
| | | rw.reporting_work_time, |
| | | rw.teams_groups_name |
| | | </select> |
| | | |
| | | <select id="teamOutputPageTotal"> |
| | | SELECT |
| | | CEILING(count(rwd.id)/#{pageSize}) as 'pageTotal', |
| | | count(distinct rwd.id) as 'total' |
| | | CEILING(count(*)/#{pageSize}) as 'pageTotal', |
| | | count(*) as 'total' |
| | | FROM |
| | | reporting_work AS rw |
| | | LEFT JOIN reporting_work_detail AS rwd ON rw.reporting_work_id = rwd.reporting_work_id |
| | | LEFT JOIN sd.`order` AS o ON o.order_id = rw.order_id |
| | | LEFT JOIN sd.order_detail AS od ON od.order_id = o.order_id |
| | | AND od.order_number = rwd.order_number |
| | | LEFT JOIN sd.order_glass_detail AS ogd ON ogd.order_id = o.order_id |
| | | AND ogd.order_number = rwd.order_number |
| | | AND ogd.technology_number = rwd.technology_number |
| | | AND ogd.order_number = od.order_number |
| | | LEFT JOIN ( |
| | | ( |
| | | SELECT |
| | | prod_id, |
| | | glass_sort, |
| | | REPLACE ( JSON_UNQUOTE( JSON_EXTRACT( separation, '$.thickness' )), 'mm', '' ) AS thickness |
| | | rw.reporting_work_time, |
| | | rw.this_process, |
| | | rw.teams_groups_name, |
| | | o.project, |
| | | rw.process_id, |
| | | fc.order_number, |
| | | MAX( ogd.child_width ) as width, |
| | | MAX( ogd.child_height ) as height, |
| | | od.edging_type, |
| | | opd.reporting_work_num as completed_quantity, |
| | | ROUND(MAX( ogd.child_width )*MAX( ogd.child_height )*opd.reporting_work_num/1000000,2) as area, |
| | | od.product_name, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS code |
| | | FROM |
| | | sd.product_detail |
| | | WHERE |
| | | detail_type = "glass" |
| | | ) AS pd ON pd.prod_id = od.product_id AND pd.glass_sort = rwd.technology_number |
| | | LEFT JOIN sd.order_process_detail AS opd ON opd.order_id = o.order_id |
| | | AND opd.process_id = rw.process_id |
| | | AND opd.order_number = ogd.order_number |
| | | AND opd.technology_number = ogd.technology_number |
| | | sd.`order` as o left join sd.order_detail as od on od.order_id=o.order_id |
| | | left join sd.order_glass_detail as ogd on ogd.order_id=od.order_id and ogd.order_number=od.order_number |
| | | left join flow_card as fc on fc.order_id=ogd.order_id and fc.order_number=ogd.order_number and fc.technology_number=ogd.technology_number |
| | | left join reporting_work as rw on rw.order_id=od.order_id and rw.process_id=fc.process_id |
| | | left join sd.order_process_detail as opd on opd.order_id = o.order_id AND opd.process_id = rw.process_id |
| | | AND opd.order_number = fc.order_number AND opd.technology_number = fc.technology_number and opd.process=rw.this_process |
| | | left join sd.product_detail as pd on pd.prod_id = od.product_id and pd.glass_sort = fc.technology_number and detail_type = "glass" |
| | | where opd.reporting_work_num > 0 and rw.reviewed_state=1 and rw.reporting_work_time between #{selectTime1} and #{selectTime2} |
| | | and position(#{selectProcesses} in rw.this_process) |
| | | <if test="teamOutputDTO.thisProcess != null and teamOutputDTO.thisProcess != ''"> |
| | |
| | | <if test="teamOutputDTO.processId != null and teamOutputDTO.processId != ''"> |
| | | and rw.process_id regexp #{teamOutputDTO.processId} |
| | | </if> |
| | | <if test="teamOutputDTO.thickness != null and teamOutputDTO.thickness != ''"> |
| | | and thickness regexp #{teamOutputDTO.thickness} |
| | | </if> |
| | | <if test="teamOutputDTO.edgingType != null and teamOutputDTO.edgingType != ''"> |
| | | and od.edging_type regexp #{teamOutputDTO.edgingType} |
| | | </if> |
| | | |
| | | limit #{offset},#{pageSize}; |
| | | GROUP BY |
| | | rw.this_process, |
| | | rw.teams_groups_name, |
| | | rw.process_id, |
| | | fc.order_number |
| | | ORDER BY |
| | | rw.this_process, |
| | | rw.process_id, |
| | | fc.order_number, |
| | | rw.reporting_work_time, |
| | | rw.teams_groups_name |
| | | ) as page_toal |
| | | limit #{offset},#{pageSize} |
| | | </select> |
| | | |
| | | <select id="workInProgressOrderMp" resultMap="workInProgressMap"> |
| | |
| | | r.reviewer, |
| | | date(r.create_time) as create_time, |
| | | date(r.update_time) as update_time, |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS glassNumber |
| | | JSON_UNQUOTE( JSON_EXTRACT( od.other_columns, '$.S01' )) AS glassNumber, |
| | | r.reporting_work_id |
| | | from pp.rework r left join sd.order_detail od on r.order_id=od.order_id and r.order_sort=od.order_number |
| | | left join sd.`order` o on r.order_id = o.order_id |
| | | left join (select * from sd.order_glass_detail group by order_id,order_number) as ogd |
| | |
| | | update pp.damage_details set quantity=quantity+#{rework.reworkNum} where id=#{rework.reviewer} |
| | | </update> |
| | | |
| | | <delete id="deleteReworkMp"> |
| | | delete from pp.rework where rework_id=#{patchId} |
| | | </delete> |
| | | |
| | | <update id="updateReworkDdMp"> |
| | | update pp.damage_details set patch_status=0,quantity=quantity-#{reworkNum} |
| | | where reporting_work_id=#{reportingWorkId} and order_number=#{orderSort} and technology_number=#{technologyNumber} |
| | | </update> |
| | | |
| | | <update id="updateReworkBgMp"> |
| | | update pp.reporting_work_detail set patch_status=0 |
| | | where reporting_work_id=#{reportingWorkId} and order_number=#{orderSort} and technology_number=#{technologyNumber} |
| | | </update> |
| | | |
| | | |
| | | |