Bladeren bron

Merge remote-tracking branch 'origin/master'

lfx 2 maanden geleden
bovenliggende
commit
9ffc67ae69
46 gewijzigde bestanden met toevoegingen van 1166 en 46 verwijderingen
  1. 2 0
      mjava-diwei/src/main/java/com/malk/diwei/controller/ClientController.java
  2. 20 0
      mjava-diwei/src/main/java/com/malk/diwei/controller/GoodsController.java
  3. 29 0
      mjava-diwei/src/main/java/com/malk/diwei/entity/Brand.java
  4. 2 2
      mjava-diwei/src/main/java/com/malk/diwei/entity/Client.java
  5. 45 0
      mjava-diwei/src/main/java/com/malk/diwei/entity/ClientMoreLinkData.java
  6. 35 0
      mjava-diwei/src/main/java/com/malk/diwei/entity/Color.java
  7. 108 0
      mjava-diwei/src/main/java/com/malk/diwei/entity/Goods.java
  8. 43 0
      mjava-diwei/src/main/java/com/malk/diwei/entity/GoodsCategory.java
  9. 35 0
      mjava-diwei/src/main/java/com/malk/diwei/entity/GoodsColor.java
  10. 33 0
      mjava-diwei/src/main/java/com/malk/diwei/entity/GoodsSize.java
  11. 68 0
      mjava-diwei/src/main/java/com/malk/diwei/entity/GoodsUnit.java
  12. 37 0
      mjava-diwei/src/main/java/com/malk/diwei/entity/Size.java
  13. 29 0
      mjava-diwei/src/main/java/com/malk/diwei/entity/Unit.java
  14. 18 0
      mjava-diwei/src/main/java/com/malk/diwei/mapper/BrandMapper.java
  15. 18 0
      mjava-diwei/src/main/java/com/malk/diwei/mapper/ClientMoreLinkDataMapper.java
  16. 18 0
      mjava-diwei/src/main/java/com/malk/diwei/mapper/ColorMapper.java
  17. 18 0
      mjava-diwei/src/main/java/com/malk/diwei/mapper/GoodsCategoryMapper.java
  18. 18 0
      mjava-diwei/src/main/java/com/malk/diwei/mapper/GoodsColorMapper.java
  19. 18 0
      mjava-diwei/src/main/java/com/malk/diwei/mapper/GoodsMapper.java
  20. 18 0
      mjava-diwei/src/main/java/com/malk/diwei/mapper/GoodsSizeMapper.java
  21. 18 0
      mjava-diwei/src/main/java/com/malk/diwei/mapper/GoodsUnitMapper.java
  22. 18 0
      mjava-diwei/src/main/java/com/malk/diwei/mapper/SizeMapper.java
  23. 18 0
      mjava-diwei/src/main/java/com/malk/diwei/mapper/UnitMapper.java
  24. 18 0
      mjava-diwei/src/main/java/com/malk/diwei/service/GoodsService.java
  25. 106 25
      mjava-diwei/src/main/java/com/malk/diwei/service/impl/ClientServiceImpl.java
  26. 197 0
      mjava-diwei/src/main/java/com/malk/diwei/service/impl/GoodsServiceImpl.java
  27. 6 1
      mjava-diwei/src/main/java/com/malk/diwei/service/impl/ProcStepServiceImpl.java
  28. 1 1
      mjava-diwei/src/main/java/com/malk/diwei/utils/MPGenerator.java
  29. 5 0
      mjava-diwei/src/main/resources/mapper/BrandMapper.xml
  30. 5 0
      mjava-diwei/src/main/resources/mapper/ClientMapper.xml
  31. 5 0
      mjava-diwei/src/main/resources/mapper/ClientMoreLinkDataMapper.xml
  32. 5 0
      mjava-diwei/src/main/resources/mapper/ColorMapper.xml
  33. 5 0
      mjava-diwei/src/main/resources/mapper/GoodsCategoryMapper.xml
  34. 5 0
      mjava-diwei/src/main/resources/mapper/GoodsColorMapper.xml
  35. 5 0
      mjava-diwei/src/main/resources/mapper/GoodsMapper.xml
  36. 5 0
      mjava-diwei/src/main/resources/mapper/GoodsUnitMapper.xml
  37. 5 0
      mjava-diwei/src/main/resources/mapper/ProcStepMapper.xml
  38. 5 0
      mjava-diwei/src/main/resources/mapper/UnitMapper.xml
  39. 4 0
      mjava-jianhui/src/main/java/com/malk/jianhui/entity/DefectEntity.java
  40. 16 0
      mjava-jianhui/src/main/java/com/malk/jianhui/entity/LinkEntry.java
  41. 40 15
      mjava-jianhui/src/main/java/com/malk/jianhui/service/impl/JianhuiServiceImpl.java
  42. 9 0
      mjava-lingmingguangzi/src/main/java/com/malk/lingmingguangzi/controller/LingmingguangziController.java
  43. 2 0
      mjava-lingmingguangzi/src/main/java/com/malk/lingmingguangzi/service/LingmingguangziService.java
  44. 49 0
      mjava-lingmingguangzi/src/main/java/com/malk/lingmingguangzi/service/LingmingguangziServiceImpl.java
  45. 1 1
      mjava-lingmingguangzi/src/main/resources/application-dev.yml
  46. 1 1
      mjava-lingmingguangzi/src/main/resources/application-prod.yml

+ 2 - 0
mjava-diwei/src/main/java/com/malk/diwei/controller/ClientController.java

@@ -3,6 +3,7 @@ package com.malk.diwei.controller;
 import com.malk.diwei.service.ClientService;
 import com.malk.server.common.McR;
 import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.stereotype.Controller;
 import org.springframework.web.bind.annotation.RestController;
@@ -21,6 +22,7 @@ public class ClientController {
     @Autowired
     private ClientService clientService;
 
+    @GetMapping("/syncClient")
     public McR syncClient() {
         return clientService.syncClient();
     }

+ 20 - 0
mjava-diwei/src/main/java/com/malk/diwei/controller/GoodsController.java

@@ -0,0 +1,20 @@
+package com.malk.diwei.controller;
+
+import com.malk.diwei.service.GoodsService;
+import com.malk.server.common.McR;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.GetMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/goods")
+public class GoodsController {
+    @Autowired
+    private GoodsService goodsService;
+
+    @GetMapping("/syncGoods")
+    private McR syncGoods(){
+        return goodsService.syncGoods();
+    }
+}

+ 29 - 0
mjava-diwei/src/main/java/com/malk/diwei/entity/Brand.java

@@ -0,0 +1,29 @@
+package com.malk.diwei.entity;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@TableName("Brand")
+@Data
+  public class Brand implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      private Integer brandId;
+
+    private String brandName;
+
+    private Integer brandNo;
+}

