代码备份

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 SPLIT_ORDER = "WD"; //工位作业扫码生成出入库单
/**
*
*/

@ -214,8 +214,6 @@ public class SysWorkplaceController extends BaseController {
}
@Resource
private WarehouseUserService warehouseUserService;
@ -224,7 +222,7 @@ public class SysWorkplaceController extends BaseController {
@PostMapping("/udiwms/sysWorkplace/getUsers")
public BaseResponse getUser(@RequestBody SysWorkplaceRequest request) {
if (request.getInvCode() == null){
if (request.getInvCode() == null) {
//todo 没有搜索仓库 搜索所有用户
}
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.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.Constant;
import com.glxp.api.constant.WorkOperType;
import com.glxp.api.controller.BaseController;
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.IoCollectOrderService;
import com.glxp.api.service.inout.IoSplitFifoCodeService;
import com.glxp.api.util.GennerOrderUtils;
import com.glxp.api.util.IntUtil;
import com.glxp.api.util.OrderNoTypeBean;
import com.glxp.api.util.udi.FilterUdiUtils;
import lombok.extern.slf4j.Slf4j;
import org.apache.commons.lang3.StringUtils;
@ -58,6 +61,8 @@ public class IoCollectOrderCodeManController extends BaseController {
UdiRelevanceService udiRelevanceService;
@Resource
IoSplitFifoCodeService splitFifoCodeService;
@Resource
GennerOrderUtils gennerOrderUtils;
/**
@ -95,13 +100,10 @@ public class IoCollectOrderCodeManController extends BaseController {
if (bindingResult.hasErrors()) {
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码完整性
String code = addTagCodeReqeust.getCode();
if (StringUtils.isBlank(code)) return ResultVOUtils.error(ResultEnum.DATA_ERROR);
@ -118,32 +120,73 @@ public class IoCollectOrderCodeManController extends BaseController {
else
udiRelevanceResponse = udiRelevanceResponses.get(0);
IoCollectOrderBiz collectOrderBiz = null;
List<IoCollectOrderBiz> collectOrderBizs = collectOrderBizService.listByBillNo(addTagCodeReqeust.getBillNo());
//2.校验是否处方单UDI码
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.setOrderIdFk(collectOrder.getBillNo());
collectOrderBizService.saveOrUpdate(collectOrderBiz);
} else if (IntUtil.value(workPlace.getOperationType()) == WorkOperType.TYPE_VAIL_BATCH) {
collectOrder = collectOrderService.getByBillNo(addTagCodeReqeust.getBillNo());
if (collectOrder == null)
return ResultVOUtils.error(500, "单据不存在!");
//3.校验该UDI码是否已经出库是否在预出库队列
Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode());
if (!b1) {
return ResultVOUtils.error(500, "该追溯码未上货,无法使用!");
}
//按单校验三期
collectOrderBiz = vailByBatchNo(udiRelevanceResponses, collectOrderBizs, udiEntity);
if (collectOrderBiz == null)
return ResultVOUtils.error(500, "非此单据追溯码!");
else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + 1);
//先不管
if (IntUtil.value(workPlace.getCheckInsert()) == 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码是否已经出库是否在预出库队列
Boolean b1 = splitFifoCodeService.isExitCode(code, collectOrder.getWorkPlaceCode());
if (!b1) {
@ -152,10 +195,28 @@ public class IoCollectOrderCodeManController extends BaseController {
//按单不校验三期
collectOrderBiz = vailNoBatchNo(udiRelevanceResponses, collectOrderBizs);
if (collectOrderBiz == null)
return ResultVOUtils.error(500, "非此单据追溯码!");
else {
collectOrderBiz.setScanActCount(IntUtil.value(collectOrderBiz.getScanActCount()) + 1);
//先不管
if (IntUtil.value(workPlace.getCheckInsert()) == 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);
@ -184,7 +245,7 @@ public class IoCollectOrderCodeManController extends BaseController {
.build();
collectOrderCodeManService.save(collectOrderCodeMan);
}
return ResultVOUtils.success("赋码成功");
return ResultVOUtils.success(collectOrder);
}
@ -213,8 +274,8 @@ public class IoCollectOrderCodeManController extends BaseController {
.batchNo(udiEntity.getBatchNo())
.productDate(udiEntity.getProduceDate())
.expireDate(udiEntity.getExpireDate())
.count(1)
.actCount(1)
.count(0)
.actCount(0)
.scanCount(1)
.scanActCount(1)
.measureUnit(udiRelevanceResponse.getMeasname())

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

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

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

@ -137,6 +137,26 @@ public class GennerOrderUtils {
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) {
//获得单号前缀
//格式 固定前缀 +时间前缀 示例

Loading…
Cancel
Save