1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
/*******************************************************************************
 * Copyright (c) 2005, 2014 springside.github.io
 *
 * Licensed under the Apache License, Version 2.0 (the "License");
 *******************************************************************************/
package com.northglass.service.task;
 
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
 
import javax.servlet.http.HttpServletRequest;
 
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Page;
import org.springframework.data.domain.PageRequest;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Component;
import org.springframework.transaction.annotation.Transactional;
import org.springframework.ui.Model;
 
import com.northglass.entity.LoadRack;
import com.northglass.entity.OutTasks;
import com.northglass.entity.Task;
import com.northglass.repository.LoadRackDao;
import com.northglass.repository.OutTasksDao;
import com.northglass.repository.TaskDao;
import org.springside.modules.persistence.DynamicSpecifications;
import org.springside.modules.persistence.SearchFilter;
import org.springside.modules.persistence.SearchFilter.Operator;
 
// Spring Bean的标识.
@Component
// 类中所有public函数都纳入事务管理的标识.
@Transactional
public class LoadTaskService {
 
    @Autowired
    private OutTasksDao outTasksDao;
    @Autowired
    private LoadRackDao loadRackDao;
    //上片任务
    public List<LoadRack> loadRackLine(String line) {
        List<LoadRack> loadRacks=loadRackDao.findRackName(line);//上片工位
        return loadRacks;
    }
    
    public List<OutTasks> notFinshTask(String line) {
        List<OutTasks> OutTasks=outTasksDao.FindNotTaskLine("派尔确认任务完成",line);
        for(OutTasks item:OutTasks){
            System.out.println(item.getId());
            System.out.println(item.getMachineStatus());
        }
        System.out.println("----");
        return OutTasks;
    }
    public List<OutTasks> updateTask(String taskId,String Stusts) {
        List<OutTasks> ResultOutTasks=new ArrayList<OutTasks>();
        List<OutTasks> OutTasks=outTasksDao.FindOutTasksTaskIds(taskId);
        System.out.println("1:"+taskId+"   "+Stusts);
        for(OutTasks OutTask:OutTasks){
            
            ResultOutTasks.add(OutTask);
            if(Stusts.equals("铁架已到二次接力")){
                OutTask.setMachineStatus(Stusts);
                OutTask.setMesStatus("上片任务已开始");
                OutTask.setWorkStatus("等待中");
                outTasksDao.save(OutTask);
            }else if(Stusts.equals("等待开始")){
                OutTask.setMachineStatus(Stusts);
                OutTask.setMesStatus("上片任务已开始");
                OutTask.setWorkStatus("等待中");
                outTasksDao.save(OutTask);
                System.out.println("---"+Stusts);
            }else if(Stusts.equals("铁架已到上片位")){
                OutTask.setMachineStatus(Stusts);
                OutTask.setMesStatus("上片任务已开始");
                OutTask.setWorkStatus("等待中");
                outTasksDao.save(OutTask);
            }else if(Stusts.equals("上片完成请求退回")){
                OutTask.setMachineStatus(Stusts);
                OutTask.setMesStatus("派尔确认铁架已到位");
                OutTask.setWorkStatus("等待中");
                outTasksDao.save(OutTask);
            }else if(Stusts.equals("铁架退回二次接力")){
                OutTask.setMachineStatus(Stusts);
                OutTask.setMesStatus("派尔确认可退回");
                OutTask.setWorkStatus("等待中");
                outTasksDao.save(OutTask);
            }else if(Stusts.equals("铁架已到吊装位")){
                OutTask.setMachineStatus(Stusts);
                OutTask.setMesStatus("上片任务已开始");
                OutTask.setWorkStatus("等待中");
                outTasksDao.save(OutTask);
            }else if(Stusts.equals("任务完成")){
                List<LoadRack> LoadRacks=loadRackDao.findOutTasksId(OutTask.getId());
                for(LoadRack lloadRack:LoadRacks){
                    lloadRack.setOutTasks(null);
                    lloadRack.setState("空闲");
                    loadRackDao.save(lloadRack);
                }
                OutTask.setMachineStatus(Stusts);
                OutTask.setMesStatus("派尔确认可退回");
                OutTask.setWorkStatus("等待中");
                outTasksDao.save(OutTask);
                System.out.println("---"+Stusts);
            }else if(Stusts.equals("等待退回库区")){
                OutTask.setMachineStatus(Stusts);
                OutTask.setMesStatus("派尔确认可退回");
                OutTask.setWorkStatus("等待中");
                outTasksDao.save(OutTask);
            }else if(Stusts.equals("派尔确认任务完成")){
                List<LoadRack> LoadRacks=loadRackDao.findOutTasksId(OutTask.getId());
                for(LoadRack lloadRack:LoadRacks){
                    lloadRack.setOutTasks(null);
                    lloadRack.setState("空闲");
                    loadRackDao.save(lloadRack);
                }
                OutTask.setMesStatus(Stusts);
                OutTask.setMachineStatus("任务完成");
                OutTask.setInfoContent("");
                OutTask.setWorkStatus("");
                outTasksDao.save(OutTask);
            }else if(Stusts.equals("派尔确认铁架已到位")){
                if("铁架已到上片位".equals(OutTask.getMachineStatus())||
                   "铁架已到吊装位".equals(OutTask.getMachineStatus())){
                    OutTask.setMesStatus(Stusts);
                    OutTask.setWorkStatus("等待中");
                    outTasksDao.save(OutTask);
                }else{
                    if(!"此任务不在上片位或吊装位无法标记!".equals(OutTask.getInfoContent())){
                        OutTask.setInfoContent("此任务不在上片位或吊装位无法标记!");
                        outTasksDao.save(OutTask);
                    }
                }                        
            }else{
                OutTask.setMachineStatus(Stusts);
                outTasksDao.save(OutTask);
            } 
        }
        List<OutTasks> OutTasks2=outTasksDao.FindOutTasksTaskIds(taskId);
        
        for(OutTasks item:OutTasks2){
            ResultOutTasks.add(item);
            //System.out.println("1:"+item.getId()+"   "+item.getMachineStatus());
            break;
        }
        
        return ResultOutTasks;
    }
}