+ 2 - 2
mjava-diwei/src/main/java/com/malk/diwei/entity/Client.java

@@ -3,7 +3,9 @@ package com.malk.diwei.entity;
 import java.io.Serializable;
 import java.math.BigDecimal;
 import java.time.LocalDateTime;
+import java.util.Date;
 
+import cn.hutool.core.date.DateTime;
 import com.baomidou.mybatisplus.annotation.TableName;
 import lombok.Data;
 import lombok.Getter;
@@ -98,6 +100,4 @@ import lombok.Setter;
     private Integer clientClass;
 
     private String clientCompanyName;
-
-    private LocalDateTime clientBirthday;
 }

+ 45 - 0
mjava-diwei/src/main/java/com/malk/diwei/entity/ClientMoreLinkData.java

@@ -0,0 +1,45 @@
+package com.malk.diwei.entity;
+
+import com.baomidou.mybatisplus.annotation.IdType;
+import com.baomidou.mybatisplus.annotation.TableId;
+import java.io.Serializable;
+import java.time.LocalDateTime;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-11
+ */
+@TableName("ClientMoreLinkData")
+@Data
+  public class ClientMoreLinkData implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      @TableId(value = "ClientMoreLinkDataID", type = IdType.AUTO)
+      private Long clientMoreLinkDataID;
+
+    private Long clientMoreLinkDataClientID;
+
+    private String clientMoreLinkDataLinkMan;
+
+    private String clientMoreLinkDataTel;
+
+    private String clientMoreLinkDataMob;
+
+    private String clientMoreLinkDataFax;
+
+    private String clientMoreLinkDataPostcode;
+
+    private String clientMoreLinkDataAddress;
+
+    private Boolean clientMoreLinkDataIsDefault;
+}

+ 35 - 0
mjava-diwei/src/main/java/com/malk/diwei/entity/Color.java

@@ -0,0 +1,35 @@
+package com.malk.diwei.entity;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@TableName("Color")
+@Data
+  public class Color implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      private Long colorID;
+
+    private String colorCode;
+
+    private String colorName;
+
+    private Boolean colorIsDisable;
+
+    private Integer colorSequence;
+
+    private Long colorCategoryID;
+}

+ 108 - 0
mjava-diwei/src/main/java/com/malk/diwei/entity/Goods.java

@@ -0,0 +1,108 @@
+package com.malk.diwei.entity;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+import java.time.LocalDateTime;
+import java.util.Date;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@TableName("Goods")
+@Data
+  public class Goods implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      private Long goodsID;
+
+    private String goodsCode;
+
+    private String goodsName;
+
+    private String goodsShortName;
+
+    private String goodsSpecs;
+
+    private Integer brandId;
+
+    private String goodsLocation;
+
+    private String goodsShortCode;
+
+    private Integer goodsProperty;
+
+    private String goodsAliasName;
+
+    private Integer goodsEnableBatch;
+
+    private Integer goodsSeason;
+
+    private String goodsSeries;
+
+    private Integer goodsDisable;
+
+    private Long goodsStocksLower;
+
+    private Long goodsStocksUpper;
+
+    private Long goodsCategoryID;
+
+    private Long goodsCreatorID;
+
+    private Date goodsUpdateDatetime;
+
+    private Long goodsUpdaterID;
+
+    private String goodsDescription;
+
+    private BigDecimal goodsCostPrice;
+
+    private Date goodsCreateDatetime;
+
+    private String goodsImageUrl;
+
+    private String goodsSkuID;
+
+    private Long vendorID;
+
+    private Integer goodsCheckStatus;
+
+    private Integer goodsIsGroup;
+
+    private Long goodsOrgID;
+
+    private Integer goodsSequence;
+
+    private Long goodsDesignID;
+
+    private String goodsNeedleType;
+
+    private String goodsIngredients;
+
+    private Long goodsMerchandiserID;
+
+    private Long goodsSalesManID;
+
+    private String goodsProofingRequirement;
+
+    private BigDecimal goodsMeterNumber;
+
+    private BigDecimal goodsGWeight;
+
+    private String goodsMachineType;
+
+    private String goodsFurryStyle;
+
+    private String goodsLeatherStyle;
+}

+ 43 - 0
mjava-diwei/src/main/java/com/malk/diwei/entity/GoodsCategory.java

@@ -0,0 +1,43 @@
+package com.malk.diwei.entity;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@TableName("GoodsCategory")
+@Data
+  public class GoodsCategory implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      private Long goodsCategoryID;
+
+    private String goodsCategoryCode;
+
+    private String goodsCategoryName;
+
+    private String goodsCategoryDescription;
+
+    private Long parentGoodsCategoryID;
+
+    private Integer goodsCategoryNo;
+
+    private Integer goodsCategoryProperty;
+
+    private Long goodsCategoryOrgID;
+
+    private String gCPrefix;
+
+    private Integer gCFNLength;
+}

+ 35 - 0
mjava-diwei/src/main/java/com/malk/diwei/entity/GoodsColor.java

@@ -0,0 +1,35 @@
+package com.malk.diwei.entity;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@TableName("GoodsColor")
+@Data
+  public class GoodsColor implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      private Long goodsColorID;
+
+    private Long goodsID;
+
+    private Long colorID;
+
+    private String goodsColorDescription;
+
+    private Boolean goodsColorDisable;
+
+    private String goodsColorDescription1;
+}

+ 33 - 0
mjava-diwei/src/main/java/com/malk/diwei/entity/GoodsSize.java

@@ -0,0 +1,33 @@
+package com.malk.diwei.entity;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@TableName("GoodsSize")
+@Data
+  public class GoodsSize implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      private Long goodsSizeID;
+
+    private Long goodsID;
+
+    private Long sizeID;
+
+    private String goodsSizeDes;
+
+    private Boolean goodsSizeDisable;
+}

+ 68 - 0
mjava-diwei/src/main/java/com/malk/diwei/entity/GoodsUnit.java

