/* * Copyright (c) 2018-2025, ztt All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions are met: * * Redistributions of source code must retain the above copyright notice, * this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * Neither the name of the pig4cloud.com developer nor the names of its * contributors may be used to endorse or promote products derived from * this software without specific prior written permission. * Author: ztt */ package com.chinaztt.mes.production.service.impl; import cn.hutool.core.util.BooleanUtil; import com.alibaba.fastjson.JSON; import com.alibaba.fastjson.JSONArray; import com.alibaba.fastjson.JSONObject; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.chinaztt.mes.basic.service.CrewService; import com.chinaztt.mes.basic.service.ShiftService; import com.chinaztt.mes.basic.service.WorkstationService; import com.chinaztt.mes.equipment.entity.Equipment; import com.chinaztt.mes.equipment.mapper.EquipmentMapper; import com.chinaztt.mes.mould.util.MouldUtil; import com.chinaztt.mes.production.dto.MouldRegisterDTO; import com.chinaztt.mes.production.dto.mould.ReadMouldListDTO; import com.chinaztt.mes.production.dto.mould.UserMouldDTO; import com.chinaztt.mes.production.entity.MouldRegister; import com.chinaztt.mes.production.mapper.MouldRegisterMapper; import com.chinaztt.mes.production.service.MouldRegisterService; import com.chinaztt.ztt.common.security.util.SecurityUtils; import lombok.AllArgsConstructor; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; /** * 模具登记表 * * @author cxf * @date 2021-10-25 13:07:30 */ @Service @AllArgsConstructor @Transactional(rollbackFor = Exception.class) public class MouldRegisterServiceImpl extends ServiceImpl implements MouldRegisterService { private EquipmentMapper equipmentMapper; private final MouldUtil mouldUtil; private CrewService crewService; private ShiftService shiftService; private WorkstationService workstationService; @Override public JSONArray getMould(Integer equipmentId) { JSONArray data = new JSONArray(); if (null != equipmentId) { Equipment equipment = equipmentMapper.selectById(equipmentId); if (null != equipment) { ReadMouldListDTO dto = new ReadMouldListDTO(); dto.setMachineNum(equipment.getNumber()); JSONObject jsonObject = mouldUtil.readTempCollectionRecord(JSON.toJSONString(dto)); if (BooleanUtil.isTrue(jsonObject.getBoolean("success"))) { return jsonObject.getJSONArray("data"); }else { throw new RuntimeException("请求模具失败:" +jsonObject.getString("message")); } } } return data; } @Override public boolean fullSave(MouldRegisterDTO mouldRegister) { /* int check = this.count(Wrappers.lambdaQuery().eq(MouldRegister::getWorkstationId, mouldRegister.getWorkstationId())); if (check > 0) { throw new RuntimeException("同时只能绑定一个模具"); }*/ Integer count = baseMapper.selectCount(Wrappers.lambdaQuery() .eq(MouldRegister::getEquipmentId, mouldRegister.getEquipmentId()) .eq(MouldRegister::getMouldCode, mouldRegister.getMouldCode()) .eq(MouldRegister::getWorkstationId,mouldRegister.getWorkstationId()) .eq(MouldRegister::getActive,true)); if(count>=1){ throw new RuntimeException("此设备已经绑定该模具"); } this.save(mouldRegister); UserMouldDTO dto = new UserMouldDTO(); dto.setMouldCode(mouldRegister.getMouldCode()); dto.setOperatorMan(SecurityUtils.getUser().getUsername()); dto.setTeamName(crewService.getById(mouldRegister.getCrewId()).getCrewName()); dto.setShiftsName(shiftService.getById(mouldRegister.getShiftId()).getName()); dto.setMachineName(workstationService.getById(mouldRegister.getWorkstationId()).getName()); //return mouldUtils.send(dto, "/Insert_collection_record"); return true; } @Override public IPage getPage(Page page, QueryWrapper gen) { return this.baseMapper.getPage(page, gen); } }