绑定记录维护接口

liweidong
李涛 6 days ago
parent 0dce2855eb
commit 76e9927201
  1. 11
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/dto/SaveMacToolUseDto.java
  2. 3
      blade-service-api/blade-desk-api/src/main/java/org/springblade/desk/produce/pojo/vo/MesMacToolUseVO.java
  3. 50
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/controller/WorkProcessController.java
  4. 8
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.java
  5. 91
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/mapper/MacToolUseMapper.xml
  6. 11
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IMacToolUseService.java
  7. 1
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/IPdaLoadService.java
  8. 48
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/MacToolUseServiceImpl.java
  9. 14
      blade-service/blade-desk/src/main/java/org/springblade/desk/produce/service/impl/PdaLoadServiceImpl.java

@ -0,0 +1,11 @@
package org.springblade.desk.produce.pojo.dto;
import lombok.Data;
@Data
public class SaveMacToolUseDto {
private Long wpId;
private Long toolId;
}

@ -12,6 +12,9 @@ import lombok.Data;
@Data
public class MesMacToolUseVO {
@Schema(description = "id")
private Long id;
@Schema(description = "工序ID")
private Long wpId;

@ -3,18 +3,23 @@ package org.springblade.desk.produce.controller;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.github.xiaoymin.knife4j.annotations.ApiOperationSupport;
import io.swagger.v3.oas.annotations.Operation;
import io.swagger.v3.oas.annotations.Parameter;
import io.swagger.v3.oas.annotations.tags.Tag;
import lombok.AllArgsConstructor;
import org.springblade.core.boot.ctrl.BladeController;
import org.springblade.core.mp.support.Condition;
import org.springblade.core.mp.support.Query;
import org.springblade.core.tool.api.R;
import org.springblade.core.tool.utils.Func;
import org.springblade.desk.produce.pojo.dto.MesMacToolUseDTO;
import org.springblade.desk.produce.pojo.entity.MacToolUse;
import org.springblade.desk.produce.pojo.dto.SaveMacToolUseDto;
import org.springblade.desk.produce.pojo.vo.BindModelVO;
import org.springblade.desk.produce.pojo.vo.MesMacToolUseVO;
import org.springblade.desk.produce.service.IMacToolUseService;
import org.springblade.desk.produce.service.IPdaLoadService;
import org.springframework.web.bind.annotation.*;
import java.util.List;
/**
* 同炉查询 控制器
*
@ -28,6 +33,8 @@ import org.springframework.web.bind.annotation.*;
public class WorkProcessController extends BladeController {
private final IMacToolUseService macToolUseService;
private final IPdaLoadService pdaLoadService;
@GetMapping("/queryData")
@ApiOperationSupport(order = 1)
@Operation(summary = "分页", description = "传入macToolUse")
@ -36,4 +43,45 @@ public class WorkProcessController extends BladeController {
return R.data(pages);
}
@GetMapping("/getMacToolUseByWpId")
@Operation(summary = "根据wpId获取绑定记录", description = "传入wpId")
public R<List<MesMacToolUseVO>> getMacToolUseByWpId(Long wpId) {
return R.data(macToolUseService.getMacToolUseByWpId(wpId));
}
@PostMapping("/remove")
@Operation(summary = "删除", description = "传入ids")
public R remove(@Parameter(description = "主键集合", required = true) @RequestParam String ids) {
return R.status(macToolUseService.removeByIds(Func.toLongList(ids)));
}
@GetMapping("/getCurrentWorkPlan")
@Operation(summary = "查询当前工序信息", description = "传入cardNo")
public R<BindModelVO> getCurrentWorkPlan(String cardNo) {
return R.data(pdaLoadService.getCurrentWorkPlan(cardNo));
}
@GetMapping("/getBindMacToolUseByRsCode")
@Operation(summary = "根据挂具号查询设备已绑定记录")
public R<MesMacToolUseVO> getBindMacToolUseByRsCode(String rsCode) {
return R.data(macToolUseService.getBindMacToolUseByRsCode(rsCode));
}
@GetMapping("/getBindMacToolUseByFsCode")
@Operation(summary = "根据挂具号查询设备已绑定记录")
public R<MesMacToolUseVO> getBindMacToolUseByFsCode(String fsCode) {
return R.data(macToolUseService.getBindMacToolUseByFsCode(fsCode));
}
@GetMapping("/getBindMacToolUseByDeviceCode")
@Operation(summary = "根据挂具号查询设备已绑定记录")
public R<MesMacToolUseVO> getBindMacToolUseByDeviceCode(String deviceCode) {
return R.data(macToolUseService.getBindMacToolUseByDeviceCode(deviceCode));
}
@PostMapping("/saveMacToolUse")
@Operation(summary = "新增绑定记录")
public R saveMacToolUse(@RequestBody SaveMacToolUseDto saveMacToolUseDto) {
return R.status(macToolUseService.saveMacToolUse(saveMacToolUseDto));
}
}

@ -43,4 +43,12 @@ public interface MacToolUseMapper extends BaseMapper<MacToolUse> {
* 更新作业计划打印标记类型
*/
void updatePrintType(String deviceCode, String hangNum, String mtnCode);
List<MesMacToolUseVO> getMacToolUseByWpId(Long wpId);
List<MesMacToolUseVO> getBindMacToolUseByRsCode(String rsCode);
List<MesMacToolUseVO> getBindMacToolUseByFsCode(String fsCode);
List<MesMacToolUseVO> getBindMacToolUseByDeviceCode(String deviceCode);
}

