hdy
2024-07-13 d9502f15ba2829816b466385df558ce266a8e197
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
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
package com.jcdm.main.da.passingStationCollection.controller;
 
import java.util.Date;
import java.util.List;
import javax.servlet.http.HttpServletResponse;
 
import com.jcdm.common.core.domain.R;
import com.jcdm.common.utils.DateUtils;
import com.jcdm.main.bs.orderScheduling.domain.BsOrderScheduling;
import com.jcdm.main.da.paramCollection.domain.DaParamCollection;
import com.jcdm.main.da.passingStationCollection.domain.DaPassingStationCollection;
import com.jcdm.main.da.passingStationCollection.service.IDaPassingStationCollectionService;
import com.jcdm.main.da.passingStationCollection.vo.DaPassingStationVO;
import com.kangaroohy.milo.model.ReadWriteEntity;
import org.springframework.security.access.prepost.PreAuthorize;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import com.jcdm.common.annotation.Log;
import com.jcdm.common.core.controller.BaseController;
import com.jcdm.common.core.domain.AjaxResult;
import com.jcdm.common.enums.BusinessType;
import com.jcdm.common.utils.poi.ExcelUtil;
import com.jcdm.common.core.page.TableDataInfo;
 
import static com.jcdm.main.plcserver.callback.InitCallback.miloService;
 
/**
 * 产品过站采集Controller
 * 
 * @author yyt
 * @date 2023-12-12
 */
@RestController
@RequestMapping("/da/passingStationCollection")
public class DaPassingStationCollectionController extends BaseController {
    @Autowired
    private IDaPassingStationCollectionService daPassingStationCollectionService;
 
    /**
     * 查询产品过站采集列表
     */
    @PreAuthorize("@ss.hasPermi('da:passingStationCollection:list')")
    @GetMapping("/list")
    public TableDataInfo list(DaPassingStationCollection daPassingStationCollection) {
        startPage();
        List<DaPassingStationCollection> list = daPassingStationCollectionService.selectDaPassingStationCollectionList(daPassingStationCollection);
        return getDataTable(list);
    }
 
    @PreAuthorize("@ss.hasPermi('da:passingStationCollection:list')")
    @GetMapping("/getTopProcess")
    public TableDataInfo getTopProcess() {
        DaPassingStationCollection daPassingStationCollection = new DaPassingStationCollection();
        List<DaPassingStationVO> list = daPassingStationCollectionService.getTopProcess(daPassingStationCollection);
        return getDataTable(list);
    }
 
    /**
     * 查询产品过站采集列表
     */
    @PreAuthorize("@ss.hasPermi('da:passingStationCollection:list')")
    @GetMapping("/noPageList")
    public TableDataInfo noPageList(DaPassingStationCollection daPassingStationCollection) {
        List<DaPassingStationCollection> list = daPassingStationCollectionService.selectDaPassingStationCollectionList(daPassingStationCollection);
        return getDataTable(list);
    }
 
    @PreAuthorize("@ss.hasPermi('da:passingStationCollection:list')")
    @GetMapping("/getProduceNumToday")
    public R getProduceNumToday(String fieldName) {
        Integer num = daPassingStationCollectionService.getProduceNumToday(fieldName);
        return R.ok(num);
    }
 
    /**
     * 查询产品过站采集列表
     */
    @GetMapping("/insertRepairRecordByIds")
    public AjaxResult insertRepairRecordByIds(DaPassingStationCollection daPassingStationCollection) {
        daPassingStationCollectionService.insertRepairRecordByIds(daPassingStationCollection);
        return AjaxResult.success();
    }
 
    /**
     * 导出产品过站采集列表
     */
    @PreAuthorize("@ss.hasPermi('da:passingStationCollection:export')")
    @Log(title = "产品过站采集", businessType = BusinessType.EXPORT)
    @PostMapping("/export")
    public void export(HttpServletResponse response, DaPassingStationCollection daPassingStationCollection) {
        List<DaPassingStationCollection> list = daPassingStationCollectionService.selectDaPassingStationCollectionList(daPassingStationCollection);
        ExcelUtil<DaPassingStationCollection> util = new ExcelUtil<DaPassingStationCollection>(DaPassingStationCollection.class);
        util.exportExcel(response, list, "产品过站采集数据");
    }
 