@@ -0,0 +1,68 @@
+package com.malk.diwei.entity;
+
+import java.io.Serializable;
+import java.math.BigDecimal;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@TableName("GoodsUnit")
+@Data
+  public class GoodsUnit implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      private Long goodsUnitID;
+
+    private Long goodsID;
+
+    private BigDecimal goodsUnitPPrice;
+
+    private BigDecimal goodsUnitSPrice;
+
+    private String goodsUnitBarcode;
+
+    private String goodsUnitRemarks;
+
+    private Long unitID;
+
+    private BigDecimal goodsUnitRate;
+
+    private Boolean goodsUnitIsBasic;
+
+    private Boolean goodsUnitIsDefault;
+
+    private String goodsUnitFactoryBarcode;
+
+    private BigDecimal goodsUnitMaxPPrice;
+
+    private BigDecimal goodsUnitMinSprice;
+
+    private BigDecimal goodsUnitL1WSPrice;
+
+    private BigDecimal goodsUnitL2WSPrice;
+
+    private BigDecimal goodsUnitL3WSPrice;
+
+    private BigDecimal goodsUnitL4WSPrice;
+
+    private BigDecimal goodsUnitL5WSPrice;
+
+    private BigDecimal goodsUnitL6WSPrice;
+
+    private BigDecimal goodsUnitMemberPrice;
+
+    private BigDecimal goodsUnitVipPrice;
+
+    private Integer goodsUnitNo;
+}

+ 37 - 0
mjava-diwei/src/main/java/com/malk/diwei/entity/Size.java

@@ -0,0 +1,37 @@
+package com.malk.diwei.entity;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@TableName("Size")
+@Data
+  public class Size implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      private Long sizeID;
+
+    private String sizeCode;
+
+    private String sizeName;
+
+    private Boolean sizeIsDisable;
+
+    private Integer sizeSequence;
+
+    private Integer sizeProperty;
+
+    private String sizeDes;
+}

+ 29 - 0
mjava-diwei/src/main/java/com/malk/diwei/entity/Unit.java

@@ -0,0 +1,29 @@
+package com.malk.diwei.entity;
+
+import java.io.Serializable;
+
+import com.baomidou.mybatisplus.annotation.TableName;
+import lombok.Data;
+import lombok.Getter;
+import lombok.Setter;
+
+/**
+ * <p>
+ * 
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@TableName("Unit")
+@Data
+  public class Unit implements Serializable {
+
+    private static final long serialVersionUID = 1L;
+
+      private Long unitID;
+
+    private String unitName;
+
+    private String unitEnName;
+}

+ 18 - 0
mjava-diwei/src/main/java/com/malk/diwei/mapper/BrandMapper.java

@@ -0,0 +1,18 @@
+package com.malk.diwei.mapper;
+
+import com.malk.diwei.entity.Brand;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@Mapper
+public interface BrandMapper extends BaseMapper<Brand> {
+
+}

+ 18 - 0
mjava-diwei/src/main/java/com/malk/diwei/mapper/ClientMoreLinkDataMapper.java

@@ -0,0 +1,18 @@
+package com.malk.diwei.mapper;
+
+import com.malk.diwei.entity.ClientMoreLinkData;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-11
+ */
+@Mapper
+public interface ClientMoreLinkDataMapper extends BaseMapper<ClientMoreLinkData> {
+
+}

+ 18 - 0
mjava-diwei/src/main/java/com/malk/diwei/mapper/ColorMapper.java

@@ -0,0 +1,18 @@
+package com.malk.diwei.mapper;
+
+import com.malk.diwei.entity.Color;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@Mapper
+public interface ColorMapper extends BaseMapper<Color> {
+
+}

+ 18 - 0
mjava-diwei/src/main/java/com/malk/diwei/mapper/GoodsCategoryMapper.java

@@ -0,0 +1,18 @@
+package com.malk.diwei.mapper;
+
+import com.malk.diwei.entity.GoodsCategory;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@Mapper
+public interface GoodsCategoryMapper extends BaseMapper<GoodsCategory> {
+
+}

+ 18 - 0
mjava-diwei/src/main/java/com/malk/diwei/mapper/GoodsColorMapper.java

@@ -0,0 +1,18 @@
+package com.malk.diwei.mapper;
+
+import com.malk.diwei.entity.GoodsColor;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@Mapper
+public interface GoodsColorMapper extends BaseMapper<GoodsColor> {
+
+}

+ 18 - 0
mjava-diwei/src/main/java/com/malk/diwei/mapper/GoodsMapper.java

@@ -0,0 +1,18 @@
+package com.malk.diwei.mapper;
+
+import com.malk.diwei.entity.Goods;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@Mapper
+public interface GoodsMapper extends BaseMapper<Goods> {
+
+}

+ 18 - 0
mjava-diwei/src/main/java/com/malk/diwei/mapper/GoodsSizeMapper.java

@@ -0,0 +1,18 @@
+package com.malk.diwei.mapper;
+
+import com.malk.diwei.entity.GoodsSize;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@Mapper
+public interface GoodsSizeMapper extends BaseMapper<GoodsSize> {
+
+}

+ 18 - 0
mjava-diwei/src/main/java/com/malk/diwei/mapper/GoodsUnitMapper.java

@@ -0,0 +1,18 @@
+package com.malk.diwei.mapper;
+
+import com.malk.diwei.entity.GoodsUnit;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@Mapper
+public interface GoodsUnitMapper extends BaseMapper<GoodsUnit> {
+
+}

+ 18 - 0
mjava-diwei/src/main/java/com/malk/diwei/mapper/SizeMapper.java

@@ -0,0 +1,18 @@
+package com.malk.diwei.mapper;
+
+import com.malk.diwei.entity.Size;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@Mapper
+public interface SizeMapper extends BaseMapper<Size> {
+
+}

+ 18 - 0
mjava-diwei/src/main/java/com/malk/diwei/mapper/UnitMapper.java

@@ -0,0 +1,18 @@
+package com.malk.diwei.mapper;
+
+import com.malk.diwei.entity.Unit;
+import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * <p>
+ *  Mapper 接口
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@Mapper
+public interface UnitMapper extends BaseMapper<Unit> {
+
+}

+ 18 - 0
mjava-diwei/src/main/java/com/malk/diwei/service/GoodsService.java

