|
|
|
@ -16,14 +16,17 @@ import com.glxp.sale.admin.entity.inout.OrderEntity;
|
|
|
|
|
import com.glxp.sale.admin.entity.inout.WarehouseEntity;
|
|
|
|
|
import com.glxp.sale.admin.entity.udid.UdiEntity;
|
|
|
|
|
import com.glxp.sale.admin.exception.JsonException;
|
|
|
|
|
import com.glxp.sale.admin.req.basic.FilterUdiInfoRequest;
|
|
|
|
|
import com.glxp.sale.admin.req.inout.*;
|
|
|
|
|
import com.glxp.sale.admin.res.PageSimpleResponse;
|
|
|
|
|
import com.glxp.sale.admin.res.basic.BussinessTypResponse;
|
|
|
|
|
import com.glxp.sale.admin.res.basic.UdiRelevanceResponse;
|
|
|
|
|
import com.glxp.sale.admin.res.inout.WarehouseResponse;
|
|
|
|
|
import com.glxp.sale.admin.service.auth.AuthAdminService;
|
|
|
|
|
import com.glxp.sale.admin.service.auth.CustomerService;
|
|
|
|
|
import com.glxp.sale.admin.service.basic.BasicUnitMaintainService;
|
|
|
|
|
import com.glxp.sale.admin.service.basic.BussinessTypeService;
|
|
|
|
|
import com.glxp.sale.admin.service.basic.UdiRelevanceService;
|
|
|
|
|
import com.glxp.sale.admin.service.info.CompanyService;
|
|
|
|
|
import com.glxp.sale.admin.service.inout.*;
|
|
|
|
|
import com.glxp.sale.admin.thread.IoTransInoutService;
|
|
|
|
@ -77,6 +80,8 @@ public class WareHouseController {
|
|
|
|
|
private WarehouseBussinessTypeService warehouseBussinessTypeService;
|
|
|
|
|
@Resource
|
|
|
|
|
CustomerService customerService;
|
|
|
|
|
@Resource
|
|
|
|
|
UdiRelevanceService udiRelevanceService;
|
|
|
|
|
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
|
@GetMapping("admin/warehouse/inout/list")
|
|
|
|
@ -237,6 +242,14 @@ public class WareHouseController {
|
|
|
|
|
orderEntity1.setFromCorpId(addOrderRequest.getFromCorpId());
|
|
|
|
|
orderEntity1.setLocStorageCode(addOrderRequest.getLocStorageCode());
|
|
|
|
|
orderService.updateOrder(orderEntity1);
|
|
|
|
|
WarehouseEntity warehouseEntity = new WarehouseEntity();
|
|
|
|
|
warehouseEntity.setOrderId(addOrderRequest.getOrderId());
|
|
|
|
|
warehouseEntity.setAction(addOrderRequest.getAction());
|
|
|
|
|
warehouseEntity.setMainAction(addOrderRequest.getMainAction());
|
|
|
|
|
warehouseEntity.setFromCorp(addOrderRequest.getAction());
|
|
|
|
|
warehouseEntity.setFromCorpId(addOrderRequest.getFromCorpId());
|
|
|
|
|
warehouseEntity.setLocStorageCode(addOrderRequest.getLocStorageCode());
|
|
|
|
|
codesTempService.updateByOrderId(warehouseEntity);
|
|
|
|
|
return ResultVOUtils.success();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
@ -257,102 +270,169 @@ public class WareHouseController {
|
|
|
|
|
if (bindingResult.hasErrors()) {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
|
|
|
}
|
|
|
|
|
try {
|
|
|
|
|
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(addOrderRequest.getBillType());
|
|
|
|
|
String code = addOrderRequest.getCode();
|
|
|
|
|
if (StringUtils.isBlank(code)) return ResultVOUtils.error(ResultEnum.DATA_ERROR);
|
|
|
|
|
UdiEntity udiEntity = FilterUdiUtils.getUdi(code);
|
|
|
|
|
if (udiEntity == null)
|
|
|
|
|
return ResultVOUtils.error(500, "UDI码格式错误!");
|
|
|
|
|
String orderId = addOrderRequest.getOrderId();
|
|
|
|
|
if (addOrderRequest.getCustomerId() != null && (addOrderRequest.getFromCorpId() == null || "".equals(addOrderRequest.getFromCorpId()))) {
|
|
|
|
|
CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(addOrderRequest.getCustomerId()));
|
|
|
|
|
addOrderRequest.setFromCorp(companyEntity.getCompanyName());
|
|
|
|
|
addOrderRequest.setFromCorpId((companyEntity.getUnitIdFk()));
|
|
|
|
|
} else {
|
|
|
|
|
if (addOrderRequest.getFromCorpId() == null) {
|
|
|
|
|
BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByName(addOrderRequest.getFromCorp());
|
|
|
|
|
if (basicUnitMaintainEntity == null && bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT) {
|
|
|
|
|
basicUnitMaintainEntity = new BasicUnitMaintainEntity();
|
|
|
|
|
basicUnitMaintainEntity.setErpId(CustomUtil.getUnitId());
|
|
|
|
|
addOrderRequest.setFromCorpId((basicUnitMaintainEntity.getErpId()));
|
|
|
|
|
basicUnitMaintainEntity.setCorpType(ConstantStatus.CORP_SICK);
|
|
|
|
|
basicUnitMaintainEntity.setName(addOrderRequest.getFromCorp());
|
|
|
|
|
addOrderRequest.setFromCorp(basicUnitMaintainEntity.getName());
|
|
|
|
|
basicUnitMaintainService.insertBasicUnitMaintain(basicUnitMaintainEntity);
|
|
|
|
|
}
|
|
|
|
|
BussinessTypeEntity bussinessTypeEntity = bussinessTypeService.findBTByAction(addOrderRequest.getAction());
|
|
|
|
|
String code = addOrderRequest.getCode();
|
|
|
|
|
if (StringUtils.isBlank(code)) return ResultVOUtils.error(ResultEnum.DATA_ERROR);
|
|
|
|
|
UdiEntity udiEntity = FilterUdiUtils.getUdi(code);
|
|
|
|
|
if (udiEntity == null)
|
|
|
|
|
return ResultVOUtils.error(500, "UDI码格式错误!");
|
|
|
|
|
String orderId = addOrderRequest.getOrderId();
|
|
|
|
|
if (addOrderRequest.getCustomerId() != null && (addOrderRequest.getFromCorpId() == null || "".equals(addOrderRequest.getFromCorpId()))) {
|
|
|
|
|
CompanyEntity companyEntity = companyService.findCompany(Long.parseLong(addOrderRequest.getCustomerId()));
|
|
|
|
|
addOrderRequest.setFromCorp(companyEntity.getCompanyName());
|
|
|
|
|
addOrderRequest.setFromCorpId((companyEntity.getUnitIdFk()));
|
|
|
|
|
} else {
|
|
|
|
|
if (addOrderRequest.getFromCorpId() == null) {
|
|
|
|
|
BasicUnitMaintainEntity basicUnitMaintainEntity = basicUnitMaintainService.selectByName(addOrderRequest.getFromCorp());
|
|
|
|
|
if (basicUnitMaintainEntity == null && bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessTypeEntity.isGenUnit()) {
|
|
|
|
|
basicUnitMaintainEntity = new BasicUnitMaintainEntity();
|
|
|
|
|
basicUnitMaintainEntity.setErpId(CustomUtil.getUnitId());
|
|
|
|
|
addOrderRequest.setFromCorpId((basicUnitMaintainEntity.getErpId()));
|
|
|
|
|
basicUnitMaintainEntity.setCorpType(ConstantStatus.CORP_SICK);
|
|
|
|
|
basicUnitMaintainEntity.setOutType(ConstantStatus.CORP_SICK_SICK);
|
|
|
|
|
basicUnitMaintainEntity.setName(addOrderRequest.getFromCorp());
|
|
|
|
|
addOrderRequest.setFromCorp(basicUnitMaintainEntity.getName());
|
|
|
|
|
basicUnitMaintainService.insertBasicUnitMaintain(basicUnitMaintainEntity);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
//先生产扫码单据
|
|
|
|
|
if (StringUtils.isBlank(orderId)) {
|
|
|
|
|
orderId = "SM" + CustomUtil.getId();
|
|
|
|
|
OrderEntity orderSaveRequest = new OrderEntity();
|
|
|
|
|
orderSaveRequest.setId(orderId);
|
|
|
|
|
if (addOrderRequest.getActDate() != null) {
|
|
|
|
|
orderSaveRequest.setActDate(addOrderRequest.getActDate());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Integer userId = customerService.getUserId();
|
|
|
|
|
orderSaveRequest.setMainAction(bussinessTypeEntity.getMainAction());
|
|
|
|
|
orderSaveRequest.setAction(bussinessTypeEntity.getAction());
|
|
|
|
|
orderSaveRequest.setActor(addOrderRequest.getActor());
|
|
|
|
|
orderSaveRequest.setCorpOrderId(addOrderRequest.getCorpOrderId());
|
|
|
|
|
orderSaveRequest.setLocStorageCode(addOrderRequest.getLocStorageCode());
|
|
|
|
|
orderSaveRequest.setFromCorpId(addOrderRequest.getFromCorpId());
|
|
|
|
|
orderSaveRequest.setFromCorp(addOrderRequest.getFromCorp());
|
|
|
|
|
orderSaveRequest.setFromType(ConstantStatus.FROM_WEBNEW);
|
|
|
|
|
orderSaveRequest.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);
|
|
|
|
|
orderSaveRequest.setExportStatus(ConstantStatus.ORDER_EXPORT_UN);
|
|
|
|
|
orderSaveRequest.setContrastStatus(ConstantStatus.ORDER_CHECK_UN);
|
|
|
|
|
orderSaveRequest.setSignStatus(ConstantStatus.ORDER_SIGN_UN);
|
|
|
|
|
orderSaveRequest.setReceiveStatus(ConstantStatus.RECEIVE_UN);
|
|
|
|
|
orderSaveRequest.setCustomerId(customerService.getCustomerId() + "");
|
|
|
|
|
orderSaveRequest.setCreateUser(userId);
|
|
|
|
|
orderService.insertOrder(orderSaveRequest);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
if (StringUtils.isBlank(orderId)) {
|
|
|
|
|
orderId = "SM" + CustomUtil.getId();
|
|
|
|
|
OrderEntity orderSaveRequest = new OrderEntity();
|
|
|
|
|
orderSaveRequest.setId(orderId);
|
|
|
|
|
if (addOrderRequest.getActDate() != null) {
|
|
|
|
|
orderSaveRequest.setActDate(addOrderRequest.getActDate());
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
Integer userId = customerService.getUserId();
|
|
|
|
|
orderSaveRequest.setMainAction(bussinessTypeEntity.getMainAction());
|
|
|
|
|
orderSaveRequest.setAction(bussinessTypeEntity.getAction());
|
|
|
|
|
orderSaveRequest.setActor(addOrderRequest.getActor());
|
|
|
|
|
orderSaveRequest.setCorpOrderId(addOrderRequest.getCorpOrderId());
|
|
|
|
|
orderSaveRequest.setLocStorageCode(addOrderRequest.getLocStorageCode());
|
|
|
|
|
orderSaveRequest.setFromCorpId(addOrderRequest.getFromCorpId());
|
|
|
|
|
orderSaveRequest.setFromCorp(addOrderRequest.getFromCorp());
|
|
|
|
|
orderSaveRequest.setFromType(ConstantStatus.FROM_WEBNEW);
|
|
|
|
|
orderSaveRequest.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);
|
|
|
|
|
orderSaveRequest.setExportStatus(ConstantStatus.ORDER_EXPORT_UN);
|
|
|
|
|
orderSaveRequest.setContrastStatus(ConstantStatus.ORDER_CHECK_UN);
|
|
|
|
|
orderSaveRequest.setSignStatus(ConstantStatus.ORDER_SIGN_UN);
|
|
|
|
|
orderSaveRequest.setReceiveStatus(ConstantStatus.RECEIVE_UN);
|
|
|
|
|
orderSaveRequest.setCustomerId(customerService.getCustomerId() + "");
|
|
|
|
|
orderSaveRequest.setCreateUser(userId);
|
|
|
|
|
orderService.insertOrder(orderSaveRequest);
|
|
|
|
|
WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest();
|
|
|
|
|
warehouseQueryRequest.setOrderId(orderId);
|
|
|
|
|
warehouseQueryRequest.setCode(code);
|
|
|
|
|
List<WarehouseEntity> warehouseEntitys = codesTempService.findByOrderIdAndCode(warehouseQueryRequest);
|
|
|
|
|
WarehouseEntity warehouseEntity = new WarehouseEntity();
|
|
|
|
|
if (warehouseEntitys.size() > 0) {
|
|
|
|
|
warehouseEntity = warehouseEntitys.get(0);
|
|
|
|
|
warehouseEntity.setCount(warehouseEntity.getCount() + 1);
|
|
|
|
|
if (StringUtils.isBlank(warehouseEntity.getSerialNo())) {
|
|
|
|
|
codesTempService.updateById(warehouseEntity);
|
|
|
|
|
} else {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.DATA_REPEAT);
|
|
|
|
|
}
|
|
|
|
|
WarehouseQueryRequest warehouseQueryRequest = new WarehouseQueryRequest();
|
|
|
|
|
warehouseQueryRequest.setOrderId(orderId);
|
|
|
|
|
warehouseQueryRequest.setCode(code);
|
|
|
|
|
List<WarehouseEntity> warehouseEntitys = codesTempService.findByOrderIdAndCode(warehouseQueryRequest);
|
|
|
|
|
WarehouseEntity warehouseEntity = new WarehouseEntity();
|
|
|
|
|
if (warehouseEntitys.size() > 0) {
|
|
|
|
|
warehouseEntity = warehouseEntitys.get(0);
|
|
|
|
|
warehouseEntity.setCount(warehouseEntity.getCount() + 1);
|
|
|
|
|
if (StringUtils.isBlank(warehouseEntity.getSerialNo())) {
|
|
|
|
|
codesTempService.updateById(warehouseEntity);
|
|
|
|
|
} else {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.DATA_REPEAT);
|
|
|
|
|
}
|
|
|
|
|
} else {
|
|
|
|
|
|
|
|
|
|
warehouseEntity.setCode(code);
|
|
|
|
|
warehouseEntity.setOrderId(orderId);
|
|
|
|
|
warehouseEntity.setCorpOrderId(addOrderRequest.getCorpOrderId());
|
|
|
|
|
warehouseEntity.setActDate(addOrderRequest.getActDate());
|
|
|
|
|
warehouseEntity.setMainAction(bussinessTypeEntity.getMainAction());
|
|
|
|
|
warehouseEntity.setAction(bussinessTypeEntity.getAction());
|
|
|
|
|
warehouseEntity.setActor(addOrderRequest.getActor());
|
|
|
|
|
warehouseEntity.setFromCorpId(addOrderRequest.getFromCorpId());
|
|
|
|
|
warehouseEntity.setFromCorp(addOrderRequest.getFromCorp());
|
|
|
|
|
warehouseEntity.setBatchNo(udiEntity.getBatchNo());
|
|
|
|
|
warehouseEntity.setProduceDate(udiEntity.getProduceDate());
|
|
|
|
|
warehouseEntity.setNameCode(udiEntity.getUdi());
|
|
|
|
|
warehouseEntity.setExpireDate(udiEntity.getExpireDate());
|
|
|
|
|
warehouseEntity.setSerialNo(udiEntity.getSerialNo());
|
|
|
|
|
warehouseEntity.setLocStorageCode(addOrderRequest.getLocStorageCode());
|
|
|
|
|
warehouseEntity.setCount(1);
|
|
|
|
|
List<WarehouseEntity> warehouseEntityList = new ArrayList<>();
|
|
|
|
|
warehouseEntityList.add(warehouseEntity);
|
|
|
|
|
|
|
|
|
|
BaseResponse baseResponse = checkRelId(warehouseEntity);
|
|
|
|
|
warehouseEntity = codesTempService.findByUnique(warehouseEntity.getOrderId(), warehouseEntity.getCode());
|
|
|
|
|
if (baseResponse == null) {
|
|
|
|
|
baseResponse = checkSupId(bussinessTypeEntity, warehouseEntity);
|
|
|
|
|
if (baseResponse != null)
|
|
|
|
|
return baseResponse;
|
|
|
|
|
} else {
|
|
|
|
|
warehouseEntity.setCode(code);
|
|
|
|
|
warehouseEntity.setOrderId(orderId);
|
|
|
|
|
warehouseEntity.setCorpOrderId(addOrderRequest.getCorpOrderId());
|
|
|
|
|
warehouseEntity.setActDate(addOrderRequest.getActDate());
|
|
|
|
|
warehouseEntity.setMainAction(bussinessTypeEntity.getMainAction());
|
|
|
|
|
warehouseEntity.setAction(bussinessTypeEntity.getAction());
|
|
|
|
|
warehouseEntity.setActor(addOrderRequest.getActor());
|
|
|
|
|
warehouseEntity.setFromCorpId(addOrderRequest.getFromCorpId());
|
|
|
|
|
warehouseEntity.setFromCorp(addOrderRequest.getFromCorp());
|
|
|
|
|
warehouseEntity.setBatchNo(udiEntity.getBatchNo());
|
|
|
|
|
warehouseEntity.setProduceDate(udiEntity.getProduceDate());
|
|
|
|
|
warehouseEntity.setNameCode(udiEntity.getUdi());
|
|
|
|
|
warehouseEntity.setExpireDate(udiEntity.getExpireDate());
|
|
|
|
|
warehouseEntity.setSerialNo(udiEntity.getSerialNo());
|
|
|
|
|
warehouseEntity.setLocStorageCode(addOrderRequest.getLocStorageCode());
|
|
|
|
|
warehouseEntity.setCount(1);
|
|
|
|
|
List<WarehouseEntity> warehouseEntityList = new ArrayList<>();
|
|
|
|
|
warehouseEntityList.add(warehouseEntity);
|
|
|
|
|
codesTempService.insertCodesTempSingle(warehouseEntity);
|
|
|
|
|
checkSupId(bussinessTypeEntity, warehouseEntity);
|
|
|
|
|
return baseResponse;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
return ResultVOUtils.success(orderId);
|
|
|
|
|
} catch (Exception e) {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.NOT_NETWORK);
|
|
|
|
|
|
|
|
|
|
}
|
|
|
|
|
return ResultVOUtils.success(orderId);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public BaseResponse checkRelId(WarehouseEntity warehouseEntity) {
|
|
|
|
|
FilterUdiInfoRequest filterUdiInfoRequest = new FilterUdiInfoRequest();
|
|
|
|
|
filterUdiInfoRequest.setNameCode(warehouseEntity.getNameCode());
|
|
|
|
|
List<UdiRelevanceResponse> udiRelevanceEntities = udiRelevanceService.filterUdiRelevance(filterUdiInfoRequest);
|
|
|
|
|
if (udiRelevanceEntities != null && udiRelevanceEntities.size() > 1 && warehouseEntity.getRelId() == null) {//同一个DI绑定多个产品西信息
|
|
|
|
|
warehouseEntity.setRelId(null);
|
|
|
|
|
warehouseEntity.setStatus(ConstantStatus.ORDER_DETAIL_DI_MUTI);
|
|
|
|
|
codesTempService.insertCodesTempSingle(warehouseEntity);
|
|
|
|
|
warehouseEntity = codesTempService.findByUnique(warehouseEntity.getOrderId(), warehouseEntity.getCode());
|
|
|
|
|
BaseResponse baseResponse = ResultVOUtils.error(502, "DI绑定多个产品ID,请指定对应产品");
|
|
|
|
|
baseResponse.setData(warehouseEntity);
|
|
|
|
|
return baseResponse;
|
|
|
|
|
} else if (udiRelevanceEntities == null || udiRelevanceEntities.size() == 0) {//未找到产品信息,一般不会出现
|
|
|
|
|
warehouseEntity.setRelId(null);
|
|
|
|
|
warehouseEntity.setStatus(2);
|
|
|
|
|
return ResultVOUtils.error(501, "产品信息未维护!");
|
|
|
|
|
} else {
|
|
|
|
|
warehouseEntity.setStatus(0);
|
|
|
|
|
if (warehouseEntity.getRelId() == null)
|
|
|
|
|
warehouseEntity.setRelId(udiRelevanceEntities.get(0).getId() + "");
|
|
|
|
|
}
|
|
|
|
|
codesTempService.insertCodesTempSingle(warehouseEntity);
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public BaseResponse checkSupId(BussinessTypeEntity bussinessTypeEntity, WarehouseEntity warehouseEntity) {
|
|
|
|
|
String originSupId = ioTransInoutService.checkOriginExitSup(bussinessTypeEntity, warehouseEntity);
|
|
|
|
|
if (originSupId != null) {
|
|
|
|
|
warehouseEntity.setSupId(originSupId);
|
|
|
|
|
} else {
|
|
|
|
|
String supId = ioTransInoutService.checkExitSup(warehouseEntity.getRelId());
|
|
|
|
|
if (supId == null || "MUTI".equals(supId)) {
|
|
|
|
|
warehouseEntity.setSupId(null);
|
|
|
|
|
BaseResponse baseResponse = ResultVOUtils.error(503, "该产品绑定多供应商,请指定对应的供应商");
|
|
|
|
|
baseResponse.setData(warehouseEntity);
|
|
|
|
|
return baseResponse;
|
|
|
|
|
} else {
|
|
|
|
|
warehouseEntity.setSupId(supId);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
codesTempService.updateById(warehouseEntity);
|
|
|
|
|
return null;
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
|
@PostMapping("/udiwms/addCode/updateBindSup")
|
|
|
|
|
public BaseResponse updateBindSup(@RequestBody WarehouseEntity warehouseEntity, BindingResult bindingResult) {
|
|
|
|
|
|
|
|
|
|
if (bindingResult.hasErrors()) {
|
|
|
|
|
return ResultVOUtils.error(ResultEnum.PARAM_VERIFY_FALL, bindingResult.getFieldError().getDefaultMessage());
|
|
|
|
|
}
|
|
|
|
|
boolean b = codesTempService.update(warehouseEntity);
|
|
|
|
|
return ResultVOUtils.success("绑定成功");
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
//网页端数据上传调用接口
|
|
|
|
|
@AuthRuleAnnotation("")
|
|
|
|
|
@PostMapping("warehouse/inout/postOrdersWeb")
|
|
|
|
|