package com.zy.asrs.controller;
|
|
import com.baomidou.mybatisplus.mapper.EntityWrapper;
|
import com.core.annotations.ManagerAuth;
|
import com.core.common.Cools;
|
import com.core.common.R;
|
import com.zy.asrs.entity.StaDesc;
|
import com.zy.asrs.entity.WaitPakin;
|
import com.zy.asrs.entity.param.EmptyPlateOutParam;
|
import com.zy.asrs.entity.param.FullStoreParam;
|
import com.zy.asrs.entity.param.LocDetlAdjustParam;
|
import com.zy.asrs.entity.param.StockOutParam;
|
import com.zy.asrs.service.BasDevpService;
|
import com.zy.asrs.service.StaDescService;
|
import com.zy.asrs.service.WorkService;
|
import com.zy.asrs.utils.Utils;
|
import com.zy.common.model.StartupDto;
|
import com.zy.common.web.BaseController;
|
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.web.bind.annotation.RequestBody;
|
import org.springframework.web.bind.annotation.RequestMapping;
|
import org.springframework.web.bind.annotation.RequestParam;
|
import org.springframework.web.bind.annotation.RestController;
|
|
import java.util.*;
|
|
/**
|
* 工作流接口控制器
|
* Created by vincent on 2020/6/10
|
*/
|
@RestController
|
@RequestMapping("/sxk")
|
public class Work7Controller extends BaseController {
|
|
@Autowired
|
private WorkService workService;
|
@Autowired
|
private BasDevpService basDevpService;
|
@Autowired
|
private StaDescService staDescService;
|
|
@RequestMapping("/locMerge/out/start")
|
@ManagerAuth(memo = "并板出库")
|
public R locMergeOutStart(@RequestBody StockOutParam param) {
|
workService.locMergeOut(param, getUserId());
|
return R.ok("出库启动成功");
|
}
|
|
@RequestMapping("/locMerge/out/start/sxk")
|
@ManagerAuth(memo = "并板出库")
|
public R locMergeOutStartSxk(@RequestBody StockOutParam param) {
|
workService.locMergeOutSxk(param, getUserId());
|
return R.ok("出库启动成功");
|
}
|
|
@RequestMapping("/available/put/site")
|
@ManagerAuth()
|
public R availablePutSite() {
|
return R.ok().add(basDevpService.getAvailableInSite());
|
}
|
|
@RequestMapping("/available/empty/put/site")
|
@ManagerAuth()
|
public R availableEmptyPutSite() {
|
return R.ok().add(basDevpService.getAvailableEmptyInSite());
|
}
|
|
@RequestMapping("/available/take/site")
|
@ManagerAuth()
|
public R availableTakeSite() {
|
Set<Map<String, Object>> result = new HashSet<>();
|
EntityWrapper<StaDesc> wrapper = new EntityWrapper<>();
|
wrapper.eq("type_no", 101).eq("crn_no", 7).orderBy("stn_no", true);
|
List<StaDesc> staDescs = staDescService.selectList(wrapper);
|
for (StaDesc site : staDescs) {
|
Map<String, Object> map = new HashMap<>();
|
map.put("siteId", site.getStnNo());
|
map.put("desc", site.getStnDesc() + site.getStnNo());
|
result.add(map);
|
}
|
|
EntityWrapper<StaDesc> wrapper2 = new EntityWrapper<>();
|
wrapper2.eq("type_no", 103).eq("crn_no", 7).orderBy("stn_no", true);
|
List<StaDesc> staDescs2 = staDescService.selectList(wrapper2);
|
for (StaDesc site : staDescs2) {
|
Map<String, Object> map = new HashMap<>();
|
map.put("siteId", site.getStnNo());
|
map.put("desc", site.getStnDesc() + site.getStnNo());
|
result.add(map);
|
}
|
return R.ok().add(result);
|
}
|
|
@RequestMapping("/crn/available/take/site")
|
@ManagerAuth()
|
public R crnAvailableTakeSite() {
|
List<Map<String, Object>> result = new ArrayList<>();
|
List<Integer> outSite = basDevpService.getCrnAvailableOutSite(101);
|
for (Integer siteId : outSite) {
|
if (siteId >= 1100) {
|
continue;
|
}
|
Map<String, Object> map = new HashMap<>();
|
map.put("siteId", siteId);
|
map.put("desc", siteId + "(全板出库口)");
|
result.add(map);
|
}
|
List<Integer> pickOutSite = basDevpService.getCrnAvailableOutSite(103);
|
for (Integer siteId : pickOutSite) {
|
if (siteId >= 1100) {
|
continue;
|
}
|
Map<String, Object> map = new HashMap<>();
|
map.put("siteId", siteId);
|
map.put("desc", siteId + "(拣料出库口)");
|
result.add(map);
|
}
|
return R.ok().add(result);
|
}
|
|
@RequestMapping("/available/take/check/site")
|
@ManagerAuth()
|
public R availableTakeCheckSite() {
|
List<Integer> availableOutSite = basDevpService.getAvailableOutSite(107);
|
List<Integer> data = new ArrayList<>();
|
for (Integer x : availableOutSite) {
|
if (x >= 1100) {
|
data.add(x);
|
}
|
}
|
return R.ok().add(data);
|
}
|
|
@RequestMapping("/available/take/merge/site")
|
@ManagerAuth()
|
public R availableTakeMergeSite() {
|
return R.ok().add(basDevpService.getAvailableOutSite(104));
|
}
|
|
@RequestMapping("/available/take/check/site/crn")
|
@ManagerAuth()
|
public R availableTakeCheckSiteCrn() {
|
EntityWrapper<StaDesc> staDescEntityWrapper = new EntityWrapper<>();
|
staDescEntityWrapper.eq("type_no", 107);
|
staDescEntityWrapper.setSqlSelect("DISTINCT stn_no as stnNo");
|
staDescEntityWrapper.in("crn_no", 7);
|
return R.ok().add(staDescService.selectList(staDescEntityWrapper));
|
}
|
|
|
@RequestMapping("/available/take/check/site/ctu")
|
@ManagerAuth()
|
public R availableTakeCheckSiteCtu() {
|
return R.ok().add(basDevpService.getAvailableOutSite(107));
|
}
|
|
@RequestMapping("/available/take/check/site/shuttle")
|
@ManagerAuth()
|
public R availableTakeCheckSiteShuttle() {
|
return R.ok().add(basDevpService.getAvailableOutSite(107));
|
}
|
|
@RequestMapping("/available/crn/empty/take/site")
|
@ManagerAuth()
|
public R availablecrnEmptyTakeSite() {
|
return R.ok().add(basDevpService.getCrnAvailableEmptyOutSite());
|
}
|
|
@RequestMapping("/available/shuttle/empty/take/site")
|
@ManagerAuth()
|
public R availableshuttleEmptyTakeSite() {
|
return R.ok().add(basDevpService.getShuttleAvailableEmptyOutSite());
|
}
|
|
@RequestMapping("/available/ctu/empty/take/site")
|
@ManagerAuth()
|
public R availablectuEmptyTakeSite() {
|
return R.ok().add(basDevpService.getCtuAvailableEmptyOutSite());
|
}
|
|
@RequestMapping("/available/empty/take/site")
|
@ManagerAuth()
|
public R availableEmptyTakeSite(StaDesc param) {
|
List<Map<String, Object>> result = new ArrayList<>();
|
EntityWrapper<StaDesc> wrapper = new EntityWrapper<>();
|
wrapper.eq("type_no", 110);
|
if (param != null && param.getCrnNo() != null) {
|
wrapper.eq("crn_no", param.getCrnNo());
|
}
|
// 不同继承角色显示不同库信息
|
// RoleUtils.addRoleWrapperByCrn(getUserId(),wrapper);
|
List<StaDesc> staDescs = staDescService.selectList(wrapper);
|
for (StaDesc staDesc : staDescs) {
|
if (staDesc.getCrnNo() == 1) {
|
continue;
|
}
|
Map<String, Object> map = new HashMap<>();
|
map.put("siteId", staDesc.getStnNo());
|
map.put("desc", "[" + Utils.getStaName(staDesc.getStnNo()) + "]");
|
result.add(map);
|
}
|
return R.ok().add(result);
|
// return R.ok().add(basDevpService.getAvailableEmptyOutSite());
|
}
|
|
@RequestMapping("/full/store/put/start")
|
@ManagerAuth(memo = "全板入库")
|
public R fullStorePutStart(@RequestBody FullStoreParam fullStoreParam) {
|
try {
|
String locNo = workService.startupFullPutStore(fullStoreParam, getUserId());
|
return R.ok("入库启动成功").add(locNo);
|
} catch (Exception e) {
|
return R.error("入库启动失败==>" + e.getMessage());
|
}
|
}
|
|
@RequestMapping("/plate/out/start")
|
@ManagerAuth(memo = "出库作业")
|
public R fullStoreTakeStart(@RequestBody StockOutParam param) {
|
workService.startupFullTakeStore(param, getUserId());
|
return R.ok("出库启动成功");
|
}
|
|
@RequestMapping("/empty/plate/in/start")
|
@ManagerAuth(memo = "空板入库")
|
public R emptyPlateInStart(@RequestParam Integer sourceStaNo) {
|
return R.ok("入库启动成功").add(workService.emptyPlateIn(sourceStaNo, getUserId()));
|
}
|
|
@RequestMapping("/empty/plate/out/start")
|
@ManagerAuth(memo = "空板出库")
|
public R emptyPlateOutStart(EmptyPlateOutParam param) {
|
workService.emptyPlateOut(param, getUserId());
|
return R.ok("出库启动成功");
|
}
|
|
@RequestMapping("/locCheck/out/start")
|
@ManagerAuth(memo = "盘点出库")
|
public R locCheckOutStart(@RequestBody StockOutParam param) {
|
workService.locCheckOut(param, getUserId());
|
return R.ok("出库启动成功");
|
}
|
|
@RequestMapping("/locCheck/out/start/sxk")
|
@ManagerAuth(memo = "盘点出库")
|
public R locCheckOutStartsxk(@RequestBody StockOutParam param) {
|
workService.locCheckOutsxk(param, getUserId());
|
return R.ok("出库启动成功");
|
}
|
|
@RequestMapping("/loc/move/start")
|
@ManagerAuth(memo = "库位移转")
|
public R locMoveStart(@RequestParam String sourceLocNo,
|
@RequestParam String targetLocNo) {
|
workService.locMove(sourceLocNo, targetLocNo, getUserId());
|
return R.ok("移库启动成功");
|
}
|
|
@RequestMapping("/mat/turn/over/out/start")
|
@ManagerAuth(memo = "品号移交")
|
public R turnMatLocDetl(@RequestBody EmptyPlateOutParam param) {
|
if (Cools.isEmpty(param) || Cools.isEmpty(param.getLocDetls(), param.getMatId()) || Cools.isEmpty(param.getLocDetls().get(0)) || Cools.isEmpty(param.getLocDetls().get(0).getMatnr())) {
|
return R.error("参数为空");
|
}
|
if (param.getLocDetls().size() > 1) {
|
return R.error("请单条数据修改,谨慎操作!");
|
}
|
workService.turnMatLocDetl(param, getUserId());
|
return R.ok("品号移交成功");
|
}
|
|
@RequestMapping("/locDdetl/adjust/start")
|
@ManagerAuth(memo = "库存调整")
|
public R locDetlAdjustStart(@RequestBody LocDetlAdjustParam param) {
|
workService.adjustLocDetl(param, getUserId());
|
return R.ok("库存调整成功");
|
}
|
|
@RequestMapping("/hand/control/wrkMast")
|
@ManagerAuth(memo = "手动处理工作档")
|
public R handControlWrkMast(@RequestParam String workNo,
|
@RequestParam Integer type) {
|
if (type == 1) {
|
workService.completeWrkMast(workNo, getUserId());
|
return R.ok("工作档已完成");
|
} else if (type == 2) {
|
workService.cancelWrkMast(workNo, getUserId());
|
return R.ok("工作档已取消");
|
} else if (type == 3) {
|
workService.pickWrkMast(workNo, getUserId());
|
return R.ok("工作档已拣料");
|
}
|
return R.ok();
|
}
|
|
@RequestMapping("/create/waitPain/wrkMast/start")
|
@ManagerAuth(memo = "生成任务")
|
public R createWaitPainWrkMastStart(@RequestBody List<WaitPakin> list) {
|
StartupDto startupDto = workService.createWaitPainWrkMastStart(list, getUserId());
|
return R.ok("任务号:" + startupDto.getWorkNo() + ";目标库位:" + startupDto.getLocNo());
|
}
|
|
@RequestMapping("/deal/preHave/start")
|
@ManagerAuth(memo = "先入品处理")
|
public R dealPreHave(@RequestParam Integer wrkNo) {
|
String locNo = workService.dealPreHaveStart(wrkNo, getUserId());
|
return R.ok("任务重新入库,目标库位:" + locNo);
|
}
|
|
}
|