@@ -0,0 +1,18 @@
+package com.malk.diwei.service;
+
+import com.malk.diwei.entity.Goods;
+import com.baomidou.mybatisplus.extension.service.IService;
+import com.malk.server.common.McR;
+
+/**
+ * <p>
+ *  服务类
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+public interface GoodsService extends IService<Goods> {
+
+    McR syncGoods();
+}

+ 106 - 25
mjava-diwei/src/main/java/com/malk/diwei/service/impl/ClientServiceImpl.java

@@ -3,7 +3,9 @@ package com.malk.diwei.service.impl;
 import com.alibaba.fastjson.JSONObject;
 import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
 import com.malk.diwei.entity.Client;
+import com.malk.diwei.entity.ClientMoreLinkData;
 import com.malk.diwei.mapper.ClientMapper;
+import com.malk.diwei.mapper.ClientMoreLinkDataMapper;
 import com.malk.diwei.service.ClientService;
 import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.malk.server.aliwork.YDConf;
@@ -14,9 +16,7 @@ import com.malk.utils.UtilMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
-import java.util.HashMap;
-import java.util.List;
-import java.util.Map;
+import java.util.*;
 
 /**
  * <p>
@@ -31,46 +31,127 @@ public class ClientServiceImpl extends ServiceImpl<ClientMapper, Client> impleme
     @Autowired
     private ClientMapper clientMapper;
 
+    @Autowired
+    private ClientMoreLinkDataMapper clientMoreLinkDataMapper;
+
     @Autowired
     private YDClient ydClient;
 
     @Override
     public McR syncClient() {
         LambdaQueryWrapper<Client> clientLambdaQueryWrapper = new LambdaQueryWrapper<>();
-        clientLambdaQueryWrapper.eq(Client::getClientCategory, "0");//客户类型:不限
+
         List<Client> clientList = clientMapper.selectList(clientLambdaQueryWrapper);
 
         for (Client client : clientList) {
             Map formData = new HashMap();
 
-            formData.put("textField_m843zjg9",client.getClientID());//客户id
+            formData.put("numberField_m858ik1r",client.getClientID());//客户id
             formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
             formData.put("textField_m7vidqxq",client.getClientName());//客户名称
-            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
-            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
-            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
-            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
-            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
-            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
-            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
-            formData.put("textField_m7vidqxr",client.getClientCode());//客户编号
-
-
-
-
+            formData.put("textField_m843zjgb",client.getClientShortName());//客户简称
+            formData.put("textField_m843zjgd",client.getClientShortCode());//助记码
+            //结款类型
+            if (Objects.nonNull(client.getClientPayWay())){
+                switch (client.getClientPayWay()){
+                    case 1 : formData.put("selectField_m843zjgj","现金");break;
+                    case 2 : formData.put("selectField_m843zjgj","非现金");break;
+                    case 9 : formData.put("selectField_m843zjgj","现金");break;
+                    default : break;
+                }
+            }
+
+            formData.put("textField_m843zjgk",client.getClientBank());//开户银行
+            formData.put("textField_m7vidqy7",client.getClientBankaccount());//银行账号
+            formData.put("textField_m7vidqy8",client.getClientTaxno());//税号
+            formData.put("textField_m843zjgq",client.getClientLegalPerson());//法人代表
+            formData.put("numberField_m843zjgr",client.getClientCredit());//信用额度
+
+            //客户类别
+            if (Objects.nonNull(client.getClientCategory())){
+                switch (client.getClientCategory()){
+                    case 0 : formData.put("selectField_m843zjg3","不限");break;
+                    case 1 : formData.put("selectField_m843zjg3","成品供应商");break;
+                    case 2 : formData.put("selectField_m843zjg3","原料供应商");break;
+                    case 3 : formData.put("selectField_m843zjg3","辅料供应商");break;
+                    case 4 : formData.put("selectField_m843zjg3","加工厂");break;
+                    case 5 : formData.put("selectField_m843zjg3","物流公司");break;
+                    case 6 : formData.put("selectField_m843zjg3","其他供应商");break;
+                    default : break;
+                }
+            }
+
+            //客户类型
+            if (Objects.nonNull(client.getClientClass())){
+                switch (client.getClientClass()){
+                    case 1 : formData.put("selectField_m843zjgv","批发客户");break;
+                    case 2 : formData.put("selectField_m843zjgv","Vip客户");break;
+                }
+            }
+
+            //客户级别
+            if (Objects.nonNull(client.getClientLevel())){
+                switch (client.getClientLevel()){
+                    case 1 : formData.put("textField_m7vidqxx","一级");break;
+                    case 2 : formData.put("textField_m7vidqxx","二级");break;
+                    case 3 : formData.put("textField_m7vidqxx","三级");break;
+                    case 4 : formData.put("textField_m7vidqxx","四级");break;
+                    case 5 : formData.put("textField_m7vidqxx","五级");break;
+                    default : break;
+                }
+            }
+
+            //客户属性
+            if (Objects.nonNull(client.getClientProperty())){
+                switch (client.getClientProperty()){
+                    case 1 : formData.put("selectField_m843zjg1","客户");break;
+                    case 2 : formData.put("selectField_m843zjg1","供应商");break;
+                    default : break;
+                }
+            }
+
+            //正常/停用
+            if (Objects.nonNull(client.getClientStatus())){
+                switch (client.getClientStatus()){
+                    case 1 : formData.put("selectField_m843zjg2","正常");break;
+                    case 2 : formData.put("selectField_m843zjg2","停用");break;
+                    default : break;
+                }
+            }
+
+            formData.put("textareaField_m843zjga",client.getClientDescription());//备注
+
+            //查询联系人
+            LambdaQueryWrapper<ClientMoreLinkData> clientMoreLinkDataLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            clientMoreLinkDataLambdaQueryWrapper.eq(ClientMoreLinkData::getClientMoreLinkDataClientID,client.getClientID())
+                    .isNotNull(ClientMoreLinkData::getClientMoreLinkDataLinkMan)
+                    .ne(ClientMoreLinkData::getClientMoreLinkDataLinkMan,"");
+            List<ClientMoreLinkData> clientMoreLinkDataList = clientMoreLinkDataMapper.selectList(clientMoreLinkDataLambdaQueryWrapper);
+
+            List<Map> detailList = new ArrayList<>();
+
+            if (!clientMoreLinkDataList.isEmpty()){
+                for (ClientMoreLinkData clientMoreLinkData : clientMoreLinkDataList) {
+                    Map detail = new HashMap();
+                    detail.put("textField_m843zjfm",clientMoreLinkData.getClientMoreLinkDataLinkMan());//联系人
+                    detail.put("textField_m843zjfn",clientMoreLinkData.getClientMoreLinkDataMob());//手机
+
+                    detailList.add(detail);
+                }
+                formData.put("tableField_m843zjfl",detailList);//联系人明细
+            }
+
+
+            //精准匹配
+            List<Map> searchCondition = new ArrayList<>();
+            searchCondition.add(UtilMap.map("key, value, type, operator, componentName","textField_m7vidqxr",client.getClientCode(),"TEXT","eq","TextField"));
             ydClient.operateData(YDParam.builder()
                     .formUuid("FORM-55BFAC57E0774F4FBC77295ACA75E09AZTL8")
-                    .searchCondition(JSONObject.toJSONString(UtilMap.map("textField_m843zjg9",client.getClientID())))
+                    .searchFieldJson(JSONObject.toJSONString(searchCondition))
                     .formDataJson(JSONObject.toJSONString(formData))
                     .build(), YDConf.FORM_OPERATION.upsert);
 
         }
-
-
-
-
-
-
-        return null;
+        return McR.success();
     }
 }

+ 197 - 0
mjava-diwei/src/main/java/com/malk/diwei/service/impl/GoodsServiceImpl.java

@@ -0,0 +1,197 @@
+package com.malk.diwei.service.impl;
+
+import cn.hutool.core.date.DateUtil;
+import com.alibaba.fastjson.JSONObject;
+import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
+import com.malk.diwei.entity.*;
+import com.malk.diwei.mapper.*;
+import com.malk.diwei.service.GoodsService;
+import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
+import com.malk.server.aliwork.YDConf;
+import com.malk.server.aliwork.YDParam;
+import com.malk.server.common.McR;
+import com.malk.service.aliwork.YDClient;
+import com.malk.utils.UtilMap;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+
+import java.util.*;
+
+/**
+ * <p>
+ *  服务实现类
+ * </p>
+ *
+ * @author WZY
+ * @since 2025-03-12
+ */
+@Service
+public class GoodsServiceImpl extends ServiceImpl<GoodsMapper, Goods> implements GoodsService {
+    @Autowired
+    private GoodsMapper goodsMapper;
+
+    @Autowired
+    private GoodsCategoryMapper goodsCategoryMapper;
+
+    @Autowired
+    private BrandMapper brandMapper;
+
+    @Autowired
+    private GoodsUnitMapper goodsUnitMapper;
+
+    @Autowired
+    private UnitMapper unitMapper;
+
+    @Autowired
+    private GoodsColorMapper goodsColorMapper;
+
+    @Autowired
+    private ColorMapper colorMapper;
+
+    @Autowired
+    private GoodsSizeMapper goodsSizeMapper;
+
+    @Autowired
+    private SizeMapper sizeMapper;
+
+    @Autowired
+    private YDClient ydClient;
+
+    public McR syncGoods() {
+        //查询昨天修改的物料
+        LambdaQueryWrapper<Goods> goodsLambdaQueryWrapper = new LambdaQueryWrapper<>();
+//        goodsLambdaQueryWrapper.ge(Goods::getGoodsUpdateDatetime,DateUtil.yesterday());
+        List<Goods> goods = goodsMapper.selectList(goodsLambdaQueryWrapper);
+
+        for (Goods good : goods) {
+            Map formData = new HashMap();
+            formData.put("numberField_m85b219y",good.getGoodsID());//物料id
+            formData.put("textField_m82g94gl",good.getGoodsCode());//货号
+            formData.put("textField_m82g94gm",good.getGoodsName());//货品名称
+            formData.put("textField_m82g94gn",good.getGoodsIngredients());//成分
+            formData.put("textField_m82g94gt",good.getGoodsShortCode());//助记码
+            formData.put("textField_m82g94gu",good.getGoodsAliasName());//货品别名
+            formData.put("textField_m82g94gv",good.getGoodsSpecs());//货品规格
+            formData.put("textField_m82g94h2",good.getGoodsShortName());//货品简称
+
+            //货品类别
+            LambdaQueryWrapper<GoodsCategory> goodsCategoryLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            goodsCategoryLambdaQueryWrapper.eq(GoodsCategory::getGoodsCategoryID,good.getGoodsCategoryID());
+            GoodsCategory goodsCategory = goodsCategoryMapper.selectOne(goodsCategoryLambdaQueryWrapper);
+            if (Objects.nonNull(goodsCategory)){
+                formData.put("textField_m82g94h3",goodsCategory.getGoodsCategoryName());
+            }
+
+            //货品属性
+            if (Objects.nonNull(good.getGoodsProperty())){
+                switch (good.getGoodsProperty()){
+                    case 0 : formData.put("textField_m82g94h4","不限");break;
+                    case 1 : formData.put("textField_m82g94h4","成品");break;
+                    case 2 : formData.put("textField_m82g94h4","半成品");break;
+                    case 3 : formData.put("textField_m82g94h4","原料");break;
+                    case 4 : formData.put("textField_m82g94h4","辅料");break;
+                    case 5 : formData.put("textField_m82g94h4","办公用品");break;
+                    case 6 : formData.put("textField_m82g94h4","低值易耗品");break;
+                    case 7 : formData.put("textField_m82g94h4","劳务/服务");break;
+                    default : break;
+                }
+            }
+
+            //品牌名称
+            LambdaQueryWrapper<Brand> brandLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            brandLambdaQueryWrapper.eq(Brand::getBrandId,good.getBrandId());
+            Brand brand = brandMapper.selectOne(brandLambdaQueryWrapper);
+            if (Objects.nonNull(brand)){
+                formData.put("textField_m82g94h9",brand.getBrandName());
+            }
+
+            formData.put("textField_m82g94ho",good.getGoodsNeedleType());//针型
+            formData.put("textField_m82g94hp",good.getGoodsMachineType());//机型
+            formData.put("numberField_m85b21a3",good.getGoodsGWeight());//克重
+
+            //启用/停用
+            if (Objects.nonNull(good.getGoodsDisable())){
+                switch (good.getGoodsDisable()){
+                    case 0 : formData.put("selectField_m82g94hh","启用");break;
+                    case 1 : formData.put("selectField_m82g94hh","停用");break;
+                    default : break;
+                }
+            }
+
+            //库存预警
+            if (Objects.nonNull(good.getGoodsCheckStatus())){
+                switch (good.getGoodsCheckStatus()){
+                    case 0 : formData.put("selectField_m82g94hv","关闭");break;
+                    case 1 : formData.put("selectField_m82g94hv","开启");break;
+                    default : break;
+                }
+            }
+
+            formData.put("textareaField_m85b21a2",good.getGoodsDescription());//备注
+
+            //单位名称
+            LambdaQueryWrapper<GoodsUnit> goodsUnitLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            goodsUnitLambdaQueryWrapper.eq(GoodsUnit::getGoodsID,good.getGoodsID());
+            GoodsUnit goodsUnit = goodsUnitMapper.selectOne(goodsUnitLambdaQueryWrapper);
+            if (Objects.nonNull(goodsUnit)){
+                LambdaQueryWrapper<Unit> unitLambdaQueryWrapper = new LambdaQueryWrapper<>();
+                unitLambdaQueryWrapper.eq(Unit::getUnitID,goodsUnit.getUnitID());
+                Unit unit = unitMapper.selectOne(unitLambdaQueryWrapper);
+                if (Objects.nonNull(unit)){
+                    formData.put("textField_m85b218v",unit.getUnitName());
+                }
+            }
+
+            //颜色
+            LambdaQueryWrapper<GoodsColor> goodsColorLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            goodsColorLambdaQueryWrapper.eq(GoodsColor::getGoodsID,good.getGoodsID());
+            List<GoodsColor> goodsColorList = goodsColorMapper.selectList(goodsColorLambdaQueryWrapper);
+            if(Objects.nonNull(goodsColorList) && !goodsColorList.isEmpty()){
+                List<Map> colorList = new ArrayList<>();
+                for (GoodsColor goodsColor : goodsColorList) {
+                    Map colorMap = new HashMap();
+
+                    LambdaQueryWrapper<Color> colorLambdaQueryWrapper = new LambdaQueryWrapper<>();
+                    colorLambdaQueryWrapper.eq(Color::getColorID,goodsColor.getColorID());
+                    Color color = colorMapper.selectOne(colorLambdaQueryWrapper);
+                    if (Objects.nonNull(color)){
+                        colorMap.put("textField_m85b219g",color.getColorName());
+                    }
+                    colorList.add(colorMap);
+                }
+                formData.put("tableField_m85b219h",colorList);
+            }
+
+            //尺码
+            LambdaQueryWrapper<GoodsSize> goodsSizeLambdaQueryWrapper = new LambdaQueryWrapper<>();
+            goodsSizeLambdaQueryWrapper.eq(GoodsSize::getGoodsID,good.getGoodsID());
+            List<GoodsSize> goodsSizeList = goodsSizeMapper.selectList(goodsSizeLambdaQueryWrapper);
+            if(Objects.nonNull(goodsSizeList) && !goodsSizeList.isEmpty()){
+                List<Map> sizeList = new ArrayList<>();
+                for (GoodsSize goodsSize : goodsSizeList) {
+                    Map sizeMap = new HashMap();
+                    LambdaQueryWrapper<Size> sizeLambdaQueryWrapper = new LambdaQueryWrapper<>();
+                    sizeLambdaQueryWrapper.eq(Size::getSizeID,goodsSize.getSizeID());
+                    Size size = sizeMapper.selectOne(sizeLambdaQueryWrapper);
+                    if (Objects.nonNull(size)){
+                        sizeMap.put("textField_m85b219m",size.getSizeName());
+                    }
+                    sizeMap.put("textField_m85b219o",goodsSize.getGoodsSizeDes());//备注
+                    sizeList.add(sizeMap);
+                }
+                formData.put("tableField_m85b219n",sizeList);
+            }
+
+            //精准匹配
+            List<Map> searchCondition = new ArrayList<>();
+            searchCondition.add(UtilMap.map("key, value, type, operator, componentName","textField_m82g94gl",good.getGoodsCode(),"TEXT","eq","TextField"));
+            ydClient.operateData(YDParam.builder()
+                    .formUuid("FORM-06568CCD028F45278F6D571FDD5B91A5X2FX")
+                    .searchCondition(JSONObject.toJSONString(searchCondition))
+                    .formDataJson(JSONObject.toJSONString(formData))
+                    .build(), YDConf.FORM_OPERATION.upsert);
+        }
+
+        return McR.success();
+    }
+}

