From 333c63bb62c293523ad35a0da4151204de53f958 Mon Sep 17 00:00:00 2001 From: zhanyunjiu <787952492@qq.com> Date: Tue, 12 Jul 2022 16:16:17 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=87=E6=94=B6=20=E4=BD=9C=E7=89=A9=20?= =?UTF-8?q?=E5=90=8C=E6=AD=A5=E5=88=B0ERP?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/main/resources/application-local.yaml | 11 +++++ zsw-erp/pom.xml | 2 +- .../src/main/java/dubbo/config/OutFilter.java | 8 ++-- .../java/dubbo/dto/IntoStockMaterialDTO.java | 24 ++++++++++ .../java/dubbo/service/OpenErpService.java | 19 ++++++-- .../farm/controller/admin/TestController.java | 24 +++++++++- .../controller/admin/crop/CropController.java | 44 +++++++++++-------- .../admin/crop/dto/ErpMaterialDTO.java | 14 ++++++ .../controller/admin/crop/vo/CropBaseVO.java | 11 +++-- .../controller/admin/crop/vo/CropExcelVO.java | 10 +++-- .../admin/crop/vo/CropExportReqVO.java | 12 +++-- .../admin/crop/vo/CropPageReqVO.java | 3 ++ .../farm/dal/dataobject/crop/CropDO.java | 10 +++-- .../module/farm/service/crop/CropService.java | 8 ++++ .../farm/service/crop/CropServiceImpl.java | 37 ++++++++++++---- .../service/discuss/DiscussServiceImpl.java | 19 +++++++- 16 files changed, 202 insertions(+), 54 deletions(-) create mode 100644 zsw-farm/zsw-farm-api/src/main/java/dubbo/dto/IntoStockMaterialDTO.java create mode 100644 zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/dto/ErpMaterialDTO.java diff --git a/yudao-server/src/main/resources/application-local.yaml b/yudao-server/src/main/resources/application-local.yaml index d0958be4..b4f719ae 100644 --- a/yudao-server/src/main/resources/application-local.yaml +++ b/yudao-server/src/main/resources/application-local.yaml @@ -227,3 +227,14 @@ justauth: prefix: 'social_auth_state:' # 缓存前缀,目前只对 Redis 缓存生效,默认 JUSTAUTH::STATE:: timeout: 24h # 超时时长,目前只对 Redis 缓存生效,默认 3 分钟 + +dubbo: + registry: + id: zsw-farm + address: 192.168.10.250:8848 + protocol: nacos + username: nacos + password: nacos + register: false + application: + name: zsw-farm \ No newline at end of file diff --git a/zsw-erp/pom.xml b/zsw-erp/pom.xml index f822bb76..bc8542e7 100644 --- a/zsw-erp/pom.xml +++ b/zsw-erp/pom.xml @@ -17,7 +17,7 @@ UTF-8 UTF-8 1.8 - 3.0.5 + 3.0.9 diff --git a/zsw-farm/zsw-farm-api/src/main/java/dubbo/config/OutFilter.java b/zsw-farm/zsw-farm-api/src/main/java/dubbo/config/OutFilter.java index a8a62b3a..c39d4e59 100644 --- a/zsw-farm/zsw-farm-api/src/main/java/dubbo/config/OutFilter.java +++ b/zsw-farm/zsw-farm-api/src/main/java/dubbo/config/OutFilter.java @@ -1,6 +1,6 @@ package dubbo.config; -import cn.iocoder.yudao.framework.tenant.core.context.TenantContextHolder; +import cn.hutool.core.util.ObjectUtil; import org.apache.dubbo.common.constants.CommonConstants; import org.apache.dubbo.common.extension.Activate; import org.apache.dubbo.rpc.*; @@ -9,8 +9,10 @@ import org.apache.dubbo.rpc.*; public class OutFilter implements Filter { @Override public Result invoke(Invoker invoker, Invocation invocation) throws RpcException { - Long tenantId = TenantContextHolder.getTenantId(); - invocation.setAttachment("tenantId",tenantId.toString()); + Long tenantId = 11L; + if(ObjectUtil.isNotEmpty(tenantId)){ + invocation.setAttachment("tenantId",tenantId.toString()); + } return invoker.invoke(invocation); } } diff --git a/zsw-farm/zsw-farm-api/src/main/java/dubbo/dto/IntoStockMaterialDTO.java b/zsw-farm/zsw-farm-api/src/main/java/dubbo/dto/IntoStockMaterialDTO.java new file mode 100644 index 00000000..1ff26f09 --- /dev/null +++ b/zsw-farm/zsw-farm-api/src/main/java/dubbo/dto/IntoStockMaterialDTO.java @@ -0,0 +1,24 @@ +package dubbo.dto; + +import lombok.Builder; +import lombok.Data; + +import java.io.Serializable; +import java.math.BigDecimal; + +@Data +@Builder +public class IntoStockMaterialDTO implements Serializable { + + // 仓库ID + private String wareHouseId; + + // 物料id + private String materialId; + + // 入库数量 + private BigDecimal num; + + // 价格传0 + private BigDecimal price; +} diff --git a/zsw-farm/zsw-farm-api/src/main/java/dubbo/service/OpenErpService.java b/zsw-farm/zsw-farm-api/src/main/java/dubbo/service/OpenErpService.java index eb864bb1..c5d83821 100644 --- a/zsw-farm/zsw-farm-api/src/main/java/dubbo/service/OpenErpService.java +++ b/zsw-farm/zsw-farm-api/src/main/java/dubbo/service/OpenErpService.java @@ -1,13 +1,24 @@ package dubbo.service; -import dubbo.dto.BasMaterial; +import com.alibaba.fastjson.JSONObject; +import dubbo.dto.IntoStockMaterialDTO; import java.util.List; public interface OpenErpService { - // 把实现方法写在这里 - String hello(); + //租户列表 + List getTenantList(); - List list(); + //材料列表 + List getMaterialList(); + + //仓库列表 + List getWareHouse(); + + //入库 + Boolean intoStock(List stkInventoryList); + + //出库 + Boolean outStock(List stkInventoryList); } diff --git a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/TestController.java b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/TestController.java index 51d8e8fc..2ccd567e 100644 --- a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/TestController.java +++ b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/TestController.java @@ -5,23 +5,32 @@ import cn.iocoder.yudao.module.system.controller.admin.CpUser.dto.CpMessageDto; import cn.iocoder.yudao.module.system.dal.dataobject.CpUser.CpUserDO; import cn.iocoder.yudao.module.system.enums.wxcp.WxCpMsgTypeEnum; import cn.iocoder.yudao.module.system.service.CpUser.CpUserService; -import cn.iocoder.yudao.module.system.service.user.AdminUserService; import com.google.common.collect.Maps; +import dubbo.dto.IntoStockMaterialDTO; +import dubbo.service.OpenErpService; +import lombok.extern.slf4j.Slf4j; import me.chanjar.weixin.common.error.WxErrorException; +import org.apache.dubbo.config.annotation.DubboReference; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; +import java.math.BigDecimal; +import java.util.Arrays; import java.util.HashMap; import java.util.List; import java.util.stream.Collectors; @RestController +@Slf4j public class TestController { @Autowired private CpUserService cpUserService; + @DubboReference + private OpenErpService openErpService; + @GetMapping("/zyh") public CommonResult test() throws WxErrorException { @@ -41,4 +50,17 @@ public class TestController { cpUserService.sendMessage(dto); return CommonResult.success("okk"); } + + @GetMapping("/toErpMaterial") + public void toErpMaterial(){ + IntoStockMaterialDTO intoStock = IntoStockMaterialDTO.builder() + .wareHouseId("1546738475384201217") + .materialId("1544629335014780930") + .num(new BigDecimal(100)) + .price(BigDecimal.ZERO) + .build(); + log.info("同步到ERP,,,{}", intoStock ); + log.info("{}", Arrays.asList(intoStock)); + openErpService.intoStock(Arrays.asList(intoStock) ); + } } diff --git a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/CropController.java b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/CropController.java index 8eaf367b..8a4b2066 100644 --- a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/CropController.java +++ b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/CropController.java @@ -1,30 +1,30 @@ package cn.iocoder.yudao.module.farm.controller.admin.crop; -import org.springframework.web.bind.annotation.*; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; -import org.springframework.security.access.prepost.PreAuthorize; -import io.swagger.annotations.*; - -import javax.validation.constraints.*; -import javax.validation.*; -import javax.servlet.http.*; -import java.util.*; -import java.io.IOException; - -import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.common.pojo.CommonResult; -import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; - +import cn.iocoder.yudao.framework.common.pojo.PageResult; import cn.iocoder.yudao.framework.excel.core.util.ExcelUtils; - import cn.iocoder.yudao.framework.operatelog.core.annotations.OperateLog; -import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.*; - +import cn.iocoder.yudao.module.farm.controller.admin.crop.dto.ErpMaterialDTO; import cn.iocoder.yudao.module.farm.controller.admin.crop.vo.*; -import cn.iocoder.yudao.module.farm.dal.dataobject.crop.CropDO; import cn.iocoder.yudao.module.farm.convert.crop.CropConvert; +import cn.iocoder.yudao.module.farm.dal.dataobject.crop.CropDO; import cn.iocoder.yudao.module.farm.service.crop.CropService; +import io.swagger.annotations.Api; +import io.swagger.annotations.ApiImplicitParam; +import io.swagger.annotations.ApiOperation; +import org.springframework.security.access.prepost.PreAuthorize; +import org.springframework.validation.annotation.Validated; +import org.springframework.web.bind.annotation.*; + +import javax.annotation.Resource; +import javax.servlet.http.HttpServletResponse; +import javax.validation.Valid; +import java.io.IOException; +import java.util.Collection; +import java.util.List; + +import static cn.iocoder.yudao.framework.common.pojo.CommonResult.success; +import static cn.iocoder.yudao.framework.operatelog.core.enums.OperateTypeEnum.EXPORT; @Api(tags = "管理后台 - ") @RestController @@ -97,4 +97,10 @@ public class CropController { ExcelUtils.write(response, ".xls", "数据", CropExcelVO.class, datas); } + @GetMapping("/getMaterialList") + @ApiOperation("获取ERP Material列表") + public List getMaterialList(){ + return cropService.getMaterialList(); + } + } diff --git a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/dto/ErpMaterialDTO.java b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/dto/ErpMaterialDTO.java new file mode 100644 index 00000000..c1079d86 --- /dev/null +++ b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/dto/ErpMaterialDTO.java @@ -0,0 +1,14 @@ +package cn.iocoder.yudao.module.farm.controller.admin.crop.dto; + +import lombok.Data; + +/* + * Erp的MaterialDTO + */ +@Data +public class ErpMaterialDTO { + + private Long id; + + private String name ; +} diff --git a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropBaseVO.java b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropBaseVO.java index 9c57d4b7..eca8af77 100644 --- a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropBaseVO.java +++ b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropBaseVO.java @@ -1,10 +1,10 @@ package cn.iocoder.yudao.module.farm.controller.admin.crop.vo; import com.alibaba.fastjson.JSONArray; -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; -import javax.validation.constraints.*; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; + +import javax.validation.constraints.NotNull; /** * Base VO,提供给添加、修改、详细的子 VO 使用 @@ -26,4 +26,7 @@ public class CropBaseVO { private Boolean pretendDelete; + @ApiModelProperty("ERP Material Id") + private Long materialId; + } diff --git a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropExcelVO.java b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropExcelVO.java index 8f699ac2..39cb4767 100644 --- a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropExcelVO.java +++ b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropExcelVO.java @@ -1,11 +1,10 @@ package cn.iocoder.yudao.module.farm.controller.admin.crop.vo; +import com.alibaba.excel.annotation.ExcelProperty; import com.alibaba.fastjson.JSONArray; -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; +import lombok.Data; -import com.alibaba.excel.annotation.ExcelProperty; +import java.util.Date; /** * Excel VO @@ -32,4 +31,7 @@ public class CropExcelVO { private Boolean pretendDelete; + @ExcelProperty("ERP Material Id") + private Long materialId; + } diff --git a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropExportReqVO.java b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropExportReqVO.java index dcad465f..b47c7871 100644 --- a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropExportReqVO.java +++ b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropExportReqVO.java @@ -1,12 +1,13 @@ package cn.iocoder.yudao.module.farm.controller.admin.crop.vo; import com.alibaba.fastjson.JSONArray; -import lombok.*; -import java.util.*; -import io.swagger.annotations.*; -import cn.iocoder.yudao.framework.common.pojo.PageParam; +import io.swagger.annotations.ApiModel; +import io.swagger.annotations.ApiModelProperty; +import lombok.Data; import org.springframework.format.annotation.DateTimeFormat; +import java.util.Date; + import static cn.iocoder.yudao.framework.common.util.date.DateUtils.FORMAT_YEAR_MONTH_DAY_HOUR_MINUTE_SECOND; @ApiModel(value = "管理后台 - Excel 导出 Request VO", description = "参数和 CropPageReqVO 是一致的") @@ -32,4 +33,7 @@ public class CropExportReqVO { private Boolean pretendDelete; + @ApiModelProperty("ERP Material Id") + private Long materialId; + } diff --git a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropPageReqVO.java b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropPageReqVO.java index 49e802c0..3497a63d 100644 --- a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropPageReqVO.java +++ b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/controller/admin/crop/vo/CropPageReqVO.java @@ -34,4 +34,7 @@ public class CropPageReqVO extends PageParam { private Boolean pretendDelete = false; + @ApiModelProperty("ERP Material Id") + private Long materialId; + } diff --git a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/crop/CropDO.java b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/crop/CropDO.java index 983fec03..f2f7bc3f 100644 --- a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/crop/CropDO.java +++ b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/dal/dataobject/crop/CropDO.java @@ -1,12 +1,13 @@ package cn.iocoder.yudao.module.farm.dal.dataobject.crop; +import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; import com.alibaba.fastjson.JSONArray; +import com.baomidou.mybatisplus.annotation.TableField; +import com.baomidou.mybatisplus.annotation.TableId; +import com.baomidou.mybatisplus.annotation.TableName; import com.baomidou.mybatisplus.extension.handlers.JacksonTypeHandler; import io.swagger.annotations.ApiModelProperty; import lombok.*; -import java.util.*; -import com.baomidou.mybatisplus.annotation.*; -import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO; /** * DO @@ -44,4 +45,7 @@ public class CropDO extends BaseDO { @ApiModelProperty("假装删除") private Boolean pretendDelete; + @ApiModelProperty("ERP Material Id") + private Long materialId; + } diff --git a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/crop/CropService.java b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/crop/CropService.java index 00242b78..71d4f246 100644 --- a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/crop/CropService.java +++ b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/crop/CropService.java @@ -2,6 +2,8 @@ package cn.iocoder.yudao.module.farm.service.crop; import java.util.*; import javax.validation.*; + +import cn.iocoder.yudao.module.farm.controller.admin.crop.dto.ErpMaterialDTO; import cn.iocoder.yudao.module.farm.controller.admin.crop.vo.*; import cn.iocoder.yudao.module.farm.dal.dataobject.crop.CropDO; import cn.iocoder.yudao.framework.common.pojo.PageResult; @@ -67,4 +69,10 @@ public interface CropService { */ List getCropList(CropExportReqVO exportReqVO); + + /** + * 获取ERP Material列表 + */ + List getMaterialList(); + } diff --git a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/crop/CropServiceImpl.java b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/crop/CropServiceImpl.java index 2fd09fcd..c7ddc055 100644 --- a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/crop/CropServiceImpl.java +++ b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/crop/CropServiceImpl.java @@ -1,19 +1,27 @@ package cn.iocoder.yudao.module.farm.service.crop; -import org.springframework.stereotype.Service; -import javax.annotation.Resource; -import org.springframework.validation.annotation.Validated; - -import java.util.*; -import cn.iocoder.yudao.module.farm.controller.admin.crop.vo.*; -import cn.iocoder.yudao.module.farm.dal.dataobject.crop.CropDO; +import cn.hutool.core.bean.BeanUtil; import cn.iocoder.yudao.framework.common.pojo.PageResult; - +import cn.iocoder.yudao.module.farm.controller.admin.crop.dto.ErpMaterialDTO; +import cn.iocoder.yudao.module.farm.controller.admin.crop.vo.CropCreateReqVO; +import cn.iocoder.yudao.module.farm.controller.admin.crop.vo.CropExportReqVO; +import cn.iocoder.yudao.module.farm.controller.admin.crop.vo.CropPageReqVO; +import cn.iocoder.yudao.module.farm.controller.admin.crop.vo.CropUpdateReqVO; import cn.iocoder.yudao.module.farm.convert.crop.CropConvert; +import cn.iocoder.yudao.module.farm.dal.dataobject.crop.CropDO; import cn.iocoder.yudao.module.farm.dal.mysql.crop.CropMapper; +import com.alibaba.fastjson.JSONObject; +import dubbo.service.OpenErpService; +import org.apache.dubbo.config.annotation.DubboReference; +import org.springframework.stereotype.Service; +import org.springframework.validation.annotation.Validated; + +import javax.annotation.Resource; +import java.util.Collection; +import java.util.List; import static cn.iocoder.yudao.framework.common.exception.util.ServiceExceptionUtil.exception; -import static cn.iocoder.yudao.module.farm.enums.ErrorCodeConstants.*; +import static cn.iocoder.yudao.module.farm.enums.ErrorCodeConstants.CROP_NOT_EXISTS; /** * Service 实现类 @@ -27,6 +35,10 @@ public class CropServiceImpl implements CropService { @Resource private CropMapper cropMapper; + + @DubboReference + OpenErpService openErpService; + @Override public Long createCrop(CropCreateReqVO createReqVO) { // 插入 @@ -82,4 +94,11 @@ public class CropServiceImpl implements CropService { return cropMapper.selectList(exportReqVO); } + public List getMaterialList(){ + List list = openErpService.getMaterialList(); + List materialList = BeanUtil.copyToList( list, ErpMaterialDTO.class); + + return materialList; + } + } diff --git a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/discuss/DiscussServiceImpl.java b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/discuss/DiscussServiceImpl.java index 7945927a..7b7c2d1c 100644 --- a/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/discuss/DiscussServiceImpl.java +++ b/zsw-farm/zsw-farm-impl/src/main/java/cn/iocoder/yudao/module/farm/service/discuss/DiscussServiceImpl.java @@ -18,12 +18,14 @@ import cn.iocoder.yudao.module.farm.controller.admin.workHour.dto.WorkUserMsgDTO import cn.iocoder.yudao.module.farm.controller.admin.workHour.vo.WorkHourBaseVO; import cn.iocoder.yudao.module.farm.convert.discuss.DiscussConvert; import cn.iocoder.yudao.module.farm.dal.dataobject.area.AreaDO; +import cn.iocoder.yudao.module.farm.dal.dataobject.crop.CropDO; import cn.iocoder.yudao.module.farm.dal.dataobject.cropRecord.CropRecordDO; import cn.iocoder.yudao.module.farm.dal.dataobject.discuss.DiscussDO; import cn.iocoder.yudao.module.farm.dal.dataobject.task.TaskDO; import cn.iocoder.yudao.module.farm.dal.dataobject.taskCate.TaskCateDO; import cn.iocoder.yudao.module.farm.dal.dataobject.workHour.WorkHourDO; import cn.iocoder.yudao.module.farm.dal.mysql.area.AreaMapper; +import cn.iocoder.yudao.module.farm.dal.mysql.crop.CropMapper; import cn.iocoder.yudao.module.farm.dal.mysql.cropRecord.CropRecordMapper; import cn.iocoder.yudao.module.farm.dal.mysql.discuss.DiscussMapper; import cn.iocoder.yudao.module.farm.dal.mysql.task.TaskMapper; @@ -38,6 +40,7 @@ import cn.iocoder.yudao.module.system.dal.mysql.user.AdminUserMapper; import cn.iocoder.yudao.module.system.service.CpUser.CpUserService; import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.zsw.base.R; +import dubbo.dto.IntoStockMaterialDTO; import dubbo.service.OpenErpService; import lombok.extern.slf4j.Slf4j; import org.apache.dubbo.config.annotation.DubboReference; @@ -45,6 +48,7 @@ import org.springframework.stereotype.Service; import org.springframework.validation.annotation.Validated; import javax.annotation.Resource; +import java.math.BigDecimal; import java.util.*; import java.util.stream.Collectors; @@ -81,6 +85,8 @@ public class DiscussServiceImpl implements DiscussService { private CropRecordMapper cropRecordMapper; @Resource private TaskCateMapper taskCateMapper; + @Resource + private CropMapper cropMapper; @DubboReference private OpenErpService openErpService; @@ -286,8 +292,17 @@ public class DiscussServiceImpl implements DiscussService { cropRecordMapper.insert(cropRecordDO); //todo 调用ERP出入库接口 - String hello = openErpService.hello(); - log.error("hello:{}",hello); + CropDO cropDO = cropMapper.selectById(taskDO.getCropId()); + IntoStockMaterialDTO intoStock = IntoStockMaterialDTO.builder() + .wareHouseId("1546738475384201217") + .price(BigDecimal.ZERO) + .materialId(cropDO.getMaterialId().toString()) + .num(new BigDecimal(reqVO.getCropNum())) + .build(); + log.info("同步到ERP,,{}", intoStock); + openErpService.intoStock(Arrays.asList(intoStock) ); + + } }