package com.northglass.service.shelfmanager;
|
|
import java.io.BufferedReader;
|
import java.io.File;
|
import java.io.FileInputStream;
|
import java.io.FileWriter;
|
import java.io.IOException;
|
import java.io.InputStream;
|
import java.io.OutputStream;
|
import java.io.StringReader;
|
import java.io.UnsupportedEncodingException;
|
import java.text.DecimalFormat;
|
import java.text.SimpleDateFormat;
|
import java.util.ArrayList;
|
import java.util.Date;
|
import java.util.List;
|
import java.util.Map;
|
import java.util.Stack;
|
|
import javax.servlet.http.HttpServletRequest;
|
import javax.servlet.http.HttpServletResponse;
|
|
import org.slf4j.Logger;
|
import org.slf4j.LoggerFactory;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.data.domain.Page;
|
import org.springframework.data.domain.PageRequest;
|
import org.springframework.data.domain.Pageable;
|
import org.springframework.data.domain.Sort.Direction;
|
import org.springframework.stereotype.Component;
|
import org.springframework.transaction.annotation.Transactional;
|
import org.springframework.ui.Model;
|
|
|
import com.northglass.entity.Machines;
|
import com.northglass.entity.Rank;
|
import com.northglass.entity.RawPackage;
|
import com.northglass.entity.ShelfRack;
|
import com.northglass.constants.ConnectState;
|
import com.northglass.constants.ShelfTaskType;
|
import com.northglass.constants.StateConstants.RackState;
|
import com.northglass.constants.StateConstants.ShelfRankState;
|
import com.northglass.constants.StateConstants.ShelfTaskState;
|
import com.northglass.constants.StateConstants.TaskState;
|
import com.northglass.entity.Fragments;
|
import com.northglass.entity.GalssTask;
|
import com.northglass.entity.GlassNumberColor;
|
import com.northglass.entity.LoadRack;
|
import com.northglass.entity.MachineDispose;
|
import com.northglass.entity.ShelfTask;
|
import com.northglass.entity.Slicecage;
|
import com.northglass.repository.FragmentsDao;
|
import com.northglass.repository.GlassNumberColorDao;
|
import com.northglass.repository.LoadRackDao;
|
import com.northglass.repository.MachineDao;
|
import com.northglass.repository.RankDao;
|
import com.northglass.repository.RawPackageDao;
|
import com.northglass.repository.ShelfRackDao;
|
import com.northglass.repository.ShelfTaskDao;
|
|
|
|
|
|
@Component
|
@Transactional
|
public class ShelfManagerService {
|
private static String WEB_ROOT_PATH;
|
private static String TEMP_PATH1;
|
private static String TEMP_PATH2;
|
@Autowired
|
private MachineDao machineDao;
|
|
@Autowired
|
private FragmentsDao fragmentsDao;
|
|
@Autowired
|
private LoadRackDao loadRackDao;
|
|
@Autowired
|
private ShelfRackDao shelfRackDao;
|
|
@Autowired
|
private RawPackageDao rawPackageDao;
|
|
@Autowired
|
private ShelfTaskDao shelfTaskDao;
|
|
@Autowired
|
private GlassNumberColorDao glassNumberColorDao;
|
|
@Autowired
|
private RankDao rankDao;
|
|
private static final Logger LOGGER = LoggerFactory.getLogger(ShelfManagerService.class);
|
|
//仓储任务显示
|
public String findShelfTask() {
|
List<ShelfTask> shelfTasks = new ArrayList<ShelfTask>();
|
List<ShelfTask> waitingTasks = shelfTaskDao.findWaitingTasks();
|
List<ShelfTask> completedTasks = shelfTaskDao.findCompletedTasks();
|
List<ShelfTask> workingTask = shelfTaskDao.findInWorkTask1();
|
if (completedTasks.size() > 0) {
|
shelfTasks.add(completedTasks.get(completedTasks.size() - 1));
|
}
|
if (workingTask.size() > 0) {
|
for (ShelfTask task : workingTask) {
|
shelfTasks.add(task);
|
}
|
}
|
if (waitingTasks.size() > 0) {
|
for (ShelfTask task : waitingTasks) {
|
shelfTasks.add(task);
|
}
|
}
|
|
|
|
StringBuffer html = new StringBuffer();// 实例化缓存
|
System.out.println(11);
|
for (ShelfTask tasks : shelfTasks) {
|
if(tasks.getShelfRack()==null){
|
html.append("<tr>");
|
html.append("<td><input type='checkbox' name='id' value="+tasks.getId() +" /></td>");
|
html.append("<td style='display:none' class='rankid'>"+tasks.getId() +"</td>");
|
html.append("<td>"+tasks.getId() +"</td>");
|
html.append("<td>"+tasks.getDescription() +"</td>");
|
html.append("<td>"+tasks.getTaskState() +"</td>");
|
html.append("<td></td>");
|
html.append("<td></td>");
|
html.append("<td>"+tasks.getStartTime() +"</td>");
|
html.append("</tr>");
|
}else{
|
if (tasks.getShelfRack().getRawPackage()==null){
|
html.append("<tr>");
|
html.append("<td><input type='checkbox' name='id' value="+tasks.getId() +" /></td>");
|
html.append("<td style='display:none' class='rankid'>"+tasks.getId() +"</td>");
|
html.append("<td>"+tasks.getId() +"</td>");
|
html.append("<td>"+tasks.getDescription() +"</td>");
|
html.append("<td>"+tasks.getTaskState() +"</td>");
|
html.append("<td></td>");
|
html.append("<td></td>");
|
html.append("<td>"+tasks.getStartTime() +"</td>");
|
html.append("</tr>");
|
}else{
|
html.append("<tr>");
|
html.append("<td><input type='checkbox' name='id' value="+tasks.getId() +" /></td>");
|
html.append("<td style='display:none' class='rankid'>"+tasks.getId() +"</td>");
|
html.append("<td>"+tasks.getId()+"</td>");
|
html.append("<td>"+tasks.getDescription() +"</td>");
|
html.append("<td>"+tasks.getTaskState() +"</td>");
|
html.append("<td>"+tasks.getShelfRack().getRawPackage().getRawThickness() +"</td>");
|
html.append("<td>"+tasks.getShelfRack().getRawPackage().getColor() +"</td>");
|
html.append("<td>"+tasks.getStartTime() +"</td>");
|
html.append("</tr>");
|
}
|
}
|
|
}
|
return html.toString();// 返回料架信息
|
}
|
|
//正在工作的仓储任务
|
public ShelfTask findWorkingShelfTask() {
|
List<ShelfTask> workingTask = shelfTaskDao.findInWorkTask1();
|
if(workingTask.size()>0){
|
return workingTask.get(0);
|
}else{
|
return null;
|
}
|
|
}
|
|
//仓储状态
|
public String getstatus() {
|
StringBuffer html = new StringBuffer();
|
Machines shelf = machineDao.findOne(2L);
|
String status = shelf.getConnectState();
|
if (status.equals(ConnectState.CONNECTED)) {
|
html.append("<span class='badge bg-green'>").append(status).append("</span>");
|
} else if (status.equals(ConnectState.CONNECTING)) {
|
html.append("<span class='badge bg-yellow'>").append(status).append("</span>");
|
} else {
|
html.append("<span class='badge'>").append(status).append("</span>");
|
}
|
return html.toString();
|
}
|
//删除上片任务
|
public void deletetloadask() {
|
List<ShelfTask> waitingTasks = shelfTaskDao.findWaitingTasksByFlag();
|
ShelfTask inWorkTask = shelfTaskDao.findInWorkTasksByFlag();
|
if (inWorkTask != null) {
|
waitingTasks.add(inWorkTask);
|
}
|
if (waitingTasks.size() > 0) {
|
|
for (ShelfTask task : waitingTasks) {
|
if(task.getTaskType().equals("从上片位到仓位")){
|
LoadRack localhost=loadRackDao.findBytaskId(task.getId());
|
if(localhost!=null){
|
localhost.setShelfTask(null);
|
localhost.setFalgShelf("0");
|
localhost.setState("空闲");
|
}
|
}
|
|
shelfTaskDao.delete(task);
|
}
|
}
|
}
|
//删除吊装任务
|
public void deletetask() {
|
SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd");
|
List<ShelfTask> tasks = shelfTaskDao.findShelfTaskFromShelfRackToHoist();
|
System.out.println(tasks.size());
|
if (tasks.size() > 0) {
|
for (ShelfTask task : tasks) {
|
// 先删除料架信息
|
ShelfRack shelfRank = task.getShelfRack();
|
shelfRank.setState(ShelfRankState.FREE);
|
shelfRank.setRawPackage(null);
|
shelfRank.setModTime(new Date());
|
shelfTaskDao.delete(task);
|
}
|
}
|
|
}
|
//仓储任务重新开始
|
public void againshelftask() {
|
ShelfTask workingTask = shelfTaskDao.findInWorkTask();
|
if (workingTask != null) {
|
workingTask.setTaskState("等待中");
|
shelfTaskDao.save(workingTask);
|
}
|
|
}
|
|
//删除原片
|
public void rackdelete(Long id) {
|
ShelfRack shelfRack =shelfRackDao.selectrackid(id);
|
if(shelfRack!=null){
|
shelfRack.getRawPackage().setState("空闲");
|
shelfRack.setRawPackage(null);
|
shelfRack.setState("空闲");
|
shelfRack.setModTime(new Date());
|
shelfRackDao.save(shelfRack);
|
}
|
}
|
|
//禁用启用
|
public void enableDisablesReset(String type,Long id) {
|
ShelfRack shelfRack =shelfRackDao.selectrackid(id);
|
if(shelfRack!=null){
|
shelfRack.setFalg(type);;
|
shelfRackDao.save(shelfRack);
|
}
|
|
|
}
|
|
//添加原片信息
|
public void addshelfrack(HttpServletRequest request) {
|
RawPackage rawPackage=new RawPackage();
|
ShelfRack shelfRack = shelfRackDao.findOne(Long.valueOf(request.getParameter("rackid")));
|
String type=request.getParameter("thickness")+request.getParameter("colors");
|
rawPackage.setRawType(type);
|
rawPackage.setRawWidth(Double.valueOf(request.getParameter("width")));
|
rawPackage.setRawHeight(Double.valueOf(request.getParameter("heigth")));
|
rawPackage.setRawThickness(Double.valueOf(request.getParameter("thickness")));
|
rawPackage.setPieces(Integer.parseInt(request.getParameter("pieces")));
|
rawPackage.setLeftPieces(Integer.parseInt(request.getParameter("pieces")));
|
if(request.getParameter("picihao")!=null&&request.getParameter("picihao")!=""){
|
rawPackage.setBatchId(request.getParameter("picihao"));
|
}
|
rawPackage.setState("使用中");
|
rawPackage.setColor(request.getParameter("colors"));
|
rawPackage.setCreateTime(new Date());
|
rawPackageDao.save(rawPackage);
|
shelfRack.setRawPackage(rawPackage);
|
shelfRack.setCreateTime(new Date());
|
shelfRack.setState("使用中");
|
shelfRackDao.save(shelfRack);
|
}
|
|
public void addtask(HttpServletRequest request) {
|
ShelfTask shelfTask = new ShelfTask();
|
String loadid=request.getParameter("rankid");
|
int count=shelfTaskDao.pandian(loadid,Long.valueOf(request.getParameter("shelfid")));
|
if(count==0){
|
Long taskid=shelfTaskDao.findtaskid();
|
shelfTask.setTaskId(taskid+1);
|
ShelfRack shelfRack =shelfRackDao.findShelfRankByNumber(request.getParameter("shelfid"));
|
shelfTask.setShelfRack(shelfRack);
|
shelfTask.setTaskType("从仓位到上片位");
|
shelfTask.setTaskState("等待中");
|
shelfTask.setStartTime(new Date());
|
if(loadid.equals("103")||loadid.equals("104")){
|
shelfTask.setGroups(2l);
|
}else if(loadid.equals("101")||loadid.equals("102")){
|
shelfTask.setGroups(1l);
|
}else if(loadid.equals("105")||loadid.equals("106")){
|
shelfTask.setGroups(3l);
|
}
|
shelfTask.setLoadRack(request.getParameter("rankid"));
|
shelfTaskDao.save(shelfTask);
|
}
|
|
}
|
//修改数量
|
public void updatecount(HttpServletRequest request) {
|
/*源代码 存在BUG 2023-7-27修改 y
|
* System.out.println(request.getParameter("pieces"));
|
ShelfRack shelfRack = shelfRackDao.findOne(Long.valueOf(request.getParameter("rackid")));
|
shelfRack.getRawPackage().setLeftPieces(Integer.parseInt(request.getParameter("pieces")));
|
shelfRackDao.save(shelfRack);*/
|
ShelfRack shelfRack = shelfRackDao.findOne(Long.valueOf(request.getParameter("rackid")));
|
if(shelfRack.getRawPackage()!=null&&request.getParameter("pieces")!=null){
|
shelfRack.getRawPackage().setLeftPieces(Integer.parseInt(request.getParameter("pieces")));
|
shelfRackDao.save(shelfRack);
|
}
|
}
|
//修改批次号
|
public void updatepicihao(HttpServletRequest request) {
|
ShelfRack shelfRack = shelfRackDao.findOne(Long.valueOf(request.getParameter("rackid")));
|
if(shelfRack.getRawPackage()!=null&&request.getParameter("picihao")!=null){
|
shelfRack.getRawPackage().setBatchId(request.getParameter("picihao"));
|
shelfRackDao.save(shelfRack);
|
}
|
}
|
//入库
|
public void addshelfracks(HttpServletRequest request) {
|
try {
|
SimpleDateFormat sdFormat=new SimpleDateFormat("yyyy-MM-dd");
|
RawPackage rawPackage=new RawPackage();
|
ShelfRack shelfRack = shelfRackDao.findOne(Long.valueOf(request.getParameter("rackid")));
|
String type=request.getParameter("thickness")+request.getParameter("colors");
|
rawPackage.setRawType(type);
|
rawPackage.setRawWidth(Double.valueOf(request.getParameter("width")));
|
rawPackage.setRawHeight(Double.valueOf(request.getParameter("heigth")));
|
rawPackage.setRawThickness(Double.valueOf(request.getParameter("thickness")));
|
rawPackage.setPieces(Integer.parseInt(request.getParameter("pieces")));
|
rawPackage.setLeftPieces(Integer.parseInt(request.getParameter("pieces")));
|
rawPackage.setBatchId(request.getParameter("picihao"));
|
rawPackage.setProductionTime(sdFormat.parse(request.getParameter("production")));
|
rawPackage.setState("等待使用");
|
rawPackage.setColor(request.getParameter("colors"));
|
rawPackage.setCreateTime(new Date());
|
rawPackageDao.save(rawPackage);
|
|
shelfRack.setRawPackage(rawPackage);
|
shelfRack.setCreateTime(new Date());
|
shelfRack.setModTime(new Date());
|
shelfRack.setState("正在使用");
|
shelfRack.setFalg("启用");
|
|
shelfRackDao.save(shelfRack);
|
|
Rank rank = new Rank(type, rawPackage.getPieces(), rawPackage.getRawWidth(), rawPackage.getRawHeight(),
|
rawPackage.getRawThickness(), rawPackage.getColor(), "", new Date(), shelfRack);
|
rank.setFlag("0");
|
rank.setType("进库");
|
rank.setBatchId(request.getParameter("picihao"));
|
rank.setEndtime(new Date());
|
rankDao.save(rank);
|
rankDao.save(rank);
|
LoadRack loadRack = loadRackDao.findBytypefalg().get(0);
|
Long taskid=shelfTaskDao.findtaskid();
|
// 创建入库任务
|
ShelfTask shelfTask = new ShelfTask();
|
ShelfTask shelfTask1 = new ShelfTask();
|
shelfTask.setTaskId(taskid+1);
|
shelfTask.setShelfRack(shelfRack);
|
shelfTask.setTaskType("从仓位到吊装位");
|
shelfTask.setTaskState("等待中");
|
shelfTask.setStartTime(new Date());
|
shelfTask.setLoadRack(loadRack.getNumber());
|
|
/*shelfTask1.setTaskId(taskid+2);
|
shelfTask1.setShelfRack(shelfRack);
|
shelfTask1.setTaskType("从吊装位到仓位");
|
shelfTask1.setTaskState("等待中");
|
shelfTask1.setStartTime(new Date());
|
shelfTask1.setLoadRack(loadRack.getNumber());*/
|
|
shelfTaskDao.save(shelfTask);
|
/*shelfTaskDao.save(shelfTask1);*/
|
} catch (Exception e) {
|
// TODO: handle exception
|
}
|
|
|
|
|
|
}
|
|
|
//手动入库
|
public void addshelfracks2(HttpServletRequest request) {
|
try {
|
SimpleDateFormat sdFormat=new SimpleDateFormat("yyyy-MM-dd");
|
RawPackage rawPackage=new RawPackage();
|
LoadRack loadRack = loadRackDao.findBytypefalg().get(0);
|
if (loadRack.getShelfTask().getShelfRack()!=null) {
|
System.out.println(111);
|
ShelfRack shelfRack = shelfRackDao.findOne(loadRack.getShelfTask().getShelfRack().getId());
|
String type=request.getParameter("thickness")+request.getParameter("colors");
|
rawPackage.setRawType(type);
|
rawPackage.setRawWidth(Double.valueOf(request.getParameter("width")));
|
rawPackage.setRawHeight(Double.valueOf(request.getParameter("heigth")));
|
rawPackage.setRawThickness(Double.valueOf(request.getParameter("thickness")));
|
rawPackage.setPieces(Integer.parseInt(request.getParameter("pieces")));
|
rawPackage.setLeftPieces(Integer.parseInt(request.getParameter("pieces")));
|
rawPackage.setBatchId(request.getParameter("picihao"));
|
rawPackage.setProductionTime(sdFormat.parse(request.getParameter("production")));
|
rawPackage.setState("等待使用");
|
rawPackage.setColor(request.getParameter("colors"));
|
rawPackage.setCreateTime(new Date());
|
rawPackageDao.save(rawPackage);
|
|
shelfRack.setRawPackage(rawPackage);
|
shelfRack.setCreateTime(new Date());
|
shelfRack.setModTime(new Date());
|
shelfRack.setFalg("启用");
|
|
shelfRackDao.save(shelfRack);
|
|
Rank rank = new Rank(type, rawPackage.getPieces(), rawPackage.getRawWidth(), rawPackage.getRawHeight(),
|
rawPackage.getRawThickness(), rawPackage.getColor(), "", new Date(), shelfRack);
|
rank.setFlag("0");
|
rank.setType("进库");
|
rank.setBatchId(request.getParameter("picihao"));
|
rank.setEndtime(new Date());
|
rankDao.save(rank);
|
rankDao.save(rank);
|
}
|
|
|
} catch (Exception e) {
|
// TODO: handle exception
|
}
|
|
|
|
|
|
}
|
//修改料架状态
|
public void updateshelfrank(HttpServletRequest request) {
|
|
ShelfRack shelfRack = shelfRackDao.findOne(Long.valueOf(request.getParameter("rackid")));
|
shelfRack.setModTime(new Date());
|
shelfRack.setState("使用中");
|
shelfRackDao.save(shelfRack);
|
|
|
}
|
|
//入库
|
public void addshelfracks1(HttpServletRequest request) {
|
ShelfRack shelfRack = shelfRackDao.findOne(Long.valueOf(request.getParameter("rackid")));
|
shelfRack.setRawPackage(null);
|
shelfRack.setCreateTime(new Date());
|
shelfRack.setModTime(new Date());
|
shelfRack.setState("空闲");
|
shelfRack.setFalg("启用");
|
|
shelfRackDao.save(shelfRack);
|
|
LoadRack loadRack = loadRackDao.findBytypefalg().get(0);
|
Long taskid=shelfTaskDao.findtaskid();
|
// 创建入库任务
|
ShelfTask shelfTask = new ShelfTask();
|
ShelfTask shelfTask1 = new ShelfTask();
|
shelfTask.setTaskId(taskid+1);
|
shelfTask.setShelfRack(shelfRack);
|
shelfTask.setTaskType("从仓位到吊装位");
|
shelfTask.setTaskState("等待中");
|
shelfTask.setStartTime(new Date());
|
shelfTask.setLoadRack(loadRack.getNumber());
|
|
/*shelfTask1.setTaskId(taskid+2);
|
shelfTask1.setShelfRack(shelfRack);
|
shelfTask1.setTaskType("从吊装位到仓位");
|
shelfTask1.setTaskState("等待中");
|
shelfTask1.setStartTime(new Date());
|
shelfTask1.setLoadRack(loadRack.getNumber());*/
|
|
shelfTaskDao.save(shelfTask);
|
/*shelfTaskDao.save(shelfTask1);*/
|
}
|
|
|
//仓储料架柱状图
|
public String getShelfRankInfo() {
|
|
StringBuffer html = new StringBuffer();// 实例化缓存
|
|
List<ShelfRack> ranks = shelfRackDao.findAll();
|
|
for (ShelfRack rank : ranks) {//仓储料架信息--已有玻璃的的架子圆柱模块
|
RawPackage rawPackage = rank.getRawPackage();
|
if (rank.getState().equals(ShelfRankState.IN_WORK)) {//仓储料架信息--使用中的架子圆柱模块
|
if (rawPackage != null) {
|
int leftPieces = rawPackage.getLeftPieces();
|
int Pieces = rawPackage.getPieces();
|
|
Date enterDate = rawPackage.getCreateTime();
|
long between = new Date().getTime() - enterDate.getTime();
|
long days = between / (1000 * 60 * 60 * 24);
|
|
// 计算片数百分比用于设置柱状图高度
|
double percent = (double) leftPieces / (double) Pieces * 100;
|
|
html.append("<td><div class='progress vertical active' value='").append(rank.getNumber())
|
.append("'style='width: 21px;background-color: gray;'>");
|
|
html.append("<span style='margin-top: opx'>").append(rank.getRawPackage().getPieces()).append("</span>");
|
if (days < 3) {
|
html.append(
|
"<div class='progress-bar progress-bar-primary progress-bar-striped progress-bar-aqua' style=' height:"
|
+ percent + "%'")
|
.append("<span>" + leftPieces + '/' + Pieces + "</span>").append("</div>");
|
} else if (days >= 3 && days < 7) {
|
html.append("<div class='progress-bar progress-bar-striped progress-bar-green' style=' height:"
|
+ percent + "%'").append("<span>" + leftPieces + '/' + Pieces + "</span>")
|
.append("</div>");
|
} else {
|
html.append(
|
"<div class='progress-bar progress-bar-danger progress-bar-striped progress-bar-red' style=' height:"
|
+ percent + "%'")
|
.append("<span>" + leftPieces + '/' + Pieces + "</span>").append("</div>");
|
}
|
} else {
|
rank.setState(ShelfRankState.FREE);
|
shelfRackDao.save(rank);
|
html.append("<td><div class='progress vertical active ' value='").append(rank.getNumber())
|
.append("'style='width: 21px;background-color: gray;'>");
|
html.append("<span style='margin-top: opx'>").append(0).append("</span>");
|
html.append(
|
"<div class='progress-bar color-palette progress-bar-striped' role='progressbar' style='height: 0%'>");
|
html.append("</div>");
|
}
|
|
} else if (rank.getState().equals(ShelfRankState.IN_WORKING)
|
|| rank.getState().equals(ShelfRankState.ON_WAITING)) {//仓储料架信息--正在使用或等待使用的架子圆柱模块
|
// 含有原片信息
|
if (rawPackage != null) {
|
int leftPieces = rawPackage.getLeftPieces();
|
int Pieces = rawPackage.getPieces();
|
// 计算片数百分比用于设置柱状图高度
|
double percent = (double) leftPieces / (double) Pieces * 100;
|
html.append("<td><div class='progress vertical active' value='").append(rank.getNumber())
|
.append("'style='width: 21px;background-color: gray;'>");
|
|
|
html.append(
|
"<div class='progress-bar progress-bar-primary progress-bar-yellow progress-bar-aqua' style=' height:"
|
+ percent + "%'")
|
.append("<span>" + leftPieces + '/' + Pieces + "</span>").append("</div>");
|
} else {
|
rank.setState(ShelfRankState.FREE);
|
shelfRackDao.save(rank);
|
html.append("<td><div class='progress vertical active ' value='").append(rank.getNumber())
|
.append("'style='width: 21px;background-color: gray;'>");
|
html.append(
|
"<div class='progress-bar color-palette progress-bar-striped' role='progressbar' style='height: 0%'>");
|
html.append("</div>");
|
}
|
} else if (rank.getState().equals(ShelfRankState.FREE)) {//仓储料架信息--空闲的架子圆柱模块
|
html.append("<td><div class='progress vertical active ' value='").append(rank.getNumber())
|
.append("'style='width: 21px;background-color: gray;'>");
|
html.append(
|
"<div class='progress-bar color-palette progress-bar-striped' role='progressbar' style='height: 0%'>");
|
html.append("</div>");
|
}
|
|
html.append("</div>");
|
html.append("<div>");
|
html.append(rank.getNumber());
|
html.append("</div>");
|
html.append("</td>");
|
}
|
return html.toString();// 返回料架信息
|
}
|
|
//仓储料架显示
|
public String getShelfRankInfohmtl() {
|
|
StringBuffer html = new StringBuffer();// 实例化缓存
|
|
List<ShelfRack> ranks = shelfRackDao.findBystate();
|
for (ShelfRack rank : ranks) {
|
if (rank.getRawPackage()!=null&&(rank.getState().equals(RackState.IN_WORK) || rank.getState().equals(RackState.ON_WAITING))) {
|
|
html.append("<tr>");
|
html.append("<td><input type='checkbox' name='id' value="+rank.getId() +" /></td>");
|
html.append("<td style='display:none' class='rankid'>"+rank.getId() +"</td>");
|
html.append("<td>"+rank.getNumber() +"</td>");
|
html.append("<td>"+rank.getRawPackage().getRawType() +"</td>");
|
html.append("<td>"+rank.getRawPackage().getRawWidth() +"</td>");
|
html.append("<td>"+rank.getRawPackage().getRawHeight() +"</td>");
|
html.append("<td>"+rank.getRawPackage().getRawThickness() +"</td>");
|
html.append("<td>"+rank.getRawPackage().getLeftPieces() +"</td>");
|
if (rank.getRawPackage().getBatchId() !=null && rank.getRawPackage().getBatchId() !="") {
|
html.append("<td>"+rank.getRawPackage().getBatchId() +"</td>");
|
} else {
|
html.append("<td></td>");
|
}
|
|
html.append("<td>"+rank.getCreateTime() +"</td>");
|
html.append("<td>"+rank.getFalg() +"</td>");
|
html.append("</tr>");
|
|
|
|
|
} else {
|
html.append("<tr>");
|
html.append("<td><input type='checkbox' name='id' value="+rank.getId() +" /></td>");
|
html.append("<td style='display:none' class='rankid'>"+rank.getId() +"</td>");
|
html.append("<td>"+rank.getNumber() +"</td>");
|
html.append("<td></td>");
|
html.append("<td></td>");
|
html.append("<td></td>");
|
html.append("<td></td>");
|
html.append("<td></td>");
|
html.append("<td></td>");
|
html.append("<td></td>");
|
html.append("<td>"+rank.getFalg() +"</td>");
|
html.append("</tr>");
|
}
|
}
|
return html.toString();// 返回料架信息
|
}
|
|
//空闲料架
|
public List<String> getFreeShelfRankNumberList() {
|
List<ShelfRack> freeShelfRanks = shelfRackDao.findFreeRanks();
|
List<String> result = new ArrayList<String>();
|
|
// 生成list
|
for (ShelfRack shelfRank : freeShelfRanks) {
|
result.add(shelfRank.getNumber());
|
}
|
return result;
|
|
}
|
|
//正在使用料架
|
public List<String> getFreeShelfRankNumberList2() {
|
List<ShelfRack> freeShelfRanks = shelfRackDao.findFreeRanks2();
|
List<String> result = new ArrayList<String>();
|
|
// 生成list
|
for (ShelfRack shelfRank : freeShelfRanks) {
|
result.add(shelfRank.getNumber());
|
}
|
return result;
|
|
}
|
//膜系
|
public List<String> getColorList() {
|
List<GlassNumberColor> colors = glassNumberColorDao.findAll();
|
List<String> result = new ArrayList<String>();
|
|
// 生成list
|
for (GlassNumberColor color : colors) {
|
result.add(color.getGlassId());
|
}
|
return result;
|
}
|
|
public List<ShelfRack> selectAll(Integer start, Integer length) {
|
Pageable pageable = new PageRequest(start / length, length, Direction.ASC, "id");
|
Page<ShelfRack> lists = shelfRackDao.findNotUsedRanks(pageable);
|
List<ShelfRack> misakaList = lists.getContent();
|
LOGGER.debug(misakaList.toString());
|
return misakaList;
|
}
|
|
public int selectCount() {
|
int count = shelfRackDao.countNotUseRanks();
|
return count;
|
}
|
|
public List<Rank> getrankList() {
|
List<Rank> ranks = rankDao.findAll();
|
if (ranks.size() > 10) {
|
List<Rank> rankList = new ArrayList<Rank>();
|
for (int i = ranks.size() - 1; i > ranks.size() - 11; i--) {
|
rankList.add(ranks.get(i));
|
}
|
return rankList;
|
} else {
|
return ranks;
|
}
|
}
|
|
// 得到颜色膜系的option
|
public String getcolorHtml() {
|
StringBuffer html = new StringBuffer();
|
List<GlassNumberColor> colors = glassNumberColorDao.findAll();
|
// 生成list
|
for (GlassNumberColor color : colors) {
|
html.append("<option>").append(color.getGlassId()).append("</option>");
|
}
|
return html.toString();
|
}
|
|
|
public String getLoadMachineRankHtml(long l) {
|
|
StringBuffer html = new StringBuffer();
|
List<LoadRack> loadMachineRacks = loadRackDao.findLoadMachineRacksByLoadMachineId(l);
|
if (loadMachineRacks.size() > 0) {
|
for (LoadRack loadMachineRack : loadMachineRacks) {
|
html.append("<tr><td>上片位").append(loadMachineRack.getNumber()).append("</td>");
|
if (loadMachineRack.getState().equals(RackState.FREE)) {
|
html.append("<td>").append(loadMachineRack.getState()).append("</td>");
|
html.append("<td><button class='btn btn-large btn-success' onclick='addload(")
|
.append(loadMachineRack.getId()).append(")'>添加原片</button></td></tr>");
|
// <button class="btn btn-warning btn-lg"
|
// id="reset">添加原片</button>
|
} else {
|
if (loadMachineRack.getShelfTask() != null) {
|
ShelfRack rank = shelfRackDao.findRankByRawId(loadMachineRack.getShelfTask().getShelfRack().getId());
|
html.append("<td>").append("【").append(rank.getNumber()).append("号】")
|
.append(loadMachineRack.getShelfTask().getShelfRack().getRawPackage().getDescription()).append("</td>");
|
html.append("<td><a href='/gmms2/shelfmanager/exitload/").append(loadMachineRack.getId())
|
.append("' class='btn btn-large btn-danger' type='button'>退库</a> <button class='btn btn-large btn-warning' onclick='modifyload(")
|
.append(loadMachineRack.getId()).append(")'>修改原片</button></td></tr>");
|
} else {
|
html.append("<td>").append(loadMachineRack.getState()).append("</td>");
|
html.append("<td><button class='btn btn-large btn-success' onclick='addload(")
|
.append(loadMachineRack.getId()).append(")'>添加原片</button></td></tr>");
|
}
|
|
}
|
|
}
|
}
|
html.append("</tr>");
|
return html.toString();
|
}
|
|
|
public void addAction(HttpServletRequest request, String shelfRankNumber, String ids) {
|
ShelfRack shelfRank = shelfRackDao.findShelfRankByNumber(shelfRankNumber);
|
//ShelfTask shelfTask1=shelfTaskDao.findtaskid(Long.valueOf(request.getParameter("taskid1")));
|
LoadRack rack = loadRackDao.findOne(Long.valueOf(ids));
|
ShelfTask shelfTask=new ShelfTask();
|
shelfTask.setTaskId(0l);
|
shelfTask.setTaskType("从仓位到上片位");
|
shelfTask.setTaskState("已完成");
|
shelfTask.setShelfRack(shelfRank);
|
shelfTask.setLoadRack(rack.getNumber());
|
shelfTask.setGroups(rack.getGroups());
|
shelfTask.setStartTime(new Date());
|
shelfTaskDao.save(shelfTask);
|
RawPackage rawPackage = new RawPackage();
|
// RawPackage raw = shelfRank.getRawPackage();
|
|
String type=request.getParameter("thickness1") + request.getParameter("color");
|
rawPackage.setLeftPieces(Integer.parseInt(request.getParameter("pieces1")));
|
rawPackage.setPieces(Integer.parseInt(request.getParameter("pieces1")));
|
rawPackage.setRawHeight(Double.valueOf(request.getParameter("height1")));
|
rawPackage.setRawWidth(Double.valueOf(request.getParameter("width1")));
|
rawPackage.setRawThickness(Double.valueOf(request.getParameter("thickness1")));
|
rawPackage.setColor(request.getParameter("color"));
|
rawPackage.setState(ShelfRankState.IN_WORKING);
|
rawPackage.setCreateTime(new Date());
|
rawPackage.setRawType(type);
|
rawPackage = rawPackageDao.save(rawPackage);
|
// 初始化料架
|
shelfRank.setState(ShelfRankState.IN_WORKING);
|
shelfRank.setRawPackage(rawPackage);
|
shelfRank.setCreateTime(rawPackage.getCreateTime());
|
shelfRackDao.save(shelfRank);
|
rack.setShelfTask(shelfTask);
|
rack.setFalgShelf("1");
|
rack.setState(RackState.IN_WORKING);
|
loadRackDao.save(rack);
|
}
|
|
public void modifyAction(String pieces, String ids) {
|
LoadRack rack = loadRackDao.findOne(Long.valueOf(ids));
|
RawPackage rawPackage = rack.getShelfTask().getShelfRack().getRawPackage();
|
if (rawPackage != null) {
|
ShelfRack shelfRank = shelfRackDao.findRankByRawId(rawPackage.getId());
|
int pic = Integer.parseInt(pieces);
|
if (pic == 0) {
|
shelfRank.setState(ShelfRankState.FREE);
|
shelfRank.setRawPackage(null);
|
rack.setFalgShelf("0");
|
rack.setState(ShelfRankState.FREE);
|
shelfRackDao.save(shelfRank);
|
loadRackDao.save(rack);
|
} else {
|
rawPackage.setLeftPieces(pic);
|
rawPackageDao.save(rawPackage);
|
}
|
} else {
|
rack.setState(RackState.FREE);
|
loadRackDao.save(rack);
|
}
|
|
}
|
|
|
|
|
/**
|
* 根据料架号手动出库
|
*
|
* @param id
|
*/
|
public void exitload(String id) {
|
LoadRack rack = loadRackDao.findOne(Long.valueOf(id));
|
if (!rack.getState().equals(RackState.ON_EXIT)) {
|
rack.setState(RackState.ON_EXIT);
|
loadRackDao.save(rack);
|
RawPackage rawPackage = rack.getShelfTask().getShelfRack().getRawPackage();
|
if (rawPackage != null) {
|
ShelfRack rank = shelfRackDao.findRankByRawId(rawPackage.getId());
|
ShelfTask task = new ShelfTask();
|
task.setTaskState("等待中");
|
task.setTaskType("从上片位到仓位");
|
task.setGroups(rack.getGroups());
|
task.setShelfRack(rank);
|
task.setStartTime(new Date());
|
task.setLoadRack(rack.getNumber());
|
shelfTaskDao.save(task);
|
}
|
}
|
|
}
|
|
public String tuikuinfo(String loadMachineId) {
|
LoadRack loadMachineRack=loadRackDao.findOne(Long.valueOf(loadMachineId));
|
List<ShelfTask> shelftask =shelfTaskDao.selectloadMachineId(loadMachineRack.getNumber());
|
System.out.println(loadMachineRack.getNumber());
|
ShelfRack rank = shelfRackDao.findRankByRawId(loadMachineRack.getShelfTask().getShelfRack().getId());
|
System.out.println(rank.getId());
|
if (shelftask.size()==0){
|
ShelfTask task = new ShelfTask();
|
task.setTaskId(loadMachineRack.getShelfTask().getId());
|
task.setTaskState("等待中");
|
task.setTaskType("从上片位到仓位");
|
task.setGroups(loadMachineRack.getGroups());
|
task.setShelfRack(rank);
|
task.setStartTime(new Date());
|
task.setLoadRack(loadMachineRack.getNumber());
|
shelfTaskDao.save(task);
|
loadMachineRack.setShelfTask(task);
|
loadRackDao.save(loadMachineRack);
|
}
|
|
return "redirect:/cutmanage/loadmachinerack";
|
}
|
|
/*public List<ShelfRack> selectAll1(Integer start, Integer length, String thickness) {
|
Pageable pageable = new PageRequest(start / length, length, Direction.ASC, "id");
|
Page<ShelfRack> lists = shelfRackDao.findNotUsedRanks1(Double.valueOf(thickness), pageable);
|
List<ShelfRack> misakaList = lists.getContent();
|
LOGGER.debug(lists.toString());
|
return misakaList;
|
}
|
|
public int selectCount1(String thickness) {
|
int count = shelfRackDao.countNotUseRanks1(Double.valueOf(thickness));
|
return count;
|
}
|
|
public List<ShelfRack> selectAll2(Integer start, Integer length, String glassId) {
|
Pageable pageable = new PageRequest(start / length, length, Direction.ASC, "id");
|
Page<ShelfRack> lists = shelfRackDao.findNotUsedRanks2(glassId, pageable);
|
List<ShelfRack> misakaList = lists.getContent();
|
LOGGER.debug(lists.toString());
|
return misakaList;
|
}
|
|
public int selectCount2(String glassId) {
|
int count = shelfRackDao.countNotUseRanks2(glassId);
|
return count;
|
}
|
|
public List<ShelfRack> selectAll3(Integer start, Integer length, String thickness, String glassId) {
|
Pageable pageable = new PageRequest(start / length, length, Direction.ASC, "id");
|
Page<ShelfRack> lists = shelfRackDao.findNotUsedRanks3(Double.valueOf(thickness), glassId, pageable);
|
List<ShelfRack> misakaList = lists.getContent();
|
LOGGER.debug(lists.toString());
|
return misakaList;
|
}
|
|
public int selectCount3(String thickness, String glassId) {
|
int count = shelfRackDao.countNotUseRanks3(Double.valueOf(thickness), glassId);
|
return count;
|
}*/
|
|
public void exitSeparate(String ids) {
|
|
|
|
ShelfRack shelfRank = shelfRackDao.findOne(Long.valueOf(ids));
|
RawPackage rawPackage = shelfRank.getRawPackage();
|
if (rawPackage != null) {
|
rawPackage.setState(ShelfRankState.ON_EXIT);
|
rawPackageDao.save(rawPackage);
|
|
shelfRank.setState(ShelfRankState.ON_EXIT);
|
shelfRank.setRawPackage(null);
|
shelfRackDao.save(shelfRank);
|
|
LoadRack loadRack = loadRackDao.findBytypefalg().get(0);
|
Long taskid=shelfTaskDao.findtaskid();
|
// 创建出库任务
|
ShelfTask shelfTask = new ShelfTask();
|
ShelfTask shelfTask1 = new ShelfTask();
|
shelfTask.setTaskId(taskid+1);
|
shelfTask.setShelfRack(shelfRank);
|
shelfTask.setTaskType("从仓位到吊装位");
|
shelfTask.setTaskState("等待中");
|
shelfTask.setStartTime(new Date());
|
shelfTask.setLoadRack(loadRack.getNumber());
|
|
/*shelfTask1.setTaskId(taskid+2);
|
shelfTask1.setShelfRack(shelfRank);
|
shelfTask1.setTaskType("从吊装位到仓位");
|
shelfTask1.setTaskState("等待中");
|
shelfTask1.setStartTime(new Date());
|
shelfTask1.setLoadRack(loadRack.getNumber());*/
|
|
shelfTaskDao.save(shelfTask);
|
/*shelfTaskDao.save(shelfTask1);*/
|
|
Rank rank = new Rank(rawPackage.getRawType(), rawPackage.getLeftPieces(), rawPackage.getRawWidth(),
|
rawPackage.getRawHeight(), rawPackage.getRawThickness(), rawPackage.getColor(),
|
"", rawPackage.getCreateTime(), shelfRank);
|
rank.setFlag("1");
|
rank.setType("退库");
|
rank.setEndtime(new Date());
|
rankDao.save(rank);
|
rawPackageDao.delete(rawPackage);
|
}
|
|
|
}
|
|
public void fanpian(String ids) {
|
ShelfRack shelfRank = shelfRackDao.findOne(Long.valueOf(ids));
|
RawPackage rawPackage = shelfRank.getRawPackage();
|
if (rawPackage != null) {
|
|
LoadRack loadRack = loadRackDao.findBytypefalg().get(0);
|
Long taskid=shelfTaskDao.findtaskid();
|
// 创建出库任务
|
ShelfTask shelfTask = new ShelfTask();
|
// ShelfTask shelfTask1 = new ShelfTask();
|
shelfTask.setTaskId(taskid+1);
|
shelfTask.setShelfRack(shelfRank);
|
shelfTask.setTaskType("从仓位到吊装位");
|
shelfTask.setTaskState("等待中");
|
shelfTask.setStartTime(new Date());
|
shelfTask.setLoadRack(loadRack.getNumber());
|
/*
|
shelfTask1.setTaskId(taskid+2);
|
shelfTask1.setShelfRack(shelfRank);
|
shelfTask1.setTaskType("从吊装位到仓位");
|
shelfTask1.setTaskState("等待中");
|
shelfTask1.setStartTime(new Date());
|
shelfTask1.setLoadRack(loadRack.getNumber());
|
*/
|
shelfTaskDao.save(shelfTask);
|
//shelfTaskDao.save(shelfTask1);
|
|
}
|
|
|
}
|
|
//残片查询
|
public String getfragmentsRankInfohmt(){
|
StringBuffer html = new StringBuffer();
|
List<Fragments> fragments=fragmentsDao.findfall();
|
if(fragments.size()>0){
|
for (Fragments fragmentss : fragments){
|
if(fragmentss.getState().equals("空闲")){
|
html.append("<tr>");
|
html.append("<td><input type='checkbox' name='id' value="+fragmentss.getId() +" /></td>");
|
html.append("<td style='display:none' class='rankid'>"+fragmentss.getId() +"</td>");
|
html.append("<td>"+fragmentss.getFragmentsRank() +"</td>");
|
html.append("<td></td>");
|
html.append("<td></td>");
|
html.append("<td></td>");
|
html.append("</tr>");
|
}
|
else{
|
html.append("<tr>");
|
html.append("<td><input type='checkbox' name='id' value="+fragmentss.getId() +" /></td>");
|
html.append("<td style='display:none' class='rankid'>"+fragmentss.getId() +"</td>");
|
html.append("<td>"+fragmentss.getFragmentsRank() +"</td>");
|
html.append("<td>"+fragmentss.getWidth()+"</td>");
|
html.append("<td>"+fragmentss.getHeight()+"</td>");
|
html.append("<td>"+fragmentss.getThickness()+"</td>");
|
html.append("</tr>");
|
}
|
}
|
}
|
|
return html.toString();
|
}
|
|
|
public void fragmentsrankdelete(Long id,String type) {
|
Fragments fragments=fragmentsDao.findOne(id);
|
if(fragments!=null){
|
if(type.equals("禁用")){
|
fragments.setFlag(1);
|
fragmentsDao.save(fragments);
|
}else if(type.equals("出片")){
|
fragments.setWidth(0);
|
fragments.setHeight(0);
|
fragments.setState("空闲");
|
fragments.setThickness(0);
|
fragmentsDao.save(fragments);
|
}
|
|
}
|
}
|
|
|
|
public void updateshelftask(Long id,String type) {
|
ShelfTask shelfTask=shelfTaskDao.findOne(id);
|
if(shelfTask!=null){
|
if(type.equals("重新开始")){
|
shelfTask.setTaskState("等待中");
|
shelfTaskDao.save(shelfTask);
|
}else if(type.equals("完成")){
|
if (shelfTask.getTaskState().equals("正在工作")){
|
if(shelfTask.getTaskType().equals("从仓位到上片位")){
|
LoadRack loadRack =loadRackDao.findBynuber(shelfTask.getLoadRack());
|
loadRack.setShelfTask(shelfTask);
|
loadRack.setFalgShelf("1");
|
loadRack.setState("正在使用");
|
loadRackDao.save(loadRack);
|
ShelfRack shelfRack=shelfRackDao.findOne(shelfTask.getShelfRack().getId());
|
shelfRack.setState("正在使用");
|
shelfRackDao.save(shelfRack);
|
}else if(shelfTask.getTaskType().equals("从上片位到仓位")){
|
LoadRack loadRack =loadRackDao.findBynuber(shelfTask.getLoadRack());
|
loadRack.setShelfTask(null);
|
loadRack.setFalgShelf("0");
|
loadRack.setState("空闲");
|
loadRackDao.save(loadRack);
|
ShelfRack shelfRack=shelfRackDao.findOne(shelfTask.getShelfRack().getId());
|
if (shelfRack.getRawPackage().getLeftPieces()==0){
|
shelfRack.setState("空闲");
|
}else{
|
shelfRack.setState("使用中");
|
}
|
shelfRackDao.save(shelfRack);
|
}else if(shelfTask.getTaskType().equals("从仓位到吊装位")){
|
LoadRack loadRack =loadRackDao.findBynuber(shelfTask.getLoadRack());
|
loadRack.setShelfTask(shelfTask);
|
loadRack.setFalgShelf("1");
|
loadRack.setState("正在使用");
|
loadRackDao.save(loadRack);
|
ShelfRack shelfRack=shelfRackDao.findOne(shelfTask.getShelfRack().getId());
|
shelfRack.setState("正在使用");
|
shelfRackDao.save(shelfRack);
|
}else if(shelfTask.getTaskType().equals("从吊装位到仓位")){
|
LoadRack loadRack =loadRackDao.findBynuber(shelfTask.getLoadRack());
|
loadRack.setShelfTask(null);
|
loadRack.setFalgShelf("0");
|
loadRack.setState("空闲");
|
loadRackDao.save(loadRack);
|
ShelfRack shelfRack=shelfRackDao.findOne(shelfTask.getShelfRack().getId());
|
if(shelfRack.getRawPackage()!=null){
|
if (shelfRack.getRawPackage().getLeftPieces()==1){
|
shelfRack.setState("使用中");
|
shelfRack.setColorFalg(1);
|
shelfRack.setFalg("启用");
|
}else{
|
shelfRack.setState("使用中");
|
}
|
}else{
|
shelfRack.setState("空闲");
|
}
|
shelfRackDao.save(shelfRack);
|
}
|
}
|
shelfTask.setTaskState("已完成");
|
shelfTask.setFinshTime(new Date());
|
shelfTaskDao.save(shelfTask);
|
|
}else if(type.equals("删除")){
|
if(shelfTask.getTaskState().equals("等待中")){
|
if(shelfTask.getTaskType().equals("从仓位到上片位")){
|
ShelfRack shelfRack=shelfRackDao.findOne(shelfTask.getShelfRack().getId());
|
shelfRack.setState("使用中");
|
shelfRackDao.save(shelfRack);
|
}
|
}
|
shelfTaskDao.delete(shelfTask);
|
}
|
|
}
|
}
|
|
|
|
public void addshelftask() {
|
LoadRack loadrack=loadRackDao.findBynuber("99");
|
Long taskid=shelfTaskDao.findtaskid();
|
List<ShelfTask> shelftasklist =shelfTaskDao.selectloadMachineId(loadrack.getNumber());
|
if(loadrack.getState().equals("正在使用")){
|
if(shelftasklist.size()==0){
|
ShelfTask shelfTask=shelfTaskDao.findOne(loadrack.getShelfTask().getId());
|
ShelfTask shelfTask1=new ShelfTask();
|
shelfTask1.setTaskId(taskid+1);
|
shelfTask1.setTaskType("从吊装位到仓位");
|
shelfTask1.setTaskState("等待中");
|
shelfTask1.setShelfRack(shelfTask.getShelfRack());
|
shelfTask1.setLoadRack(shelfTask.getLoadRack());
|
shelfTask1.setGroups(shelfTask.getGroups());
|
shelfTask1.setStartTime(new Date());
|
shelfTaskDao.save(shelfTask1);
|
}
|
|
}
|
}
|
|
|
|
|
|
|
}
|