+ 6 - 1
mjava-diwei/src/main/java/com/malk/diwei/service/impl/ProcStepServiceImpl.java

@@ -14,6 +14,7 @@ import com.malk.utils.UtilMap;
 import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
 import java.util.HashMap;
 import java.util.List;
 import java.util.Map;
@@ -61,9 +62,13 @@ public class ProcStepServiceImpl extends ServiceImpl<ProcStepMapper, ProcStep> i
             formData.put("radioField_m7y4xlcu",procStep.getProcStepIsReferStock() == 1 ? "是" : "否");//是否参照库存
             formData.put("radioField_m7y4xlcp",procStep.getProcStepIsReferOutSizeN() == 1 ? "是" : "否");//是否参照外尺寸
 
+
+            //精准匹配
+            List<Map> searchCondition = new ArrayList<>();
+            searchCondition.add(UtilMap.map("key, value, type, operator, componentName","textField_m7y4xld9",procStep.getProcStepID(),"TEXT","eq","TextField"));
             ydClient.operateData(YDParam.builder()
                     .formUuid("FORM-E3E8CA72C68C43BBAF53A22B199AC9302SQK")
-                    .searchCondition(JSONObject.toJSONString(UtilMap.map("textField_m7y4xld9", procStep.getProcStepID())))
+                    .searchCondition(JSONObject.toJSONString(searchCondition))
                     .formDataJson(JSONObject.toJSONString(formData))
                     .build(), YDConf.FORM_OPERATION.upsert);
         }

