Browse Source

FQC排产

master
rui_li 4 years ago
parent
commit
ca4a1efcfb
  1. 16
      src/main/java/com/gaotao/modules/schedule/controller/SchedulingController.java
  2. 112
      src/main/java/com/gaotao/modules/schedule/data/OperatorInData.java
  3. 2
      src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java
  4. 9
      src/main/java/com/gaotao/modules/schedule/service/SchedulingService.java
  5. 61
      src/main/java/com/gaotao/modules/schedule/service/impl/SchedulingServiceImpl.java

16
src/main/java/com/gaotao/modules/schedule/controller/SchedulingController.java

@ -10,6 +10,7 @@ import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
import java.util.Map;
/**
* @Author LR
@ -183,6 +184,21 @@ public class SchedulingController {
.put("total", resultList.size());
}
/**
* TODO FQC操作员排产
* @author LR
* @date 2022/3/16 10:11
* @Param [inMap]
* @return com.gaotao.common.utils.R
**/
@RequestMapping(value = "scheduleFqcOperators")
public R scheduleFqcOperators(@RequestBody Map<String, Object> inMap){
schedulingService.scheduleFqcOperators(inMap);
return R.ok()
.put("code", 200)
.put("msg", "操作成功!");
}

112
src/main/java/com/gaotao/modules/schedule/data/OperatorInData.java

