Commit edc8cf09 sunke

工单查询和出库

1 个父辈 66e812f4
......@@ -49,6 +49,13 @@ public class ResultBean {
*/
private Object data;
/**
* 是否是OK的结果
*/
public boolean isOkResult(){
return code == 0;
}
public int getCode() {
return code;
}
......
......@@ -62,7 +62,7 @@ public class LiteOrderCache implements ITaskListener {
}
}
public ResultBean checkOutOrders(LiteOrder liteOrder) throws ValidateException {
public ResultBean checkOutOrder(LiteOrder liteOrder) throws ValidateException {
//设置颜色
Set<String> currentColors = new HashSet<>();
for (DataLog dataLog : taskService.getQueueTasks()) {
......@@ -96,7 +96,8 @@ public class LiteOrderCache implements ITaskListener {
if (taskReelCount <= 0) {
liteOrder.finishedTasks();
}
liteOrderManager.save(liteOrder);
liteOrder = liteOrderManager.save(liteOrder);
liteOrderMap.put(liteOrder.getOrderNo(),liteOrder);
if (taskReelCount <= 0) {
return ResultBean.newErrorResult(-1,"No task in this order");
}
......
......@@ -3,14 +3,20 @@ package com.neotel.smfcore.core.order.rest;
import com.google.common.collect.Lists;
import com.neotel.smfcore.common.annotation.QueryCondition;
import com.neotel.smfcore.common.bean.ResultBean;
import com.neotel.smfcore.common.exception.BadRequestException;
import com.neotel.smfcore.common.exception.ValidateException;
import com.neotel.smfcore.common.utils.Constants;
import com.neotel.smfcore.common.utils.PageUtil;
import com.neotel.smfcore.common.utils.QueryHelp;
import com.neotel.smfcore.common.utils.SecurityUtils;
import com.neotel.smfcore.core.order.LiteOrderCache;
import com.neotel.smfcore.core.order.rest.bean.mapstruct.OrderMapper;
import com.neotel.smfcore.core.order.rest.bean.query.OrderQueryCondition;
import com.neotel.smfcore.core.order.service.manager.ILiteOrderItemManager;
import com.neotel.smfcore.core.order.service.manager.ILiteOrderManager;
import com.neotel.smfcore.core.order.service.po.LiteOrder;
import com.neotel.smfcore.core.system.rest.bean.mapstruct.TaskMapper;
import com.neotel.smfcore.security.rest.bean.vo.UserPassVo;
import com.neotel.smfcore.security.service.manager.IGroupManager;
import com.neotel.smfcore.security.service.manager.IRoleManager;
......@@ -55,6 +61,12 @@ public class OrderController {
@Autowired
private IGroupManager groupManager;
@Autowired
private final OrderMapper orderMapper;
@Autowired
private LiteOrderCache liteOrderCache;
// @ApiOperation("导出用户数据")
// @GetMapping(value = "/download")
// @PreAuthorize("@el.check('user:list')")
......@@ -62,6 +74,15 @@ public class OrderController {
// userService.download(userService.queryAll(criteria), response);
// }
@ApiOperation("工单出库")
@PostMapping(value = "/out")
@PreAuthorize("@el.check('order:out')")
public ResponseEntity<Object> delete(@RequestBody String orderNo) {
LiteOrder liteOrder = liteOrderManager.findByOrderNo(orderNo);
ResultBean resultBean = liteOrderCache.checkOutOrder(liteOrder);
return new ResponseEntity<>(resultBean,HttpStatus.OK);
}
@ApiOperation("查询工单")
@GetMapping
@PreAuthorize("@el.check('order:list')")
......@@ -86,109 +107,6 @@ public class OrderController {
}
}
List<LiteOrder> orderList = liteOrderManager.findByPage(QueryHelp.getQuery(criteria), pageable);
return new ResponseEntity<>(PageUtil.toPage(orderList,0), HttpStatus.OK);
return new ResponseEntity<>(PageUtil.toPage(orderMapper.toDto(orderList),0), HttpStatus.OK);
}
// @ApiOperation("新增用户")
// @PostMapping
// @PreAuthorize("@el.check('user:add')")
// public ResponseEntity<Object> create(@Validated @RequestBody User resources){
// if(!hasLevel(resources)) {
// return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
// }
// // 默认密码 123456
// resources.setPassword(passwordEncoder.encode("123456"));
// try {
// userManager.save(resources);
// } catch (ValidateException e) {
// log.error("新增用户 user:add ["+resources.toString()+"]出错:"+e);
// return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
// }
// return new ResponseEntity<>(HttpStatus.CREATED);
// }
// @ApiOperation("修改用户")
// @PutMapping
// @PreAuthorize("@el.check('user:edit')")
//// public ResponseEntity<Object> update(@Validated(User.Update.class) @RequestBody User resources) throws Exception {
// public ResponseEntity<Object> update(@Validated @RequestBody User resources) {
// if(!hasLevel(resources)) {
// return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
// }
// try {
// userManager.update(resources);
// } catch (Exception e) {
// log.error("修改用户 user:edit ["+resources.toString()+"]出错:"+e);
// return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
// }
// return new ResponseEntity<>(HttpStatus.NO_CONTENT);
// }
// @ApiOperation("修改用户:个人中心")
// @PutMapping(value = "center")
//// public ResponseEntity<Object> center(@Validated(User.Update.class) @RequestBody User resources){
// public ResponseEntity<Object> center(@Validated @RequestBody User resources){
// if(!resources.getId().equals(SecurityUtils.getCurrentUserId())){
//// throw new BadRequestException("不能修改他人资料");
// log.error("修改用户:个人中心:不能修改他人资料,操作失败");
// return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
// }
// userManager.updateCenter(resources);
// return new ResponseEntity<>(HttpStatus.NO_CONTENT);
// }
// @ApiOperation("删除用户")
// @DeleteMapping
// @PreAuthorize("@el.check('user:del')")
// public ResponseEntity<Object> delete(@RequestBody Set<String> ids){
// for (String id : ids) {
// User user=userManager.get(id);
// if(!hasLevel(user)) {
// return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
// }
// }
// try {
// userManager.deleteUsers(ids);
// } catch (ValidateException e) {
// log.error("删除用户出错:"+e);
// return new ResponseEntity<>(HttpStatus.INTERNAL_SERVER_ERROR);
// }
// return new ResponseEntity<>(HttpStatus.OK);
// }
// @ApiOperation("修改密码")
// @PostMapping(value = "/updatePass")
// public ResponseEntity<Object> updatePass(@RequestBody UserPassVo passVo) throws Exception {
//
// User user = userManager.get(SecurityUtils.getCurrentUserId());
// if(!passwordEncoder.matches(passVo.getOldPass(), user.getPassword())){
//// throw new BadRequestException("修改失败,旧密码错误");
// log.error("用户["+SecurityUtils.getCurrentUsername()+"]修改密码失败:旧密码错误");
// return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
// }
// if(passwordEncoder.matches(passVo.getNewPass(), user.getPassword())){
//// throw new BadRequestException("新密码不能与旧密码相同");
// log.error("用户["+SecurityUtils.getCurrentUsername()+"]修改密码失败:新密码不能与旧密码相同");
// return new ResponseEntity<>(HttpStatus.BAD_REQUEST);
// }
// userManager.updatePass(user.getUsername(),passwordEncoder.encode(passVo.getNewPass()));
// return new ResponseEntity<>(HttpStatus.OK);
// }
// @Log("修改邮箱")
// @ApiOperation("修改邮箱")
// @PostMapping(value = "/updateEmail/{code}")
// public ResponseEntity<Object> updateEmail(@PathVariable String code, @RequestBody User user) throws Exception {
// String password = RsaUtils.decryptByPrivateKey(RsaProperties.privateKey,user.getPassword());
// UserDto userDto = userService.findByName(SecurityUtils.getCurrentUsername());
// if(!passwordEncoder.matches(password, userDto.getPassword())){
// throw new BadRequestException("密码错误");
// }
// verificationCodeService.validated(CodeEnum.EMAIL_RESET_EMAIL_CODE.getKey() + user.getEmail(), code);
// userService.updateEmail(userDto.getUsername(),user.getEmail());
// return new ResponseEntity<>(HttpStatus.OK);
// }
}
package com.neotel.smfcore.core.order.rest.bean.dto;
import com.neotel.smfcore.core.order.enums.LITEORDER_STATUS;
import lombok.Getter;
import lombok.Setter;
import org.springframework.data.annotation.Transient;
import java.io.Serializable;
import java.util.List;
@Getter
@Setter
public class OrderDto implements Serializable {
/**
* 订单号
*/
private String orderNo;
/**
* 当前任务盘数
*/
private int taskReelCount = 0;
/**
* 当前任务已完成盘数
*/
private int finishedReelCount = 0;
/**
* 订单状态
*/
private int status = LITEORDER_STATUS.NEW;
/**
* 出库状态, 2表示已完成
*/
private boolean closed = false;
/**
* 工单来源
*/
private String source = "";
/**
* 任务完成时间(用于关闭页面显示)
*/
@Transient
private long taskFinishedTime = -1;
/**
* 套(倍)数
*/
private float orderTimes = 1f;
}
package com.neotel.smfcore.core.order.rest.bean.mapstruct;
import com.neotel.smfcore.common.base.BaseMapper;
import com.neotel.smfcore.core.order.rest.bean.dto.OrderDto;
import com.neotel.smfcore.core.order.service.po.LiteOrder;
import com.neotel.smfcore.core.system.rest.bean.dto.TaskDto;
import com.neotel.smfcore.core.system.service.po.DataLog;
import org.mapstruct.Mapper;
import org.mapstruct.ReportingPolicy;
@Mapper(componentModel = "spring",unmappedTargetPolicy = ReportingPolicy.IGNORE)
public interface OrderMapper extends BaseMapper<OrderDto, LiteOrder> {
}
......@@ -424,7 +424,7 @@ public class HellaServiceHandler extends IoHandlerAdapter implements ITaskListen
}
if("0".equals(currentWorkorderflag)){
liteOrderCache.checkOutOrders(liteOrder);
liteOrderCache.checkOutOrder(liteOrder);
}
//<STX>orderMaterialExtResp;eventId;returnCode;messageText;workorderNumber;currentWorkorderflag;reflowgroupNumber;numberofPartnumbers;partNumber1;containerNumber;quantity;…;partNumberN;containerNumberN;quantityN<CR><LF>
//<STX>orderMaterialExtResp;1;0;OK;61598;1;325.618-01;3;790.130-13;abcde;3000; 790.131-01;abcdf;5000;790.131-01;abcdg;2580<CR><LF>
......
支持 Markdown 格式
你添加了 0 到此讨论。请谨慎行事。
Finish editing this message first!