@ -205,6 +205,97 @@
AND a.is_deleted = 0
GROUP BY b.DEVICE_CODE, b.CATEGORYS, a.HANG_NUM, a.MTN_CODE
</select>
<select id="getMacToolUseByWpId" resultType="org.springblade.desk.produce.pojo.vo.MesMacToolUseVO">
SELECT a.MTN_CODE AS code,
c.wo_code AS woCode,
c.PART_CODE AS partCode,
c.BATCH_NO AS batchNo,
a.BIND_TIME AS bindTime,
c.MAKE_QTY AS makeQty,
g.REAL_NAME AS name,
d.RS_CODE AS rsCode,
e.FS_CODE AS fsCode,
f.DEVICE_CODE AS deviceCode
FROM
MES_MAC_TOOL_USE a
INNER JOIN MES_WORK_PLAN b
ON a.wp_id = b.ID
INNER JOIN MES_WORK_ORDER c ON b.wo_id = c.ID
LEFT JOIN MES_RACK_SET d ON a.BS_RACK_SET = d.ID
LEFT JOIN MES_FEI_BA_SET e ON a.BS_FEI_BA_SET = e.ID
LEFT JOIN MES_EQUIPMENT f ON a.EQUIPMENT_CARD = f.ID
LEFT JOIN blade_user g ON a.CREATE_MAN = g.ID
WHERE a.is_deleted = 0 AND a.wp_id = #{wpId}
order by a.BIND_TIME DESC
</select>
<select id="getBindMacToolUseByRsCode" resultType="org.springblade.desk.produce.pojo.vo.MesMacToolUseVO">
SELECT
a.ID AS id,
a.MTN_CODE AS code,
c.wo_code AS woCode,
c.PART_CODE AS partCode,
c.BATCH_NO AS batchNo,
a.BIND_TIME AS bindTime,
c.MAKE_QTY AS makeQty,
g.REAL_NAME AS name,
d.RS_CODE AS rsCode,
e.FS_CODE AS fsCode,
f.DEVICE_CODE AS deviceCode
FROM MES_MAC_TOOL_USE a
INNER JOIN MES_WORK_PLAN b ON a.wp_id = b.ID
INNER JOIN MES_WORK_ORDER c ON b.wo_id = c.ID
INNER JOIN MES_RACK_SET d ON a.BS_RACK_SET = d.ID
LEFT JOIN MES_FEI_BA_SET e ON a.BS_FEI_BA_SET = e.ID
LEFT JOIN MES_EQUIPMENT f ON a.EQUIPMENT_CARD = f.ID
LEFT JOIN blade_user g ON a.CREATE_MAN = g.ID
WHERE a.is_deleted = 0 AND a.finished = 0 AND d.RS_CODE = #{rsCode} AND d.status = 2
order by a.BIND_TIME DESC
</select>
<select id="getBindMacToolUseByFsCode" resultType="org.springblade.desk.produce.pojo.vo.MesMacToolUseVO">
SELECT
a.ID AS id,
a.MTN_CODE AS code,
c.wo_code AS woCode,
c.PART_CODE AS partCode,
c.BATCH_NO AS batchNo,
a.BIND_TIME AS bindTime,
c.MAKE_QTY AS makeQty,
g.REAL_NAME AS name,
d.RS_CODE AS rsCode,
e.FS_CODE AS fsCode,
f.DEVICE_CODE AS deviceCode
FROM MES_MAC_TOOL_USE a
INNER JOIN MES_WORK_PLAN b ON a.wp_id = b.ID
INNER JOIN MES_WORK_ORDER c ON b.wo_id = c.ID
LEFT JOIN MES_RACK_SET d ON a.BS_RACK_SET = d.ID
INNER JOIN MES_FEI_BA_SET e ON a.BS_FEI_BA_SET = e.ID
LEFT JOIN MES_EQUIPMENT f ON a.EQUIPMENT_CARD = f.ID
LEFT JOIN blade_user g ON a.CREATE_MAN = g.ID
WHERE a.is_deleted = 0 AND a.finished = 0 AND e.FS_CODE = #{fsCode} AND e.status = 2 AND a.BS_RACK_SET IS NULL
order by a.BIND_TIME DESC
</select>
<select id="getBindMacToolUseByDeviceCode" resultType="org.springblade.desk.produce.pojo.vo.MesMacToolUseVO">
SELECT
a.ID AS id,
a.MTN_CODE AS code,
c.wo_code AS woCode,
c.PART_CODE AS partCode,
c.BATCH_NO AS batchNo,
a.BIND_TIME AS bindTime,
c.MAKE_QTY AS makeQty,
g.REAL_NAME AS name,
d.RS_CODE AS rsCode,
e.FS_CODE AS fsCode,
f.DEVICE_CODE AS deviceCode
FROM MES_MAC_TOOL_USE a
INNER JOIN MES_WORK_PLAN b ON a.wp_id = b.ID
INNER JOIN MES_WORK_ORDER c ON b.wo_id = c.ID
LEFT JOIN MES_RACK_SET d ON a.BS_RACK_SET = d.ID
LEFT JOIN MES_FEI_BA_SET e ON a.BS_FEI_BA_SET = e.ID
INNER JOIN MES_EQUIPMENT f ON a.EQUIPMENT_CARD = f.ID
LEFT JOIN blade_user g ON a.CREATE_MAN = g.ID
WHERE a.is_deleted = 0 AND a.finished = 0 AND f.DEVICE_CODE = #{deviceCode} AND a.BS_RACK_SET IS NULL AND a.BS_FEI_BA_SET IS NULL
</select>
<update id="updatePrintType">
UPDATE MES_WORK_PLAN a SET a.PRINT_TYPE = 1

