单据流程->可生成库存

master
anthonywj 2 years ago
parent acb39129e9
commit 86b7e95a1d

@ -46,8 +46,9 @@ public class ConstantStatus {
*
*/
public static final Integer ORDER_STATUS_AUDITED_REFUSED = 8;
public static final Integer ORDER_STATUS_ADDITIONAL = 5; //补录单据
public static final Integer ORDER_STATUS_RECEIVEED = 7;
// public static final Integer ORDER_STATUS_RECEIVEED = 7;
//订单处理状态
public static final Integer ORDER_DEAL_DRAFT = 1; //草稿
@ -129,15 +130,15 @@ public class ConstantStatus {
public static final int CORP_SICK = 1; //病人
public static final int CORP_SP = 2; //供应商
public static final int CORP_INTTERNAL = 3; //内部科室等
public static final int CORP_SPECIAL = 4; //内部科室等
public static final int CORP_SPECIAL = 4; //特俗往来
public static final int CORP_HOSPTIAL = 5; //医院客户
//往来信息类型-单据
public static final int CORP_TYPE_INPUT = 2; //客户
public static final int CORP_TYPE_OUT = 0; //供应商
public static final int CORP_TYPE_INNOR = 1; //内部科室等
public static final int CORP_TYPE_SPECIAL = 3;
public static final int CORP_TYPE_INPUT = 1; //客户
public static final int CORP_TYPE_OUT = 2; //供应商
public static final int CORP_TYPE_INNOR = 3; //内部科室等
public static final int CORP_TYPE_SPECIAL = 4; //特俗往来
public static final int CORP_TYPE_DEPT = 4; //部门

@ -90,9 +90,10 @@ public class AuthUserController extends BaseController {
filterInvLinkDataRequest.setKey("1");
List<WarehouseUserEntity> warehouseUserEntities = warehouseUserService.getWarehouseUserList(filterInvLinkDataRequest);
List<Long> list = new ArrayList<>();
for (Long aLong : filterInvLinkDataRequest.getListUser()) {
list.add(aLong);
}
if (filterInvLinkDataRequest.getListUser() != null && filterInvLinkDataRequest.getListUser().length > 0)
for (Long aLong : filterInvLinkDataRequest.getListUser()) {
list.add(aLong);
}
List<WarehouseUserEntity> warehouseUserEntities1 = warehouseUserService.selectNotSelectUserid(list);
List<Long> userIds = new ArrayList<>();
for (WarehouseUserEntity warehouseUserEntity : warehouseUserEntities1) {

@ -71,7 +71,7 @@ public class UdiContrastController {
if (keys != null && keys.size() > 0) {
for (String key : keys) {
//关联添加
if (udiCombineRequest.getRelId() != null || udiCombineRequest.isIdSpliUdi()) {
if (udiCombineRequest.getRelId() == null || udiCombineRequest.isIdSpliUdi()) {
if (StrUtil.isNotEmpty(udiCombineRequest.getThirdId())) {
if (udiContrastService.isExit(key, udiCombineRequest.getThirdId(), null)) {
return ResultVOUtils.error(500, "已存在相同的对照关系,对照失败!");

@ -15,10 +15,7 @@ import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.basic.BasicCorpEntity;
import com.glxp.api.entity.basic.UdiEntity;
import com.glxp.api.entity.basic.UdiProductEntity;
import com.glxp.api.entity.inout.IoCodeEntity;
import com.glxp.api.entity.inout.IoCodeTempEntity;
import com.glxp.api.entity.inout.IoOrderDetailCodeEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
import com.glxp.api.entity.inout.*;
import com.glxp.api.entity.system.SystemParamConfigEntity;
import com.glxp.api.http.SpsDirectClient;
import com.glxp.api.req.basic.CompanyProductRelevanceRequest;
@ -32,10 +29,7 @@ import com.glxp.api.res.basic.UdiRlSupResponse;
import com.glxp.api.res.inout.AddCodeResult;
import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.*;
import com.glxp.api.service.inout.IoCodeTempService;
import com.glxp.api.service.inout.IoOrderDetailCodeService;
import com.glxp.api.service.inout.IoOrderService;
import com.glxp.api.service.inout.IoAddInoutService;
import com.glxp.api.service.inout.*;
import com.glxp.api.service.system.SystemParamConfigService;
import com.glxp.api.util.CustomUtil;
import com.glxp.api.util.DateUtil;
@ -84,6 +78,8 @@ public class IoCodeTempController extends BaseController {
UdiRlSupService udiRlSupService;
@Resource
InvWarehouseService invWarehouseService;
@Resource
IoCheckInoutService ioCheckInoutService;
//手持端扫码单据上传调用接口
@AuthRuleAnnotation("")
@ -506,23 +502,38 @@ public class IoCodeTempController extends BaseController {
}
List<IoCodeTempEntity> codeEnttitys = codeTempService.findByOrderId(orderId);
IoCodeTempEntity codeEnttity = new IoCodeTempEntity();
IoCodeTempEntity exitLocalEntity = null;
IoCodeTempEntity genDetaiEntity = new IoCodeTempEntity();
List<UdiRelevanceResponse> udiRelevanceResponses = null;
if (codeEnttitys.size() > 0) {
exitLocalEntity = isExitLocal(code, codeEnttitys);
if (exitLocalEntity != null) {
codeEnttity = exitLocalEntity;
codeEnttity.setCount(codeEnttity.getCount() + 1);
if (StringUtils.isBlank(codeEnttity.getSerialNo())) {
codeTempService.updateById(codeEnttity);
udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(exitLocalEntity.getNameCode());
BeanUtils.copyProperties(exitLocalEntity, genDetaiEntity);
genDetaiEntity.setCount(1);
genDetaiEntity.setReCount(udiCalCountUtil.getActCount(udiRelevanceResponses.get(0)));
exitLocalEntity.setCount(exitLocalEntity.getCount() + 1);
exitLocalEntity.setReCount(exitLocalEntity.getCount() * udiCalCountUtil.getActCount(udiRelevanceResponses.get(0)));
if (StringUtils.isBlank(exitLocalEntity.getSerialNo())) {
if (bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.isCheckWebNew()) {
String errMsg = ioCheckInoutService.checkCode(exitLocalEntity);
if (errMsg != null) {
return ResultVOUtils.error(500, errMsg);
} else
codeTempService.updateById(exitLocalEntity);
} else {
codeTempService.updateById(exitLocalEntity);
}
} else {
return ResultVOUtils.error(ResultEnum.DATA_REPEAT);
}
}
}
if (exitLocalEntity == null) {
IoCodeTempEntity codeEnttity = new IoCodeTempEntity();
codeEnttity.setCode(code);
codeEnttity.setOrderId(orderId);
codeEnttity.setCorpOrderId(addOrderRequest.getCorpOrderId());
@ -543,12 +554,12 @@ public class IoCodeTempController extends BaseController {
unitFk = addOrderRequest.getFromCorp();
}
//产品是否可以以使用单元入库
List<UdiRelevanceResponse> udiRelevanceResponses = udiRelevanceService.selectAllByNameCode(codeEnttity.getNameCode(), unitFk);
udiRelevanceResponses = udiRelevanceService.selectGroupByNameCode(codeEnttity.getNameCode());
if (udiRelevanceResponses.size() == 1) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0);
if (udiRelevanceResponse == null) {
return ResultVOUtils.error(500, "该产品信息未维护!");
} else if (!udiRelevanceResponse.getIsUseDy() && udiRelevanceResponse.getDiType() == ConstantStatus.DITYPE_SYDY) {
} else if (!udiRelevanceResponse.getUseDy() && udiRelevanceResponse.getDiType() == ConstantStatus.DITYPE_SYDY) {
return ResultVOUtils.error(500, "该产品不允许以使用单元入库!");
}
//计算实际数量
@ -560,14 +571,12 @@ public class IoCodeTempController extends BaseController {
return ResultVOUtils.error(500, "当前供应商不存在此配送产品!");
}
//校验供应商是否配送此产品
BaseResponse corpResponse = checkCorp(codeEnttity, bussinessTypeEntity, unitFk);
if (corpResponse != null) {
return corpResponse;
}
IoOrderEntity isExit = orderService.findByBillNo(orderId);
if (isExit == null) {
orderEntity = new IoOrderEntity();
@ -591,8 +600,18 @@ public class IoCodeTempController extends BaseController {
orderService.insertOrder(orderEntity);
}
BaseResponse baseResponse = checkRelId(codeEnttity, unitFk);
codeEnttity = codeTempService.findByUnique(codeEnttity.getOrderId(), codeEnttity.getCode());
if (bussinessTypeEntity.isCheckEnable() && bussinessTypeEntity.isCheckWebNew()){
String errMsg = ioCheckInoutService.checkCode(codeEnttity);
if (errMsg != null) {
return ResultVOUtils.error(500, errMsg);
} else
codeTempService.insert(codeEnttity);
} else {
codeTempService.insert(codeEnttity);
}
genDetaiEntity = codeEnttity;
if (baseResponse == null) {
baseResponse = checkSupId(bussinessTypeEntity, codeEnttity, unitFk);
if (baseResponse != null)
@ -608,7 +627,7 @@ public class IoCodeTempController extends BaseController {
}
}
addCodeResult.setOrderId(orderId);
transInoutService.genOrderDetailCode(orderEntity, codeEnttity);
transInoutService.genOrderDetailCode(orderEntity, genDetaiEntity);
return ResultVOUtils.success(addCodeResult);
}
@ -673,7 +692,6 @@ public class IoCodeTempController extends BaseController {
codeEnttity.setStatus(0);
if (codeEnttity.getRelId() == null)
codeEnttity.setRelId(udiRelevanceEntities.get(0).getId());
codeTempService.insert(codeEnttity);
}
return null;
@ -776,28 +794,24 @@ public class IoCodeTempController extends BaseController {
}
//更新扫码详情
List<IoOrderDetailCodeEntity> orderDetailCodeEntities = ioOrderDetailCodeService.findByOrderId(codeTempEntity.getOrderId());
if (CollUtil.isNotEmpty(orderDetailCodeEntities)) {
for (IoOrderDetailCodeEntity orderDetailCodeEntity : orderDetailCodeEntities) {
if (orderDetailCodeEntity.getBindRlFk() == codeTempEntity.getRelId() && StrUtil.trimToEmpty(orderDetailCodeEntity.getBatchNo()).equals(codeTempEntity.getBatchNo())) {
//扫码数量-1
int orderCount = orderDetailCodeEntity.getCount();
int orderReCount = orderDetailCodeEntity.getReCount();
if (orderCount > 1) {
orderDetailCodeEntity.setCount(orderCount - codeTempEntity.getCount());
orderDetailCodeEntity.setCount(orderReCount - codeTempEntity.getReCount());
ioOrderDetailCodeService.update(orderDetailCodeEntity);
} else {
ioOrderDetailCodeService.deleteById(orderDetailCodeEntity.getId());
}
}
IoOrderDetailCodeEntity orderDetailCodeEntity = ioOrderDetailCodeService.findByUnique(orderEntity.getBillNo(), codeTempEntity.getRelId(), codeTempEntity.getBatchNo());
if (orderDetailCodeEntity != null) {
//扫码数量-1
int orderCount = orderDetailCodeEntity.getCount();
int orderReCount = orderDetailCodeEntity.getReCount();
if (orderCount > 1) {
orderDetailCodeEntity.setCount(orderCount - codeTempEntity.getCount());
orderDetailCodeEntity.setReCount(orderReCount - codeTempEntity.getReCount());
ioOrderDetailCodeService.update(orderDetailCodeEntity);
} else {
ioOrderDetailCodeService.deleteById(orderDetailCodeEntity.getId());
}
}
orderEntity.setUpdateUser(getUserId() + "");
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
return ResultVOUtils.success();
return ResultVOUtils.success("删除成功!");
}

@ -7,9 +7,11 @@ import com.glxp.api.annotation.AuthRuleAnnotation;
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.ConstantStatus;
import com.glxp.api.controller.BaseController;
import com.glxp.api.dao.inout.IoOrderDetailBizDao;
import com.glxp.api.entity.auth.AuthAdmin;
import com.glxp.api.entity.auth.InvWarehouseEntity;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
import com.glxp.api.entity.inout.IoOrderDetailBizEntity;
import com.glxp.api.entity.inout.IoOrderEntity;
@ -19,6 +21,7 @@ import com.glxp.api.req.system.DeleteRequest;
import com.glxp.api.res.PageSimpleResponse;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import com.glxp.api.res.inout.IoOrderDetailBizResponse;
import com.glxp.api.service.auth.InvWarehouseService;
import com.glxp.api.service.basic.IBasicBussinessTypeService;
import com.glxp.api.service.basic.UdiRelevanceService;
import com.glxp.api.service.inout.IoOrderDetailBizService;
@ -52,7 +55,7 @@ public class IoOrderDetailBizController extends BaseController {
@Resource
private IBasicBussinessTypeService basicBussinessTypeService;
@Resource
IoOrderDetailBizDao ioOrderDetailBizDao;
InvWarehouseService invWarehouseService;
//获取单据业务详情---临时接口查询
@AuthRuleAnnotation("")
@ -79,16 +82,30 @@ public class IoOrderDetailBizController extends BaseController {
IoOrderEntity orderEntity = addBizProductReqeust.getOrderEntity();
if (StrUtil.isEmpty(orderEntity.getBillNo())) {
BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(orderEntity.getAction());
InvWarehouseEntity invWarehouseEntity = invWarehouseService.findByInvSubByCode(orderEntity.getInvCode());
String orderNo = gennerOrderUtils.createScOrderNo(new OrderNoTypeBean(Constant.SCAN_ORDER + StrUtil.trimToEmpty(bussinessTypeEntity.getPrefix()), "yyyyMMdd"));
orderEntity.setBillNo(orderNo);
orderEntity.setCreateUser(authAdmin.getId() + "");
orderEntity.setCreateTime(new Date());
orderEntity.setMainAction(bussinessTypeEntity.getMainAction());
orderEntity.setFromType(ConstantStatus.FROM_WEBNEW);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_TEMP_SAVE);
orderEntity.setDealStatus(ConstantStatus.ORDER_DEAL_DRAFT);
orderEntity.setCreateUser(authAdmin.getId() + "");
orderEntity.setCreateTime(new Date());
orderEntity.setUpdateUser(authAdmin.getId() + "");
orderEntity.setUpdateTime(new Date());
orderEntity.setCustomerId(authAdmin.getCustomerId() + "");
orderEntity.setDeptCode(invWarehouseEntity.getParentId());
orderEntity.setInvCode(orderEntity.getInvCode());
orderService.insertOrder(orderEntity);
}
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceService.selectGroupById(addBizProductReqeust.getRelId());
IoOrderDetailBizEntity ioOrderDetailBizEntity = new IoOrderDetailBizEntity();
ioOrderDetailBizEntity.setOrderIdFk(orderEntity.getBillNo());
ioOrderDetailBizEntity.setBindRlFk(udiRelevanceResponse.getId());
ioOrderDetailBizEntity.setUuidFk(udiRelevanceResponse.getUuid());
ioOrderDetailBizEntity.setNameCode(udiRelevanceResponse.getNameCode());
ioOrderDetailBizEntity.setCoName(udiRelevanceResponse.getCpmctymc());
ioOrderDetailBizEntity.setCertCode(udiRelevanceResponse.getZczbhhzbapzbh());
ioOrderDetailBizEntity.setYlqxzcrbarmc(udiRelevanceResponse.getYlqxzcrbarmc());
@ -96,10 +113,11 @@ public class IoOrderDetailBizController extends BaseController {
ioOrderDetailBizEntity.setMeasname(udiRelevanceResponse.getMeasname());
ioOrderDetailBizEntity.setSpec(udiRelevanceResponse.getGgxh());
ioOrderDetailBizEntity.setPrice(udiRelevanceResponse.getPrice());
ioOrderDetailBizEntity.setSupId(addBizProductReqeust.getSupId());
orderDetailBizService.insert(ioOrderDetailBizEntity);
orderEntity.setUpdateTime(new Date());
orderEntity.setUpdateUser(authAdmin.getId() + "");
orderService.insertOrUpdate(orderEntity);
orderService.update(orderEntity);
return ResultVOUtils.success(orderEntity);
}

@ -74,4 +74,7 @@ public interface UdiRelevanceDao extends BaseMapperPlus<IoCodeDao, IoCodeEntity,
* @return
*/
String selectUuidById(@Param("relId") String relId);
List<UdiRelevanceResponse> selectGroupByNameCode(@Param("nameCode") String nameCode);
}

@ -11,7 +11,7 @@ import java.util.Date;
@Data
@TableName(value = "inv_product")
public class InvProductEntity {
@TableId(value = "id", type = IdType.INPUT)
@TableId(value = "id", type = IdType.AUTO)
private Integer id;
/**

@ -9,5 +9,6 @@ public class AddBizProductReqeust {
private IoOrderEntity orderEntity;
private Long relId;
private String zczbhhzbapzbh;
private String supId;
}

@ -113,4 +113,11 @@ public class UdiRelevanceResponse {
return false;
return allowNoProduct;
}
public Boolean getUseDy() {
if (isUseDy == null)
return false;
return isUseDy;
}
}

@ -4,6 +4,7 @@ package com.glxp.api.service.basic;
import com.glxp.api.entity.basic.UdiRelevanceEntity;
import com.glxp.api.req.basic.FilterUdiRelRequest;
import com.glxp.api.res.basic.UdiRelevanceResponse;
import org.apache.ibatis.annotations.Param;
import java.util.List;
@ -74,4 +75,7 @@ public interface UdiRelevanceService {
* @return
*/
String findUuidById(String relId);
List<UdiRelevanceResponse> selectGroupByNameCode(String nameCode);
}

@ -358,7 +358,7 @@ public class BasicProductsImportLogServiceImpl implements BasicProductsImportLog
BeanUtils.copyProperties(udiRelevanceResponse, udiInfoImportEntity);
udiInfoImportEntity.setUpdateTime(new Date());
udiInfoImportEntity.setGenKeyFk(genKey);
if (udiRelevanceResponse.getIsUseDy()) {
if (udiRelevanceResponse.getUseDy()) {
udiInfoImportEntity.setIsUseDy("是");
} else {
udiInfoImportEntity.setIsUseDy("否");

@ -1,5 +1,6 @@
package com.glxp.api.service.basic.impl;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.github.pagehelper.PageHelper;
import com.glxp.api.constant.ConstantStatus;
@ -14,6 +15,7 @@ import com.glxp.api.service.thrsys.ThrSystemService;
import org.springframework.stereotype.Service;
import javax.annotation.Resource;
import java.util.ArrayList;
import java.util.Collections;
import java.util.List;
@ -23,8 +25,6 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService {
UdiRelevanceDao udiRelevanceDao;
@Resource
ThrSystemService basicThirdSysService;
@Resource
private UdiProductDao udiProductDao;
@Override
public List<UdiRelevanceResponse> filterUdiRelevance(FilterUdiRelRequest filterUdiRelRequest) {
@ -82,11 +82,15 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService {
@Override
public List<UdiRelevanceResponse> selectAllByNameCode(String nameCode, String unitFk) {
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
filterUdiRelRequest.setUniqueNameCode(nameCode);
filterUdiRelRequest.setUnitFk(unitFk);
List<UdiRelevanceResponse> udiRelevanceResponses = filterUdiJoinSup(filterUdiRelRequest);
List<UdiRelevanceResponse> udiRelevanceResponses;
if (StrUtil.isNotEmpty(unitFk)) {
FilterUdiRelRequest filterUdiRelRequest = new FilterUdiRelRequest();
filterUdiRelRequest.setUniqueNameCode(nameCode);
filterUdiRelRequest.setUnitFk(unitFk);
udiRelevanceResponses = filterUdiJoinSup(filterUdiRelRequest);
} else {
udiRelevanceResponses = selectGroupByNameCode(nameCode);
}
if (udiRelevanceResponses.size() == 1) {
UdiRelevanceResponse udiRelevanceResponse = udiRelevanceResponses.get(0);
if (udiRelevanceResponse == null || udiRelevanceResponse.getProductType() == ConstantStatus.PRODUCT_TYPE_THIRD) {
@ -312,4 +316,9 @@ public class UdiRelevanceServiceImpl implements UdiRelevanceService {
public String findUuidById(String relId) {
return udiRelevanceDao.selectUuidById(relId);
}
@Override
public List<UdiRelevanceResponse> selectGroupByNameCode(String nameCode) {
return udiRelevanceDao.selectGroupByNameCode(nameCode);
}
}

@ -207,7 +207,7 @@ public class IoAddInoutService {
} else {
ioOrderDetailCodeEntities.forEach(orderDetailCodeEntity ->
{
if (orderDetailCodeEntity.getBindRlFk() == udiRelevanceResponse.getId() && orderDetailCodeEntity.getBatchNo().equals(codeTempEntity.getBatchNo())) {
if (orderDetailCodeEntity.getBindRlFk().longValue() == udiRelevanceResponse.getId().longValue() && orderDetailCodeEntity.getBatchNo().equals(codeTempEntity.getBatchNo())) {
orderDetailCodeEntity.setCount(orderDetailCodeEntity.getCount() + codeTempEntity.getCount());
orderDetailCodeEntity.setReCount(orderDetailCodeEntity.getReCount() + codeTempEntity.getReCount());
orderDetailCodeService.update(orderDetailCodeEntity);
@ -233,6 +233,7 @@ public class IoAddInoutService {
ioOrderDetailCodeEntity.setManufacturer(udiRelevanceResponse.getManufactory());
ioOrderDetailCodeEntity.setMeasname(udiRelevanceResponse.getMeasname());
ioOrderDetailCodeEntity.setSpec(udiRelevanceResponse.getGgxh());
ioOrderDetailCodeEntity.setSupId(codeTempEntity.getSupId());
ioOrderDetailCodeEntity.setPrice(udiRelevanceResponse.getPrice());
ioOrderDetailCodeEntity.setCount(codeTempEntity.getCount());
ioOrderDetailCodeEntity.setReCount(codeTempEntity.getReCount());

@ -2,6 +2,8 @@ package com.glxp.api.service.inout;
import cn.hutool.core.collection.CollUtil;
import cn.hutool.core.util.StrUtil;
import com.glxp.api.common.res.BaseResponse;
import com.glxp.api.common.util.ResultVOUtils;
import com.glxp.api.constant.ConstantStatus;
import com.glxp.api.constant.ConstantType;
import com.glxp.api.entity.basic.BasicBussinessTypeEntity;
@ -102,6 +104,22 @@ public class IoCheckInoutService {
}
}
public String checkCode(IoCodeTempEntity codeEntity) {
IoOrderDetailBizEntity bizEntity = orderDetailBizService.findByUnique(codeEntity.getOrderId(), codeEntity.getRelId(), codeEntity.getBatchNo());
if (bizEntity == null) {
return "非此单产品!";
}
IoOrderDetailCodeEntity orderDetailCodeEntity = orderDetailCodeService.findByUnique(codeEntity.getOrderId(), codeEntity.getRelId(), codeEntity.getBatchNo());
int curCount = 0;
if (orderDetailCodeEntity != null) {
curCount = orderDetailCodeEntity.getReCount() + codeEntity.getReCount();
}
if (curCount > bizEntity.getCount()) {
return "当前产品数量超出!";
}
return null;
}
//一次校验(无需校验)完成
public void unCheckFirstFinish(IoOrderEntity orderEntity) {
@ -176,6 +194,7 @@ public class IoCheckInoutService {
if (checkCount(bizEntity, codeEntity) == null) {
bizEntity.setCheckSuccess(true);
bizEntity.setScanCount(codeEntity.getReCount());
codeEntity.setCheckSuccess(true);
}
break;
@ -223,6 +242,7 @@ public class IoCheckInoutService {
for (IoOrderDetailBizEntity orderDetailBizEntity : orderDetailBizEntities) {
IoOrderDetailResultEntity orderDetailResultEntity = new IoOrderDetailResultEntity();
BeanUtils.copyProperties(orderDetailBizEntity, orderDetailResultEntity);
orderDetailResultEntity.setReCount(orderDetailBizEntity.getScanCount());
orderDetailResultService.insert(orderDetailResultEntity);
}
@ -312,41 +332,41 @@ public class IoCheckInoutService {
if (bussinessTypeEntity.isSecCheckEnable()) {
if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_UDIMS) {
if (!bussinessTypeEntity.isSecCheckUdims()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_RECEIVEED);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_WEBNEW) {
if (!bussinessTypeEntity.isSecCheckWebNew()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_RECEIVEED);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAED) {
if (!bussinessTypeEntity.isSecCheckPdaEd()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_RECEIVEED);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PDAUN) {
if (!bussinessTypeEntity.isSecCheckPdaUn()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_RECEIVEED);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PC) {
if (!bussinessTypeEntity.isSecCheckPc()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_RECEIVEED);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_CHANGE) {
if (!bussinessTypeEntity.isSecCheckChange()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_RECEIVEED);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_PEACE_CHANGE) {
if (!bussinessTypeEntity.isSecCheckBalance()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_RECEIVEED);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
}
} else if (orderEntity.getFromType().intValue() == ConstantStatus.FROM_COPY) {
if (!bussinessTypeEntity.isSecCheckCopy()) {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_RECEIVEED);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
}
}
} else {
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_RECEIVEED);
orderEntity.setStatus(ConstantStatus.ORDER_STATUS_AUDITED);
}
if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_RECEIVEED) {
if (orderEntity.getStatus() == ConstantStatus.ORDER_STATUS_AUDITED) {
orderEntity.setUpdateTime(new Date());
orderService.update(orderEntity);
genInv(orderEntity, bussinessTypeEntity);
@ -410,18 +430,18 @@ public class IoCheckInoutService {
}
public String checkProductDate(IoOrderDetailBizEntity bizEntity, IoOrderDetailCodeEntity codeEntity) {
if (StrUtil.nullToEmpty(bizEntity.getBatchNo()).equals(StrUtil.nullToEmpty(codeEntity.getBatchNo()))) {
if (StrUtil.nullToEmpty(bizEntity.getProductDate()).equals(StrUtil.nullToEmpty(codeEntity.getProductDate()))) {
return null;
} else {
return bizEntity.getCoName() + "批次号不匹配";
return bizEntity.getCoName() + "生产日期不匹配";
}
}
public String checkExpireDate(IoOrderDetailBizEntity bizEntity, IoOrderDetailCodeEntity codeEntity) {
if (StrUtil.nullToEmpty(bizEntity.getBatchNo()).equals(StrUtil.nullToEmpty(codeEntity.getBatchNo()))) {
if (StrUtil.nullToEmpty(bizEntity.getExpireDate()).equals(StrUtil.nullToEmpty(codeEntity.getExpireDate()))) {
return null;
} else {
return bizEntity.getCoName() + "批次号不匹配";
return bizEntity.getCoName() + "失效日期不匹配";
}
}

@ -102,9 +102,9 @@ public class IoGenInvService {
invProductEntity.setInCount(invProductEntity.getInCount() + orderDetailResultEntity.getReCount());
}
invProductEntity.setUpdateTime(new Date());
invProductEntities.add(invProductEntity);
// invProductEntities.add(invProductEntity);
invProductService.update(invProductEntity);
}
invProductService.updateBatch(invProductEntities);
//生成库存码详情
List<InvProductDetailEntity> invProductDetailEntities = new ArrayList<>();

@ -20,6 +20,8 @@ public interface IoOrderDetailBizService {
boolean isExit(Long relId, String bacthNo, Integer ignoreId);
IoOrderDetailBizEntity findByUnique(String orderId, Long relId, String bacthNo);
List<IoOrderDetailBizResponse> filterList(FilterOrderDetailBizRequest orderDetailBizRequest);

@ -12,6 +12,8 @@ public interface IoOrderDetailCodeService {
List<IoOrderDetailCodeEntity> findByOrderId(String orderId);
IoOrderDetailCodeEntity findByUnique(String orderId, Long relId, String bacthNo);
int insert(IoOrderDetailCodeEntity orderDetailCodeEntity);
int update(IoOrderDetailCodeEntity orderDetailCodeEntity);

@ -53,6 +53,11 @@ public class IoOrderDetailBizServiceImpl implements IoOrderDetailBizService {
return ioOrderDetailBizDao.exists(new QueryWrapper<IoOrderDetailBizEntity>().eq("bindRlFk", relId).eq("batchNo", bacthNo).ne("id", ignoreId));
}
@Override
public IoOrderDetailBizEntity findByUnique(String orderId, Long relId, String bacthNo) {
return ioOrderDetailBizDao.selectOne(new QueryWrapper<IoOrderDetailBizEntity>().eq("orderIdFk", orderId).eq("bindRlFk", relId).eq("batchNo", bacthNo));
}
@Override
public List<IoOrderDetailBizResponse> filterList(FilterOrderDetailBizRequest orderDetailBizRequest) {
if (null == orderDetailBizRequest) {

@ -31,6 +31,11 @@ public class IoOrderDetailCodeServiceImpl implements IoOrderDetailCodeService {
return ioOrderDetailCodeDao.selectList(new QueryWrapper<IoOrderDetailCodeEntity>().eq("orderIdFk", orderId));
}
@Override
public IoOrderDetailCodeEntity findByUnique(String orderId, Long relId, String bacthNo) {
return ioOrderDetailCodeDao.selectOne(new QueryWrapper<IoOrderDetailCodeEntity>().eq("orderIdFk", orderId).eq("bindRlFk", relId).eq("batchNo", bacthNo));
}
@Override
public int insert(IoOrderDetailCodeEntity orderDetailCodeEntity) {
return ioOrderDetailCodeDao.insert(orderDetailCodeEntity);

@ -37,7 +37,9 @@ public class FilterUdiUtils {
Gs1128Decoder decoder = engine.decoder();
Map<AI, String> result = decoder.decode("]C1" + data);
UdiEntity udiEntity = new UdiEntity();
int length = 0;
for (Map.Entry<AI, String> entry : result.entrySet()) {
length = length + entry.getValue().length();
if (entry.getKey() == AIs.GTIN) {
udiEntity.setUdi(entry.getValue());
} else if (entry.getKey() == AIs.BATCH_LOT) {
@ -50,6 +52,9 @@ public class FilterUdiUtils {
udiEntity.setSerialNo(entry.getValue());
}
}
if (data.length() - length > 22) {
return null;
}
if (StrUtil.isEmpty(udiEntity.getUdi())) {
return null;
} else

@ -20,10 +20,16 @@ public class UdiCalCountUtil {
public int getActCount(UdiRelevanceResponse udiRelevanceResponse) {
int actCount;
if (!udiRelevanceResponse.getIsUseDy() && udiRelevanceResponse.getDiType() != 2) {
if (!udiRelevanceResponse.getUseDy() && udiRelevanceResponse.getDiType() != 2) {
if (udiRelevanceResponse.getBhzxxsbzsl() == 0) {
actCount = udiRelevanceResponse.getZxxsbzbhsydysl();
} else {
if (udiRelevanceResponse.getBhzxxsbzsl() == 0) {
udiRelevanceResponse.setBhzxxsbzsl(1);
}
if (udiRelevanceResponse.getZxxsbzbhsydysl() == 0) {
udiRelevanceResponse.setZxxsbzbhsydysl(1);
}
actCount = udiRelevanceResponse.getBhzxxsbzsl() * udiRelevanceResponse.getZxxsbzbhsydysl();
}
} else {

@ -4,9 +4,9 @@ server:
spring:
datasource:
driver-class-name: com.p6spy.engine.spy.P6SpyDriver
jdbc-url: jdbc:p6spy:mysql://127.0.0.1:3306/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
jdbc-url: jdbc:p6spy:mysql://192.168.0.66:3364/udi_wms?allowMultiQueries=true&serverTimezone=Asia/Shanghai&useUnicode=true&characterEncoding=utf8&zeroDateTimeBehavior=convertToNull&useSSL=false&allowPublicKeyRetrieval=true
username: root
password: 123456
password: Glxp@6066
hikari:
connection-timeout: 60000
maximum-pool-size: 60
@ -17,7 +17,7 @@ spring:
database: 8
host: 127.0.0.1
port: 6379
# password: 123456
# password: 123456
timeout: 300
jedis:
pool:

@ -244,7 +244,7 @@
#{item.basicPrductRemak5},
#{item.basicPrductRemak6},
#{item.basicPrductRemak7},
#{item.basicPrductRemak8},
#{item.basicPrductRemak8}
)
</foreach>
</insert>

@ -118,6 +118,7 @@
ORDER BY modifyTime DESC
</select>
<select id="filterUdiJoinSup" parameterType="com.glxp.api.req.basic.FilterUdiRelRequest"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*,
@ -170,7 +171,9 @@
basic_products.basicPrductRemak5,
basic_products.basicPrductRemak6,
basic_products.basicPrductRemak7,
basic_products.basicPrductRemak8, company_product_relevance.unitFk, basic_corp.name companyName
basic_products.basicPrductRemak8,
company_product_relevance.unitFk,
basic_corp.name companyName
FROM basic_udirel
inner JOIN basic_products
ON basic_products.uuid = basic_udirel.uuid
@ -749,6 +752,13 @@
)
values
<foreach collection="udiRelevanceEntities" item="item" index="index" separator=",">
({item.id},
{item.uuid},
@ -775,4 +785,64 @@
{item.remark})
</foreach>
</insert>
<select id="selectGroupByNameCode" parameterType="java.lang.String"
resultType="com.glxp.api.res.basic.UdiRelevanceResponse">
select basic_udirel.*,
basic_products.originUuid,
basic_products.nameCode,
basic_products.deviceRecordKey,
basic_products.packRatio,
basic_products.packUnit,
basic_products.packLevel,
basic_products.bhxjsl,
basic_products.bhzxxsbzsl,
basic_products.zxxsbzbhsydysl,
basic_products.bhxjcpbm,
basic_products.bzcj,
basic_products.cpmctymc,
basic_products.cplb,
basic_products.flbm,
basic_products.ggxh,
basic_products.qxlb,
basic_products.tyshxydm,
basic_products.ylqxzcrbarmc,
basic_products.zczbhhzbapzbh,
basic_products.ylqxzcrbarywmc,
basic_products.sydycpbs,
basic_products.sjcpbm,
basic_products.versionNumber,
basic_products.diType,
basic_products.ybbm,
basic_products.sptm,
basic_products.manufactory,
basic_products.measname,
basic_products.productType,
basic_products.scbssfbhph,
basic_products.scbssfbhxlh,
basic_products.scbssfbhscrq,
basic_products.scbssfbhsxrq,
basic_products.cpms,
basic_products.allowNoBatch,
basic_products.allowNoExpire,
basic_products.allowNoProduct,
basic_products.spmc,
basic_products.cplx,
basic_products.hchzsb,
basic_products.cpdls,
basic_products.price,
basic_products.basicPrductRemak1,
basic_products.basicPrductRemak2,
basic_products.basicPrductRemak3,
basic_products.basicPrductRemak4,
basic_products.basicPrductRemak5,
basic_products.basicPrductRemak6,
basic_products.basicPrductRemak7,
basic_products.basicPrductRemak8
FROM basic_udirel
INNER JOIN basic_products
on basic_udirel.uuid = basic_products.uuid
WHERE nameCode = #{nameCode}
group by basic_udirel.id
</select>
</mapper>
Loading…
Cancel
Save