+ 1 - 1
mjava-diwei/src/main/java/com/malk/diwei/utils/MPGenerator.java

@@ -35,7 +35,7 @@ public class MPGenerator {
                             .entity("entity");
                 })
                 .strategyConfig(builder -> {
-                    builder.addInclude("Client")
+                    builder.addInclude("Size")
                             .entityBuilder().enableLombok();
                 })
                 .templateEngine(new VelocityTemplateEngine())

+ 5 - 0
mjava-diwei/src/main/resources/mapper/BrandMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.diwei.mapper.BrandMapper">
+
+</mapper>

+ 5 - 0
mjava-diwei/src/main/resources/mapper/ClientMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.diwei.mapper.ClientMapper">
+
+</mapper>

+ 5 - 0
mjava-diwei/src/main/resources/mapper/ClientMoreLinkDataMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.diwei.mapper.ClientMoreLinkDataMapper">
+
+</mapper>

+ 5 - 0
mjava-diwei/src/main/resources/mapper/ColorMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.diwei.mapper.ColorMapper">
+
+</mapper>

+ 5 - 0
mjava-diwei/src/main/resources/mapper/GoodsCategoryMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.diwei.mapper.GoodsCategoryMapper">
+
+</mapper>

+ 5 - 0
mjava-diwei/src/main/resources/mapper/GoodsColorMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.diwei.mapper.GoodsColorMapper">
+
+</mapper>

+ 5 - 0
mjava-diwei/src/main/resources/mapper/GoodsMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.diwei.mapper.GoodsMapper">
+
+</mapper>