@ -3,6 +3,7 @@ package org.springblade.desk.produce.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import org.springblade.core.mp.base.BaseService;
import org.springblade.desk.produce.pojo.dto.MesMacToolUseDTO;
import org.springblade.desk.produce.pojo.dto.SaveMacToolUseDto;
import org.springblade.desk.produce.pojo.entity.MacToolUse;
import org.springblade.desk.produce.pojo.entity.MesQcProduceRunEntity;
import org.springblade.desk.produce.pojo.entity.WorkOrder;
@ -87,4 +88,14 @@ public interface IMacToolUseService extends BaseService<MacToolUse> {
* 查询所有未解绑的数据
*/
List<MacToolUse> listByNoFinished();
List<MesMacToolUseVO> getMacToolUseByWpId(Long wpId);
MesMacToolUseVO getBindMacToolUseByRsCode(String rsCode);
MesMacToolUseVO getBindMacToolUseByFsCode(String fsCode);
MesMacToolUseVO getBindMacToolUseByDeviceCode(String deviceCode);
boolean saveMacToolUse(SaveMacToolUseDto saveMacToolUseDto);
}

@ -83,4 +83,5 @@ public interface IPdaLoadService extends BaseService<WorkPlan> {
Object epDosingRecByCode(String code);
BindModelVO getCurrentWorkPlan(String cardNo);
}