    /**
     * 获取产品过站采集详细信息
     */
    @PreAuthorize("@ss.hasPermi('da:passingStationCollection:query')")
    @GetMapping(value = "/{id}")
    public AjaxResult getInfo(@PathVariable("id") Long id) {
        return success(daPassingStationCollectionService.selectDaPassingStationCollectionById(id));
    }
 
    /**
     * 新增产品过站采集
     */
    @PreAuthorize("@ss.hasPermi('da:passingStationCollection:add')")
    @Log(title = "产品过站采集", businessType = BusinessType.INSERT)
    @PostMapping
    public AjaxResult add(@RequestBody DaPassingStationCollection daPassingStationCollection) {
        daPassingStationCollection.setCreateBy(getUsername());
        daPassingStationCollection.setCreateTime(DateUtils.getNowDate());
        return toAjax(daPassingStationCollectionService.insertDaPassingStationCollection(daPassingStationCollection));
    }
 
    /**
     * 修改产品过站采集
     */
    @PreAuthorize("@ss.hasPermi('da:passingStationCollection:edit')")
    @Log(title = "产品过站采集", businessType = BusinessType.UPDATE)
    @PutMapping
    public AjaxResult edit(@RequestBody DaPassingStationCollection daPassingStationCollection) {
        daPassingStationCollection.setUpdateBy(getUsername());
        daPassingStationCollection.setUpdateTime(DateUtils.getNowDate());
        return toAjax(daPassingStationCollectionService.updateDaPassingStationCollection(daPassingStationCollection));
    }
 
    /**
     * 删除产品过站采集
     */
    @PreAuthorize("@ss.hasPermi('da:passingStationCollection:remove')")
    @Log(title = "产品过站采集", businessType = BusinessType.DELETE)
    @DeleteMapping("/{ids}")
    public AjaxResult remove(@PathVariable Long[] ids) {
        return toAjax(daPassingStationCollectionService.deleteDaPassingStationCollectionByIds(ids));
    }
 
 
//    @PreAuthorize("@ss.hasPermi('da:passingStationCollection:query')")
//    @Log(title = "产品过站采集", businessType = BusinessType.INSERT)
//    @GetMapping(value = "/addPassing")
//    public R addPassing(String sfcCode,String locationCode) {
//
//        DaPassingStationCollection saveData = new DaPassingStationCollection();
//        saveData.setSfcCode(sfcCode);
//        saveData.setLocationCode(locationCode);
//        saveData.setCollectionTime(new Date());
//        daPassingStationCollectionService.insertDaPassingStationCollection(saveData);
//
//        return R.ok();
//
//    }
 
 
    @GetMapping("/initializedData")
    public AjaxResult initializedData(@RequestParam String sfcCode, @RequestParam String locationCode) {
 
        try {
            String str = "CFL4CVT."+locationCode+".RecordData";
            Object recordDataObject = miloService.readFromOpcUa(str).getValue();
            if(Integer.valueOf(recordDataObject.toString())== 1){
                miloService.writeToOpcUa(ReadWriteEntity.builder().identifier("CFL4CVT." + locationCode + ".MesSNCode").value(sfcCode).build());
                ReadWriteEntity entity = new ReadWriteEntity("CFL4CVT." + locationCode + ".MesRecordDataDone", 11);
                miloService.writeToOpcShort(entity);
                return AjaxResult.success("扫码成功");
            }else {
                return AjaxResult.error(500,"未进站禁止扫码");
            }
//            ReadWriteEntity entity = new ReadWriteEntity("CFL4CVT." + locationCode + ".MesSNCode", sfcCode);
//            miloService.writeToOpcChar(entity);
//            String nodeId = "CFL4CVT." + locationCode + ".MesSNCode";
//            String SaveSNCode ="CFL4CVT." + locationCode + ".SaveSNCode";
//            ReadWriteEntity SaveSNCodeEntity = new ReadWriteEntity(SaveSNCode, 11);
//            miloService.writeToOpcShort(SaveSNCodeEntity);
//            return AjaxResult.success("SFC Code updated successfully");
        } catch (Exception e) {
            throw new RuntimeException("扫码错误", e);
        }
    }
 
}