+ 5 - 0
mjava-diwei/src/main/resources/mapper/GoodsUnitMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.diwei.mapper.GoodsUnitMapper">
+
+</mapper>

+ 5 - 0
mjava-diwei/src/main/resources/mapper/ProcStepMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.diwei.mapper.ProcStepMapper">
+
+</mapper>

+ 5 - 0
mjava-diwei/src/main/resources/mapper/UnitMapper.xml

@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
+<mapper namespace="com.malk.diwei.mapper.UnitMapper">
+
+</mapper>

+ 4 - 0
mjava-jianhui/src/main/java/com/malk/jianhui/entity/DefectEntity.java

@@ -2,6 +2,8 @@ package com.malk.jianhui.entity;
 
 import lombok.Data;
 
+import java.util.List;
+
 @Data
 public class DefectEntity {
     //物料id
@@ -18,4 +20,6 @@ public class DefectEntity {
     private double FDefectiveQty;
     //使用决策备注
     private String FMemo;
+    //关联明细
+    private List<Object> FEntity_Link;
 }

+ 16 - 0
mjava-jianhui/src/main/java/com/malk/jianhui/entity/LinkEntry.java

@@ -0,0 +1,16 @@
+package com.malk.jianhui.entity;
+
+import lombok.Data;
+
+@Data
+public class LinkEntry {
+    private FNumber FMaterialId;
+    private FNumber FUnitID;
+    private double FQty;
+    private FNumber FPriceUnitId;
+    private double FTaxPrice;
+    private boolean FIsFree;
+    private double FEntryTaxRate;
+    private String FDeliveryDate;
+    private String FEntryNote;
+}

+ 40 - 15
mjava-jianhui/src/main/java/com/malk/jianhui/service/impl/JianhuiServiceImpl.java

@@ -676,14 +676,36 @@ public class JianhuiServiceImpl implements JianhuiService {
             }
             defectEntity.setFDefectiveQty((int) detail.get("numberField_m64pw0gu"));//不良数量
 
+
+            //关联检验单
+            List<Object> linkEntity = new ArrayList<>();
+            Map link = new HashMap();
+            HashMap<String, Object> detailLink = new HashMap<>();
+
+//            link.put("FEntity_Link_FFlowId", "");//业务流程图
+//            link.put("FEntity_Link_FFlowLineId", "");//推进路线
+            link.put("FEntity_Link_FRuleId","QM_Inspect2DefProecess");//转换规则
+//            link.put("FEntity_Link_FSTableId", "");//源单表内码
+            link.put("FEntity_Link_FSTableName","T_QM_INSPECTBILLENTRY");//源单表
+            link.put("FEntity_Link_FSBillId",formData.get("numberField_m86nq0a5"));//源单内码
+            link.put("FEntity_Link_FSId", detail.get("numberField_m873a1q2"));//源单分录内码
+
+            linkEntity.add(link);
+
+            defectEntity.setFEntity_Link(linkEntity);
+
+
             FEntity.add(defectEntity);
         }
 
         model.setFEntity(FEntity);
 
-        save.setModel(model);
 
 
+
+
+        save.setModel(model);
+
         try{
             K3CloudApi client = new K3CloudApi(initIden());
             //业务对象标识
@@ -722,10 +744,10 @@ public class JianhuiServiceImpl implements JianhuiService {
                 }
             }
         } catch (Exception e) {
-            fail(e.getMessage());
+            McR.errorUnknown(e.getMessage());
         }
 
-        return null;
+        return McR.success();
     }
 
     @Override