@ -11,7 +11,9 @@ import com.google.common.collect.Lists;
import jakarta.annotation.Resource;
import lombok.RequiredArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springblade.core.log.exception.ServiceException;
import org.springblade.core.mp.base.BaseServiceImpl;
import org.springblade.core.secure.utils.AuthUtil;
import org.springblade.desk.dashboard.pojo.entity.BsProcessSetEntity;
import org.springblade.desk.dashboard.service.IBsProcessSetService;
import org.springblade.desk.device.pojo.entity.EquipmentEntity;
@ -21,6 +23,7 @@ import org.springblade.desk.device.service.IRackSetService;
import org.springblade.desk.energy.util.HttpRequestService;
import org.springblade.desk.produce.mapper.MacToolUseMapper;
import org.springblade.desk.produce.pojo.dto.MesMacToolUseDTO;
import org.springblade.desk.produce.pojo.dto.SaveMacToolUseDto;
import org.springblade.desk.produce.pojo.entity.MacToolUse;
import org.springblade.desk.produce.pojo.entity.MesQcProduceRunEntity;
import org.springblade.desk.produce.pojo.entity.WorkOrder;
@ -353,6 +356,51 @@ public class MacToolUseServiceImpl extends BaseServiceImpl<MacToolUseMapper, Mac
return this.list(Wrappers.lambdaQuery(MacToolUse.class).eq(MacToolUse::getFinished, 0).ge(MacToolUse::getCreateTime, Date.from(LocalDateTime.now().minusDays(2).atZone(ZoneId.systemDefault()).toInstant())).orderByAsc(MacToolUse::getMtnCode));
}
@Override
public List<MesMacToolUseVO> getMacToolUseByWpId(Long wpId) {
return baseMapper.getMacToolUseByWpId(wpId);
}
@Override
public MesMacToolUseVO getBindMacToolUseByRsCode(String rsCode) {
List<MesMacToolUseVO> list = baseMapper.getBindMacToolUseByRsCode(rsCode);
return CollectionUtils.isEmpty(list) ? null : list.get(0);
}
@Override
public MesMacToolUseVO getBindMacToolUseByFsCode(String fsCode) {
List<MesMacToolUseVO> list = baseMapper.getBindMacToolUseByFsCode(fsCode);
return CollectionUtils.isEmpty(list) ? null : list.get(0);
}
@Override
public MesMacToolUseVO getBindMacToolUseByDeviceCode(String deviceCode) {
List<MesMacToolUseVO> list = baseMapper.getBindMacToolUseByDeviceCode(deviceCode);
return CollectionUtils.isEmpty(list) ? null : list.get(0);
}
@Override
public boolean saveMacToolUse(SaveMacToolUseDto saveMacToolUseDto) {
if (saveMacToolUseDto.getWpId() == null) {
throw new ServiceException("请扫描需要绑定订单");
}
MacToolUse macToolUse = this.getById(saveMacToolUseDto.getToolId());
if (macToolUse == null) {
throw new ServiceException("绑定记录异常");
}
MacToolUse newMacToolUse = new MacToolUse();
newMacToolUse.setWpId(saveMacToolUseDto.getWpId());
newMacToolUse.setMtnCode(macToolUse.getMtnCode());
newMacToolUse.setBsRackSet(macToolUse.getBsRackSet());
newMacToolUse.setEquipmentCard(macToolUse.getEquipmentCard());
newMacToolUse.setBsFeiBaSet(macToolUse.getBsFeiBaSet());
newMacToolUse.setHangNum(macToolUse.getHangNum());
newMacToolUse.setFinished(0);
newMacToolUse.setCreateMan(AuthUtil.getUserId());
newMacToolUse.setBindTime(new Date());
return this.save(newMacToolUse);
}
private Double setMaxHeat(Map<String, JSONObject> eUMap, JSONObject jsonObject, Double heat) {
if (eUMap.get(heat1) != null) {
if (jsonObject.getString(eUMap.get(heat1).getString("attrCode")) != null && Double.valueOf(jsonObject.getString(eUMap.get(heat1).getString("attrCode"))) > heat) {

@ -562,4 +562,18 @@ public class PdaLoadServiceImpl extends BaseServiceImpl<WorkPlanMapper, WorkPlan
return bsDosingRecService.epDosingRecByCode(code);
}
@Override
public BindModelVO getCurrentWorkPlan(String cardNo) {
//获取并验证车间订单
WorkOrder prWorkOrder = this.checkPrWorkOrder(cardNo);
//获取作业计划
WorkPlan workPlan = this.getById(prWorkOrder.getWpId());
// 验证是否已存在绑定记录
long count = macToolUseService.count(Wrappers.lambdaQuery(MacToolUse.class).eq(MacToolUse::getWpId, workPlan.getId()));
if (count > 0) {
throw new ServiceException("当前工单已存在绑定记录!");
}
return this.createBindModel(workPlan);
}
}

Loading…
Cancel
Save