春风项目四线(合箱线、总装线)
wujian
2024-07-24 49ca7cac33b124324250f307b12ce84370daa2f3
fix6
已修改6个文件
190 ■■■■■ 文件已修改
jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/controller/BsOrderSchedulingController.java 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-main/src/main/java/com/jcdm/main/bs/orderScheduling/domain/BsOrderScheduling.java 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-quartz/src/main/java/com/jcdm/quartz/task/RyTask.java 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/views/main/cfkb/connectingRodUp/index.vue 126 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/views/main/om/productionOrde/detail.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
jcdm-ui/src/views/main/om/productionOrde/index.vue 16 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
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>