jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java
@@ -13,6 +13,7 @@ import com.jcdm.common.core.domain.entity.SysDictData; import com.jcdm.common.core.page.TableDataInfo; import com.jcdm.common.enums.BusinessType; import com.jcdm.common.exception.ServiceException; import com.jcdm.common.utils.StringUtils; import com.jcdm.common.utils.poi.ExcelUtil; import com.jcdm.main.bs.orderScheduling.common.Constants; @@ -45,10 +46,7 @@ import javax.annotation.Resource; import javax.servlet.http.HttpServletResponse; import java.io.IOException; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.UUID; import java.util.*; import java.util.stream.Collectors; /** @@ -215,6 +213,16 @@ List<BsOrderScheduling> list = new ArrayList<>(); if (StringUtils.isNotEmpty(bsOrderScheduling.getOrderNo())){ list = bsOrderSchedulingService.selectBsOrderSchedulingPage(bsOrderScheduling); if (CollUtil.isNotEmpty(list)){ list.forEach(x -> { if (StrUtil.isNotBlank(x.getWorkingHours())){ x.setWorkingHoursInt(Integer.parseInt(x.getWorkingHours())); } else { x.setWorkingHoursInt(0); } }); list = list.stream().sorted(Comparator.comparing(BsOrderScheduling::getWorkingHoursInt)).collect(Collectors.toList()); } } List<BsOrderScheduling> collect = list.stream().filter(x -> Constants.UN_QUALIFIED.equals(x.getQualityStatus())).collect(Collectors.toList()); if (CollUtil.isNotEmpty(collect)){ @@ -315,21 +323,35 @@ */ @Transactional(rollbackFor = Exception.class) @GetMapping("/engineNoIsInModel") public R engineNoIsInModel(String engineNo,String model,String orderNo) throws Exception { public R engineNoIsInModel(String engineNo,String model,String orderNo,Boolean repairFlag) throws Exception { if (StringUtils.isEmpty(engineNo)){ return R.fail(500,"箱体码为空或已存在,请重试"); return R.fail(500,"箱体码不能为空,请重试"); } ProductNewPassStation checkStation = new ProductNewPassStation(); checkStation.setBoxCode(engineNo); List<ProductNewPassStation> checkList = productNewPassStationService.getProductPassStationList(checkStation); if (!repairFlag){ if (CollUtil.isNotEmpty(checkList)){ return R.fail(500,"请勿重复扫描箱体码"); } } BsOrderScheduling bsOrderScheduling = new BsOrderScheduling(); bsOrderScheduling.setOrderNo(orderNo); List<BsOrderScheduling> allList = bsOrderSchedulingService.selectBsOrderSchedulingList(bsOrderScheduling); if (CollUtil.isNotEmpty(allList)){ allList.forEach(x -> { if (StrUtil.isNotBlank(x.getWorkingHours())){ x.setWorkingHoursInt(Integer.parseInt(x.getWorkingHours())); } else { x.setWorkingHoursInt(0); } }); allList = allList.stream().sorted(Comparator.comparing(BsOrderScheduling::getWorkingHoursInt)).collect(Collectors.toList()); } List<BsOrderScheduling> dlist = allList.stream().filter(x->x.getProductionStatus().equals(Constants.WAIT_PRODUCTION)).collect(Collectors.toList()); List<BsOrderScheduling> collect = allList.stream().filter(x -> x.getProductionStatus().equals(Constants.ORDER_STATUS_ING) ||x.getProductionStatus().equals(Constants.FINISH_PRODUCTION)).collect(Collectors.toList()); if (CollUtil.isNotEmpty(checkList)){ //重复扫码 ProductNewPassStation productNewPassStation = checkList.get(0); @@ -347,6 +369,8 @@ } else { //OPC操作 logger.info("当前站重新扫码,{}",sfcCode); // ReadWriteEntity entity3 = new ReadWriteEntity("CFL4HX.OP010.ProductTypeSN",sfcCode); // OPCUaSubscription.miloService.writeToOpcUa(entity3);//写产品SN号反馈 ReadWriteEntity entity = new ReadWriteEntity("CFL4HX.OP010.Code", sfcCode); OPCUaSubscription.miloService.writeToOpcUa(entity);//写SN return R.ok(); @@ -363,7 +387,7 @@ OmProductionOrdeInfo omProductionOrdeInfo = omProductionOrdeInfos.get(0); Long planQty = omProductionOrdeInfo.getPlanQty(); if (planQty<collect.size()){ return R.ok(500,"超出计划数量,请检查后重试"); return R.fail(500,"超出计划数量,请检查后重试"); } } //插入数据 jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java
@@ -80,6 +80,9 @@ @ExcelProperty(value = "工时", index = 5) private String workingHours; @TableField(exist = false) private Integer workingHoursInt; /** 当前工位 */ @Excel(name = "当前工位") @ExcelProperty(value = "当前工位", index = 6) jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java
@@ -74,6 +74,7 @@ } for (BsOrderScheduling scheduling : bsOrderSchedulingList) { scheduling.setRemarks("0"); scheduling.setProductionStatus("1"); bsOrderSchedulingService.updateBsOrderScheduling(scheduling); } jcdm-ui/src/views/main/cfkb/connectingRodUp/index.vue
@@ -8,17 +8,17 @@ </div> </template> </el-card> <el-card class="query-card" > <el-form :model="from" size="large" :inline="true" label-width="78px" @submit.native.prevent> <el-form-item label-width="200" label="连杆码" :prop="from.connectCode" style="align-content: center"> <input v-model="from.connectCode" ref="inputdata1" style="height: 39px; width: 300px" placeholder="请扫描连杆码" /> </el-form-item> </el-form> </el-card> <!-- <el-card class="query-card" >--> <!-- <el-form :model="from" size="large" :inline="true" label-width="78px" @submit.native.prevent>--> <!-- <el-form-item label-width="200" label="连杆码" :prop="from.connectCode" style="align-content: center">--> <!-- <input v-model="from.connectCode"--> <!-- ref="inputdata1"--> <!-- style="height: 39px; width: 300px"--> <!-- placeholder="请扫描连杆码"--> <!-- />--> <!-- </el-form-item>--> <!-- </el-form>--> <!-- </el-card>--> <!-- <el-card class="box-card" >--> <!-- <el-form :model="from" size="large" :inline="true" label-width="68px" @submit.native.prevent>--> <!-- <el-form-item label-width="200" label="活塞连杆托盘码" :prop="from.scanObject2" style="align-content: center">--> @@ -126,63 +126,63 @@ } }, mounted() { this.setFocus1() this.$refs.inputdata1.addEventListener('keydown',this.handleScannerInput1) // this.setFocus1() // this.$refs.inputdata1.addEventListener('keydown',this.handleScannerInput1) this.getStationConf() this.getWebUrl() this.getDetailMessage() }, beforeDestroy() { this.$refs.inputdata1.removeEventListener('keydown',this.handleScannerInput1) }, // beforeDestroy() { // this.$refs.inputdata1.removeEventListener('keydown',this.handleScannerInput1) // }, methods:{ setFocus1(){ this.$nextTick(()=>{ this.$refs.inputdata1.focus() }) }, handleScannerInput1(event) { if (this.scannerFlag) { this.$refs.inputdata1.value = '' this.scannerFlag = false } const input = event.target const inputValue = input.value this.from.connectCode = inputValue if (event.key === 'Enter') { this.scannerFlag = true //扫描完成 console.log('sssss', this.from.connectCode) getSfcCodeByConnectCode({connectCode:this.from.connectCode}).then(res => { console.log('res',res) if (res.code === 200){ this.queryParams.scanObject2 = res.data.sfcCode if (this.queryParams.scanObject1 !== null && this.queryParams.scanObject1 !== '' && this.queryParams.scanObject2 !== null && this.queryParams.scanObject2 !== ''){ if (this.queryParams.scanObject1 === this.queryParams.scanObject2){ this.queryParams.words = "配对成功" this.queryParams.tileColor = "#3dcc1d" //请求出站 // this.passStation() }else { this.queryParams.words = "配对失败" this.queryParams.tileColor = "#f50909" } } this.$message({ message: '查询成功', type: 'success' }); } else { this.$message({ message: '查询失败', type: 'error' }); } }) } }, // setFocus1(){ // this.$nextTick(()=>{ // this.$refs.inputdata1.focus() // }) // }, // handleScannerInput1(event) { // if (this.scannerFlag) { // this.$refs.inputdata1.value = '' // this.scannerFlag = false // } // const input = event.target // const inputValue = input.value // this.from.connectCode = inputValue // if (event.key === 'Enter') { // this.scannerFlag = true // //扫描完成 // console.log('sssss', this.from.connectCode) // getSfcCodeByConnectCode({connectCode:this.from.connectCode}).then(res => { // console.log('res',res) // if (res.code === 200){ // this.queryParams.scanObject2 = res.data.sfcCode // // if (this.queryParams.scanObject1 !== null && this.queryParams.scanObject1 !== '' // && this.queryParams.scanObject2 !== null && this.queryParams.scanObject2 !== ''){ // if (this.queryParams.scanObject1 === this.queryParams.scanObject2){ // this.queryParams.words = "配对成功" // this.queryParams.tileColor = "#3dcc1d" // //请求出站 // // this.passStation() // }else { // this.queryParams.words = "配对失败" // this.queryParams.tileColor = "#f50909" // } // } // this.$message({ // message: '查询成功', // type: 'success' // }); // } else { // this.$message({ // message: '查询失败', // type: 'error' // }); // } // }) // } // }, getWebUrl(){ getUrl().then(res=>{ this.websocketUrl = res+"OP050" jcdm-ui/src/views/main/om/productionOrde/detail.vue
@@ -10,6 +10,7 @@ placeholder="请扫描箱体码" /> </el-form-item> <el-checkbox class="custom-size" style="margin-left: 40px; margin-right: 40px" v-model="repairFlag">返修</el-checkbox> <el-button size="large" type="info" @click="refresh">返回</el-button> </el-form> </el-card> @@ -94,6 +95,7 @@ return{ // 总条数 total: 0, repairFlag:false, queryParams: { orderNo:'', pageNum: 1, @@ -131,7 +133,7 @@ this.scannerFlag = true //扫描完成 engineNoIsInModel({engineNo:this.queryParams.productionNotice, model:this.singleSelect.typeZ,orderNo:this.singleSelect.workOrderNo model:this.singleSelect.typeZ,orderNo:this.singleSelect.workOrderNo,repairFlag:this.repairFlag }).then(res => { if (res.data===500){ this.$message({ jcdm-ui/src/views/main/om/productionOrde/index.vue
@@ -816,4 +816,20 @@ .hidden-form-item { display: none; } ::v-deep .custom-size .el-checkbox__input .el-checkbox__inner { width: 20px; height: 20px; } /* 调整Checkbox的标签文字大小 */ ::v-deep .custom-size .el-checkbox__inner::after { border: 3px solid #fff; border-left: 0; border-top: 0; left: 5px; top: 5px; } ::v-deep .custom-size .el-checkbox__input.is-checked .el-checkbox__inner::after { transform: rotate(50deg) scaleY(1.3);} </style>