@ -0,0 +1,112 @@
package com.gaotao.modules.schedule.data;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.ibatis.type.Alias;
import org.springframework.format.annotation.DateTimeFormat;
import java.util.Date;
/**
* @author LR
* @Title: operatorData
* 操作员信息
* @Date 2021/11/4 11:16
*/
@Alias("OperatorInData")
public class OperatorInData extends BaseData {
private String username;
private String operatorId;
private String operatorName;
private String status;
private String showFlag;
@DateTimeFormat(pattern = "yyyy-MM-dd HH:mm:ss")
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private Date lastScheduledTime;//最后排产时间
private Float efficiency;//效率
private Float qtyToSchedule;//带排产数量
private String calendarId;//工作日历
private String virturlFlag;//虚拟机台
public OperatorInData() {
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getOperatorId() {
return operatorId;
}
public void setOperatorId(String operatorId) {
this.operatorId = operatorId;
}
public String getOperatorName() {
return operatorName;
}
public void setOperatorName(String operatorName) {
this.operatorName = operatorName;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public String getShowFlag() {
return showFlag;
}
public void setShowFlag(String showFlag) {
this.showFlag = showFlag;
}
public Date getLastScheduledTime() {
return lastScheduledTime;
}
public void setLastScheduledTime(Date lastScheduledTime) {
this.lastScheduledTime = lastScheduledTime;
}
public Float getEfficiency() {
return efficiency;
}
public void setEfficiency(Float efficiency) {
this.efficiency = efficiency;
}
public Float getQtyToSchedule() {
return qtyToSchedule;
}
public void setQtyToSchedule(Float qtyToSchedule) {
this.qtyToSchedule = qtyToSchedule;
}
public String getCalendarId() {
return calendarId;
}
public void setCalendarId(String calendarId) {
this.calendarId = calendarId;
}
public String getVirturlFlag() {
return virturlFlag;
}
public void setVirturlFlag(String virturlFlag) {
this.virturlFlag = virturlFlag;
}
}

2
src/main/java/com/gaotao/modules/schedule/data/SearchScheduleData.java

@ -1,5 +1,6 @@
package com.gaotao.modules.schedule.data;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import org.apache.ibatis.type.Alias;
import org.springframework.format.annotation.DateTimeFormat;
@ -25,6 +26,7 @@ public class SearchScheduleData extends BaseData {
private Date scheduleDate;
@DateTimeFormat(pattern = "HH:mm")
@JsonFormat(pattern = "HH:mm", timezone = "GMT+8")
@JSONField(format = "HH:mm")
private Date scheduleTime;//排产的时分秒
@DateTimeFormat(pattern = "yyyy-MM-dd")
@JsonFormat(pattern = "yyyy-MM-dd", timezone = "GMT+8")

9
src/main/java/com/gaotao/modules/schedule/service/SchedulingService.java

@ -7,6 +7,7 @@ import com.gaotao.modules.schedule.data.SearchScheduleData;
import com.gaotao.modules.schedule.data.ShopOrderOutData;
import java.util.List;
import java.util.Map;
/**
* @Author LR
@ -106,4 +107,12 @@ public interface SchedulingService {
**/
List<OperatorOutData> getOperatorListWithFqc(SearchScheduleData inData);
/**
* TODO FQC操作员排产
* @author LR
* @date 2022/3/16 10:15
* @Param [inMap]
* @return java.util.Map<java.lang.String, java.lang.Object>
**/
void scheduleFqcOperators(Map<String, Object> inMap);
}

61
src/main/java/com/gaotao/modules/schedule/service/impl/SchedulingServiceImpl.java

@ -1,10 +1,9 @@
package com.gaotao.modules.schedule.service.impl;
import com.alibaba.fastjson.JSON;
import com.gaotao.common.exception.RRException;
import com.gaotao.modules.schedule.data.OperatorOutData;
import com.gaotao.modules.schedule.data.ScheduleData;
import com.gaotao.modules.schedule.data.SearchScheduleData;
import com.gaotao.modules.schedule.data.ShopOrderOutData;
import com.gaotao.modules.pda.dao.InventoryDao;
import com.gaotao.modules.schedule.data.*;
import com.gaotao.modules.schedule.mapper.ProcedureMapper;
import com.gaotao.modules.schedule.mapper.ScheduleMapper;
import com.gaotao.modules.schedule.mapper.SchedulingMapper;
@ -13,10 +12,7 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* @Author LR
@ -392,4 +388,53 @@ public class SchedulingServiceImpl implements SchedulingService {
return schedulingMapper.getOrderScheduleListWithFqc(inData);
}
@Override
@Transactional
public void scheduleFqcOperators(Map<String, Object> inMap) {
String strPageData = String.valueOf(inMap.get("pageData"));
SearchScheduleData pageData = JSON.parseObject(strPageData, SearchScheduleData.class);
String strOperatorlList = String.valueOf(inMap.get("operatorList"));
List<OperatorInData> operatorList = JSON.parseArray(strOperatorlList, OperatorInData.class);
if(operatorList.size() == 0){
throw new RRException("暂无需要排产的数据!");
}
//公共参数
String site = pageData.getSite();
String orderNo = pageData.getOrderNo();
int itemNo = pageData.getItemNo();
String workCenterNo = pageData.getWorkCenterNo();
String username = pageData.getUsername();
//循环插入派工单
for(OperatorInData operatorData : operatorList){
String resourceId = operatorData.getOperatorId();
Date scheduleDate = operatorData.getLastScheduledTime();
float scheduledQty = operatorData.getQtyToSchedule();
pageData.setResourceId(resourceId);
//获取当前加工中心机台对应的calendarId
Map<String, Object> calendarMap = scheduleMapper.getCalendarId(pageData);
//判断是否存在当前的加工中心机台数据
if (calendarMap == null || calendarMap.size() == 0) {
throw new RRException("班次异常!");
}
//设置查询的条件
String calendarId = String.valueOf(calendarMap.get("calendarId"));
//调用存储过程 执行排产的方法
Map<String, Object> resultMap = null;
//针对null特殊处理
if(null == scheduleDate){
Date currentScheduleDate = pageData.getScheduleDate();
Date scheduleTime = pageData.getScheduleTime();
resultMap = this.scheduleWorkOrder(site, orderNo, itemNo, workCenterNo, resourceId, scheduledQty, "Y", currentScheduleDate, scheduleTime, calendarId, username);
}else{
resultMap = this.scheduleWorkOrder(site, orderNo, itemNo, workCenterNo, resourceId, scheduledQty, "Y", scheduleDate, scheduleDate, calendarId, username);
}
//判断是否检验成功
String resultCode = String.valueOf(resultMap.get("resultCode"));
if ("400".equalsIgnoreCase(resultCode)) {
String msg = String.valueOf(resultMap.get("resultMsg"));
throw new RRException(msg);
}
}
}
}
Loading…
Cancel
Save