@@ -1084,12 +1106,13 @@ public class JianhuiServiceImpl implements JianhuiService {
             billQuery.setFormId(formId);
             billQuery.setFieldKeys("FBillNo");
             billQuery.setStartRow(0);
-            billQuery.setLimit(100);
+            billQuery.setLimit(2000);
 
             List<Map> filterString = new ArrayList<>();
             filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FInspectResult","29","2","","","0"));
             filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FDocumentStatus","105","C","","","0"));
-            filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FApproveDate","13","","","","0"));
+            filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FApproveDate","13","","","","0"));//审核日期为今天
+//            filterString.add(UtilMap.map("FieldName, Compare, Value, Left, Right, Logic","FApproveDate","39","2025-03-10 00:00:00","","","0"));//审核日期大于2025-03-10 00:00:00
             billQuery.setFilterString(filterString);
 
             String resultJson = client.billQuery(JSONObject.toJSONString(billQuery));
@@ -1113,36 +1136,29 @@ public class JianhuiServiceImpl implements JianhuiService {
                         .searchFieldJson(JSONObject.toJSONString(UtilMap.map("textField_m82j5zsd", fBillNo)))
                         .build(), YDConf.FORM_QUERY.retrieve_list).getData();
 
-                //没有则新增
                 if (data.isEmpty()){
                     View view = new View();
                     view.setNumber(fBillNo);
                     String resultJson2 = client.view(formId,JSONObject.toJSONString(view));
-
                     RepoRet repoRet = gson.fromJson(resultJson2, RepoRet.class);
                     if (isTrue(repoRet)){
                         Map result = (Map) repoRet.getResult().getResult();
-
                         Map formData = new HashMap();
-
                         formData.put("textField_m82j5zsd",fBillNo);//单据编号
+                        formData.put("numberField_m86nmon3",result.get("Id"));//id
                         formData.put("textField_m82j5zse",getMultiLanguageTextName(result.get("FBillTypeID")));//单据类型
                         formData.put("textField_m82j5zsf",BUSINESS_TYPE.get(getString(result.get("BusinessType"))));//业务类型
-
                         // 解析字符串为 LocalDateTime
                         LocalDateTime localDateTime = LocalDateTime.parse(getString(result.get("FDate")), formatter);
                         // 将 LocalDateTime 转换为 ZonedDateTime
                         ZonedDateTime zonedDateTime = localDateTime.atZone(ZoneId.systemDefault());
                         formData.put("dateField_m82j5zsk",zonedDateTime.toInstant().toEpochMilli());//单据日期
                         formData.put("textField_m82j5zsl",FDOCUMENTSTATUS.get(getString(result.get("DocumentStatus"))));//单据状态
-
                         if (!((List<Map>)result.get("Description")).isEmpty()){
                             formData.put("textareaField_m82j5zsm",((List<Map>)result.get("Description")).get(0).get("Value"));//描述
                         }
-
                         List<Map> entityList = (List<Map>) result.get("Entity");
                         List<Map> detailList = new ArrayList<>();
-
                         for (Map entity : entityList) {
                             Map detail = new HashMap();
                             detail.put("textField_m82j5zsp",getEntryNumber(entity.get("MaterialId")));//物料编码
@@ -1156,22 +1172,31 @@ public class JianhuiServiceImpl implements JianhuiService {
                             detail.put("numberField_m82j5zsu",entity.get("QualifiedQty"));//合格数
                             detail.put("numberField_m82j5zsv",entity.get("UnqualifiedQty"));//不合格数
                             detail.put("textField_m82j5zsx",INSPECT_RESULT.get(getString(entity.get("InspectResult"))));//检验结果
+                            detail.put("numberField_m873a1q2",entity.get("Id"));//分录明细id
                             if (!((List<Map>)entity.get("Memo")).isEmpty()){
                                 detail.put("textField_m82j5zsz",((List<Map>)entity.get("Memo")).get(0).get("Value"));//不良原因
                             }
-
                             detailList.add(detail);
                         }
-
                         formData.put("tableField_m82j5zso",detailList);
 
+
                         //新增数据
                         ydClient.operateData(YDParam.builder()
                                 .formUuid("FORM-959B1CB0AF9F41A091DFDE1203D0C7B2FQBO")
                                 .formDataJson(JSONObject.toJSONString(formData))
                                 .build(), YDConf.FORM_OPERATION.create);
                     }
+
+                    /*else {
+                        //更新数据
+                        ydClient.operateData(YDParam.builder()
+                                .formInstId(getString(data.get(0).get("formInstanceId")))
+                                .updateFormDataJson(JSONObject.toJSONString(formData))
+                                .useLatestVersion(true).build(), YDConf.FORM_OPERATION.update);
+                    }*/
                 }
+
             }
         }catch (Exception e){
             return McR.errorUnknown(e.getMessage());

+ 9 - 0
mjava-lingmingguangzi/src/main/java/com/malk/lingmingguangzi/controller/LingmingguangziController.java

@@ -44,6 +44,15 @@ public class LingmingguangziController {
         return lingmingguangziService.getCustomerQuestionnaireCount2(start, end);
     }
 
+    /**
+     * 客户新增后更新线索状态
+     * @param map
+     * @return
+     */
+    @PostMapping("/updateClueStatus")
+    public McR updateClue(@RequestBody Map map) {
+        return lingmingguangziService.updateClueStatus(map);
+    }
     /**
      * 获取tb转阶段申请交付件等详情
      * @param

+ 2 - 0
mjava-lingmingguangzi/src/main/java/com/malk/lingmingguangzi/service/LingmingguangziService.java

@@ -52,4 +52,6 @@ public interface LingmingguangziService {
     McR stopProcess(Map map);
 
     void downloadFile(String fileURL, String savePath , String fileName) throws IOException;
+
+    McR updateClueStatus(Map map);
 }

+ 49 - 0
mjava-lingmingguangzi/src/main/java/com/malk/lingmingguangzi/service/LingmingguangziServiceImpl.java

@@ -653,6 +653,55 @@ public class LingmingguangziServiceImpl implements LingmingguangziService {
         httpConn.disconnect();
     }
 
+    @Override
+    public McR updateClueStatus(Map map) {
+        String formInstId = getString(map.get("formInstId"));
+
+       if (!Strings.isNullOrEmpty(formInstId)) {
+           Map formData = ydClient.queryData(YDParam.builder()
+                   .formInstId(formInstId)
+                   .build(), YDConf.FORM_QUERY.retrieve_id).getFormData();
+
+           String customerName = getString(formData.get("textField_lwpqbm7b"));
+           String customerCode = getString(formData.get("serialNumberField_m4rv2j4i"));
+
+           List<Map> clueList = (List<Map>) formData.get("tableField_m86r3mmn");
+           if (Objects.nonNull(clueList) && !clueList.isEmpty()){
+               for (Map clue : clueList) {
+                   String clueCode = getString(clue.get("textField_m86r3mmo"));
+
+                   //客户资源池关联表单
+                   List<Map> formControlList = new ArrayList<>();
+                   Map formControl = new HashMap();
+                   formControl.put("formType","receipt");
+                   formControl.put("formUuid","FORM-6F1E2DCFB3F5448EBDD4994551EBF690DVIT");
+                   formControl.put("instanceId",formInstId);
+                   formControl.put("appType","APP_MOIYIC856NRIBCMXEXVD");
+                   formControl.put("title",customerName);
+                   formControlList.add(formControl);
+
+                   Map updateFormData = new HashMap();
+                   updateFormData.put("associationFormField_m50t9d7y",formControlList);
+                   updateFormData.put("selectField_m2lh8c49","已转换");
+                   updateFormData.put("textField_m50vl2jt",customerCode);
+
+                   //更新线索
+                   ydClient.operateData(YDParam.builder()
+                           .formUuid("FORM-45C086AFF2F94D9BB056A15B34CD2BCAFQET")
+                           .searchCondition(JSONObject.toJSONString(UtilMap.map("serialNumberField_m2mwp0iy",clueCode)))
+                           .formDataJson(JSONObject.toJSONString(updateFormData))
+                           .build(), YDConf.FORM_OPERATION.upsert);
+               }
+           }
+
+
+
+       }else {
+           McR.errorParam("formInstId不能为空");
+       }
+       return McR.success();
+    }
+
 /*    @Override
     public McR updateSaleOrder(Map map) {
         if (Objects.isNull(map.get("formInstId"))){

+ 1 - 1
mjava-lingmingguangzi/src/main/resources/application-dev.yml

@@ -36,7 +36,7 @@ teambition:
   AppSecret: rFmIOAPtWjEKt7TkRZWFbBh0YxSY5GfC
   TenantId: 5f4c9efbb019fd31e3ef327c
   OperatorId: 64d9834ad191502259bde0d6   # jecky
-  TemplateId: 6687adda4817a3f6324a0b0e  # 转阶段项目模板id
+  TemplateId: 67d129f7680c0fef647481f2  # 转阶段项目模板id
 
 # aliwork
 aliwork:

+ 1 - 1
mjava-lingmingguangzi/src/main/resources/application-prod.yml

@@ -36,7 +36,7 @@ teambition:
   AppSecret: rFmIOAPtWjEKt7TkRZWFbBh0YxSY5GfC
   TenantId: 5f4c9efbb019fd31e3ef327c
   OperatorId: 64d9834ad191502259bde0d6   # jecky
-  TemplateId: 6687adda4817a3f6324a0b0e  # 转阶段项目模板id
+  TemplateId: 67d129f7680c0fef647481f2  # 转阶段项目模板id
 
 # aliwork
 aliwork: