代码备份

workplace
anthonywj 11 months ago
parent dcd227d367
commit d79001655c

@ -42,6 +42,9 @@ public class Constant {
public static final String DEV_DWX = "DWX"; //设备维修单号 public static final String DEV_DWX = "DWX"; //设备维修单号
public static final String SPLIT_ORDER = "WD"; //工位作业扫码生成出入库单
/** /**
* *
*/ */

@ -214,8 +214,6 @@ public class SysWorkplaceController extends BaseController {
} }
@Resource @Resource
private WarehouseUserService warehouseUserService; private WarehouseUserService warehouseUserService;
@ -224,7 +222,7 @@ public class SysWorkplaceController extends BaseController {
@PostMapping("/udiwms/sysWorkplace/getUsers") @PostMapping("/udiwms/sysWorkplace/getUsers")
public BaseResponse getUser(@RequestBody SysWorkplaceRequest request) { public BaseResponse getUser(@RequestBody SysWorkplaceRequest request) {
if (request.getInvCode() == null){ if (request.getInvCode() == null) {
//todo 没有搜索仓库 搜索所有用户 //todo 没有搜索仓库 搜索所有用户
} }
List<WarehouseUserEntity> warehouseUserEntities = warehouseUserService.getListByCode(request.getInvCode()); List<WarehouseUserEntity> warehouseUserEntities = warehouseUserService.getListByCode(request.getInvCode());

@ -6,6 +6,7 @@ import com.github.pagehelper.PageInfo;
import com.glxp.api.common.enums.ResultEnum; import com.glxp.api.common.enums.ResultEnum;
import com.glxp.api.common.res.BaseResponse; import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils; import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
import com.glxp.api.constant.WorkOperType; import com.glxp.api.constant.WorkOperType;
import com.glxp.api.controller.BaseController; import com.glxp.api.controller.BaseController;
import com.glxp.api.entity.auth.SysWorkplace; import com.glxp.api.entity.auth.SysWorkplace;
@ -26,7 +27,9 @@ import com.glxp.api.service.collect.IoCollectOrderBizService;
import com.glxp.api.service.collect.IoCollectOrderCodeManService; import com.glxp.api.service.collect.IoCollectOrderCodeManService;
import com.glxp.api.service.collect.IoCollectOrderService; import com.glxp.api.service.collect.IoCollectOrderService;
import com.glxp.api.service.inout.IoSplitFifoCodeService; import com.glxp.api.service.inout.IoSplitFifoCodeService;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.IntUtil; import com.glxp.api.util.IntUtil;
import com.glxp.api.util.OrderNoTypeBean;
import com.glxp.api.util.udi.FilterUdiUtils; import com.glxp.api.util.udi.FilterUdiUtils;
import lombok.extern.slf4j.Slf4j; import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils; import org.apache.commons.lang3.StringUtils;
@ -58,6 +61,8 @@ public class IoCollectOrderCodeManController extends BaseController {
UdiRelevanceService udiRelevanceService; UdiRelevanceService udiRelevanceService;
@Resource @Resource
IoSplitFifoCodeService splitFifoCodeService; IoSplitFifoCodeService splitFifoCodeService;
@Resource
GennerOrderUtils gennerOrderUtils;
/** /**
@ -95,13 +100,10 @@ public class IoCollectOrderCodeManController extends BaseController {
if (bindingResult.hasErrors()) { if (bindingResult.hasErrors()) {
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage()); return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
} }
SysWorkplace workPlace = sysWorkPlaceService.getWorkplace(addTagCodeReqeust.getWorkPlaceCode());
IoCollectOrderBiz collectOrderBiz = null;
IoCollectOrder collectOrder = null;
IoCollectOrder collectOrder = collectOrderService.getByBillNo(addTagCodeReqeust.getBillNo());
BasicCollectBustypeEntity bustypeEntity = bustypeService.findByCode(collectOrder.getBusType());
SysWorkplace workPlace = sysWorkPlaceService.getWorkplace(collectOrder.getWorkPlaceCode());
if (collectOrder == null)
return ResultVOUtils.error(500, "单据不存在!");
//1.校验UDI码完整性 //1.校验UDI码完整性
String code = addTagCodeReqeust.getCode(); String code = addTagCodeReqeust.getCode();
if (StringUtils.isBlank(code)) return ResultVOUtils.error(ResultEnum.DATA_ERROR); if (StringUtils.isBlank(code)) return ResultVOUtils.error(ResultEnum.DATA_ERROR);
@ -118,32 +120,73 @@ public class IoCollectOrderCodeManController extends BaseController {
else else
udiRelevanceResponse = udiRelevanceResponses.get(0); udiRelevanceResponse = udiRelevanceResponses.get(0);
IoCollectOrderBiz collectOrderBiz = null;
List<IoCollectOrderBiz> collectOrderBizs = collectOrderBizService.listByBillNo(addTagCodeReqeust.getBillNo()); List<IoCollectOrderBiz> collectOrderBizs = collectOrderBizService.listByBillNo(addTagCodeReqeust.getBillNo());
//2.校验是否处方单UDI码 //2.校验是否处方单UDI码
if (IntUtil.value(workPlace.getOperationType()) == WorkOperType.TYPE_GEN_ORDER) { if (IntUtil.value(workPlace.getOperationType()) == WorkOperType.TYPE_GEN_ORDER) {
if (StrUtil.isEmpty(addTagCodeReqeust.getBillNo())) {
String orderNo = gennerOrderUtils.createWdOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER, "yyyyMMdd"));
BasicCollectBustypeEntity bustypeEntity = bustypeService.findByCode(workPlace.getOrderId());
IoCollectOrder.builder()
.billNo(orderNo)
.busType(bustypeEntity.getCode())
.fromType(bustypeEntity.getFromType())
.fromCorp(addTagCodeReqeust.getFromCorp())
.billTime(new Date())
.workPlaceCode(workPlace.getWorkplaceId() + "")
.createTime(new Date())
.createUser(getUserId() + "")
.updateTime(new Date())
.tagStatus(1)
.build();
collectOrderService.save(collectOrder);
}
//直接扫码单生成业务单 //直接扫码单生成业务单
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity); collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity);
collectOrderBiz.setOrderIdFk(collectOrder.getBillNo()); collectOrderBiz.setOrderIdFk(collectOrder.getBillNo());
collectOrderBizService.saveOrUpdate(collectOrderBiz); collectOrderBizService.saveOrUpdate(collectOrderBiz);
} else if (IntUtil.value(workPlace.getOperationType()) == WorkOperType.TYPE_VAIL_BATCH) { } else if (IntUtil.value(workPlace.getOperationType()) == WorkOperType.TYPE_VAIL_BATCH) {
collectOrder = collectOrderService.getByBillNo(addTagCodeReqeust.getBillNo());
if (collectOrder == null)
return ResultVOUtils.error(500, "单据不存在!");
//3.校验该UDI码是否已经出库是否在预出库队列 //3.校验该UDI码是否已经出库是否在预出库队列
Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode()); Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode());
if (!b1) { if (!b1) {
return ResultVOUtils.error(500, "该追溯码未上货,无法使用!"); return ResultVOUtils.error(500, "该追溯码未上货,无法使用!");
} }
//按单校验三期
collectOrderBiz = vailByBatchNo(udiRelevanceResponses, collectOrderBizs, udiEntity); collectOrderBiz = vailByBatchNo(udiRelevanceResponses, collectOrderBizs, udiEntity);
if (collectOrderBiz == null)
return ResultVOUtils.error(500, "非此单据追溯码!"); //先不管
else { if (IntUtil.value(workPlace.getCheckInsert()) == 1) {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + 1);
} else {
} }
} else if (IntUtil.value(workPlace.getOperationType()) == WorkOperType.TYPE_UNVAIL_BATCH) { if (IntUtil.value(workPlace.getWarnType()) == 1) {
//信息提醒
if (collectOrderBiz == null) {
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity);
collectOrderBiz.setOrderIdFk(collectOrder.getBillNo());
} else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + 1);
}
} else {
//禁止录入
if (collectOrderBiz == null)
return ResultVOUtils.error(500, "非此单据追溯码!");
else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + 1);
}
}
} else if (IntUtil.value(workPlace.getOperationType()) == WorkOperType.TYPE_UNVAIL_BATCH) {
collectOrder = collectOrderService.getByBillNo(addTagCodeReqeust.getBillNo());
if (collectOrder == null)
return ResultVOUtils.error(500, "单据不存在!");
//3.校验该UDI码是否已经出库是否在预出库队列 //3.校验该UDI码是否已经出库是否在预出库队列
Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode()); Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode());
if (!b1) { if (!b1) {
@ -152,10 +195,28 @@ public class IoCollectOrderCodeManController extends BaseController {
//按单不校验三期 //按单不校验三期
collectOrderBiz = vailNoBatchNo(udiRelevanceResponses, collectOrderBizs); collectOrderBiz = vailNoBatchNo(udiRelevanceResponses, collectOrderBizs);
if (collectOrderBiz == null) //先不管
return ResultVOUtils.error(500, "非此单据追溯码!"); if (IntUtil.value(workPlace.getCheckInsert()) == 1) {
else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + 1); } else {
}
if (IntUtil.value(workPlace.getWarnType()) == 1) {
//信息提醒
if (collectOrderBiz == null) {
collectOrderBiz = scanGenOrder(udiRelevanceResponses, collectOrderBizs, udiEntity);
collectOrderBiz.setOrderIdFk(collectOrder.getBillNo());
} else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + 1);
}
} else {
//禁止录入
if (collectOrderBiz == null)
return ResultVOUtils.error(500, "非此单据追溯码!");
else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + 1);
}
} }
} }
collectOrderBizService.updateById(collectOrderBiz); collectOrderBizService.updateById(collectOrderBiz);
@ -184,7 +245,7 @@ public class IoCollectOrderCodeManController extends BaseController {
.build(); .build();
collectOrderCodeManService.save(collectOrderCodeMan); collectOrderCodeManService.save(collectOrderCodeMan);
} }
return ResultVOUtils.success("赋码成功"); return ResultVOUtils.success(collectOrder);
} }
@ -213,8 +274,8 @@ public class IoCollectOrderCodeManController extends BaseController {
.batchNo(udiEntity.getBatchNo()) .batchNo(udiEntity.getBatchNo())
.productDate(udiEntity.getProduceDate()) .productDate(udiEntity.getProduceDate())
.expireDate(udiEntity.getExpireDate()) .expireDate(udiEntity.getExpireDate())
.count(1) .count(0)
.actCount(1) .actCount(0)
.scanCount(1) .scanCount(1)
.scanActCount(1) .scanActCount(1)
.measureUnit(udiRelevanceResponse.getMeasname()) .measureUnit(udiRelevanceResponse.getMeasname())

@ -100,6 +100,9 @@ public class SysWorkplace implements Serializable {
@TableField(value = "unitTittle") @TableField(value = "unitTittle")
private String unitTittle; private String unitTittle;
/**
* ID
*/
@TableField(value = "orderId") @TableField(value = "orderId")
private String orderId; private String orderId;

@ -10,13 +10,19 @@ import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable; import java.io.Serializable;
import java.util.Date; import java.util.Date;
import lombok.AllArgsConstructor;
import lombok.Builder;
import lombok.Data; import lombok.Data;
import lombok.NoArgsConstructor;
/** /**
* *
*/ */
@ApiModel(value = "com-glxp-api-entity-collect-IoCollectOrder") @ApiModel(value = "com-glxp-api-entity-collect-IoCollectOrder")
@Data @Data
@Builder
@AllArgsConstructor
@NoArgsConstructor
@TableName(value = "io_collect_order") @TableName(value = "io_collect_order")
public class IoCollectOrder implements Serializable { public class IoCollectOrder implements Serializable {
@TableId(value = "id", type = IdType.INPUT) @TableId(value = "id", type = IdType.INPUT)

@ -20,5 +20,9 @@ public class AddTagCodeReqeust {
private String billNo; private String billNo;
private String workPlaceCode;
private String fromCorp;
private String invCode;
} }

@ -137,6 +137,26 @@ public class GennerOrderUtils {
return completionRandom(serialWithPrefix, orderNoTypeEnum); return completionRandom(serialWithPrefix, orderNoTypeEnum);
} }
public String createWdOrderNo(OrderNoTypeBean orderNoTypeEnum) {
//获得单号前缀
//格式 固定前缀 +时间前缀 示例
String formNoPrefix = getFormNoPrefix(orderNoTypeEnum);
//获得缓存key
String cacheKey = getScCacheKey(formNoPrefix);
//获得当日自增数
Long incrementalSerial = redisUtil.incr(cacheKey, 1);
// 设置key过期时间, 保证每天的流水号从1开始
if (incrementalSerial == 1) {
//设置失效时间 凌晨过期
redisUtil.expire(cacheKey, getSecondsNextEarlyMorning());
}
//组合单号并补全流水号
String serialWithPrefix = completionSerial(formNoPrefix, incrementalSerial, orderNoTypeEnum);
//补全随机数
return completionRandom(serialWithPrefix, orderNoTypeEnum);
}
public String createStOrderNo(OrderNoTypeBean orderNoTypeEnum) { public String createStOrderNo(OrderNoTypeBean orderNoTypeEnum) {
//获得单号前缀 //获得单号前缀
//格式 固定前缀 +时间前缀 示例 //格式 固定前缀 +时间前缀 示例

Loading…
Cancel
Save