From 512f5fa908ea3c4ce56488d43641d55717e0fcf7 Mon Sep 17 00:00:00 2001 From: tzy Date: Sat, 6 Sep 2025 11:12:04 +0800 Subject: [PATCH] =?UTF-8?q?=E9=87=91=E8=9D=B6=E8=B5=84=E4=BA=A7=E5=8D=A1?= =?UTF-8?q?=E7=89=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/ImMaterialController.java | 2 +- .../KingdeeAssetCardController.java | 84 ++++++++++++++++- .../ruoyi/system/domain/KingdeeAssetCard.java | 20 +++- .../system/domain/bo/KingdeeAssetCardBo.java | 24 +++++ .../domain/vo/JdKingdeeAssetCardVo.java | 92 +++++++++++++++++++ .../system/domain/vo/KingdeeAssetCardVo.java | 27 +++++- .../system/domain/vo/MrpResultCheckVo.java | 7 +- .../system/mapper/KingdeeAssetCardMapper.java | 2 +- .../java/com/ruoyi/system/runner/JdUtil.java | 42 ++++++++- .../service/IKingdeeAssetCardService.java | 8 +- .../impl/KingdeeAssetCardServiceImpl.java | 68 +++++++++++++- .../mapper/system/KingdeeAssetCardMapper.xml | 4 + 12 files changed, 361 insertions(+), 19 deletions(-) create mode 100644 ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/JdKingdeeAssetCardVo.java diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/ImMaterialController.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/ImMaterialController.java index 8f889fd..4035b63 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/ImMaterialController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/ImMaterialController.java @@ -298,7 +298,7 @@ public class ImMaterialController extends BaseController { filterObject1.addProperty("Value", date); filterObject1.addProperty("Left", ""); filterObject1.addProperty("Right", ""); - filterObject1.addProperty("Logic", 0); + filterObject1.addProperty("Logic", 1); filterString.add(filterObject1); JsonObject filterObject2 = new JsonObject(); filterObject2.addProperty("FieldName", "FCreateDate"); // 使用传入的 fieldName diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/controller/KingdeeAssetCardController.java b/ruoyi-system/src/main/java/com/ruoyi/system/controller/KingdeeAssetCardController.java index 88dff60..b64b1b6 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/controller/KingdeeAssetCardController.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/controller/KingdeeAssetCardController.java @@ -1,8 +1,21 @@ package com.ruoyi.system.controller; +import java.text.SimpleDateFormat; +import java.util.Date; import java.util.List; import java.util.Arrays; +import cn.hutool.json.JSONArray; +import com.fasterxml.jackson.core.JsonProcessingException; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; +import com.google.gson.JsonArray; +import com.google.gson.JsonObject; +import com.kingdee.bos.webapi.sdk.K3CloudApi; +import com.ruoyi.system.domain.ImMaterial; +import com.ruoyi.system.domain.vo.JdKingdeeAssetCardVo; +import com.ruoyi.system.domain.vo.KingdeeAssetCardVo; +import com.xxl.job.core.handler.annotation.XxlJob; import lombok.RequiredArgsConstructor; import javax.servlet.http.HttpServletResponse; import javax.validation.constraints.*; @@ -18,11 +31,12 @@ import com.ruoyi.common.core.validate.AddGroup; import com.ruoyi.common.core.validate.EditGroup; import com.ruoyi.common.enums.BusinessType; import com.ruoyi.common.utils.poi.ExcelUtil; -import com.ruoyi.system.domain.vo.KingdeeAssetCardVo; import com.ruoyi.system.domain.bo.KingdeeAssetCardBo; import com.ruoyi.system.service.IKingdeeAssetCardService; import com.ruoyi.common.core.page.TableDataInfo; +import static com.ruoyi.common.core.mapper.BaseMapperPlus.log; + /** * 金蝶资产卡片 * @@ -103,4 +117,72 @@ public class KingdeeAssetCardController extends BaseController { @PathVariable Long[] ids) { return toAjax(iKingdeeAssetCardService.deleteWithValidByIds(Arrays.asList(ids), true)); } + /** + * 获取金蝶资产卡片 + */ + @SaCheckPermission("system:assetCard:remove") + @Log(title = "金蝶资产卡片", businessType = BusinessType.DELETE) + @PostMapping("/getAllCards") + public R getAllCards() { + return toAjax(iKingdeeAssetCardService.getAllCards()) ; + } + + @XxlJob("updateAssetCard") + @SaCheckPermission("system:assetCard:update") + @Log(title = "金蝶资产卡片", businessType = BusinessType.DELETE) + @PostMapping("/updateAssetCard") + public Boolean updateAssetCard() throws Exception { + List assetCardVos = updateJdAssetCard(); + Boolean result = iKingdeeAssetCardService.updateByAssetCard(assetCardVos); + return result; + } + //获取当天的资产卡片数据 + private List updateJdAssetCard() throws JsonProcessingException { + K3CloudApi client = new K3CloudApi(); + //请求参数,要求为json字符串 + JsonObject json = new JsonObject(); + json.addProperty("FormId", "FA_CARD"); + json.addProperty("FieldKeys", "FAlterID,FAssetTypeID.FName,FNumber,FUnitID.FName,FAssetNO,FPositionID.FName,FQuantity,FName,FManufacturer,FKEEPERID.FName,FModifyDate,FCreateDate"); + JsonArray filterString = new JsonArray(); + json.add("FilterString", filterString); + json.addProperty("OrderString", ""); + json.addProperty("TopRowCount", 0); + + json.addProperty("Limit", 10000); + json.addProperty("SubSystemId", ""); + int pageNo = 0; + json.addProperty("StartRow", pageNo); + // 通过无限循环来持续查询数据,直到没有更多数据为止 + JSONArray list = new JSONArray(); + JSONArray objects1; + while (true) { + // 将当前的JSON对象转换为字符串,以符合查询接口的参数要求 + String jsonData = json.toString(); + try { + // 调用客户端的billQuery方法,传入JSON字符串作为查询参数 + String input = String.valueOf(client.billQuery(jsonData)); + // 将返回的JSON字符串转换为JSONArray对象 + objects1 = new JSONArray(input); + /// 如果返回的数组为空,则表示没有更多数据,退出循环 + if (objects1.size() == 0) { + break; + } + // 将本次查询到的数据添加到总的查询结果数组中 + list.addAll(objects1); + // 更新页码,为下一次查询准备 + pageNo++; + // 更新JSON对象中的StartRow属性,用于下一次查询的分页 + json.addProperty("StartRow", pageNo * 10000); + } catch (Exception e) { + e.printStackTrace(); + } + } + ObjectMapper objectMapper = new ObjectMapper(); + + return objectMapper.readValue( + list.toString(), + new TypeReference>() { + }); + } + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/KingdeeAssetCard.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/KingdeeAssetCard.java index a15708f..edb805e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/KingdeeAssetCard.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/KingdeeAssetCard.java @@ -6,6 +6,7 @@ import lombok.Data; import lombok.EqualsAndHashCode; import java.math.BigDecimal; +import java.util.Date; /** * 金蝶资产卡片对象 kingdee_asset_card @@ -17,14 +18,15 @@ import java.math.BigDecimal; @EqualsAndHashCode(callSuper = true) @TableName("kingdee_asset_card") public class KingdeeAssetCard extends BaseEntity { - - private static final long serialVersionUID=1L; - /** * ID */ @TableId(value = "id") private Long id; + /** + * 资产ID + */ + private Long assetId; /** * 资产类别 */ @@ -57,5 +59,17 @@ public class KingdeeAssetCard extends BaseEntity { * 制造商 */ private String assetManufacturer; + /** + * 所属人 + */ + private String owner; + /** + * 金蝶修改日期 + */ + private Date kdUpdateTime; + /** + * 金蝶创建日期 + */ + private Date kdCreateTime; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/KingdeeAssetCardBo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/KingdeeAssetCardBo.java index 66e5f63..572b863 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/KingdeeAssetCardBo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/bo/KingdeeAssetCardBo.java @@ -8,6 +8,7 @@ import lombok.EqualsAndHashCode; import javax.validation.constraints.*; import java.math.BigDecimal; +import java.util.Date; /** * 金蝶资产卡片业务对象 kingdee_asset_card @@ -26,6 +27,12 @@ public class KingdeeAssetCardBo extends BaseEntity { @NotNull(message = "ID不能为空", groups = { EditGroup.class }) private Long id; + /** + * 资产ID + */ + @NotNull(message = "资产ID不能为空", groups = { AddGroup.class, EditGroup.class }) + private Long assetId; + /** * 资产类别 */ @@ -74,5 +81,22 @@ public class KingdeeAssetCardBo extends BaseEntity { @NotBlank(message = "制造商不能为空", groups = { AddGroup.class, EditGroup.class }) private String assetManufacturer; + /** + * 所属人 + */ + @NotBlank(message = "所属人不能为空", groups = { AddGroup.class, EditGroup.class }) + private String owner; + + /** + * 金蝶修改日期 + */ + @NotNull(message = "金蝶修改日期不能为空", groups = { AddGroup.class, EditGroup.class }) + private Date kdUpdateTime; + + /** + * 金蝶创建日期 + */ + @NotNull(message = "金蝶创建日期不能为空", groups = { AddGroup.class, EditGroup.class }) + private Date kdCreateTime; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/JdKingdeeAssetCardVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/JdKingdeeAssetCardVo.java new file mode 100644 index 0000000..bb8aa6b --- /dev/null +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/JdKingdeeAssetCardVo.java @@ -0,0 +1,92 @@ +package com.ruoyi.system.domain.vo; + +import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; +import com.alibaba.excel.annotation.ExcelProperty; +import com.fasterxml.jackson.annotation.JsonProperty; +import lombok.Data; + +import java.math.BigDecimal; +import java.util.Date; + +@Data +@ExcelIgnoreUnannotated +public class JdKingdeeAssetCardVo { + + private static final long serialVersionUID = 1L; + + /** + * ID + */ + @ExcelProperty(value = "ID") + private Long id; + + /** + * 资产类别 + */ + @JsonProperty("FAssetTypeID.FName") + private String assetCategory; + /** + * 资产ID + */ + @JsonProperty("FAlterID") + private Long assetId; + /** + * 卡片编码 + */ + @JsonProperty("FNumber") + private String cardCode; + + /** + * 计量单位 + */ + @JsonProperty("FUnitID.FName") + private String assetUnit; + + /** + * 资产编码 + */ + @JsonProperty("FAssetNO") + private String assetCode; + + /** + * 资产位置 + */ + @JsonProperty("FPositionID.FName") + private String assetLocation; + + /** + * 资产数量 + */ + @JsonProperty("FQuantity") + private BigDecimal assetQuantity; + + /** + * 资产名称 + */ + @JsonProperty("FName") + private String assetName; + + /** + * 制造商 + */ + @JsonProperty("FManufacturer") + private String assetManufacturer; + + /** + * 所属人 + */ + @JsonProperty("FKEEPERID.FName") + private String owner; + + /** + * 金蝶修改日期 + */ + @JsonProperty("FModifyDate") + private Date kdUpdateTime; + + /** + * 金蝶创建日期 + */ + @JsonProperty("FCreateDate") + private Date kdCreateTime; +} diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/KingdeeAssetCardVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/KingdeeAssetCardVo.java index a9739d5..ebb4e70 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/KingdeeAssetCardVo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/KingdeeAssetCardVo.java @@ -1,10 +1,10 @@ package com.ruoyi.system.domain.vo; import java.math.BigDecimal; +import java.util.Date; + import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; -import com.ruoyi.common.annotation.ExcelDictFormat; -import com.ruoyi.common.convert.ExcelDictConvert; import lombok.Data; @@ -26,6 +26,12 @@ public class KingdeeAssetCardVo { @ExcelProperty(value = "ID") private Long id; + /** + * 资产ID + */ + @ExcelProperty(value = "资产ID") + private Long assetId; + /** * 资产类别 */ @@ -74,5 +80,22 @@ public class KingdeeAssetCardVo { @ExcelProperty(value = "制造商") private String assetManufacturer; + /** + * 所属人 + */ + @ExcelProperty(value = "所属人") + private String owner; + + /** + * 金蝶修改日期 + */ + @ExcelProperty(value = "金蝶修改日期") + private Date kdUpdateTime; + + /** + * 金蝶创建日期 + */ + @ExcelProperty(value = "金蝶创建日期") + private Date kdCreateTime; } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MrpResultCheckVo.java b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MrpResultCheckVo.java index e821cec..05bc12e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MrpResultCheckVo.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/domain/vo/MrpResultCheckVo.java @@ -3,13 +3,10 @@ package com.ruoyi.system.domain.vo; import java.math.BigDecimal; import java.util.Date; -import com.alibaba.excel.annotation.ExcelIgnore; + import com.alibaba.excel.annotation.ExcelIgnoreUnannotated; import com.alibaba.excel.annotation.ExcelProperty; -import com.baomidou.mybatisplus.annotation.FieldFill; -import com.baomidou.mybatisplus.annotation.TableField; -import com.ruoyi.common.annotation.ExcelDictFormat; -import com.ruoyi.common.convert.ExcelDictConvert; + import lombok.Data; diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/KingdeeAssetCardMapper.java b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/KingdeeAssetCardMapper.java index 6ab814a..3479047 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/mapper/KingdeeAssetCardMapper.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/mapper/KingdeeAssetCardMapper.java @@ -1,8 +1,8 @@ package com.ruoyi.system.mapper; import com.ruoyi.system.domain.KingdeeAssetCard; -import com.ruoyi.system.domain.vo.KingdeeAssetCardVo; import com.ruoyi.common.core.mapper.BaseMapperPlus; +import com.ruoyi.system.domain.vo.KingdeeAssetCardVo; /** * 金蝶资产卡片Mapper接口 diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/runner/JdUtil.java b/ruoyi-system/src/main/java/com/ruoyi/system/runner/JdUtil.java index 3dcac50..ac7692e 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/runner/JdUtil.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/runner/JdUtil.java @@ -11,9 +11,7 @@ import com.kingdee.bos.webapi.sdk.K3CloudApi; import com.ruoyi.common.utils.JdUtils; import com.ruoyi.system.domain.BomDetails; import com.ruoyi.system.domain.dto.*; -import com.ruoyi.system.domain.vo.ImMaterialVo; -import com.ruoyi.system.domain.vo.PlanOrderVo; -import com.ruoyi.system.domain.vo.ProductionRouteTwoVo; +import com.ruoyi.system.domain.vo.*; import com.ruoyi.system.jdmain.rouplan.Model; import org.aspectj.bridge.MessageUtil; import org.slf4j.Logger; @@ -2481,5 +2479,43 @@ public class JdUtil { } return Collections.emptyList(); } + /** + * 查询金蝶资产卡片 + * @return + */ + + public static List getKingdeeAssetCards() { + K3CloudApi client = new K3CloudApi(); + // 请求参数,要求为json字符串 + JsonObject json = new JsonObject(); + json.addProperty("FormId", "FA_CARD"); + json.addProperty("FieldKeys", "FAlterID,FAssetTypeID.FName,FNumber,FUnitID.FName,FAssetNO,FPositionID.FName,FQuantity,FName,FManufacturer,FKEEPERID.FName,FModifyDate,FCreateDate"); + // 创建过滤条件 + JsonArray filterString = new JsonArray(); + json.add("FilterString", filterString); + json.addProperty("OrderString", ""); + json.addProperty("TopRowCount", 0); + json.addProperty("StartRow", 0); + json.addProperty("Limit", 10000); + json.addProperty("SubSystemId", ""); + + String jsonData = json.toString(); + List promoList = null; + try { + // 调用接口 + String resultJson = String.valueOf(client.billQuery(jsonData)); + JsonArray jsonArray = new Gson().fromJson(resultJson, JsonArray.class); + // 使用 ObjectMapper 将 JsonArray 转换为 List + ObjectMapper objectMapper = new ObjectMapper(); + promoList = objectMapper.readValue(jsonArray.toString(), + new TypeReference>() { + }); + } catch (Exception e) { + e.printStackTrace(); // 输出异常日志 + } + + return promoList; // 返回结果 + } + } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/IKingdeeAssetCardService.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/IKingdeeAssetCardService.java index d383cb0..a94e4fd 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/IKingdeeAssetCardService.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/IKingdeeAssetCardService.java @@ -1,10 +1,10 @@ package com.ruoyi.system.service; -import com.ruoyi.system.domain.KingdeeAssetCard; -import com.ruoyi.system.domain.vo.KingdeeAssetCardVo; import com.ruoyi.system.domain.bo.KingdeeAssetCardBo; import com.ruoyi.common.core.page.TableDataInfo; import com.ruoyi.common.core.domain.PageQuery; +import com.ruoyi.system.domain.vo.JdKingdeeAssetCardVo; +import com.ruoyi.system.domain.vo.KingdeeAssetCardVo; import java.util.Collection; import java.util.List; @@ -46,4 +46,8 @@ public interface IKingdeeAssetCardService { * 校验并批量删除金蝶资产卡片信息 */ Boolean deleteWithValidByIds(Collection ids, Boolean isValid); + + int getAllCards(); + + Boolean updateByAssetCard(List assetCardVos); } diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/KingdeeAssetCardServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/KingdeeAssetCardServiceImpl.java index eb15143..197aee3 100644 --- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/KingdeeAssetCardServiceImpl.java +++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/KingdeeAssetCardServiceImpl.java @@ -6,11 +6,15 @@ import com.ruoyi.common.core.domain.PageQuery; import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper; import com.baomidou.mybatisplus.core.toolkit.Wrappers; +import com.ruoyi.common.utils.BeanCopyUtils; import com.ruoyi.common.utils.StringUtils; +import com.ruoyi.system.domain.vo.JdKingdeeAssetCardVo; +import com.ruoyi.system.domain.vo.KingdeeAssetCardVo; +import com.ruoyi.system.runner.JdUtil; import lombok.RequiredArgsConstructor; +import org.joda.time.LocalDateTime; import org.springframework.stereotype.Service; import com.ruoyi.system.domain.bo.KingdeeAssetCardBo; -import com.ruoyi.system.domain.vo.KingdeeAssetCardVo; import com.ruoyi.system.domain.KingdeeAssetCard; import com.ruoyi.system.mapper.KingdeeAssetCardMapper; import com.ruoyi.system.service.IKingdeeAssetCardService; @@ -61,6 +65,7 @@ public class KingdeeAssetCardServiceImpl implements IKingdeeAssetCardService { private LambdaQueryWrapper buildQueryWrapper(KingdeeAssetCardBo bo) { Map params = bo.getParams(); LambdaQueryWrapper lqw = Wrappers.lambdaQuery(); + lqw.eq(bo.getAssetId() != null, KingdeeAssetCard::getAssetId, bo.getAssetId()); lqw.eq(StringUtils.isNotBlank(bo.getAssetCategory()), KingdeeAssetCard::getAssetCategory, bo.getAssetCategory()); lqw.eq(StringUtils.isNotBlank(bo.getCardCode()), KingdeeAssetCard::getCardCode, bo.getCardCode()); lqw.eq(StringUtils.isNotBlank(bo.getAssetUnit()), KingdeeAssetCard::getAssetUnit, bo.getAssetUnit()); @@ -69,6 +74,9 @@ public class KingdeeAssetCardServiceImpl implements IKingdeeAssetCardService { lqw.eq(bo.getAssetQuantity() != null, KingdeeAssetCard::getAssetQuantity, bo.getAssetQuantity()); lqw.like(StringUtils.isNotBlank(bo.getAssetName()), KingdeeAssetCard::getAssetName, bo.getAssetName()); lqw.eq(StringUtils.isNotBlank(bo.getAssetManufacturer()), KingdeeAssetCard::getAssetManufacturer, bo.getAssetManufacturer()); + lqw.eq(StringUtils.isNotBlank(bo.getOwner()), KingdeeAssetCard::getOwner, bo.getOwner()); + lqw.eq(bo.getKdUpdateTime() != null, KingdeeAssetCard::getKdUpdateTime, bo.getKdUpdateTime()); + lqw.eq(bo.getKdCreateTime() != null, KingdeeAssetCard::getKdCreateTime, bo.getKdCreateTime()); return lqw; } @@ -113,4 +121,62 @@ public class KingdeeAssetCardServiceImpl implements IKingdeeAssetCardService { } return baseMapper.deleteBatchIds(ids) > 0; } + + @Override + public int getAllCards() { + List kingdeeAssetCards = JdUtil.getKingdeeAssetCards(); + + for (JdKingdeeAssetCardVo vo : kingdeeAssetCards) { + KingdeeAssetCard card = new KingdeeAssetCard(); + card.setId(vo.getId()); // 注意这里必须保证ID有值,或者使用UUID生成 + card.setAssetId(vo.getAssetId()); + card.setAssetCategory(vo.getAssetCategory()); + card.setCardCode(vo.getCardCode()); + card.setAssetUnit(vo.getAssetUnit()); + card.setAssetCode(vo.getAssetCode()); + card.setAssetLocation(vo.getAssetLocation()); + card.setAssetQuantity(vo.getAssetQuantity()); + card.setAssetName(vo.getAssetName()); + card.setAssetManufacturer(vo.getAssetManufacturer()); + card.setOwner(vo.getOwner()); + card.setKdUpdateTime(vo.getKdUpdateTime()); + card.setKdCreateTime(vo.getKdCreateTime()); + card.setCreateBy("system"); + card.setCreateTime(LocalDateTime.now().toDate()); + card.setUpdateBy("system"); + card.setUpdateTime(LocalDateTime.now().toDate()); + + baseMapper.insertOrUpdate(card); + } + return kingdeeAssetCards.size(); + } + + /** + * @param assetCardVos + * @return + */ + @Override + public Boolean updateByAssetCard(List assetCardVos) { + if (assetCardVos == null || assetCardVos.isEmpty()){ + return false; + } + + for (JdKingdeeAssetCardVo assetCardVo : assetCardVos) { + LambdaQueryWrapper eq = new LambdaQueryWrapper<>(); + eq.eq(KingdeeAssetCard::getAssetCode,assetCardVo.getAssetCode()) + .eq(KingdeeAssetCard::getAssetId,assetCardVo.getAssetId()); + KingdeeAssetCard kingdeeAssetCard = baseMapper.selectOne(eq); + if (kingdeeAssetCard != null) { + // 如果存在,则更新 + baseMapper.updateById(kingdeeAssetCard); + } else { + // 如果不存在,则插入 + KingdeeAssetCard kingdeeAssetCard1 = new KingdeeAssetCard(); + BeanCopyUtils.copy(assetCardVo,kingdeeAssetCard1); + baseMapper.insert(kingdeeAssetCard1); + } + } + return true; + } + } diff --git a/ruoyi-system/src/main/resources/mapper/system/KingdeeAssetCardMapper.xml b/ruoyi-system/src/main/resources/mapper/system/KingdeeAssetCardMapper.xml index ad27959..9c06007 100644 --- a/ruoyi-system/src/main/resources/mapper/system/KingdeeAssetCardMapper.xml +++ b/ruoyi-system/src/main/resources/mapper/system/KingdeeAssetCardMapper.xml @@ -6,6 +6,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + @@ -15,9 +16,12 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" + + +