diff --git a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java index b6301be71..38a9021cb 100644 --- a/src/main/java/com/glxp/api/controller/inout/IoOrderController.java +++ b/src/main/java/com/glxp/api/controller/inout/IoOrderController.java @@ -17,6 +17,7 @@ import com.glxp.api.controller.BaseController; import com.glxp.api.entity.auth.InvBusUserEntity; import com.glxp.api.entity.auth.InvWarehouseEntity; import com.glxp.api.entity.basic.BasicBussinessTypeEntity; +import com.glxp.api.entity.basic.BasicCorpEntity; import com.glxp.api.entity.basic.EntrustReceEntity; import com.glxp.api.entity.inout.*; import com.glxp.api.http.sync.SpGetHttpClient; @@ -31,6 +32,7 @@ import com.glxp.api.res.inout.IoOrderResponse; import com.glxp.api.res.inout.PdaBusOrderResponse; import com.glxp.api.service.auth.InvBusUserService; import com.glxp.api.service.auth.InvWarehouseService; +import com.glxp.api.service.basic.BasicCorpService; import com.glxp.api.service.basic.EntrustReceService; import com.glxp.api.service.basic.IBasicBussinessTypeService; import com.glxp.api.service.inout.*; @@ -75,6 +77,8 @@ public class IoOrderController extends BaseController { IoAddInoutService ioAddInoutService; @Resource IoCheckInoutService ioCheckInoutService; + @Resource + BasicCorpService basicCorpService; /** * 查询单据列表 @@ -270,10 +274,27 @@ public class IoOrderController extends BaseController { IoOrderEntity orderEntity = new IoOrderEntity(); if (StrUtil.isEmpty(addOrderRequest.getAction())) return ResultVOUtils.error(500, "单据类型不能为空"); - orderEntity.setAction(addOrderRequest.getAction()); + BasicBussinessTypeEntity bussinessTypeEntity = basicBussinessTypeService.findByAction(addOrderRequest.getAction()); + BasicCorpEntity basicCorpEntity = new BasicCorpEntity(); + //要是特殊往来信息没有就创建 + if (bussinessTypeEntity.getCorpType() == ConstantStatus.CORP_TYPE_INPUT && bussinessTypeEntity.isGenUnit()) { + basicCorpEntity = basicCorpService.selectByName(orderEntity.getFromCorp()); + if (basicCorpEntity == null) { + basicCorpEntity = new BasicCorpEntity(); + basicCorpEntity.setErpId(CustomUtil.getUnitId()); + basicCorpEntity.setCorpType(ConstantStatus.CORP_SICK); + basicCorpEntity.setOutType(ConstantStatus.CORP_SICK_SICK); + basicCorpEntity.setName(addOrderRequest.getFromCorp()); + basicCorpEntity.setId(IdUtil.getSnowflakeNextId()); + basicCorpService.insert(basicCorpEntity); + } + orderEntity.setFromCorp(basicCorpEntity.getErpId()); + }else { + orderEntity.setFromCorp(addOrderRequest.getFromCorp()); + } + orderEntity.setAction(addOrderRequest.getAction()); orderEntity.setMainAction(bussinessTypeEntity.getMainAction()); - orderEntity.setFromCorp(addOrderRequest.getFromCorp()); orderEntity.setRemark(addOrderRequest.getRemark()); orderEntity.setFromInvCode(addOrderRequest.getFromInvCode()); orderEntity.setDeptCode(addOrderRequest.getDeptCode());