sh4wmoo 3 سال پیش
والد
کامیت
f621dcaca7
100فایلهای تغییر یافته به همراه6897 افزوده شده و 0 حذف شده
  1. 41 0
      src/main/java/com/dk/mnls_mp/MainApplication.java
  2. 13 0
      src/main/java/com/dk/mnls_mp/NoWarnMapper.java
  3. 11 0
      src/main/java/com/dk/mnls_mp/base/BaseController.java
  4. 122 0
      src/main/java/com/dk/mnls_mp/base/ResponseCodeEnum.java
  5. 32 0
      src/main/java/com/dk/mnls_mp/base/UserRightCheck.java
  6. 33 0
      src/main/java/com/dk/mnls_mp/base/UserRightCheckKind.java
  7. 33 0
      src/main/java/com/dk/mnls_mp/config/AsyncConfiguration.java
  8. 45 0
      src/main/java/com/dk/mnls_mp/config/Config.java
  9. 31 0
      src/main/java/com/dk/mnls_mp/config/ConfigStatic.java
  10. 61 0
      src/main/java/com/dk/mnls_mp/config/CrmConfig.java
  11. 47 0
      src/main/java/com/dk/mnls_mp/config/DBPoolConfig.java
  12. 57 0
      src/main/java/com/dk/mnls_mp/config/ExceptionController.java
  13. 18 0
      src/main/java/com/dk/mnls_mp/config/HegiiAccessToken.java
  14. 56 0
      src/main/java/com/dk/mnls_mp/config/HegiiTokenConfig.java
  15. 24 0
      src/main/java/com/dk/mnls_mp/config/IbossProxy.java
  16. 26 0
      src/main/java/com/dk/mnls_mp/config/RequestConfig.java
  17. 19 0
      src/main/java/com/dk/mnls_mp/config/RestTemplateConfig.java
  18. 129 0
      src/main/java/com/dk/mnls_mp/constant/Constant.java
  19. 55 0
      src/main/java/com/dk/mnls_mp/controller/ChannelController.java
  20. 234 0
      src/main/java/com/dk/mnls_mp/controller/CodeController.java
  21. 76 0
      src/main/java/com/dk/mnls_mp/controller/CodeHistoryController.java
  22. 43 0
      src/main/java/com/dk/mnls_mp/controller/CrmController.java
  23. 40 0
      src/main/java/com/dk/mnls_mp/controller/CrmOrderController.java
  24. 91 0
      src/main/java/com/dk/mnls_mp/controller/CrmStoreController.java
  25. 23 0
      src/main/java/com/dk/mnls_mp/controller/CustomerCategoryController.java
  26. 151 0
      src/main/java/com/dk/mnls_mp/controller/CustomerController.java
  27. 97 0
      src/main/java/com/dk/mnls_mp/controller/DataDictionaryController.java
  28. 70 0
      src/main/java/com/dk/mnls_mp/controller/DbInfoController.java
  29. 38 0
      src/main/java/com/dk/mnls_mp/controller/DictionaryController.java
  30. 67 0
      src/main/java/com/dk/mnls_mp/controller/FileController.java
  31. 58 0
      src/main/java/com/dk/mnls_mp/controller/FormulaController.java
  32. 59 0
      src/main/java/com/dk/mnls_mp/controller/GradeController.java
  33. 32 0
      src/main/java/com/dk/mnls_mp/controller/IbossSalesAmountController.java
  34. 145 0
      src/main/java/com/dk/mnls_mp/controller/KindController.java
  35. 35 0
      src/main/java/com/dk/mnls_mp/controller/LoginController.java
  36. 168 0
      src/main/java/com/dk/mnls_mp/controller/NeedsController.java
  37. 134 0
      src/main/java/com/dk/mnls_mp/controller/OrderController.java
  38. 66 0
      src/main/java/com/dk/mnls_mp/controller/OrganizationController.java
  39. 527 0
      src/main/java/com/dk/mnls_mp/controller/PullOrderDetailController.java
  40. 121 0
      src/main/java/com/dk/mnls_mp/controller/ReportRightController.java
  41. 91 0
      src/main/java/com/dk/mnls_mp/controller/RoleController.java
  42. 78 0
      src/main/java/com/dk/mnls_mp/controller/SeriesController.java
  43. 68 0
      src/main/java/com/dk/mnls_mp/controller/StratumRelationController.java
  44. 104 0
      src/main/java/com/dk/mnls_mp/controller/SubjectController.java
  45. 108 0
      src/main/java/com/dk/mnls_mp/controller/SynchController.java
  46. 85 0
      src/main/java/com/dk/mnls_mp/controller/SynchFacController.java
  47. 143 0
      src/main/java/com/dk/mnls_mp/controller/TestController.java
  48. 58 0
      src/main/java/com/dk/mnls_mp/controller/ToiletCountController.java
  49. 78 0
      src/main/java/com/dk/mnls_mp/controller/UnitController.java
  50. 124 0
      src/main/java/com/dk/mnls_mp/controller/UserController.java
  51. 79 0
      src/main/java/com/dk/mnls_mp/controller/VarietyController.java
  52. 77 0
      src/main/java/com/dk/mnls_mp/controller/WCFinfoController.java
  53. 32 0
      src/main/java/com/dk/mnls_mp/controller/authBrand/AuthBrandController.java
  54. 87 0
      src/main/java/com/dk/mnls_mp/controller/inventory/inventoryController.java
  55. 51 0
      src/main/java/com/dk/mnls_mp/controller/organizationAttribute/OrganizationAttributeController.java
  56. 77 0
      src/main/java/com/dk/mnls_mp/controller/price/CustomerGroupController.java
  57. 39 0
      src/main/java/com/dk/mnls_mp/controller/price/GoodsController.java
  58. 86 0
      src/main/java/com/dk/mnls_mp/controller/price/PriceGroupController.java
  59. 51 0
      src/main/java/com/dk/mnls_mp/controller/priceStrategy/PriceStrategyController.java
  60. 301 0
      src/main/java/com/dk/mnls_mp/controller/reporter/ReporterController.java
  61. 61 0
      src/main/java/com/dk/mnls_mp/controller/synchCode/SynchCodeController.java
  62. 65 0
      src/main/java/com/dk/mnls_mp/controller/synchSubject/SynchSubjectController.java
  63. 46 0
      src/main/java/com/dk/mnls_mp/controller/systemParameterController.java
  64. 485 0
      src/main/java/com/dk/mnls_mp/controller/test/DkTestController.java
  65. 19 0
      src/main/java/com/dk/mnls_mp/dao/mapper/AddressMapper.java
  66. 80 0
      src/main/java/com/dk/mnls_mp/dao/mapper/AreaCalcFormulaMapper.java
  67. 16 0
      src/main/java/com/dk/mnls_mp/dao/mapper/AvgQuantityAmountMapper.java
  68. 17 0
      src/main/java/com/dk/mnls_mp/dao/mapper/BrandRecordMapper.java
  69. 59 0
      src/main/java/com/dk/mnls_mp/dao/mapper/ChannelMapper.java
  70. 257 0
      src/main/java/com/dk/mnls_mp/dao/mapper/CodeFacRecordMapper.java
  71. 17 0
      src/main/java/com/dk/mnls_mp/dao/mapper/CodeHistoryDetailMapper.java
  72. 7 0
      src/main/java/com/dk/mnls_mp/dao/mapper/CodeHistoryMapper.java
  73. 136 0
      src/main/java/com/dk/mnls_mp/dao/mapper/CodeRecordMapper.java
  74. 14 0
      src/main/java/com/dk/mnls_mp/dao/mapper/CrmOrderDetailMapper.java
  75. 13 0
      src/main/java/com/dk/mnls_mp/dao/mapper/CrmOrderMapper.java
  76. 30 0
      src/main/java/com/dk/mnls_mp/dao/mapper/CrmStoreMapper.java
  77. 9 0
      src/main/java/com/dk/mnls_mp/dao/mapper/CustomerCategoryMapper.java
  78. 110 0
      src/main/java/com/dk/mnls_mp/dao/mapper/CustomerMapper.java
  79. 17 0
      src/main/java/com/dk/mnls_mp/dao/mapper/CustomerSychronizedDetailMapper.java
  80. 108 0
      src/main/java/com/dk/mnls_mp/dao/mapper/DataDictionaryMapper.java
  81. 31 0
      src/main/java/com/dk/mnls_mp/dao/mapper/DbInfoMapper.java
  82. 13 0
      src/main/java/com/dk/mnls_mp/dao/mapper/DictionaryMapper.java
  83. 19 0
      src/main/java/com/dk/mnls_mp/dao/mapper/FileMapper.java
  84. 64 0
      src/main/java/com/dk/mnls_mp/dao/mapper/GradeRecordMapper.java
  85. 10 0
      src/main/java/com/dk/mnls_mp/dao/mapper/IbossCheckDetailMapper.java
  86. 19 0
      src/main/java/com/dk/mnls_mp/dao/mapper/IbossDataBaseMapper.java
  87. 9 0
      src/main/java/com/dk/mnls_mp/dao/mapper/IbossDeliveryDetailMapper.java
  88. 12 0
      src/main/java/com/dk/mnls_mp/dao/mapper/IbossOrderDetailUpdateMapper.java
  89. 7 0
      src/main/java/com/dk/mnls_mp/dao/mapper/IbossOrderDetailsMapper.java
  90. 14 0
      src/main/java/com/dk/mnls_mp/dao/mapper/IbossOrganizationMapper.java
  91. 6 0
      src/main/java/com/dk/mnls_mp/dao/mapper/IbossOutDetailMapper.java
  92. 12 0
      src/main/java/com/dk/mnls_mp/dao/mapper/IbossPrestoredMapper.java
  93. 12 0
      src/main/java/com/dk/mnls_mp/dao/mapper/IbossReceiveMapper.java
  94. 7 0
      src/main/java/com/dk/mnls_mp/dao/mapper/IbossSaleRankMapper.java
  95. 25 0
      src/main/java/com/dk/mnls_mp/dao/mapper/IbossSalesAmountMapper.java
  96. 12 0
      src/main/java/com/dk/mnls_mp/dao/mapper/IbossSalesMarginMapper.java
  97. 12 0
      src/main/java/com/dk/mnls_mp/dao/mapper/IbossSalesReturnMapper.java
  98. 13 0
      src/main/java/com/dk/mnls_mp/dao/mapper/IbossStaffCommissionMapper.java
  99. 14 0
      src/main/java/com/dk/mnls_mp/dao/mapper/IbossStaffMapper.java
  100. 75 0
      src/main/java/com/dk/mnls_mp/dao/mapper/KindFacRecordMapper.java

+ 41 - 0
src/main/java/com/dk/mnls_mp/MainApplication.java

@@ -0,0 +1,41 @@
+package com.dk.mnls_mp;
+
+import org.mybatis.spring.annotation.MapperScan;
+import org.springframework.boot.SpringApplication;
+import org.springframework.boot.autoconfigure.SpringBootApplication;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.ComponentScan;
+import org.springframework.scheduling.TaskScheduler;
+import org.springframework.scheduling.annotation.EnableScheduling;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@ComponentScan(basePackages = {"com.dk.mnls_mp.controller", "com.dk.mnls_mp.controller.*", "com.dk.mnls_mp.service", "com.dk.mnls_mp.web", "com.dk.mnls_mp.util",
+        "com.dongke.base.aspect", "com.dongke.base.config", "com.dk.mnls_mp.config"})
+@MapperScan(basePackages = {"com.dk.mnls_mp.dao.mapper","com.dk.mnls_mp.dao.mapper.*","com.dk.mnls_mp.dao.pojo","com.dk.mnls_mp.dao.pojo.*"})
+@SpringBootApplication
+@EnableScheduling
+public class MainApplication {
+    public static void main(String[] args) {
+        SpringApplication.run(MainApplication.class, args);
+    }
+
+    @RequestMapping("/")
+    String index() {
+        return "hegii_mp_server";
+    }
+
+    /**
+     * @author : sh4wmoo
+     * @date   : 2021-9-6 10:34
+     * @desc   : 设置定时任务线程池数量
+     */
+    @Bean
+    public TaskScheduler taskScheduler(){
+        ThreadPoolTaskScheduler taskScheduler=new ThreadPoolTaskScheduler();
+        taskScheduler.setPoolSize(10);
+        return taskScheduler;
+    }
+}

+ 13 - 0
src/main/java/com/dk/mnls_mp/NoWarnMapper.java

@@ -0,0 +1,13 @@
+package com.dk.mnls_mp;
+
+import org.apache.ibatis.annotations.Mapper;
+
+/**
+ * @author : sh4wmoo
+ * @date   : 2021-10-21 15:17
+ * @desc   : doScan()会扫描启动类同级目录下的mapper接口,但是合理的目录结果绝对不允许所有的mapper都在启动类目录下
+ *           所以在启动类目录下添加了一个伪mapper,解决项目启动的warn警告
+ */
+@Mapper
+public interface NoWarnMapper {
+}

+ 11 - 0
src/main/java/com/dk/mnls_mp/base/BaseController.java

@@ -0,0 +1,11 @@
+package com.dk.mnls_mp.base;
+
+import org.springframework.web.bind.annotation.CrossOrigin;
+
+@CrossOrigin(
+        origins = {"*"},
+        allowCredentials = "true"
+)
+public class BaseController {
+
+}

+ 122 - 0
src/main/java/com/dk/mnls_mp/base/ResponseCodeEnum.java

@@ -0,0 +1,122 @@
+package com.dk.mnls_mp.base;
+
+/**
+ * 类名: ResponseCodeEnum
+ * 介绍:
+ * 日期: 2019/6/14 13:07
+ * 作者: zdp
+ */
+public enum ResponseCodeEnum {
+
+    // 系统通用
+    SUCCESS(200, "操作成功"),
+
+    OPERATE_FAIL(666, "系统异常"),
+
+    SELECT_BY_ID_NULL(101, "查无此项"),
+
+    INSERT_FAIL(102, "添加失败"),
+
+    UPDATE_FAIL(103, "修改失败"),
+
+    DELETE_FAIL(104, "删除失败"),
+
+
+    TOKEN_OVERDUE(105, "登陆信息过期,请重新登陆"),
+
+    /**
+     * 对不起,您没有本功能的操作权限!
+     */
+    NO_ACCESS(106, "对不起,您没有本功能的操作权限!"),
+
+    /**
+     * 无此方法,请核实
+     */
+    HAS_NOT_METHOD(107, "无此方法,请核实!"),
+
+    /**
+     * 用户登录校验
+     */
+    HAS_NOT_TOKEN(108, "您还没有登陆!"),
+
+    USER_IIS_STOP(109, "用户已停用!"),
+
+    USER_PASSWORD_CHANGE(110, "用户密码发生改变,请重新登陆!"),
+
+    USER_LOGIN_OTHER(111, "用户已在其他设备登陆!"),
+
+    USER_IS_LOCKED(112, "用户已锁死!请联系管理员解锁。"),
+
+    NO_USER_CODE(113, "用户编码为必输项!"),
+
+    NO_PASSWORD(114, "密码为必输项!"),
+
+    TOKEN_CREATE_FAIL(115, "创建TOKEN失败!请联系管理员。"),
+
+    LOGIN_EXCEPTION(116, "未知原因登录异常,请联系管理员。"),
+
+
+    LOGIN_NO_USER_CODE(117, "用户不存在!"),
+
+    LOGIN_NO_PASSWORD(118, "密码不正确!"),
+
+    PARAM_ILLEGAL(231, "参数不合法!"),
+
+    NOLOGIN_ERROR(232, "没有登录"),
+    // 通用
+    CODE_HAS_SPE_CHAR(233, "编码中包含特殊字符!"),
+
+
+    GET_TOKEN_FAIL(234, "调用后台获取TOKEN失败!"),
+
+    //ServerManager
+    UPDATEFLAG_NOT_FOND(131, "状态修改失败!"),
+
+    SERVERCODE_IS_NULL(132, "服务器编码不能为空!"),
+
+    SERVERNAME_IS_NULL(133, "服务器名称不能为空!"),
+
+    SERVERIP_IS_NULL(134, "服务器IP不能为空!"),
+
+    SERVERPORT_IS_NULL(135, "服务器端口不能为空!"),
+
+    SERVERPORT_IS_REP(136, "服务器IP端口不能重复!"),
+
+    //订单
+    ORDER_NOT_EXIST(10001, "订单不存在"),
+
+    NO_CUSTOMER_UNIQUE_CODE(10002, "获取经销商信息失败"),
+
+    ORDER_NOT_MATCH(10003, "订单与订单明细信息不匹配"),
+
+    //SAP外部接口
+    SOAP_RESULT_SOAP_IS_NULL(301, "SAP返回空报文"),
+
+    SERVER_CONNECT_OUT(-210, "连接服务器异常"),
+
+    SERVER_ERROR(-999, "服务器异常"),
+
+    //dbinfo
+//    NO_INFO_BY_CUS(20001,"未查询到经销商关联服务器及数据库"),
+
+    /**
+     * 结束
+     */
+    NOT_USE(0000, "无用");
+
+    private Integer code;
+    private String message;
+
+    private ResponseCodeEnum(Integer code, String message) {
+        this.code = code;
+        this.message = message;
+    }
+
+    public final Integer getCode() {
+        return this.code;
+    }
+
+    public final String getMessage() {
+        return this.message;
+    }
+}

+ 32 - 0
src/main/java/com/dk/mnls_mp/base/UserRightCheck.java

@@ -0,0 +1,32 @@
+package com.dk.mnls_mp.base;
+
+import java.lang.annotation.*;
+
+/**
+ * @Description : 标识action是否需要用户权限验证
+ * @ClassName : UserRightCheck
+ * @Author : Chenxy
+ * @Date : 2016年8月23日 下午3:50:40
+ */
+@Documented
+@Inherited
+@Target(ElementType.METHOD)
+@Retention(RetentionPolicy.RUNTIME)
+public @interface UserRightCheck {
+
+    /**
+     * @return 权限类型
+     * @Description : 无需验证类型
+     * @Author : Chenxy
+     * @Date : 2016年9月6日 上午11:16:47
+     */
+    public UserRightCheckKind check() default UserRightCheckKind.NeedUserRightCheck;
+
+    /**
+     * @return 功能权限编码
+     * @Description : 允许访问的功能权限编码(多个用,隔开【 001,002】)
+     * @Author : Chenxy
+     * @Date : 2018年5月4日 下午2:35:17
+     */
+    public String code() default "";
+}

+ 33 - 0
src/main/java/com/dk/mnls_mp/base/UserRightCheckKind.java

@@ -0,0 +1,33 @@
+/*******************************************************************************
+ * Copyright(c) 2016 DongkeSoft All rights reserved. / Confidential
+ *
+ * @Title : EUserRightCheckKind.java
+ * @Package : dkcp.enums
+ * @Description : 用户登录验证类型
+ * @Author : Chenxy
+ * @Date : 2016年8月23日 下午4:54:35
+ * @Version : 1.00
+ *******************************************************************************/
+package com.dk.mnls_mp.base;
+
+/**
+ * @Description : 用户登录验证类型
+ * @ClassName : EUserRightCheckKind
+ * @Author : Chenxy
+ * @Date : 2016年8月23日 下午4:54:35
+ */
+public enum UserRightCheckKind {
+
+    /**
+     * @Field None : 无控制
+     */
+    None,
+    /**
+     * @Field NoNeedLonginCheck : 需要登录
+     */
+    NeedLonginCheck,
+    /**
+     * @Field NoNeedUserRightCheck : 需要权限
+     */
+    NeedUserRightCheck,
+}

+ 33 - 0
src/main/java/com/dk/mnls_mp/config/AsyncConfiguration.java

@@ -0,0 +1,33 @@
+package com.dk.mnls_mp.config;
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.scheduling.annotation.EnableAsync;
+import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
+
+import java.util.concurrent.Executor;
+import java.util.concurrent.ThreadPoolExecutor;
+
+/**
+ * @author : sh4wmoo
+ * @date : 2021-4-15 9:27
+ * @desc : 多线程配置类
+ */
+@Configuration
+@EnableAsync
+public class AsyncConfiguration {
+
+    @Bean("pullIbossData")
+    public Executor doSomethingExecutor() {
+        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
+        executor.setCorePoolSize(10);// 核心线程数:线程池创建时候初始化的线程数
+        executor.setMaxPoolSize(20); // 最大线程数:线程池最大的线程数,只有在缓冲队列满了之后才会申请超过核心线程数的线程
+        executor.setQueueCapacity(1000); // 缓冲队列:用来缓冲执行任务的队列
+        executor.setKeepAliveSeconds(60);  // 允许线程的空闲时间60秒:当超过了核心线程之外的线程在空闲时间到达之后会被销毁
+        executor.setThreadNamePrefix("pull-iboss-data-"); // 线程池名的前缀:设置好了之后可以方便我们定位处理任务所在的线程池
+        executor.setRejectedExecutionHandler(new ThreadPoolExecutor.CallerRunsPolicy());  // 缓冲队列满了之后的拒绝策略:以调用者线程继续执行
+        executor.initialize();
+        return executor;
+    }
+
+}

+ 45 - 0
src/main/java/com/dk/mnls_mp/config/Config.java

@@ -0,0 +1,45 @@
+package com.dk.mnls_mp.config;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+
+/**
+ * 静态资源类
+ */
+@Configuration("other")
+public class Config {
+
+    /**
+     * token过期时常(分钟)
+     */
+    public static final int TOKEN_EXPIRES = 60 * 1;
+
+    /**
+     * JWT工具类中储存的key
+     */
+    public static final String JWT_TOKEN_KEY = "USER";
+
+    /**
+     * 默认密码
+     */
+    public static final String PASSWORD = "dongke";
+
+    @Value("${uploadUrl}")
+    private String uploadUrl;
+    @Value("${fileUrl}")
+    private String fileUrl;
+    @Value("${runType}")
+    private String runType;
+
+    public String getUploadUrl() {
+        return uploadUrl;
+    }
+
+    public String getFileUrl() {
+        return fileUrl;
+    }
+
+    public String getRunType() {
+        return runType;
+    }
+}

+ 31 - 0
src/main/java/com/dk/mnls_mp/config/ConfigStatic.java

@@ -0,0 +1,31 @@
+package com.dk.mnls_mp.config;
+
+import lombok.Data;
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.stereotype.Component;
+
+import javax.annotation.PostConstruct;
+
+@Component
+@Data
+public class ConfigStatic {
+
+    private static String hegiiMpUrl;
+    /**
+     * @author : sh4wmoo
+     * @date : 2021-2-4 13:02
+     * @desc : hegii-mp-url
+     */
+    @Value("${hegii-mp-url}")
+    private String url;
+
+    public static String getHegiiMpUrl() {
+        return hegiiMpUrl;
+    }
+
+    @PostConstruct
+    public void setHegiiMpUrl() {
+        hegiiMpUrl = this.url;
+    }
+
+}

+ 61 - 0
src/main/java/com/dk/mnls_mp/config/CrmConfig.java

@@ -0,0 +1,61 @@
+package com.dk.mnls_mp.config;
+
+import org.springframework.beans.factory.annotation.Value;
+import org.springframework.context.annotation.Configuration;
+
+@Configuration
+public class CrmConfig {
+
+    /**
+     * @DateTime 2020-06-01 09:28
+     * @Author H_x_d
+     * @Description CRM与第三方系统销售&服务订单接口
+     * @Param
+     * @Return
+     */
+    @Value("${crmOrderUrl}")
+    private String crmOrderUrl;
+    /**
+     * @DateTime 2020-07-02 15:35
+     * @Author sh4wmoo
+     * @Description siebel系统地址
+     * @Param
+     * @Return
+     */
+    @Value("${siebelUrl}")
+    private String siebelUrl;
+    /**
+     * @DateTime 2020-07-03 9:35
+     * @Author sh4wmoo
+     * @Description siebel系统地址
+     * @Param
+     * @Return
+     */
+    @Value("${passwordText}")
+    private String passwordText;
+    /**
+     * @DateTime 2020-07-02 9:35
+     * @Author sh4wmoo
+     * @Description siebel系统地址
+     * @Param
+     * @Return
+     */
+    @Value("${usernameToken}")
+    private String usernameToken;
+
+    public String getCrmOrderUrl() {
+        return crmOrderUrl;
+    }
+
+    public String getSiebelUrl() {
+        return siebelUrl;
+    }
+
+    public String getPasswordText() {
+        return passwordText;
+    }
+
+    public String getUsernameToken() {
+        return usernameToken;
+    }
+}

+ 47 - 0
src/main/java/com/dk/mnls_mp/config/DBPoolConfig.java

@@ -0,0 +1,47 @@
+package com.dk.mnls_mp.config;
+
+
+import com.alibaba.druid.pool.DruidDataSource;
+import com.alibaba.druid.support.http.StatViewServlet;
+import com.alibaba.druid.support.http.WebStatFilter;
+import org.springframework.boot.context.properties.ConfigurationProperties;
+import org.springframework.boot.web.servlet.FilterRegistrationBean;
+import org.springframework.boot.web.servlet.ServletRegistrationBean;
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+
+import javax.sql.DataSource;
+
+
+@Configuration
+public class DBPoolConfig {
+
+    @Bean
+    public ServletRegistrationBean druidServlet() { // 主要实现WEB监控的配置处理
+        ServletRegistrationBean servletRegistrationBean = new ServletRegistrationBean(
+                new StatViewServlet(), "/druid/*"); // 现在要进行druid监控的配置处理操作
+//        servletRegistrationBean.addInitParameter("allow", "127.0.0.1"); // 白名单
+        // servletRegistrationBean.addInitParameter("deny", "192.168.1.200"); // 黑名单
+        servletRegistrationBean.addInitParameter("loginUsername", "dongke"); // 用户名
+        servletRegistrationBean.addInitParameter("loginPassword", "dongke"); // 密码
+        servletRegistrationBean.addInitParameter("resetEnable", "false"); // 是否可以重置数据源
+        return servletRegistrationBean;
+    }
+
+    @Bean
+    public FilterRegistrationBean filterRegistrationBean() {
+        FilterRegistrationBean filterRegistrationBean = new FilterRegistrationBean();
+        filterRegistrationBean.setFilter(new WebStatFilter());
+        filterRegistrationBean.addUrlPatterns("/*"); // 所有请求进行监控处理
+        filterRegistrationBean.addInitParameter("exclusions", "*.js,*.gif,*.jpg,*.css,/druid/*");
+        return filterRegistrationBean;
+    }
+
+    //监控需要
+    @Bean
+    @ConfigurationProperties(prefix = "spring.datasource")
+    public DataSource dataSource() {
+        return new DruidDataSource();
+    }
+
+}

+ 57 - 0
src/main/java/com/dk/mnls_mp/config/ExceptionController.java

@@ -0,0 +1,57 @@
+package com.dk.mnls_mp.config;
+
+import com.dk.mnls_mp.base.ResponseCodeEnum;
+import com.dongke.base.exceptionHandler.ResponseResultUtil;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.boot.web.servlet.error.ErrorAttributes;
+import org.springframework.boot.web.servlet.error.ErrorController;
+import org.springframework.stereotype.Controller;
+import org.springframework.web.bind.annotation.ControllerAdvice;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.ResponseBody;
+import org.springframework.web.context.request.ServletWebRequest;
+import org.springframework.web.context.request.WebRequest;
+
+import javax.servlet.http.HttpServletRequest;
+import java.util.Map;
+
+/**
+ * @author : sh4wmoo
+ * @date : 2021-11-10 13:34
+ * @desc : GlobalExceptionHandler拦截不到404,用此Controller特殊处理
+ */
+@Controller
+@ControllerAdvice
+@Slf4j
+public class ExceptionController implements ErrorController {
+    @Autowired
+    private ErrorAttributes error;// 用来获取当前异常信息
+
+    @RequestMapping("error") // 这里的error不能修改,详情看BasicErrorController源码,主要用来捕获404异常
+    @ResponseBody
+    public ResponseResultVO handleError(HttpServletRequest request) {
+        Object resData = "";
+        String requestParam = "";
+        String requestUrl = "";
+        String contentType = "";
+        String requestMethod = "";
+        String message = ResponseCodeEnum.OPERATE_FAIL.getMessage();
+
+        WebRequest webRequest = new ServletWebRequest(request);
+        Map<String, Object> error_attributes = error.getErrorAttributes(webRequest, false);
+        if (error_attributes.get("status").toString().equals("404")) {
+            message = "不存在的接口!";
+            resData = error_attributes.get("path");
+            requestUrl = error_attributes.get("path").toString();
+        }
+        log.error(message + "REQUEST_URL=>{},REQUEST_METHOD=>{},CONTENT_TYPE=>{},REQUEST_PARAM=>{}", requestUrl, requestMethod, contentType, requestParam);
+        return ResponseResultUtil.error(ResponseCodeEnum.OPERATE_FAIL.getCode(), "调用接口失败," + message, resData);
+    }
+
+    @Override
+    public String getErrorPath() {
+        return null;
+    }
+}

+ 18 - 0
src/main/java/com/dk/mnls_mp/config/HegiiAccessToken.java

@@ -0,0 +1,18 @@
+package com.dk.mnls_mp.config;
+
+import lombok.Data;
+
+import java.util.Date;
+
+@Data
+public class HegiiAccessToken {
+    private String accessToken;
+    private String expiresIn;
+    private Date OutTime;
+
+    public HegiiAccessToken(String accessToken, String expiresIn, Date outTime) {
+        this.accessToken = accessToken;
+        this.expiresIn = expiresIn;
+        OutTime = outTime;
+    }
+}

+ 56 - 0
src/main/java/com/dk/mnls_mp/config/HegiiTokenConfig.java

@@ -0,0 +1,56 @@
+package com.dk.mnls_mp.config;
+
+import com.alibaba.fastjson.JSON;
+import com.alibaba.fastjson.JSONObject;
+import com.dk.mnls_mp.base.ResponseCodeEnum;
+import com.dk.mnls_mp.util.HttpHelper;
+import com.dongke.base.exceptionHandler.BaseBusinessException;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import lombok.Data;
+import org.springframework.stereotype.Component;
+
+import java.util.Date;
+import java.util.HashMap;
+import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ConcurrentMap;
+
+@Component
+@Data
+public class HegiiTokenConfig {
+
+
+    public static final String clientId = "7125eafaf1bb45a4852d764e8c76ce06";
+    public static final String clientSecret = "488ef421821e4dbaacd71cc64efa037f";
+    public static volatile ConcurrentMap<String, HegiiAccessToken> accessTokens = new ConcurrentHashMap<>();
+
+    /**
+     * @author : sh4wmoo
+     * @date : 2021-7-20 16:23
+     * @desc : 获取恒洁token,如果已过期则刷新,并发则上锁,确保多线程获取到的token一致,避免重复刷新
+     */
+    public synchronized static HegiiAccessToken getHegiiToken(String clientId, String clientSecret) {
+        if (clientId == null) {
+            clientId = HegiiTokenConfig.clientId;
+        }
+        if (clientSecret == null) {
+            clientSecret = HegiiTokenConfig.clientSecret;
+        }
+        HegiiAccessToken accessToken = accessTokens.get(clientId);
+        if (accessToken == null || (accessToken.getOutTime().getTime() < System.currentTimeMillis())) {
+            refreshToken(clientId, clientSecret);
+        }
+        return accessTokens.get(clientId);
+    }
+
+    public static void refreshToken(String clientId, String clientSecret) {
+        ResponseResultVO res = HttpHelper.httpPost(ConfigStatic.getHegiiMpUrl() + "/api/auth/oauth/token?grant_type=client_credentials&client_id=" + clientId + "&client_secret=" + clientSecret
+                , null, false, null, new HashMap(1) {{
+                    put("Content-Type", "application/x-www-form-urlencoded");
+                }}, null);
+        if (res.getCode() != ResponseCodeEnum.SUCCESS.getCode()) {
+            throw new BaseBusinessException(ResponseCodeEnum.OPERATE_FAIL.getCode(), "获取恒洁中台token失败");
+        }
+        JSONObject jsonObject = JSONObject.parseObject(JSON.toJSONString(res.getData()));
+        accessTokens.put(clientId, new HegiiAccessToken(jsonObject.getString("access_token"), jsonObject.getString("expires_in"), new Date(System.currentTimeMillis() + Long.valueOf(jsonObject.getString("expires_in")) - 1000 * 60 * 5)));
+    }
+}

+ 24 - 0
src/main/java/com/dk/mnls_mp/config/IbossProxy.java

@@ -0,0 +1,24 @@
+package com.dk.mnls_mp.config;
+
+import java.lang.reflect.InvocationHandler;
+import java.lang.reflect.Method;
+
+/**
+ * @author : sh4wmoo
+ * @date : 2021-5-10 9:29
+ * @desc : iboss相关Mapper动态代理类
+ */
+public class IbossProxy implements InvocationHandler {
+
+    private Object target;
+
+
+    public IbossProxy(Object target) {
+        this.target = target;
+    }
+
+    @Override
+    public Object invoke(Object proxy, Method method, Object[] args) throws Throwable {
+        return method.invoke(target, args);
+    }
+}

+ 26 - 0
src/main/java/com/dk/mnls_mp/config/RequestConfig.java

@@ -0,0 +1,26 @@
+package com.dk.mnls_mp.config;
+
+import org.springframework.stereotype.Component;
+import org.springframework.web.filter.OncePerRequestFilter;
+import org.springframework.web.util.ContentCachingRequestWrapper;
+
+import javax.servlet.FilterChain;
+import javax.servlet.ServletException;
+import javax.servlet.http.HttpServletRequest;
+import javax.servlet.http.HttpServletResponse;
+import java.io.IOException;
+
+/**
+ * @author : sh4wmoo
+ * @date : 2021-11-4 8:46
+ * @desc : 请求体是流的形式,只能读一次,在解析请求体后,流已经关闭了。将request缓存起来,以便在GlobalExceptionHandler中获取
+ */
+@Component
+public class RequestConfig extends OncePerRequestFilter {
+
+    @Override
+    protected void doFilterInternal(HttpServletRequest httpServletRequest, HttpServletResponse httpServletResponse, FilterChain filterChain) throws ServletException, IOException {
+        filterChain.doFilter(new ContentCachingRequestWrapper(httpServletRequest), httpServletResponse);
+    }
+}
+

+ 19 - 0
src/main/java/com/dk/mnls_mp/config/RestTemplateConfig.java

@@ -0,0 +1,19 @@
+package com.dk.mnls_mp.config;
+
+
+import org.springframework.context.annotation.Bean;
+import org.springframework.context.annotation.Configuration;
+import org.springframework.http.client.SimpleClientHttpRequestFactory;
+import org.springframework.web.client.RestTemplate;
+
+@Configuration
+public class RestTemplateConfig {
+    @Bean
+    public RestTemplate restTemplate() {
+        SimpleClientHttpRequestFactory requestFactory = new SimpleClientHttpRequestFactory();
+        requestFactory.setConnectTimeout(5000);
+        requestFactory.setReadTimeout(3000);
+        RestTemplate restTemplate = new RestTemplate(requestFactory);
+        return restTemplate;
+    }
+}

+ 129 - 0
src/main/java/com/dk/mnls_mp/constant/Constant.java

@@ -0,0 +1,129 @@
+package com.dk.mnls_mp.constant;
+
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * @author : sh4wmoo
+ * @date : 2021-5-8 14:09
+ * @desc : 常量、枚举类
+ */
+public class Constant {
+
+    //    #不需要select_by_crm
+    //    @不需要delete_batch
+    //拉取iboss接口配置枚举,后期再进行拓展只需要增加相应的表、pojo、mapper、xml、和枚举即可。不需要再复制业务代码。
+    public enum PullDataType {
+        SALES_ORDER(0, "订单明细", "GetOrder_Import", false, "dk.hg.dao.pojo.IbossOrderDetail", "dk.hg.dao.mapper.PullOrderDetailMapper"),
+        OUT_ORDER(1, "出库单明细", "GetDelivery_Import", false, "dk.hg.dao.pojo.IbossOutDetail", "dk.hg.dao.mapper.IbossOutDetailMapper"),
+        INVENTORY(2, "库存明细", "GetInventoryInfo_Import", true, "dk.hg.dao.pojo.inventory.Inventory", "dk.hg.dao.mapper.inventory.InventoryMapper"),
+        ORGANIZATION(3, "业务部门", "GetOrganizationInfo_Import", true, "dk.hg.dao.pojo.IbossOrganization", "dk.hg.dao.mapper.IbossOrganizationMapper"),
+        STAFF(4, "业务员", "GetStaffInfo_Import", true, "dk.hg.dao.pojo.IbossStaff", "dk.hg.dao.mapper.IbossStaffMapper"),
+        STAFF_COMMISSION(5, "业务员业绩提成比率", "GetPerformance_Import", false, "dk.hg.dao.pojo.IbossStaffCommission", "dk.hg.dao.mapper.IbossStaffCommissionMapper"),
+        PRESTORED(6, "预收货款", "GetEarnestAndDepositInfo_Import", false, "dk.hg.dao.pojo.IbossPrestored", "dk.hg.dao.mapper.IbossPrestoredMapper"),
+        SALES_RETURN(7, "销售退货单", "GetSalesReturn_Import", false, "dk.hg.dao.pojo.IbossSalesReturn", "dk.hg.dao.mapper.IbossSalesReturnMapper"),
+        SALES_MARGIN(8, "销售冲差单", "GetSalesSpread_Import", false, "dk.hg.dao.pojo.IbossSalesMargin", "dk.hg.dao.mapper.IbossSalesMarginMapper"),
+        RECEIVE(9, "收款单", "GetReceivablesPayInfo_Import", false, "dk.hg.dao.pojo.IbossReceive", "dk.hg.dao.mapper.IbossReceiveMapper"),
+        SALES_ORDER_UPDATE(10, "订单明细变更数据", "GetOrderUpdate_Import", false, "dk.hg.dao.pojo.IbossOrderDetailUpdate", "dk.hg.dao.mapper.IbossOrderDetailUpdateMapper"),
+        SALES_AMOUNT(11, "#@销售额统计", "GetAccountSalesAmount_Import", false, "dk.hg.dao.pojo.IbossSalesAmount", "dk.hg.dao.mapper.IbossSalesAmountMapper"),
+        SALE_RANK(12, "#@销售排行", "GetAccountOrderRank_Import", false, "dk.hg.dao.pojo.IbossSaleRank", "dk.hg.dao.mapper.IbossSaleRankMapper"),
+        ORDER_DETAIL(13, "#@订单明细", "GetOrderReportData_Import", null, "dk.hg.dao.pojo.IbossOrderDetails", "dk.hg.dao.mapper.IbossOrderDetailsMapper"),
+        INVENTORY_CHECK_DETAIL(14, "#@库存盘点明细", "GetInventoryCheckData_MP", null, "dk.hg.dao.pojo.IbossCheckDetail", "dk.hg.dao.mapper.IbossCheckDetailMapper"),
+        OUT_ORDER_DETAIL(15, "#@出库单全明细", "GetInventoryDeliveryDetail_MP", null, "dk.hg.dao.pojo.IbossDeliveryDetail", "dk.hg.dao.mapper.IbossDeliveryDetailMapper"),
+        ;
+
+        private int id;//与t_mst_iboss_pulldetail.type对应
+        private String name;//接口名称
+        private String functionName;//functionName与iBOSS接口名称对应
+        private Boolean truncation;//截断标识,true代表每天都要截断表,不留存数据。反之则不删除,继续累加
+        private String clazz;//pojo,不同的枚举,调用不同的iBOSS接口,对应不同的pojo
+        private String interfz;//mapper,不同的枚举,不同的接口,对应不同的mapper
+
+        PullDataType(int id, String name, String functionName, Boolean truncation, String clazz, String interfz) {
+            this.id = id;
+            this.name = name;
+            this.functionName = functionName;
+            this.truncation = truncation;
+            this.clazz = clazz;
+            this.interfz = interfz;
+        }
+
+        //获取指定的枚举
+        public static PullDataType getById(int id) {
+            for (PullDataType type : values()) {
+                if (type.getId() == id) {
+                    return type;
+                }
+            }
+            return null;
+        }
+
+        public int getId() {
+            return id;
+        }
+
+        public String getFunctionName() {
+            return functionName;
+        }
+
+        public String getName() {
+            return name;
+        }
+
+        public Boolean isTruncation() {
+            return truncation;
+        }
+
+        public String getClazz() {
+            return clazz;
+        }
+
+        public String getInterfz() {
+            return interfz;
+        }
+    }
+
+    public enum IbossStatusOfNeeds {
+        NEEDS_INVALID(-1, "厂家需求作废"),
+        NEEDS_IN_REVIEW(1, "厂家需求审核中"),
+        //        NEEDS_REVIEW_FAILED(2,"厂家需求审核未通过"),
+        NEEDS_REVIEW_SUCCESS(3, "东科受理中"),
+        //        PLAN_IN_REVIEW(4,"厂家方案审核中"),
+//        PLAN_REVIEW_FAILED(5,"厂家方案审核未通过"),
+        NEEDS_IN_TEST(4, "厂家需求测试中"),
+        NEEDS_TEST_SUCCESS(5, "厂家测试完成"),
+        PLAN_REVIEW_SUCCESS(6, "东科派工中"),
+        RELEASE(7, "用户结案验收中"),
+        COMPLETE(8, "用户结案验收"),
+        ;
+        private int ibossStatus;
+        private String ibossStatusName;
+
+        IbossStatusOfNeeds(int ibossStatus, String ibossStatusName) {
+            this.ibossStatus = ibossStatus;
+            this.ibossStatusName = ibossStatusName;
+        }
+
+        //获取枚举集合
+        public static List<Map<String, Object>> getAll() {
+            List<Map<String, Object>> data = new ArrayList<>();
+            for (IbossStatusOfNeeds i : values()) {
+                Map<String, Object> map = new HashMap<>();
+                map.put("ibossStatus", i.ibossStatus);
+                map.put("ibossStatusName", i.ibossStatusName);
+                data.add(map);
+            }
+            return data;
+        }
+
+        public int getIbossStatus() {
+            return ibossStatus;
+        }
+
+        public String getIbossStatusName() {
+            return ibossStatusName;
+        }
+    }
+}

+ 55 - 0
src/main/java/com/dk/mnls_mp/controller/ChannelController.java

@@ -0,0 +1,55 @@
+package com.dk.mnls_mp.controller;
+
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.pojo.Channel;
+import com.dk.mnls_mp.service.ChannelService;
+import com.dk.mnls_mp.base.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+
+/**
+ * 渠道Controller层
+ */
+@RestController
+@RequestMapping("channelManage/")
+public class ChannelController extends BaseController {
+
+    @Autowired
+    private ChannelService channelService;
+
+    /**
+     * 查询
+     * @param channel
+     * @return
+     */
+    @PostMapping("selectChannel")
+    @UserRightCheck(code = "003002002")
+    public ResponseResultVO selectChannel(@RequestBody Channel channel){
+        return channelService.selectChannel(channel);
+    }
+
+    /**
+     * 新建/编辑
+     * @param channel
+     * @return
+     */
+    @PostMapping("saveChannel")
+    @UserRightCheck(code = "003002002001,003002002002")
+    public ResponseResultVO saveChannel(@RequestBody Channel channel){
+        return channelService.saveChannel(channel);
+    }
+
+    /**
+     * 数据字典管理:删除
+     * @param list
+     * @return
+     */
+    @PostMapping("delChannel")
+    @UserRightCheck(code = "003002002003")
+    public ResponseResultVO delChannel(@RequestBody List<Channel> list) {
+        return channelService.delChannel(list);
+    }
+}

+ 234 - 0
src/main/java/com/dk/mnls_mp/controller/CodeController.java

@@ -0,0 +1,234 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.dao.pojo.*;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.mapper.CodeRecordMapper;
+import com.dk.mnls_mp.dao.pojo.*;
+import com.dk.mnls_mp.service.CodeService;
+import com.dk.mnls_mp.service.SynchFacService;
+import com.dk.mnls_mp.util.ExcelHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
+
+/**
+ * 商品信息管理Controller层
+ */
+@RestController
+@RequestMapping("codeManage/")
+public class CodeController extends BaseController {
+
+    @Autowired
+    private CodeService codeService;
+
+    @Autowired
+    private CodeRecordMapper codeRecordMapper;
+
+    @Autowired
+    private SynchFacService synchFacService;
+
+    /**
+     * 商品信息管理:查询
+     * @param codeRecord
+     * @return
+     */
+    @PostMapping("selectCode")
+    @UserRightCheck(code = "003001001")
+    public ResponseResultVO selectCode(@RequestBody CodeRecord codeRecord){
+        return codeService.selectCode(codeRecord);
+    }
+
+    /**
+     * 商品信息管理:启用/停用/删除
+     * @param map
+     * @return
+     */
+    @PostMapping("statusChange")
+    @UserRightCheck(code = "003001001")
+    public ResponseResultVO statusChange(@RequestBody Map<String, Object> map) {
+        return codeService.statusChange(map);
+    }
+
+    /**
+     * 商品种类关联系列
+     * @return
+     */
+    @PostMapping("selectKindSeries")
+    @UserRightCheck(code = "003001001")
+    public ResponseResultVO selectKindSeries(@RequestBody SeriesRecord seriesRecord) {
+        return codeService.selectKindSeries(seriesRecord);
+    }
+
+    /**
+     * 商品信息管理:查询所有下拉框
+     * @return
+     */
+    @PostMapping("selectAllSelected")
+    @UserRightCheck(code = "003001001")
+    public ResponseResultVO selectAllSelected() {
+        return codeService.selectAllSelected();
+    }
+
+    /**
+     * 商品信息管理:新建/编辑:保存
+     * @param codeRecord
+     * @return
+     */
+    @PostMapping("saveCode")
+    @UserRightCheck(code = "003001001001,003001001002")
+    public ResponseResultVO saveCode(@RequestBody CodeRecord codeRecord) {
+        return codeService.saveCode(codeRecord);
+    }
+
+    /**
+     * 商品信息管理:同步:查询所有服务器和客户信息/经销商会计科目:查询所有服务器和客户信息
+     * @return
+     */
+    @PostMapping("selectWCFIDList")
+    @UserRightCheck(code = "003001001")
+    public ResponseResultVO selectWCFIDList(@RequestBody WCFinfo wcfinfo){
+        return codeService.selectWCFIDList(wcfinfo);
+    }
+
+    @PostMapping("selectWCFIDListAll")
+    @UserRightCheck(code = "003001001")
+    public ResponseResultVO selectWCFIDListAll(@RequestBody WCFinfo wcfinfo){
+        return codeService.selectWCFIDListAll(wcfinfo);
+    }
+
+
+    /**
+     * 商品信息管理:查询计量单位
+     * @param measurementUnit
+     * @return
+     */
+    @PostMapping("selectComUnit")
+    @UserRightCheck(code = "003001001")
+    public ResponseResultVO selectComUnit(@RequestBody MeasurementUnit measurementUnit){
+        return codeService.selectComUnit(measurementUnit);
+    }
+
+    /**
+     * 商品信息管理:查询商品种类
+     * @param kindRecord
+     * @return
+     */
+    @PostMapping("selectComKind")
+    @UserRightCheck(code = "003001001")
+    public ResponseResultVO selectComKind(@RequestBody KindRecord kindRecord){
+        return codeService.selectComKind(kindRecord);
+    }
+
+    /**
+     * 商品信息管理:导入
+     * @param file
+     * @return
+     */
+    @PostMapping("importExcel/{createuserid}")
+    public ResponseResultVO importExcel(MultipartFile file,@PathVariable int createuserid){
+        System.out.println("11" +createuserid);
+        List<CodeRecord> list = ExcelHelper.importExcel(file,0,1,CodeRecord.class);
+        return codeService.importExcel(list,createuserid);
+    }
+
+    /**
+     * 商品信息管理:导出
+     * @return
+     */
+    @GetMapping("downClick")
+    @UserRightCheck(code = "003001001")
+    public void exportExcel(HttpServletResponse response,@RequestParam String code, @RequestParam String onlycode,
+                            @RequestParam List<String> goodsstatusList,
+                            @RequestParam List<Integer> kindidList,
+                            @RequestParam Integer checkflag,
+                            @RequestParam String goodsname,
+                            @RequestParam Integer goodsstatus,
+                            @RequestParam Integer varietyid,
+                            @RequestParam Integer valueflag, @RequestParam String startupdatetime,@RequestParam String endupdatetime,
+                            @RequestParam String startcreatetime,@RequestParam String endcreatetime,
+                            @RequestParam Integer pagesize, @RequestParam Integer currentline){
+
+
+        CodeRecordModel codeRecord = new CodeRecordModel();
+        codeRecord.setCode(code);
+        codeRecord.setOnlycode(onlycode);
+        codeRecord.setValueflag(valueflag);
+        codeRecord.setStartupdatetime(startupdatetime);
+        codeRecord.setEndupdatetime(endupdatetime);
+        codeRecord.setStartcreatetime(startcreatetime);
+        codeRecord.setEndcreatetime(endcreatetime);
+        codeRecord.setPagesize(pagesize);
+        codeRecord.setCurrentline(currentline);
+        codeRecord.setKindidList(kindidList);
+        codeRecord.setGoodsstatusList(goodsstatusList);
+        codeRecord.setCheckflag(checkflag);
+        codeRecord.setGoodsname(goodsname);
+        codeRecord.setGoodsstatus(goodsstatus);
+        codeRecord.setVarietyid(varietyid);
+
+
+        ExcelHelper.exportExcel(codeRecordMapper.selectCodeDown(codeRecord),
+                null,"商品编码", CodeRecordModel.class,
+                "商品编码导出数据 - 恒洁版.xls",response);
+    }
+
+    /**
+     * 商品信息管理:导出模板
+     * @return
+     */
+    @GetMapping("downClickModel")
+    @UserRightCheck(code = "003001001")
+    public void downClickModel(HttpServletResponse response){
+        ArrayList<CodeRecord> list = new ArrayList<>();
+        ExcelHelper.exportExcel(list,
+                null,"商品编码", CodeRecord.class,
+                "商品编码导入模板 - 恒洁版.xls",response);
+    }
+
+    /**
+     * 厂家商品编码推送借口
+     * @return
+     */
+    @PostMapping("FactoryGoodsCode")
+    @UserRightCheck(code = "003001001006")
+    public ResponseResultVO FactoryGoodsCode(@RequestBody List<CodeRecord> codeList){
+        return codeService.FactoryGoodsCode(codeList);
+    }
+
+    /**
+     * 厂家商品编码推送借口
+     * @return
+     */
+    @PostMapping("FactoryGetToken")
+    public ResponseResultVO FactoryGetToken(@RequestBody User user){
+        return codeService.FactoryGetToken(user);
+    }
+
+
+    @PostMapping("list_by_part/{part}")
+    public ResponseResultVO selectByPart(@PathVariable String part){
+        return codeService.selectByPart(part);
+    }
+
+    /**
+     * 商品信息管理:商品编码批量审核
+     */
+    @PostMapping("checkCode")
+    @UserRightCheck(code = "003001001")
+    public ResponseResultVO checkCode(@RequestBody List<CodeRecord> codeRecord){
+        return codeService.checkCode(codeRecord);
+    }
+
+    /**
+     * 商品信息管理:商品编码批量反审核
+     */
+    @PostMapping("uncheckCode")
+    public ResponseResultVO uncheckCode(@RequestBody  List<CodeRecord> codeRecord){
+        return codeService.uncheckCode(codeRecord);
+    }
+}

+ 76 - 0
src/main/java/com/dk/mnls_mp/controller/CodeHistoryController.java

@@ -0,0 +1,76 @@
+package com.dk.mnls_mp.controller;
+
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dongke.base.service.BaseService;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.pojo.CodeHistory;
+import com.dk.mnls_mp.dao.pojo.CodeHistoryDetail;
+import com.dk.mnls_mp.dao.pojo.CodeRecord;
+import com.dk.mnls_mp.service.CodeHistoryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("code_history")
+public class CodeHistoryController extends BaseController<CodeHistory> {
+
+    @Autowired
+    private CodeHistoryService codeHistoryService;
+
+    @Override
+    public BaseService<CodeHistory> getService() {
+        return codeHistoryService;
+    }
+
+    /**
+     * @DateTime 2020-06-08 14:12
+     * @Author H_x_d
+     * @Description selectDetailByCond 查明细
+     * @Param [codeHistoryDetail]
+     * @Return com.dongke.base.exceptionHandler.ResponseResultVO<com.dongke.base.pojo.PageList < dk.hg.dao.pojo.CodeHistoryDetail>>
+     */
+    @PostMapping("detail_list")
+    @UserRightCheck(code = "004004001")
+/*    public ResponseResultVO<PageList<CodeHistoryDetail>> selectDetailByCond(@RequestBody CodeHistoryDetail codeHistoryDetail) {
+        return codeHistoryService.selectDetailByCond(codeHistoryDetail);
+    }*/
+    public ResponseResultVO getDetailList(@RequestBody CodeRecord codeRecord) {
+        return codeHistoryService.getDetailList(codeRecord);
+    }
+
+    @PostMapping("get_by_crm")
+    public ResponseResultVO<Object> getByCrm(@RequestBody CodeRecord codeRecord) {
+        /**
+         * @date_time 2020-07-09 14:08
+         * @author H_x_d
+         * @description 把crm抓取失败的数据整理重新编辑
+         * @param [codeHistoryDetail]
+         * @return com.dongke.base.exceptionHandler.ResponseResultVO<java.util.Map < java.lang.String, java.lang.Object>>
+         */
+        return codeHistoryService.getByCrm(codeRecord);
+    }
+
+//    @PostMapping("update_do_status/{codeId}")
+//    public ResponseResultVO updateDoStatus(@PathVariable String codeId){
+//        codeHistoryService.updateDoStatus(codeId);
+//        return ResponseResultUtil.success();
+//    }
+
+    /**
+     * @DateTime 2020-08-27 17:04
+     * @Author feiy
+     * @Description 批量审核
+     */
+    @PostMapping("checkCode")
+    @UserRightCheck(code = "004004002")
+    public ResponseResultVO checkCode(@RequestBody List<CodeHistoryDetail> record) {
+        return codeHistoryService.checkCode(record);
+    }
+}

+ 43 - 0
src/main/java/com/dk/mnls_mp/controller/CrmController.java

@@ -0,0 +1,43 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.service.CrmService;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("crm_hegii/")
+public class CrmController extends BaseController {
+
+    @Autowired
+    private CrmService crmService;
+
+    /**
+     * 向CRM推送订单明细/推送出库明细/推送库存明细
+     * @return
+             */
+    @PostMapping("crmPushOrdDetailInfoList")
+    @UserRightCheck(code = "HEG001")
+    public ResponseResultVO crmPushDetailInfoList(@RequestBody Map<String,Object> data){
+        //定义返回集合
+        return crmService.crmPushDetailInfoList(data);
+    }
+
+    /**
+     * crm拉取数据情况
+     * @return
+     */
+    @PostMapping("updateCrmPushStatus")
+    @UserRightCheck(code = "HEG002")
+    public ResponseResultVO updateCrmPushStatus(@RequestBody Map<String,Object> data){
+        //定义返回集合
+        return crmService.updateCrmPushStatus(data);
+    }
+}

+ 40 - 0
src/main/java/com/dk/mnls_mp/controller/CrmOrderController.java

@@ -0,0 +1,40 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.dao.pojo.CrmOrder;
+import com.dk.mnls_mp.service.CrmOrderService;
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dongke.base.service.BaseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+@RestController
+@RequestMapping("crm_order")
+public class CrmOrderController extends BaseController<CrmOrder> {
+
+    @Autowired
+    private CrmOrderService crmOrderService;
+
+    @Override
+    public BaseService<CrmOrder> getService() {
+        return crmOrderService;
+    }
+
+    @PostMapping("save_batch")
+    public ResponseResultVO saveBatch(@RequestBody List<CrmOrder> crmOrderList) {
+        /**
+         * @date_time 2020-07-01 13:39
+         * @author H_x_d
+         * @description 保存crm同步安装状态的多条订单信息
+         * @param [crmOrderList]
+         * @return com.dongke.base.exceptionHandler.ResponseResultVO
+         */
+        return crmOrderService.saveBatch(crmOrderList);
+    }
+
+}

+ 91 - 0
src/main/java/com/dk/mnls_mp/controller/CrmStoreController.java

@@ -0,0 +1,91 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.service.CrmStoreService;
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.service.BaseService;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.mapper.CrmStoreMapper;
+import com.dk.mnls_mp.dao.pojo.CrmStore;
+import com.dk.mnls_mp.dao.pojo.CrmStoreOne;
+import com.dk.mnls_mp.dao.pojo.Customer;
+import com.dk.mnls_mp.util.ExcelHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.ArrayList;
+import java.util.List;
+
+@RestController
+@RequestMapping("crm_store")
+public class CrmStoreController extends BaseController<CrmStore> {
+
+    @Autowired
+    private CrmStoreService crmStoreService;
+
+    @Autowired
+    private CrmStoreMapper crmStoreMapper;
+
+    @Override
+    public BaseService<CrmStore> getService() {return crmStoreService;}
+
+    @PostMapping({"selectCustomer"})
+    public ResponseResultVO selectAllCustomer(@RequestBody Customer customer) { return crmStoreService.selectAllCustomer(customer);}
+
+    @PostMapping({"saveCrmStore"})
+    public ResponseResultVO saveCrmStore(@RequestBody CrmStore crmStore) {return crmStoreService.saveCrmStore(crmStore);}
+
+    @PostMapping({"selectEdit"})
+    @UserRightCheck(code = "002005002")
+    public ResponseResultVO selectEdit(@RequestBody CrmStore crmStore) { return crmStoreService.selectEdit(crmStore);}
+
+    @PostMapping({"deleteById"})
+    @UserRightCheck(code = "002005003")
+    public ResponseResultVO deleteById(@RequestBody CrmStore crmStore) { return crmStoreService.deleteById(crmStore);}
+
+    //修改状态
+    @PostMapping({"updateStatus"})
+    @UserRightCheck(code = "002005")
+    public ResponseResultVO updateStatus(@RequestBody CrmStore crmStore) { return crmStoreService.updateStatus(crmStore);}
+
+    //导入
+    @PostMapping("importExcel/{createuserid}")
+    public ResponseResultVO importExcel(MultipartFile file, @PathVariable Long createuserid){
+        List<CrmStore> list = ExcelHelper.importExcel(file,0,1, CrmStore.class);
+        return crmStoreService.importExcel(list,createuserid);
+    }
+
+    //导出
+    @GetMapping("exportCrmStore")
+    @UserRightCheck(code = "002005")
+    public void exportCrmStore(HttpServletResponse response,
+                               @RequestParam String code,
+                               @RequestParam String name,
+                               @RequestParam String address,
+                               @RequestParam String uniqueCode,
+                               @RequestParam String customerCode,
+                               @RequestParam String customerName){
+        CrmStore crmStore = new CrmStore();
+        crmStore.setCode(code);
+        crmStore.setName(name);
+        crmStore.setAddress(address);
+        crmStore.setUniqueCode(uniqueCode);
+        crmStore.setCustomerCode(customerCode);
+        crmStore.setCustomerName(customerName);
+        ExcelHelper.exportExcel(crmStoreMapper.selectAllCrmStore(crmStore),
+                null,"CRM门店管理", CrmStore.class,
+                "CRM门店管理导出数据.xls",response);
+    }
+
+    //导出模板
+    @GetMapping("downClickModel")
+    @UserRightCheck(code = "002005")
+    public void downClickModel(HttpServletResponse response){
+        ArrayList<CrmStoreOne> list = new ArrayList<>();
+        ExcelHelper.exportExcel(list,
+                null,"CRM门店管理", CrmStoreOne.class,
+                "CRM门店管理导入模板.xls",response);
+    }
+}

+ 23 - 0
src/main/java/com/dk/mnls_mp/controller/CustomerCategoryController.java

@@ -0,0 +1,23 @@
+package com.dk.mnls_mp.controller;
+
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.service.BaseService;
+import com.dk.mnls_mp.dao.pojo.CustomerCategory;
+import com.dk.mnls_mp.service.CustomerCategoryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/customer_category")
+public class CustomerCategoryController extends BaseController<CustomerCategory> {
+
+    @Autowired
+    private CustomerCategoryService customerCategoryService;
+
+    @Override
+    public BaseService<CustomerCategory> getService() {
+        return customerCategoryService;
+    }
+
+}

+ 151 - 0
src/main/java/com/dk/mnls_mp/controller/CustomerController.java

@@ -0,0 +1,151 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.mapper.CustomerMapper;
+import com.dk.mnls_mp.dao.pojo.Customer;
+import com.dk.mnls_mp.service.CustomerService;
+import com.dk.mnls_mp.util.ExcelHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 客户信息管理Controller层
+ */
+@RestController
+@RequestMapping("customerManage/")
+public class CustomerController extends BaseController {
+
+    @Autowired
+    private CustomerService customerService;
+
+    @Autowired
+    private CustomerMapper customerMapper;
+
+    /**
+     * 客户信息管理:查询所有服务信息/通过ID查询服务器信息
+     * @return
+     */
+    @PostMapping("selectWCFIDList")
+    @UserRightCheck(code = "002002")
+    public ResponseResultVO selectWCFIDList(@RequestBody Customer customer){
+        return customerService.selectWCFIDList(customer);
+    }
+
+    /**
+     * 客户信息管理:查询
+     * @param customer
+     * @return
+     */
+    @PostMapping("selectCustomer")
+//    @UserRightCheck(code = "002002")
+    public ResponseResultVO selectCustomer(@RequestBody Customer customer){
+        return customerService.selectCustomer(customer);
+    }
+
+
+    @GetMapping("exportCustomer")
+    @UserRightCheck(code = "002002")
+    public void exportCustomer(HttpServletResponse response,
+                               @RequestParam String customercode,
+                               @RequestParam String customername,
+                               @RequestParam Integer wcfid,
+                               @RequestParam String dongkeaccountcode){
+        Customer customer = new Customer();
+        customer.setCustomercode(customercode);
+        customer.setCustomername(customername);
+        customer.setWcfid(wcfid);
+        customer.setDongkeaccountcode(dongkeaccountcode);
+        customer.setCurrentline(0);
+        customer.setPagesize(Integer.MAX_VALUE);
+        ExcelHelper.exportExcel(customerMapper.selectCustomer(customer),
+                null,"经销商", Customer.class,
+                "经销商导出数据-恒洁版.xls",response);
+    }
+
+
+    /**
+     * 客户信息管理:查询省市区
+     * @return
+     */
+    @PostMapping("selectAddressData")
+    @UserRightCheck(code = "002002")
+    public ResponseResultVO selectAddressData(){
+        return customerService.selectAddressData();
+    }
+
+    /**
+     * 客户信息管理:新建/编辑:保存
+     * @param customer
+     * @return
+     */
+    @PostMapping("saveCustomer")
+    @UserRightCheck(code = "002002001,002002002")
+    public ResponseResultVO saveCustomer(@RequestBody Customer customer){
+        return customerService.saveCustomer(customer);
+    }
+
+    /**
+     * 客户信息管理:删除
+     * @param customer
+     * @return
+     */
+    @PostMapping("delCustomer")
+    @UserRightCheck(code = "002002")
+    public ResponseResultVO delCustomer(@RequestBody Customer customer){
+        return customerService.delCustomer(customer);
+    }
+
+    /**
+     * 报表:查询客户地址
+     * @param list
+     * @return
+     */
+    @PostMapping("selectReportCity")
+    public ResponseResultVO selectReportCity(@RequestBody List<Customer> list){
+        return customerService.selectReportCity(list);
+    }
+
+
+    @PostMapping("all")
+    @UserRightCheck(code = "002002")
+    public ResponseResultVO selectAllCustomer(){
+        return customerService.selectAllCusForCus();
+    }
+
+    /**
+     * 报表范围
+     * @return
+     */
+    @PostMapping("selectReportCustomer")
+    @UserRightCheck(code = "002002007")
+    public ResponseResultVO selectReportCustomer(){
+        return customerService.selectReportCustomer();
+    }
+
+    /**
+     * 保存报表范围
+     * @return
+     */
+    @PostMapping("saveReportCustomer")
+    @UserRightCheck(code = "002002007")
+    public ResponseResultVO saveReportCustomer(@RequestBody List<Customer> list){
+        return customerService.saveReportCustomer(list);
+    }
+
+    /**
+     * @param map
+     * @return
+     */
+    @PostMapping("statusChange")
+    @UserRightCheck(code = "002002002")
+    public ResponseResultVO statusChange(@RequestBody Map<String, Object> map) {
+        return customerService.statusChange(map);
+    }
+
+}

+ 97 - 0
src/main/java/com/dk/mnls_mp/controller/DataDictionaryController.java

@@ -0,0 +1,97 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.dao.mapper.DataDictionaryMapper;
+import com.dk.mnls_mp.service.DataDictionaryService;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.pojo.DataDictionary;
+import com.dk.mnls_mp.util.ExcelHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 数据字典管理Controller层
+ */
+@RestController
+@RequestMapping("dataDictionaryManage/")
+public class DataDictionaryController extends BaseController {
+
+    @Autowired
+    private DataDictionaryService dataDictionaryService;
+
+    @Autowired
+    private DataDictionaryMapper dataDictionaryMapper;
+
+    /**
+     * 数据字典管理:查询
+     * @param DataDictionary
+     * @return
+     */
+    @PostMapping("selectDataDictionary")
+    @UserRightCheck(code = "003002001")
+    public ResponseResultVO selectDataDictionary(@RequestBody DataDictionary DataDictionary){
+        return dataDictionaryService.selectDataDictionary(DataDictionary);
+    }
+
+    /**
+     * 数据字典管理:查询
+     * @param
+     * @return
+     */
+    @PostMapping("selectDataDictionaryType")
+    @UserRightCheck(code = "003002001")
+    public ResponseResultVO selectDataDictionaryType(@RequestBody DataDictionary DataDictionary){
+        return dataDictionaryService.selectDataDictionaryType(DataDictionary);
+    }
+
+    /**
+     * 数据字典管理:新建/编辑
+     * @param DataDictionary
+     * @return
+     */
+    @PostMapping("saveDataDictionary")
+    @UserRightCheck(code = "003002001001,003002001002")
+    public ResponseResultVO saveDataDictionary(@RequestBody DataDictionary DataDictionary){
+        return dataDictionaryService.saveDataDictionary(DataDictionary);
+    }
+
+    /**
+     * 数据字典管理:删除
+     * @param list
+     * @return
+     */
+    @PostMapping("delDataDictionary")
+    @UserRightCheck(code = "003002001")
+    public ResponseResultVO delDataDictionary(@RequestBody List<DataDictionary> list) {
+        return dataDictionaryService.delDataDictionary(list);
+    }
+
+    /**
+     * 数据字典管理:查询数据字典类型
+     * @return
+     */
+    @PostMapping("selectDictionaryType")
+    @UserRightCheck(code = "003002001")
+    public ResponseResultVO selectDictionaryType() {
+        return dataDictionaryService.selectDictionaryType();
+    }
+
+    /**
+     * 数据字典管理:导出
+     * @return
+     */
+    @GetMapping("downClick")
+    @UserRightCheck(code = "003002001")
+    public void exportExcel(HttpServletResponse response, @RequestParam String dictionaryvalue,@RequestParam String dictionarytype){
+        DataDictionary datadictionary = new DataDictionary();
+        datadictionary.setDictionaryvalue(dictionaryvalue);
+        datadictionary.setDictionarytype(dictionarytype);
+        ExcelHelper.exportExcel(dataDictionaryMapper.selectDataDictionary(datadictionary),
+                null,"数据字典", DataDictionary.class,
+                "数据字典导出数据 - 恒洁版.xls",response);
+    }
+}

+ 70 - 0
src/main/java/com/dk/mnls_mp/controller/DbInfoController.java

@@ -0,0 +1,70 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.dao.pojo.DbInfo;
+import com.dk.mnls_mp.service.DbInfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 服务器信息管理Controller层
+ */
+@RestController
+@RequestMapping("dbinfoManage/")
+public class DbInfoController extends BaseController {
+
+    @Autowired
+    private DbInfoService dbinfoService;
+
+    /**
+     * 分页查询管理信息
+     * @param dbInfo
+     * @return
+     */
+    @PostMapping("selectDbinfoByPage")
+    @UserRightCheck(code = "002003")
+    public ResponseResultVO  selectDbinfoByPage(@RequestBody DbInfo dbInfo){
+        return  dbinfoService.selectDbinfoByPage(dbInfo);
+    }
+
+    /**
+     * 保存
+     */
+    @PostMapping("/saveDbinfo")
+    @UserRightCheck(code = "002003001,002003002")
+    public ResponseResultVO saveDbinfo(@RequestBody DbInfo DbInfo){
+        return  dbinfoService.saveDbinfo(DbInfo);
+    }
+
+    /**
+     * 删除
+     * @param
+     * @return
+     */
+    @PostMapping("delDbinfo")
+    @UserRightCheck(code = "002003003")
+    public ResponseResultVO delDbinfo(@RequestBody DbInfo dbInfo){
+        return  dbinfoService.delDbinfo(dbInfo);
+    }
+
+    /**
+     * 经销商管理:查询端口信息
+     * @return
+     */
+    @PostMapping("selectComDBInfoAll")
+    //@UserRightCheck(code = "002003")
+    public ResponseResultVO selectComDBInfoAll(@RequestBody DbInfo dbInfo){
+        return  dbinfoService.selectComDBInfoAll(dbInfo);
+    }
+
+    @PostMapping("selectComDBInfoSome")
+    @UserRightCheck(code = "002003")
+    public ResponseResultVO selectComDBInfoSome(@RequestBody DbInfo dbInfo){
+        return  dbinfoService.selectComDBInfoSome(dbInfo);
+    }
+}

+ 38 - 0
src/main/java/com/dk/mnls_mp/controller/DictionaryController.java

@@ -0,0 +1,38 @@
+package com.dk.mnls_mp.controller;
+
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dongke.base.service.BaseService;
+import com.dk.mnls_mp.dao.pojo.Dictionary;
+import com.dk.mnls_mp.service.DictionaryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("dictionary")
+public class DictionaryController extends BaseController<Dictionary> {
+
+    @Autowired
+    private DictionaryService dictionaryService;
+
+
+    @Override
+    public BaseService<Dictionary> getService() {
+        return dictionaryService;
+    }
+
+    @PostMapping("get_module_frame_type")
+    public ResponseResultVO<Map<String, Object>> getModuleAndFrame(){
+        return dictionaryService.getModuleAndFrameAndType();
+    }
+
+    @PostMapping("get_Frame")
+    public ResponseResultVO<Map<String, Object>> getFrame(@RequestBody Dictionary dictionary){
+        return dictionaryService.getFrame(dictionary);
+    }
+}

+ 67 - 0
src/main/java/com/dk/mnls_mp/controller/FileController.java

@@ -0,0 +1,67 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.config.Config;
+import com.dk.mnls_mp.service.FileService;
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultUtil;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dongke.base.service.BaseService;
+import lombok.extern.slf4j.Slf4j;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import java.io.File;
+import java.io.IOException;
+import java.util.List;
+import java.util.UUID;
+
+@Slf4j
+@RestController
+@RequestMapping("file")
+public class FileController extends BaseController<com.dk.mnls_mp.dao.pojo.File> {
+
+    @Autowired
+    private FileService fileService;
+
+    @Autowired
+    private Config config;
+
+    @Override
+    public BaseService<com.dk.mnls_mp.dao.pojo.File> getService() {
+        return fileService;
+    }
+
+
+    @PostMapping("/upload/{createUserId}/{createUsername}/{type}")
+    public ResponseResultVO upload(@RequestParam("file") MultipartFile file, @PathVariable Long createUserId,
+                                   @PathVariable Byte type, @PathVariable String createUsername) {
+        if (file.isEmpty()) {
+            return null;
+        }
+
+
+        String fileName = file.getOriginalFilename();
+        String prefix = "." + fileName.substring(fileName.lastIndexOf(".") + 1);
+        String uuid = UUID.randomUUID().toString() + prefix;
+        String filePath = config.getUploadUrl() + uuid;
+        File dir = new File(config.getUploadUrl());
+        if (!dir.exists()) {
+            dir.mkdir();
+        }
+        File dest = new File(filePath);
+
+        try {
+            file.transferTo(dest);
+            return fileService.uploadFile(createUserId, uuid, fileName, type, createUsername);
+        } catch (IOException e) {
+            log.error(e.toString(),e);;
+        }
+        return ResponseResultUtil.error();
+    }
+
+    @PostMapping("get_by_relation/{relationType}/{relationId}")
+    public ResponseResultVO<List<com.dk.mnls_mp.dao.pojo.File>> selectByRelation(@PathVariable Byte relationType, @PathVariable Long relationId){
+        return fileService.selectByRelation(relationType, relationId);
+    }
+}

+ 58 - 0
src/main/java/com/dk/mnls_mp/controller/FormulaController.java

@@ -0,0 +1,58 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.pojo.AreaCalcFormula;
+import com.dk.mnls_mp.service.FormulaService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 面积公式管理Controller层
+ */
+@RestController
+@RequestMapping("formulaManage/")
+public class FormulaController extends BaseController {
+
+    @Autowired
+    private FormulaService formulaService;
+
+    /**
+     * 面积公式管理:查询
+     * @param areaCalcFormula
+     * @return
+     */
+    @PostMapping("selectFormula")
+    @UserRightCheck(code = "003001007")
+    public ResponseResultVO selectFormula(@RequestBody AreaCalcFormula areaCalcFormula){
+        return formulaService.selectFormula(areaCalcFormula);
+    }
+
+    /**
+     * 面积公式管理:新建:保存
+     * @param areaCalcFormula
+     * @return
+     */
+    @PostMapping("saveFormula")
+    @UserRightCheck(code = "003001007001,003001007002")
+    public ResponseResultVO saveFormula(@RequestBody AreaCalcFormula areaCalcFormula) {
+        return formulaService.saveFormula(areaCalcFormula);
+    }
+
+    /**
+     * 面积公式管理:删除
+     * @param list
+     * @return
+     */
+    @PostMapping("delFormula")
+    @UserRightCheck(code = "003001007")
+    public ResponseResultVO delFormula(@RequestBody List<AreaCalcFormula> list) {
+        return formulaService.delFormula(list);
+    }
+}

+ 59 - 0
src/main/java/com/dk/mnls_mp/controller/GradeController.java

@@ -0,0 +1,59 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.pojo.GradeRecord;
+import com.dk.mnls_mp.service.GradeService;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 商品等级管理Controller层
+ */
+@RestController
+@RequestMapping("gradeManage/")
+public class GradeController extends BaseController {
+
+    @Autowired
+    private GradeService gradeService;
+
+    /**
+     * 商品等级管理:查询
+     * @param gradeRecord
+     * @return
+     */
+    @PostMapping("selectGrade")
+    @UserRightCheck(code = "003001006")
+    public ResponseResultVO selectGrade(@RequestBody GradeRecord gradeRecord){
+        return gradeService.selectGrade(gradeRecord);
+    }
+
+    /**
+     * 商品等级管理:新建:保存
+     * @param gradeRecord
+     * @return
+     */
+    @PostMapping("saveGrade")
+    @UserRightCheck(code = "003001006001,003001006002")
+    public ResponseResultVO saveGrade(@RequestBody GradeRecord gradeRecord) {
+        return gradeService.saveGrade(gradeRecord);
+    }
+
+    /**
+     * 商品等级管理:删除
+     * @param list
+     * @return
+     */
+    @PostMapping("delGrade")
+    @UserRightCheck(code = "003001006")
+    public ResponseResultVO delGrade(@RequestBody List<GradeRecord> list) {
+        return gradeService.delGrade(list);
+    }
+
+}

+ 32 - 0
src/main/java/com/dk/mnls_mp/controller/IbossSalesAmountController.java

@@ -0,0 +1,32 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.dao.pojo.IbossSalesAmount;
+import com.dk.mnls_mp.service.IbossSalesAmountService;
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dongke.base.service.BaseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("ibossSalesAmount")
+public class IbossSalesAmountController extends BaseController<IbossSalesAmount> {
+
+    @Autowired
+    private IbossSalesAmountService ibossSalesAmountService;
+
+    @Override
+    public BaseService<IbossSalesAmount> getService() {return ibossSalesAmountService;}
+
+//    @PostMapping({"selectList"})
+//    public ResponseResultVO selectAllCustomer(@RequestBody IbossSalesAmount ibossSalesAmount) { return ibossSalesAmountService.selectCusAndamount(ibossSalesAmount);}
+
+    //订单明细变更数据
+    @PostMapping("selectList")
+    public ResponseResultVO selectAllInfo(@RequestBody IbossSalesAmount ibossSalesAmount) {
+        return ibossSalesAmountService.selectAllInfo(ibossSalesAmount);
+    }
+}

+ 145 - 0
src/main/java/com/dk/mnls_mp/controller/KindController.java

@@ -0,0 +1,145 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.dao.pojo.KindRecord;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.mapper.KindRecordMapper;
+import com.dk.mnls_mp.dao.pojo.SeriesRecord;
+import com.dk.mnls_mp.service.KindService;
+import com.dk.mnls_mp.util.ExcelHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 商品种类管理Controller层
+ */
+@RestController
+@RequestMapping("kindManage/")
+public class KindController extends BaseController {
+
+    @Autowired
+    private KindService kindService;
+
+    @Autowired
+    private KindRecordMapper kindRecordMapper;
+
+    /**
+     * 商品种类管理:查询
+     * @param kindRecord
+     * @return
+     */
+    @PostMapping("selectKindTree")
+    @UserRightCheck(code = "003001002")
+    public ResponseResultVO selectKindTree(@RequestBody KindRecord kindRecord){
+        return kindService.selectKindTree(kindRecord);
+    }
+
+
+    @PostMapping("selectKind")
+    @UserRightCheck(code = "003001002")
+    public ResponseResultVO selectKind(@RequestBody KindRecord kindRecord){
+        return kindService.selectKind(kindRecord);
+    }
+
+    /**
+     * 商品种类管理:新建/编辑:保存
+     * @param kindRecord
+     * @return
+     */
+    @PostMapping("saveKind")
+    @UserRightCheck(code = "003001002001,003001002002,003001002003,003001002004")
+    public ResponseResultVO saveKind(@RequestBody KindRecord kindRecord) {
+        return kindService.saveKind(kindRecord);
+    }
+
+    /**
+     * 商品种类管理:删除
+     * @param list
+     * @return
+     */
+    @PostMapping("delKind")
+    @UserRightCheck(code = "003001002005")
+    public ResponseResultVO delKind(@RequestBody List<Integer> list) {
+        return kindService.delKind(list);
+    }
+
+    /**
+     * 商品种类管理:查询商品品种
+     * @return
+     */
+    @PostMapping("selectComVariety")
+    @UserRightCheck(code = "003001002")
+    public ResponseResultVO selectComVariety() {
+        return kindService.selectComVariety();
+    }
+
+    /**
+     * 商品种类管理:查询商品系列
+     * @return
+     */
+    @PostMapping("selectComSeries")
+    @UserRightCheck(code = "003001002")
+    public ResponseResultVO selectComSeries(@RequestBody SeriesRecord seriesRecord) {
+        return kindService.selectComSeries(seriesRecord);
+    }
+
+
+    /**
+     * 商品种类管理:查询各下拉框数据
+     * @return
+     */
+    @PostMapping("selectAlldata")
+    @UserRightCheck(code = "003001002")
+    public ResponseResultVO selectAlldata() {
+        return kindService.selectAlldata();
+    }
+
+    /**
+     * 商品种类管理:获取二级
+     * @return
+     */
+    @PostMapping("selectKindTwoData")
+    @UserRightCheck(code = "003001002")
+    public ResponseResultVO selectKindTwoData(@RequestBody KindRecord kindRecord) {
+        return kindService.selectKindTwoData(kindRecord);
+    }
+
+    /**
+     * 商品种类管理:导出
+     * @return
+     */
+    @GetMapping("downClick")
+    @UserRightCheck(code = "003001002")
+    public void exportExcel(HttpServletResponse response, @RequestParam String kindcode, @RequestParam String kindname,
+                            @RequestParam Integer pagesize, @RequestParam Integer currentline){
+        KindRecord kindRecord = new KindRecord();
+        kindRecord.setKindcode(kindcode);
+        kindRecord.setKindname(kindname);
+        kindRecord.setPagesize(pagesize);
+        kindRecord.setCurrentline(currentline);
+        ExcelHelper.exportExcel(kindRecordMapper.selectKind(kindRecord),
+                null,"商品种类", KindRecord.class,
+                "商品种类导出数据 - 恒洁版.xls",response);
+    }
+
+
+    /**
+     * @DateTime 2020-05-28 17:03
+     * @Author H_x_d
+     * @Description getKindBySalesName
+     * 通过crm传过来的销售种类,从5到1优先匹配,从销售种类名字查询中台的种类
+     * @Param [salesCategory]
+     * @Return dk.hg.base.ResponseResultVO
+     */
+    @PostMapping("get_by_sales_name")
+    @UserRightCheck(code = "003001002")
+    public ResponseResultVO getKindBySalesName(@RequestBody Map<String, String> map){
+        return kindService.getKindBySalesName(map.get("name"));
+    }
+
+}

+ 35 - 0
src/main/java/com/dk/mnls_mp/controller/LoginController.java

@@ -0,0 +1,35 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.base.BaseController;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.base.UserRightCheckKind;
+import com.dk.mnls_mp.dao.pojo.User;
+import com.dk.mnls_mp.service.LoginService;
+import com.dk.mnls_mp.base.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 登录Controller层
+ */
+@RestController
+public class LoginController extends BaseController {
+
+    @Autowired
+    private LoginService loginService;
+
+    /**
+     * 用户登陆
+     * @param user
+     * @return
+     */
+    @PostMapping("/login")
+    @UserRightCheck(check = UserRightCheckKind.None)
+    public ResponseResultVO login(@RequestBody User user) {
+        return loginService.login(user);
+    }
+
+}

+ 168 - 0
src/main/java/com/dk/mnls_mp/controller/NeedsController.java

@@ -0,0 +1,168 @@
+package com.dk.mnls_mp.controller;
+
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dongke.base.service.BaseService;
+import com.dongke.base.util.DateHelper;
+import com.dk.mnls_mp.dao.pojo.Needs;
+import com.dk.mnls_mp.dao.pojo.NeedsDetail;
+import com.dk.mnls_mp.service.NeedsService;
+import com.dk.mnls_mp.util.ExcelHelper;
+import org.apache.commons.lang.StringUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+import org.springframework.web.multipart.MultipartFile;
+
+import javax.servlet.http.HttpServletResponse;
+import javax.validation.Valid;
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("needs")
+public class NeedsController extends BaseController<Needs> {
+
+    @Autowired
+    private NeedsService needsService;
+
+
+    @Override
+    public BaseService<Needs> getService() {
+        return needsService;
+    }
+
+    @Override
+    public ResponseResultVO<Boolean> insert(@Valid @RequestBody Needs needs) {
+        return super.insert(needs);
+    }
+
+    @Override
+    public ResponseResultVO<Boolean> update(@PathVariable Long id, @Valid @RequestBody Needs needs) {
+        return super.update(id, needs);
+    }
+
+    @PostMapping("insert_detail")
+    public ResponseResultVO insertDetail(@Valid @RequestBody NeedsDetail needsDetail) {
+        return needsService.insertDetail(needsDetail);
+    }
+
+    @PostMapping("update_needAndDetail/{id}")
+    public ResponseResultVO<Boolean> updateNeedAndDetail(@PathVariable Long id, @Valid @RequestBody Needs needs) {
+        return needsService.updateNeedAndDetail(id, needs);
+    }
+
+    @PostMapping("detail_all_forpc/{id}")
+    public ResponseResultVO<Needs> updateNeedAndDetail(@PathVariable Long id) {
+        return needsService.selectByIdForPc(id);
+    }
+
+    @PostMapping("update_detail")
+    public ResponseResultVO updateDetail(@Valid @RequestBody NeedsDetail needsDetail) {
+        return needsService.updateDetail(needsDetail);
+    }
+
+    @PostMapping("detail_list_by")
+    public ResponseResultVO selectDetailByCond(@RequestBody NeedsDetail needsDetail) {
+        return needsService.selectDetailByCond(needsDetail);
+    }
+
+    @PostMapping("delete_detail/{detailId}")
+    public ResponseResultVO deleteDetail(@PathVariable Long detailId) {
+        return needsService.deleteDetail(detailId);
+    }
+
+
+    @PostMapping("bind_file/{id}/{fileId}")
+    public ResponseResultVO bindFile(@PathVariable Long id, @PathVariable Long fileId) {
+        return needsService.bindFile(id, fileId);
+    }
+
+    @GetMapping("export")
+    public void export(HttpServletResponse response,
+                       @RequestParam String no, @RequestParam Integer customerId, @RequestParam String registrant, @RequestParam Short module,
+                       @RequestParam Short frame, @RequestParam String tel, @RequestParam Byte approvalStatus, @RequestParam Byte priority,
+                       @RequestParam Short needsType, @RequestParam Short valueFlag, @RequestParam String registerDateStart,
+                       @RequestParam String registerDateEnd, @RequestParam String approvalDateStart, @RequestParam String approvalDateEnd, @RequestParam String responseDateStart,
+                       @RequestParam String responseDateEnd, @RequestParam String planDateStart, @RequestParam String planDateEnd,
+                       @RequestParam String acceptDateStart, @RequestParam String acceptDateEnd,
+                       @RequestParam String approvalUserName, @RequestParam String responseUserName,
+                       @RequestParam List<Integer> customerIds, @RequestParam List<Short> moduleList,
+                       @RequestParam List<Short> frameList, @RequestParam List<Byte> priorityList,
+                       @RequestParam List<Short> needsTypeList, @RequestParam List<Integer> ibossStatusList,
+                       @RequestParam Integer identitykind
+
+    ) {
+
+        Needs needs = new Needs()
+                .setNo(no).setCustomerId(customerId).setRegistrant(registrant).setModule(module).setFrame(frame)
+                .setTel(tel).setApprovalStatus(approvalStatus).setPriority(priority)
+                .setNeedsType(needsType).setApprovalUserName(approvalUserName).setResponseUserName(responseUserName)
+                .setNeedsTypeList(needsTypeList).setCustomerIds(customerIds).setModuleList(moduleList)
+                .setFrameList(frameList).setPriorityList(priorityList).setIbossStatusList(ibossStatusList)
+                .setIdentitykind(identitykind);
+        if (StringUtils.isNotEmpty(registerDateStart)) {
+            needs.setRegisterDateStart(DateHelper.formatToDate(registerDateStart, "yyyy-MM-dd"));
+        }
+        if (StringUtils.isNotEmpty(registerDateEnd)) {
+            needs.setRegisterDateEnd(DateHelper.formatToDate(registerDateEnd, "yyyy-MM-dd"));
+        }
+        if (StringUtils.isNotEmpty(approvalDateStart)) {
+            needs.setApprovalDateStart(DateHelper.formatToDate(approvalDateStart, "yyyy-MM-dd"));
+        }
+        if (StringUtils.isNotEmpty(approvalDateEnd)) {
+            needs.setApprovalDateEnd(DateHelper.formatToDate(approvalDateEnd, "yyyy-MM-dd"));
+        }
+        if (StringUtils.isNotEmpty(responseDateStart)) {
+            needs.setResponseDateStart(DateHelper.formatToDate(responseDateStart, "yyyy-MM-dd"));
+        }
+        if (StringUtils.isNotEmpty(responseDateEnd)) {
+            needs.setResponseDateEnd(DateHelper.formatToDate(responseDateEnd, "yyyy-MM-dd"));
+        }
+        if (StringUtils.isNotEmpty(planDateStart)) {
+            needs.setPlanDateStart(DateHelper.formatToDate(planDateStart, "yyyy-MM-dd"));
+        }
+        if (StringUtils.isNotEmpty(planDateEnd)) {
+            needs.setPlanDateEnd(DateHelper.formatToDate(planDateEnd, "yyyy-MM-dd"));
+        }
+        if (StringUtils.isNotEmpty(acceptDateStart)) {
+            needs.setAcceptDateStart(DateHelper.formatToDate(acceptDateStart, "yyyy-MM-dd"));
+        }
+        if (StringUtils.isNotEmpty(acceptDateEnd)) {
+            needs.setAcceptDateEnd(DateHelper.formatToDate(acceptDateEnd, "yyyy-MM-dd"));
+        }
+
+        needs.setValueFlag(valueFlag);
+        needsService.export(response, needs);
+    }
+
+
+    @PostMapping("import")
+    public ResponseResultVO importExcel(MultipartFile file) {
+        List<Needs> list = ExcelHelper.importExcel(file, 1, 5, Needs.class);
+        return needsService.importExcel(list);
+    }
+
+
+    @PostMapping("accept")
+    public ResponseResultVO accept(@RequestBody Needs needs) {
+        /**
+         * @date_time 2020-10-30 09:29
+         * @author H_x_d
+         * @description 需求验收
+         * @param [needs] id, acceptRemark 验收备注
+         * @return com.dongke.base.exceptionHandler.ResponseResultVO
+         */
+        return needsService.accept(needs);
+    }
+
+    /**
+     * @author : sh4wmoo
+     * @date   : 2021-7-15 17:39
+     * @desc   : 需求作废
+     */
+    @PostMapping("invalid")
+    public ResponseResultVO invalid(@RequestBody Map<String,Object> params){
+        /*添加作废意见  2021年9月30日10:43:31*/
+        return needsService.invalid(params);
+    }
+}

+ 134 - 0
src/main/java/com/dk/mnls_mp/controller/OrderController.java

@@ -0,0 +1,134 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.dao.mapper.OrderMapper;
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dongke.base.service.BaseService;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.dao.pojo.Order;
+import com.dk.mnls_mp.dao.pojo.OrderDetail;
+import com.dk.mnls_mp.service.OrderService;
+import com.dk.mnls_mp.util.ExcelHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.text.ParseException;
+import java.text.SimpleDateFormat;
+import java.util.Date;
+import java.util.List;
+
+@RestController
+@RequestMapping("order")
+public class OrderController extends BaseController<Order> {
+
+    @Autowired
+    private OrderService orderService;
+
+    @Autowired
+    private OrderMapper orderMapper;
+
+    @Override
+    public BaseService<Order> getService() {
+        return orderService;
+    }
+
+    /**
+     * @DateTime 2020-05-07 16:20
+     * @Author H_x_d
+     * @Description iboss 推送订单退货
+     */
+    @PostMapping("return")
+    public ResponseResultVO<Boolean> returnByIboss(@RequestBody List<OrderDetail> orderDetailList){
+        return orderService.returnByIboss(orderDetailList);
+    }
+
+    @GetMapping("export")
+    public void export(HttpServletResponse response
+            ,@RequestParam String customerCode
+            ,@RequestParam String customerName
+            ,@RequestParam String salesNo
+            ,@RequestParam String crmOrderNo
+            ,@RequestParam String createTimeStartStr
+            ,@RequestParam String createTimeEndStr
+            ,@RequestParam Short syncType
+            ,@RequestParam String telephone
+            ,@RequestParam String createUser
+            ,@RequestParam String updateUser
+            ,@RequestParam String terminalCode
+            ,@RequestParam String terminalName
+            ,@RequestParam String franchiseeCode
+            ,@RequestParam String franchiseeName  ) throws ParseException {
+
+        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+        Date createTimeStart = null;
+        Date createTimeEnd = null;
+        if(!createTimeStartStr.equals("")){
+            createTimeStart = simpleDateFormat.parse(createTimeStartStr);
+        }
+        if(!createTimeEndStr.equals("")){
+            createTimeEnd = simpleDateFormat.parse(createTimeEndStr);
+        }
+
+
+        Order order = new Order();
+        order.setCustomerCode(customerCode);
+        order.setCustomerName(customerName);
+        order.setSalesNo(salesNo);
+        order.setCrmOrderNo(crmOrderNo);
+        order.setCreateTimeStart(createTimeStart);
+        order.setCreateTimeEnd(createTimeEnd);
+        order.setSyncType(syncType);
+        order.setTelephone(telephone);
+        order.setCreateUser(createUser);
+        order.setUpdateUser(updateUser);
+        order.setTerminalCode(terminalCode);
+        order.setTerminalName(terminalName);
+        order.setFranchiseeCode(franchiseeCode);
+        order.setFranchiseeName(franchiseeName);
+       List<Order> orders =  orderMapper.selectByCond(order);
+        orders.forEach(it-> it.setSyncMessage(getAllMessage(it)));
+        ExcelHelper.exportExcel(orders,
+                null,"经销商", Order.class,
+                "销售单信息导出数据-恒洁版.xls",response);
+    }
+
+    public String getAllMessage(Order order){
+        String direction = "";
+        System.out.println(order.getSyncDirection());
+        if(order.getSyncDirection() == null){
+            direction = "无同步信息";
+        }else{
+            if (order.getSyncDirection().equals(new Short("1"))){
+                direction = "推送CRM - 新建"+'\n'+order.getSyncMessage();
+            } else if (order.getSyncDirection().equals(new Short("2"))){
+                direction = "推送CRM - 冲正"+'\n'+order.getSyncMessage();
+            } else if (order.getSyncDirection().equals(new Short("3"))){
+                direction = "推送CRM - 退货"+'\n'+order.getSyncMessage();
+            } else if (order.getSyncDirection().equals(new Short("4"))){
+                direction = "推送IBOSS - 更新"+'\n'+order.getSyncMessage();
+            } else {
+                direction = "无同步信息"+order.getSyncMessage();
+            }
+        }
+      return direction;
+    }
+
+    @PostMapping("seleclDetailForcaseId")
+    public ResponseResultVO seleclDetailForcaseId(@RequestBody Order order){
+        return orderService.seleclDetailForcaseId(order.getId());
+    }
+
+    /**
+     * @DateTime 2020-06-02 15:27
+     * @Author H_x_d
+     * @Description updateFromCrm crm推送过来 已安装数量,保存并同步到iboss
+     * @Param [orderDetailList]
+     * @Return com.dongke.base.exceptionHandler.ResponseResultVO<java.lang.Boolean>
+     */
+//    @PostMapping("update_from_crm")
+//    public ResponseResultVO<Boolean> updateFromCrm(@RequestBody Order order){
+//        return orderService.updateFromCrm(order);
+//    }
+
+}

+ 66 - 0
src/main/java/com/dk/mnls_mp/controller/OrganizationController.java

@@ -0,0 +1,66 @@
+package com.dk.mnls_mp.controller;
+
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.pojo.Organization;
+import com.dk.mnls_mp.service.OrganizationService;
+import com.dk.mnls_mp.base.BaseController;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 组织机构管理Controller层
+ */
+@RestController
+@RequestMapping("organizationManage/")
+public class OrganizationController extends BaseController {
+
+    @Autowired
+    private OrganizationService organizationService;
+
+    /**
+     * 组织机构管理:查询
+     * @param organization
+     * @return
+     */
+    @PostMapping("selectOrganization")
+    @UserRightCheck(code = "001001")
+    public ResponseResultVO selectOrganization(@RequestBody Organization organization){
+        return organizationService.selectOrganization(organization);
+    }
+
+    /**
+     * 组织机构管理:删除
+     * @param organization
+     * @return
+     */
+    @PostMapping("delOrganization")
+    @UserRightCheck(code = "001001")
+    public ResponseResultVO delOrganization(@RequestBody Organization organization) {
+        return organizationService.delOrganization(organization);
+    }
+
+    /**
+     * 组织机构管理:新建/编辑
+     * @param organization
+     * @return
+     */
+    @PostMapping("saveOrganization")
+    @UserRightCheck(code = "001001001,001001002")
+    public ResponseResultVO saveOrganization(@RequestBody Organization organization) {
+        return organizationService.saveOrganization(organization);
+    }
+
+    /**
+     * 组织机构管理:查询所有组织机构
+     * @return
+     */
+    @PostMapping("selectWCFIDList")
+    @UserRightCheck(code = "001001")
+    public ResponseResultVO selectComOrganization(@RequestBody Organization organization){
+        return organizationService.selectComOrganization(organization);
+    }
+}

+ 527 - 0
src/main/java/com/dk/mnls_mp/controller/PullOrderDetailController.java

@@ -0,0 +1,527 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.base.BaseController;
+import com.dk.mnls_mp.constant.Constant;
+import com.dk.mnls_mp.dao.mapper.*;
+import com.dk.mnls_mp.dao.pojo.*;
+import com.dk.mnls_mp.service.pullDetail.PullOrderDetailService;
+import com.dk.mnls_mp.util.ExcelHelper;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.dao.mapper.*;
+import com.dk.mnls_mp.dao.pojo.*;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.text.ParseException;
+import java.util.*;
+
+@RestController
+@RequestMapping("pullOrderDetail/")
+public class PullOrderDetailController extends BaseController {
+
+    @Autowired
+    private PullOrderDetailService pullOrderDetailService;
+
+    @Autowired
+    public com.dk.mnls_mp.dao.mapper.IbossOrganizationMapper IbossOrganizationMapper;
+
+    @Autowired
+    private PullOrderDetailMapper pullOrderDetailMapper;
+
+    @Autowired
+    private IbossPrestoredMapper ibossPrestoredMapper;
+
+    @Autowired
+    private IbossReceiveMapper ibossReceiveMapper;
+
+    @Autowired
+    private IbossSalesMarginMapper ibossSalesMarginMapper;
+
+    @Autowired
+    private IbossSalesReturnMapper ibossSalesReturnMapper;
+
+    @Autowired
+    private IbossStaffMapper ibossStaffMapper;
+
+    @Autowired
+    private IbossStaffCommissionMapper ibossStaffCommissionMapper;
+
+    @Autowired
+    private IbossOrderDetailUpdateMapper ibossOrderDetailUpdateMapper;
+
+    @Autowired
+    private IbossCheckDetailMapper ibossCheckDetailMapper;
+
+    @Autowired
+    private IbossDeliveryDetailMapper ibossDeliveryDetailMapper;
+
+
+    /**
+     * 查询订单明细
+     * @param ibossOrderDetail
+     * @return
+     */
+    @PostMapping("selectIbossOrderDetail")
+    public ResponseResultVO selectIbossOrderDetail(@RequestBody IbossOrderDetail ibossOrderDetail){
+        return pullOrderDetailService.selectIbossOrderDetail(ibossOrderDetail);
+    }
+
+    @GetMapping("export")
+    public void export(HttpServletResponse response
+            ,@RequestParam String accountName
+            ,@RequestParam String customerCode
+            ,@RequestParam String organizationName
+            ,@RequestParam String chlOrganizationName
+            ,@RequestParam String orderNo
+            ,@RequestParam String accountStartDate
+            ,@RequestParam String accountEndDate
+            ,@RequestParam String onlyCode
+            ,@RequestParam String goodsName
+            ,@RequestParam String code
+            ,@RequestParam String customerType
+            ,@RequestParam String customerName
+            ,@RequestParam String pullBeginTime
+            ,@RequestParam String pullEndTime
+            ,@RequestParam String contacts
+            ,@RequestParam String address) throws ParseException {
+
+        /*SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd hh:mm:ss");
+        Date accountStartDate = null;
+        Date accountEndDate = null;
+        if(!accountStartDateStr.equals("")){
+            accountStartDate = simpleDateFormat.parse(accountStartDateStr);
+        }
+        if(!accountEndDateStr.equals("")){
+            accountEndDate = simpleDateFormat.parse(accountEndDateStr);
+        }*/
+        IbossOrderDetail ibossOrderDetail = new IbossOrderDetail();
+        ibossOrderDetail.setAccountName(accountName);
+        ibossOrderDetail.setCustomerCode(customerCode);
+        ibossOrderDetail.setOrganizationName(organizationName);
+        ibossOrderDetail.setChlOrganizationName(chlOrganizationName);
+        ibossOrderDetail.setOrderNo(orderNo);
+        ibossOrderDetail.setAccountStartDate(accountStartDate);
+        ibossOrderDetail.setAccountEndDate(accountEndDate);
+        ibossOrderDetail.setOnlyCode(onlyCode);
+        ibossOrderDetail.setGoodsName(goodsName);
+        ibossOrderDetail.setCode(code);
+        ibossOrderDetail.setCustomerType(customerType);
+        ibossOrderDetail.setCustomerName(customerName);
+        ibossOrderDetail.setPullBeginTime(pullBeginTime);
+        ibossOrderDetail.setPullEndTime(pullEndTime);
+        ibossOrderDetail.setContacts(contacts);
+        ibossOrderDetail.setAddress(address);
+        List<IbossOrderDetail> orders =  pullOrderDetailMapper.selectIbossOrderDetail(ibossOrderDetail);
+        ExcelHelper.exportExcel(orders,
+                null,"经销商", IbossOrderDetail.class,
+                "订单信息导出数据-恒洁版.xls",response);
+    }
+
+    // 业务部门的
+    @GetMapping("export1")
+    public void export1(HttpServletResponse response
+            ,@RequestParam String accountName
+            ,@RequestParam String customerCode
+            ,@RequestParam String sysOrganizationUniqueId
+            ,@RequestParam String organizationCode
+            ,@RequestParam String organizationName
+            ,@RequestParam String telephone
+            ,@RequestParam String pullTimeFrom
+            ,@RequestParam String pullTimeTo
+            ,@RequestParam String kindNameStr) throws ParseException {
+
+        IbossOrganization ibossOrderDetail = new IbossOrganization();
+        ibossOrderDetail.setAccountName(accountName);
+        ibossOrderDetail.setCustomerCode(customerCode);
+        ibossOrderDetail.setSysOrganizationUniqueId(sysOrganizationUniqueId);
+        ibossOrderDetail.setOrganizationName(organizationName);
+        ibossOrderDetail.setOrganizationCode(organizationCode);
+        ibossOrderDetail.setTelephone(telephone);
+        ibossOrderDetail.setPullTimeFrom(pullTimeFrom);
+        ibossOrderDetail.setPullTimeTo(pullTimeTo);
+        List<Map<String,String>> kindNameList = new ArrayList<>();
+        if(kindNameStr != null && kindNameStr != ""){
+            List<String> list = Arrays.asList(kindNameStr.split(","));
+            Map<String,String> map = null;
+            for(String str : list){
+                map = new HashMap<>();
+                map.put(str,str);
+                kindNameList.add(map);
+            }
+        }
+        ibossOrderDetail.setKindNameList(kindNameList);
+                List<IbossOrganization> orders =  IbossOrganizationMapper.selectByConddc(ibossOrderDetail);
+        ExcelHelper.exportExcel(orders,
+                null,"经销商", IbossOrganization.class,
+                "业务部门信息导出数据-恒洁版.xls",response);
+    }
+
+    @GetMapping("export2")
+    public void export2(HttpServletResponse response
+            ,@RequestParam String accountName
+            ,@RequestParam String customerCode
+            ,@RequestParam String staffCode
+            ,@RequestParam String staffName
+            ,@RequestParam String organizationName
+            ,@RequestParam String pullTimeFrom
+            ,@RequestParam String pullTimeTo
+            ,@RequestParam String telephone) throws ParseException {
+
+        IbossStaff ibossOrderDetail = new IbossStaff();
+        ibossOrderDetail.setAccountName(accountName);
+        ibossOrderDetail.setCustomerCode(customerCode);
+        ibossOrderDetail.setOrganizationName(organizationName);
+        ibossOrderDetail.setStaffCode(staffCode);
+        ibossOrderDetail.setStaffName(staffName);
+        ibossOrderDetail.setTelephone(telephone);
+        ibossOrderDetail.setPullTimeFrom(pullTimeFrom);
+        ibossOrderDetail.setPullTimeTo(pullTimeTo);
+
+        List<IbossStaff> orders =  ibossStaffMapper.selectByCondStaff(ibossOrderDetail);
+        ExcelHelper.exportExcel(orders,
+                null,"经销商", IbossStaff.class,
+                "业务员信息导出数据-恒洁版.xls",response);
+    }
+
+    @GetMapping("export3")
+    public void export3(HttpServletResponse response
+            ,@RequestParam String accountName
+            ,@RequestParam String customerCode
+            ,@RequestParam String staffCode
+            ,@RequestParam String pullTimeFrom
+            ,@RequestParam String pullTimeTo
+            ,@RequestParam String staffName) throws ParseException {
+
+        IbossStaffCommission ibossOrderDetail = new IbossStaffCommission();
+        ibossOrderDetail.setAccountName(accountName);
+        ibossOrderDetail.setCustomerCode(customerCode);
+        ibossOrderDetail.setStaffCode(staffCode);
+        ibossOrderDetail.setStaffName(staffName);
+        ibossOrderDetail.setPullTimeFrom(pullTimeFrom);
+        ibossOrderDetail.setPullTimeTo(pullTimeTo);
+
+        List<IbossStaffCommission> orders =  ibossStaffCommissionMapper.selectByCond1(ibossOrderDetail);
+        ExcelHelper.exportExcel(orders,
+                null,"经销商", IbossStaffCommission.class,
+                "业务员业绩提成信息导出数据-恒洁版.xls",response);
+    }
+
+    /**
+     * 查询库存明细
+     * @param ibossOutDetail
+     * @return
+     */
+    @PostMapping("selectIbossOutDetail")
+    public ResponseResultVO selectIbossOutDetail(@RequestBody IbossOutDetail ibossOutDetail){
+        return pullOrderDetailService.selectIbossOutDetail(ibossOutDetail);
+    }
+    //经销商业务部门
+    @PostMapping("organization/selectByCond")
+    public ResponseResultVO selectIbossOrganizationByCond(@RequestBody IbossOrganization ibossOrganization) {
+        return pullOrderDetailService.selectByCond(Constant.PullDataType.ORGANIZATION,ibossOrganization);
+    }
+    //经销商预收货款
+    @PostMapping("prestored/selectByCond")
+    public ResponseResultVO selectIbossPrestoredByCond(@RequestBody IbossPrestored ibossPrestored){
+        return pullOrderDetailService.selectByCond(Constant.PullDataType.PRESTORED,ibossPrestored);
+    }
+    //经销商收款单
+    @PostMapping("receive/selectByCond")
+    public ResponseResultVO selectIbossReceiveByCond(@RequestBody IbossReceive ibossReceive){
+        return pullOrderDetailService.selectByCond(Constant.PullDataType.RECEIVE,ibossReceive);
+    }
+    //经销商销售冲差单
+    @PostMapping("salesMargin/selectByCond")
+    public ResponseResultVO selectIbossSalesMarginByCond(@RequestBody IbossSalesMargin ibossSalesMargin){
+        return pullOrderDetailService.selectByCond(Constant.PullDataType.SALES_MARGIN,ibossSalesMargin);
+    }
+    //经销商销售退货单
+    @PostMapping("salesReturn/selectByCond")
+    public ResponseResultVO selectIbossSalesReturnByCond(@RequestBody IbossSalesReturn ibossSalesReturn){
+        return pullOrderDetailService.selectByCond(Constant.PullDataType.SALES_RETURN,ibossSalesReturn);
+    }
+    //经销商业务员业绩提成比率
+    @PostMapping("staffCommission/selectByCond")
+    public ResponseResultVO selectIbossStaffCommissionByCond(@RequestBody IbossStaffCommission ibossStaffCommission) {
+        return pullOrderDetailService.selectByCond(Constant.PullDataType.STAFF_COMMISSION,ibossStaffCommission);
+    }
+    //经销商员工
+    @PostMapping("staff/selectByCond")
+    public ResponseResultVO selectIbossStaffByCond(@RequestBody IbossStaff ibossStaff) {
+        return pullOrderDetailService.selectByCond(Constant.PullDataType.STAFF,ibossStaff);
+    }
+    //订单明细变更数据
+    @PostMapping("detailUpdate/selectByCond")
+    public ResponseResultVO selectIbossOrderDetailUpdate(@RequestBody IbossOrderDetailUpdate ibossOrderDetailUpdate) {
+        return pullOrderDetailService.selectByCond(Constant.PullDataType.SALES_ORDER_UPDATE,ibossOrderDetailUpdate);
+    }
+    //经销商销售排行
+    @PostMapping("saleRank/selectByCond")
+    public ResponseResultVO selectIbossSaleRank(@RequestBody IbossSaleRank ibossSaleRank) {
+        return pullOrderDetailService.selectByCond(Constant.PullDataType.SALE_RANK,ibossSaleRank);
+    }
+    //iBOSS订单明细
+    @PostMapping("orderDetail/selectByCound")
+    public ResponseResultVO selectIbossOrderDetails(@RequestBody IbossOrderDetails ibossOrderDetails){
+        return pullOrderDetailService.selectByCond(Constant.PullDataType.ORDER_DETAIL,ibossOrderDetails);
+    }
+    //iBOSS盘点单明细
+    @PostMapping("checkDetail/selectByCound")
+    public ResponseResultVO selectIbossCheckDetail(@RequestBody IbossCheckDetail ibossCheckDetail){
+        return pullOrderDetailService.selectByCond(Constant.PullDataType.INVENTORY_CHECK_DETAIL,ibossCheckDetail);
+    }
+    //iBOSS出库单明细
+    @PostMapping("deliveryDetail/selectByCound")
+    public ResponseResultVO selectIbossdeliveryDetailDetail(@RequestBody IbossDeliveryDetail ibossDeliveryDetail){
+        return pullOrderDetailService.selectByCond(Constant.PullDataType.OUT_ORDER_DETAIL,ibossDeliveryDetail);
+    }
+
+
+    @GetMapping("exportOutDetail")
+    public void exportOutDetail(HttpServletResponse response
+            ,@RequestParam String accountName
+            ,@RequestParam String customerCode
+            ,@RequestParam String organizationName
+            ,@RequestParam String chlOrganizationName
+            ,@RequestParam String deliveryNo
+            ,@RequestParam String accountStartDate
+            ,@RequestParam String accountEndDate
+            ,@RequestParam String onlyCode
+            ,@RequestParam String goodsName
+            ,@RequestParam String code
+            ,@RequestParam String customerType
+            ,@RequestParam String customerName
+            ,@RequestParam String pullBeginTime
+            ,@RequestParam String pullEndTime
+            ,@RequestParam String contacts
+            ,@RequestParam String address){
+        IbossOutDetail ibossOutDetail = new IbossOutDetail();
+        ibossOutDetail.setAccountName(accountName);
+        ibossOutDetail.setCustomerCode(customerCode);
+        ibossOutDetail.setOrganizationName(organizationName);
+        ibossOutDetail.setChlOrganizationName(chlOrganizationName);
+        ibossOutDetail.setDeliveryNo(deliveryNo);
+        ibossOutDetail.setAccountStartDate(accountStartDate);
+        ibossOutDetail.setAccountEndDate(accountEndDate);
+        ibossOutDetail.setOnlyCode(onlyCode);
+        ibossOutDetail.setGoodsName(goodsName);
+        ibossOutDetail.setCode(code);
+        ibossOutDetail.setCustomerType(customerType);
+        ibossOutDetail.setCustomerName(customerName);
+        ibossOutDetail.setPullBeginTime(pullBeginTime);
+        ibossOutDetail.setPullEndTime(pullEndTime);
+        ibossOutDetail.setContacts(contacts);
+        ibossOutDetail.setAddress(address);
+        List<IbossOutDetail> orders =  pullOrderDetailMapper.selectIbossOutDetail(ibossOutDetail);
+        ExcelHelper.exportExcel(orders,
+                null,"经销商", IbossOutDetail.class,
+                "出库单信息导出数据-恒洁版.xls",response);
+    }
+
+    //预收货款导出
+    @GetMapping("exportPrestored")
+    public void exportPrestored(HttpServletResponse response
+            ,@RequestParam String customerCode
+            ,@RequestParam String accountName
+            ,@RequestParam String prestoredNo
+            ,@RequestParam String orderCustomerCode
+            ,@RequestParam String customerName
+            ,@RequestParam String telephone
+            ,@RequestParam String accountDateFrom
+            ,@RequestParam String accountDateTo
+            ,@RequestParam String pullTimeFrom
+            ,@RequestParam String pullTimeTo) {
+        IbossPrestored ibossPrestored = new IbossPrestored();
+        ibossPrestored.setCustomerCode(customerCode);
+        ibossPrestored.setAccountName(accountName);
+        ibossPrestored.setPrestoredNo(prestoredNo);
+        ibossPrestored.setOrderCustomerCode(orderCustomerCode);
+        ibossPrestored.setCustomerName(customerName);
+        ibossPrestored.setTelephone(telephone);
+        ibossPrestored.setAccountDateFrom(accountDateFrom);
+        ibossPrestored.setAccountDateTo(accountDateTo);
+        ibossPrestored.setPullTimeFrom(pullTimeFrom);
+        ibossPrestored.setPullTimeTo(pullTimeTo);
+        List<IbossPrestored> orders =  ibossPrestoredMapper.selectIbossPrestore(ibossPrestored);
+        ExcelHelper.exportExcel(orders,
+                null,"经销商", IbossPrestored.class,
+                "预收货款导出数据-恒洁版.xls",response);
+    }
+
+    //收款单导出
+    @GetMapping("exportReceive")
+    public void exportReceive(HttpServletResponse response
+            ,@RequestParam String customerCode
+            ,@RequestParam String accountName
+            ,@RequestParam String receiveNo
+            ,@RequestParam String orderCustomerCode
+            ,@RequestParam String customerName
+            ,@RequestParam String telephone
+            ,@RequestParam String accountDateFrom
+            ,@RequestParam String accountDateTo
+            ,@RequestParam String pullTimeFrom
+            ,@RequestParam String pullTimeTo) {
+        IbossReceive ibossReceive = new IbossReceive();
+        ibossReceive.setCustomerCode(customerCode);
+        ibossReceive.setAccountName(accountName);
+        ibossReceive.setReceiveNo(receiveNo);
+        ibossReceive.setOrderCustomerCode(orderCustomerCode);
+        ibossReceive.setCustomerName(customerName);
+        ibossReceive.setTelephone(telephone);
+        ibossReceive.setAccountDateFrom(accountDateFrom);
+        ibossReceive.setAccountDateTo(accountDateTo);
+        ibossReceive.setPullTimeFrom(pullTimeFrom);
+        ibossReceive.setPullTimeTo(pullTimeTo);
+        List<IbossReceive> orders =  ibossReceiveMapper.selectIbossReceive(ibossReceive);
+        ExcelHelper.exportExcel(orders,
+                null,"经销商", IbossReceive.class,
+                "收款单导出数据-恒洁版.xls",response);
+    }
+
+    //销售冲差单导出
+    @GetMapping("exportSalesMargin")
+    public void exportSalesMargin(HttpServletResponse response
+            ,@RequestParam String customerCode
+            ,@RequestParam String accountName
+            ,@RequestParam String saleMarginNo
+            ,@RequestParam String orderCustomerCode
+            ,@RequestParam String customerName
+            ,@RequestParam String telephone
+            ,@RequestParam String accountDateFrom
+            ,@RequestParam String accountDateTo
+            ,@RequestParam String pullTimeFrom
+            ,@RequestParam String pullTimeTo) {
+        IbossSalesMargin ibossSalesMargin = new IbossSalesMargin();
+        ibossSalesMargin.setCustomerCode(customerCode);
+        ibossSalesMargin.setAccountName(accountName);
+        ibossSalesMargin.setSaleMarginNo(saleMarginNo);
+        ibossSalesMargin.setOrderCustomerCode(orderCustomerCode);
+        ibossSalesMargin.setCustomerName(customerName);
+        ibossSalesMargin.setTelephone(telephone);
+        ibossSalesMargin.setAccountDateFrom(accountDateFrom);
+        ibossSalesMargin.setAccountDateTo(accountDateTo);
+        ibossSalesMargin.setPullTimeFrom(pullTimeFrom);
+        ibossSalesMargin.setPullTimeTo(pullTimeTo);
+        List<IbossSalesMargin> orders =  ibossSalesMarginMapper.selectIbossSalesMargin(ibossSalesMargin);
+        ExcelHelper.exportExcel(orders,
+                null,"经销商", IbossSalesMargin.class,
+                "销售冲差单导出数据-恒洁版.xls",response);
+    }
+
+    //销售退货单导出
+    @GetMapping("exportSalesReturn")
+    public void exportSalesReturn(HttpServletResponse response
+            ,@RequestParam String customerCode
+            ,@RequestParam String accountName
+            ,@RequestParam String saleReturnNo
+            ,@RequestParam String orderCustomerCode
+            ,@RequestParam String customerName
+            ,@RequestParam String telephone
+            ,@RequestParam String accountDateFrom
+            ,@RequestParam String accountDateTo
+            ,@RequestParam String pullTimeFrom
+            ,@RequestParam String pullTimeTo) {
+        IbossSalesReturn ibossSalesReturn = new IbossSalesReturn();
+        ibossSalesReturn.setCustomerCode(customerCode);
+        ibossSalesReturn.setAccountName(accountName);
+        ibossSalesReturn.setSaleReturnNo(saleReturnNo);
+        ibossSalesReturn.setOrderCustomerCode(orderCustomerCode);
+        ibossSalesReturn.setCustomerName(customerName);
+        ibossSalesReturn.setTelephone(telephone);
+        ibossSalesReturn.setAccountDateFrom(accountDateFrom);
+        ibossSalesReturn.setAccountDateTo(accountDateTo);
+        ibossSalesReturn.setPullTimeFrom(pullTimeFrom);
+        ibossSalesReturn.setPullTimeTo(pullTimeTo);
+        List<IbossSalesReturn> orders =  ibossSalesReturnMapper.selectIbossSalesReturn(ibossSalesReturn);
+        ExcelHelper.exportExcel(orders,
+                null,"经销商", IbossSalesReturn.class,
+                "销售退货单导出数据-恒洁版.xls",response);
+    }
+
+    //订单明细变更数据
+    @GetMapping("exportDetailUpdate")
+    public void exportDetailUpdate(HttpServletResponse response
+            ,@RequestParam String customerCode
+            ,@RequestParam String accountName
+            ,@RequestParam String orderNo
+            ,@RequestParam String contacts
+            ,@RequestParam String customerName
+            ,@RequestParam String telephone
+            ,@RequestParam String accountStartDate
+            ,@RequestParam String accountEndDate
+            ,@RequestParam String pullBeginTime
+            ,@RequestParam String pullEndTime) {
+        IbossOrderDetailUpdate ibossOrderDetailUpdate = new IbossOrderDetailUpdate();
+        ibossOrderDetailUpdate.setCustomerCode(customerCode);
+        ibossOrderDetailUpdate.setAccountName(accountName);
+        ibossOrderDetailUpdate.setOrderNo(orderNo);
+        ibossOrderDetailUpdate.setContacts(contacts);
+        ibossOrderDetailUpdate.setCustomerName(customerName);
+        ibossOrderDetailUpdate.setTelephone(telephone);
+        ibossOrderDetailUpdate.setAccountStartDate(accountStartDate);
+        ibossOrderDetailUpdate.setAccountEndDate(accountEndDate);
+        ibossOrderDetailUpdate.setPullBeginTime(pullBeginTime);
+        ibossOrderDetailUpdate.setPullEndTime(pullEndTime);
+        List<IbossOrderDetailUpdate> orders =  ibossOrderDetailUpdateMapper.selectIbossOrderDetailUpdate(ibossOrderDetailUpdate);
+        ExcelHelper.exportExcel(orders,
+                null,"经销商", IbossOrderDetailUpdate.class,
+                "订单明细变更数据导出数据-恒洁版.xls",response);
+    }
+
+    //库存盘点数据
+    @GetMapping("exportCheckDetail")
+    public void exportCheckDetail(HttpServletResponse response
+            ,@RequestParam List<String> customerIDNow
+            ,@RequestParam List<String> customerID
+            ,@RequestParam String checkNo
+            ,@RequestParam String accountStartDate
+            ,@RequestParam String accountEndDate
+            ,@RequestParam String pullBeginTime
+            ,@RequestParam String pullEndTime) {
+        IbossCheckDetail ibossCheckDetail = new IbossCheckDetail();
+        ibossCheckDetail.setCustomerID(customerID);
+        ibossCheckDetail.setCustomerIDNow(customerIDNow);
+        ibossCheckDetail.setCheckNo(checkNo);
+        ibossCheckDetail.setAccountStartDate(accountStartDate);
+        ibossCheckDetail.setAccountEndDate(accountEndDate);
+        ibossCheckDetail.setPullBeginTime(pullBeginTime);
+        ibossCheckDetail.setPullEndTime(pullEndTime);
+        ibossCheckDetail.setPageSize(0);
+        List<IbossCheckDetail> orders =  ibossCheckDetailMapper.selectByCond(ibossCheckDetail);
+        ExcelHelper.exportExcel(orders,
+                null,"经销商", IbossCheckDetail.class,
+                "库存盘点数据导出数据-恒洁版.xls",response);
+    }
+
+    //出库单明细数据
+    @GetMapping("exportDeliveryDetail")
+    public void exportDeliveryDetail(HttpServletResponse response
+            ,@RequestParam List<String> customerIDNow
+            ,@RequestParam List<String> customerID
+            ,@RequestParam String deliveryNo
+            ,@RequestParam String contacts
+            ,@RequestParam String customerName
+            ,@RequestParam String telephone
+            ,@RequestParam String accountStartDate
+            ,@RequestParam String accountEndDate
+            ,@RequestParam String pullBeginTime
+            ,@RequestParam String pullEndTime) {
+        IbossDeliveryDetail ibossDeliveryDetail = new IbossDeliveryDetail();
+        ibossDeliveryDetail.setCustomerID(customerID);
+        ibossDeliveryDetail.setCustomerIDNow(customerIDNow);
+        ibossDeliveryDetail.setDeliveryNo(deliveryNo);
+        ibossDeliveryDetail.setContacts(contacts);
+        ibossDeliveryDetail.setCustomerName(customerName);
+        ibossDeliveryDetail.setTelephone(telephone);
+        ibossDeliveryDetail.setAccountStartDate(accountStartDate);
+        ibossDeliveryDetail.setAccountEndDate(accountEndDate);
+        ibossDeliveryDetail.setPullBeginTime(pullBeginTime);
+        ibossDeliveryDetail.setPullEndTime(pullEndTime);
+        ibossDeliveryDetail.setPageSize(0);
+        List<IbossDeliveryDetail> orders =  ibossDeliveryDetailMapper.selectByCond(ibossDeliveryDetail);
+        ExcelHelper.exportExcel(orders,
+                null,"经销商", IbossDeliveryDetail.class,
+                "出库单明细数据导出数据-恒洁版.xls",response);
+    }
+}

+ 121 - 0
src/main/java/com/dk/mnls_mp/controller/ReportRightController.java

@@ -0,0 +1,121 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.dao.pojo.ReportRight;
+import com.dk.mnls_mp.service.ReportRightService;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("reportRightManage/")
+public class ReportRightController extends BaseController {
+
+    @Autowired
+    private ReportRightService reportRightService;
+
+    /**
+     * 报表权限组管理:查询
+     * @param reportRight
+     * @return
+     */
+    @PostMapping("selectReportRight")
+    @UserRightCheck(code = "001005001")
+    public ResponseResultVO selectReportRight(@RequestBody ReportRight reportRight) {
+        return reportRightService.selectReportRight(reportRight);
+    }
+
+    /**
+     * 报表权限组管理:查询
+     * @param
+     * @return
+     */
+    @PostMapping("selectReportRightCom")
+    @UserRightCheck(code = "001005001")
+    public ResponseResultVO selectReportRightCom() {
+        return reportRightService.selectReportRightCom(new ReportRight());
+    }
+
+    /**
+     * 报表权限组管理:查询经销商
+     * @param reportRight
+     * @return
+     */
+    @PostMapping("selectCustomerRight")
+    @UserRightCheck(code = "001005004")
+    public ResponseResultVO selectCustomerRight(@RequestBody ReportRight reportRight) {
+        return reportRightService.selectCustomerRight(reportRight);
+    }
+
+    /**
+     * 报表权限组管理:查询经销商
+     * @param reportRight
+     * @return
+     */
+    @PostMapping("selectUserCustomerRight")
+    @UserRightCheck(code = "001002003")
+    public ResponseResultVO selectUserCustomerRight(@RequestBody ReportRight reportRight) {
+        return reportRightService.selectUserCustomerRight(reportRight);
+    }
+
+    /**
+     * 报表权限组管理:新建/编辑:保存
+     * @param reportRight
+     * @return
+     */
+    @PostMapping("saveReportRight")
+    @UserRightCheck(code = "001005002,001005003")
+    public ResponseResultVO saveReportRight(@RequestBody ReportRight reportRight) {
+        return reportRightService.saveReportRight(reportRight);
+    }
+
+    /**
+     * 报表权限组管理:
+     * @param map
+     * @return
+     */
+    @PostMapping("saveUserCustomerRight")
+    @UserRightCheck(code = "001002003")
+    public ResponseResultVO saveUserCustomerRight(@RequestBody Map<String, Object> map) {
+        return reportRightService.saveUserCustomerRight(map);
+    }
+
+    /**
+     * 报表权限组管理:
+     * @param map
+     * @return
+     */
+    @PostMapping("saveCustomerRight")
+    @UserRightCheck(code = "001005004")
+    public ResponseResultVO saveCustomerRight(@RequestBody Map<String, Object> map) {
+        return reportRightService.saveCustomerRight(map);
+    }
+
+    /**
+     * 报表权限组管理:修改报表权限组状态
+     * @param reportRight
+     * @return
+     */
+    @PostMapping("updateReportRight")
+    @UserRightCheck(code = "001005003")
+    public ResponseResultVO updateReportRight(@RequestBody ReportRight reportRight) {
+        return reportRightService.updateReportRight(reportRight);
+    }
+
+    /**
+     * 报表权限组管理:删除报表权限组
+     * @param reportRight
+     * @return
+     */
+    @PostMapping("delReportRight")
+    @UserRightCheck(code = "001005005")
+    public ResponseResultVO delReportRight(@RequestBody ReportRight reportRight) {
+        return reportRightService.delReportRight(reportRight);
+    }
+}

+ 91 - 0
src/main/java/com/dk/mnls_mp/controller/RoleController.java

@@ -0,0 +1,91 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.service.RoleService;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.pojo.Role;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("roleManage/")
+public class RoleController extends BaseController {
+
+    @Autowired
+    private RoleService roleServer;
+
+    /**
+     * 角色管理:查询
+     * @param role
+     * @return
+     */
+    @PostMapping("selectRole")
+    @UserRightCheck(code = "001003")
+    public ResponseResultVO selectRole(@RequestBody Role role) {
+        return roleServer.selectRole(role);
+    }
+
+    /**
+     * 角色管理:新建/编辑:保存
+     * @param role
+     * @return
+     */
+    @PostMapping("saveRole")
+    @UserRightCheck(code = "001003001,001003002")
+    public ResponseResultVO saveRole(@RequestBody Role role) {
+        return roleServer.saveRole(role);
+    }
+
+    /**
+     * 角色管理:查询角色权限
+     * @param role
+     * @return
+     */
+    @PostMapping("selectRolePower")
+    @UserRightCheck(code = "001003003")
+    public ResponseResultVO selectRolePower(@RequestBody Role role) {
+        return roleServer.selectRolePower(role);
+    }
+
+    /**
+     * 角色管理:保存角色权限
+     * @param map
+     * @return
+     */
+    @PostMapping("saveRolePower")
+    @UserRightCheck(code = "001003003")
+    public ResponseResultVO saveRolePower(@RequestBody Map<String, Object> map) {
+        return roleServer.saveRolePower(map);
+    }
+
+    /**
+     * 角色管理:修改角色状态
+     * @param role
+     * @return
+     */
+    @PostMapping("updateRole")
+    @UserRightCheck(code = "001003")
+    public ResponseResultVO updateRole(@RequestBody Role role) {
+        return roleServer.updateRole(role);
+    }
+
+    /**
+     * 角色管理:删除角色
+     * @param role
+     * @return
+     */
+    @PostMapping("delRole")
+    @UserRightCheck(code = "001003")
+    public ResponseResultVO delRole(@RequestBody Role role) {
+        return roleServer.delRole(role);
+    }
+
+
+
+}

+ 78 - 0
src/main/java/com/dk/mnls_mp/controller/SeriesController.java

@@ -0,0 +1,78 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.mapper.SeriesRecordMapper;
+import com.dk.mnls_mp.dao.pojo.SeriesRecord;
+import com.dk.mnls_mp.service.SeriesService;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.util.ExcelHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 商品系列管理Controller层
+ */
+@RestController
+@RequestMapping("seriesManage/")
+public class SeriesController extends BaseController {
+
+    @Autowired
+    private SeriesService seriesService;
+
+    @Autowired
+    private SeriesRecordMapper seriesRecordMapper;
+
+    /**
+     * 商品系列管理:查询
+     * @param seriesRecord
+     * @return
+     */
+    @PostMapping("selectSeries")
+    @UserRightCheck(code = "003001004")
+    public ResponseResultVO selectSeries(@RequestBody SeriesRecord seriesRecord){
+        return seriesService.selectSeries(seriesRecord);
+    }
+
+    /**
+     * 商品系列管理:新建
+     * @param seriesRecord
+     * @return
+     */
+    @PostMapping("saveSeries")
+    @UserRightCheck(code = "003001004001,003001004002")
+    public ResponseResultVO saveSeries(@RequestBody SeriesRecord seriesRecord){
+        return seriesService.saveSeries(seriesRecord);
+    }
+
+    /**
+     * 商品系列管理:删除
+     * @param list
+     * @return
+     */
+    @PostMapping("delSeries")
+    @UserRightCheck(code = "003001004")
+    public ResponseResultVO delSeries(@RequestBody List<SeriesRecord> list) {
+        return seriesService.delSeries(list);
+    }
+
+    /**
+     * 商品系列管理:导出
+     * @return
+     */
+    @GetMapping("downClick")
+    @UserRightCheck(code = "003001004")
+    public void exportExcel(HttpServletResponse response, @RequestParam String seriesname,
+                            @RequestParam Integer pagesize, @RequestParam Integer currentline){
+        SeriesRecord seriesrecord = new SeriesRecord();
+        seriesrecord.setSeriesname(seriesname);
+        seriesrecord.setPagesize(pagesize);
+        seriesrecord.setCurrentline(currentline);
+        ExcelHelper.exportExcel(seriesRecordMapper.selectSeries(seriesrecord),
+                null,"商品系列", SeriesRecord.class,
+                "商品系列导出数据 - 恒洁版.xls",response);
+    }
+}

+ 68 - 0
src/main/java/com/dk/mnls_mp/controller/StratumRelationController.java

@@ -0,0 +1,68 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.dao.pojo.StratumRelation;
+import com.dk.mnls_mp.service.StratumRelationService;
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dongke.base.service.BaseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/StratumRelation")
+public class StratumRelationController extends BaseController<StratumRelation> {
+
+    @Autowired
+    private StratumRelationService stratumRelationService;
+
+    @Override
+    public BaseService getService() {
+        return stratumRelationService;
+    }
+
+    /**
+     * @DESCRIPTION 查询工厂编码最下级
+     * @AUTHOR BO2
+     * @CREATE_DATE 2020/5/9 9:04
+     **/
+    @PostMapping("/selectFacKindBottom")
+    ResponseResultVO selectFacKindBottom(@RequestBody StratumRelation stratumRelation) {
+        return stratumRelationService.selectFacKindBottom(stratumRelation);
+    }
+
+
+    /**
+     * @DESCRIPTION 修改关联关系
+     * @AUTHOR BO2
+     * @CREATE_DATE 2020/5/9 9:04
+     **/
+    @PostMapping("/updateStratumRelation")
+    ResponseResultVO updateStratumRelation(@RequestBody StratumRelation stratumRelation) {
+        return stratumRelationService.updateStratumRelation(stratumRelation);
+    }
+
+
+    /**
+     * @DESCRIPTION 查询CRM为主
+     * @AUTHOR BO2
+     * @CREATE_DATE 2020/5/9 9:04
+     **/
+    @PostMapping("/list_by_crm")
+    ResponseResultVO listByCrm(@RequestBody StratumRelation stratumRelation) {
+        return stratumRelationService.selectByCondCrm(stratumRelation);
+    }
+
+
+    /**
+     * @DESCRIPTION 修改关联关系Crm
+     * @AUTHOR BO2
+     * @CREATE_DATE 2020/5/9 9:04
+     **/
+    @PostMapping("/updateStratumRelationCrm")
+    ResponseResultVO updateStratumRelationCrm(@RequestBody StratumRelation stratumRelation) {
+        return stratumRelationService.updateStratumRelationCrm(stratumRelation);
+    }
+}

+ 104 - 0
src/main/java/com/dk/mnls_mp/controller/SubjectController.java

@@ -0,0 +1,104 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.dao.mapper.SubjectMapper;
+import com.dk.mnls_mp.dao.pojo.Subject;
+import com.dk.mnls_mp.service.SubjectService;
+import com.dk.mnls_mp.util.ExcelHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+
+/**
+ * 会计科目管理Controller层
+ */
+@RestController
+@RequestMapping("subjectManage/")
+public class SubjectController extends BaseController {
+
+    @Autowired
+    private SubjectService subjectService;
+
+    @Autowired
+    private SubjectMapper subjectMapper;
+
+    /**
+     * 会计科目管理:查询
+     * @param subject
+     * @return
+     */
+    @PostMapping("selectSubject")
+    @UserRightCheck(code = "003003001")
+    public ResponseResultVO selectSubject(@RequestBody Subject subject){
+        return subjectService.selectSubject(subject);
+    }
+
+    /**
+     * 会计科目管理:查询上级科目
+     * @param subject
+     * @return
+     */
+    @PostMapping("selectParentSubject")
+    @UserRightCheck(code = "003003001")
+    public ResponseResultVO selectParentSubject(@RequestBody Subject subject){
+        return subjectService.selectParentSubject(subject);
+    }
+
+    /**
+     * 会计科目管理:新建/编辑
+     * @param subject
+     * @return
+     */
+    @PostMapping("saveSubject")
+    @UserRightCheck(code = "003003001001,003003001002")
+    public ResponseResultVO saveSubject(@RequestBody Subject subject){
+        return subjectService.saveSubject(subject);
+    }
+
+    /**
+     * 会计科目管理:删除
+     * @param subject
+     * @return
+     */
+    @PostMapping("delSubject")
+    @UserRightCheck(code = "003003001003")
+    public ResponseResultVO delSubject(@RequestBody Subject subject){
+        return subjectService.delSubject(subject);
+    }
+
+    /**
+     * 会计科目管理:导出
+     * @return
+     */
+    @GetMapping("downClick")
+    @UserRightCheck(code = "003003001")
+    public void exportExcel(HttpServletResponse response, @RequestParam String subjectname, @RequestParam String subjectcode,
+                            @RequestParam String mnemoniccode, @RequestParam Integer subjecttype){
+        Subject subject = new Subject();
+        subject.setSubjectname(subjectname);
+        subject.setSubjectcode(subjectcode);
+        subject.setMnemoniccode(mnemoniccode);
+        subject.setSubjecttype(subjecttype);
+        ExcelHelper.exportExcel(subjectMapper.selectSubject(subject),
+                null,"会计科目", Subject.class,
+                "会计科目导出数据 - 恒洁版.xls",response);
+    }
+
+    /**
+     * 会计科目管理:新建/编辑:加载HG科目数据
+     * @return
+     */
+    @PostMapping("selectSubjectCombine")
+    @UserRightCheck(code="003003001001,003003001002")
+    public ResponseResultVO selectSubjectCombine(){
+        return subjectService.selectSubjectCombine();
+    }
+
+    @PostMapping("selectSubjectType")
+    public ResponseResultVO selectSubjectType(){
+        return subjectService.selectSubjectType();
+    }
+}

+ 108 - 0
src/main/java/com/dk/mnls_mp/controller/SynchController.java

@@ -0,0 +1,108 @@
+package com.dk.mnls_mp.controller;
+
+import com.alibaba.fastjson.JSON;
+import com.dk.mnls_mp.dao.pojo.CrmPushDetail;
+import com.dk.mnls_mp.dao.pojo.PullOrderDetail;
+import com.dk.mnls_mp.dao.pojo.SynchStatus;
+import com.dk.mnls_mp.service.SynchService;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.pojo.*;
+import com.dk.mnls_mp.service.pullDetail.PullOrderDetailService;
+import com.dk.mnls_mp.service.synchInventory.SynchInventoryService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.Map;
+
+/**
+ * 商品/科目同步履历管理Controller层
+ */
+@RestController
+@RequestMapping("synchManage/")
+public class SynchController extends BaseController {
+
+    @Autowired
+    private SynchService synchService;
+
+    @Autowired
+    private SynchInventoryService synchInventoryService;
+
+    @Autowired
+    private PullOrderDetailService pullOrderDetailService;
+
+    /**
+     * 商品同步履历:查询日期
+     * @return
+     */
+    @PostMapping("selectSynchData")
+    @UserRightCheck(code = "004001")
+    public ResponseResultVO selectSynchData(){
+        return  synchService.selectSynchData();
+    }
+
+    /**
+     * 商品同步履历:查询同步信息
+     * @param synchStatus
+     * @return
+     */
+    @PostMapping("selectSynch")
+    @UserRightCheck(code = "004001")
+    public ResponseResultVO selectSynch(@RequestBody SynchStatus synchStatus){
+        return  synchService.selectSynch(synchStatus);
+    }
+
+    /**
+     * 科目同步履历:查询日期
+     * @return
+     */
+    @PostMapping("selectSubjectSynchData")
+    @UserRightCheck(code = "004002")
+    public ResponseResultVO selectSubjectSynchData(){
+        return  synchService.selectSubjectSynchData();
+    }
+
+    /**
+     * 科目同步履历:查询同步信息
+     * @param synchStatus
+     * @return
+     */
+    @PostMapping("selectSubjectSynch")
+    @UserRightCheck(code = "004002")
+    public ResponseResultVO selectSubjectSynch(@RequestBody SynchStatus synchStatus){
+        return  synchService.selectSubjectSynch(synchStatus);
+    }
+
+    /**
+     * 订单明细抓取履历:查询日期
+     * @return
+     */
+    @PostMapping("selectPullOrderDetailDate")
+    public ResponseResultVO selectPullOrderDetailDate(){
+        return pullOrderDetailService.selectDate();
+    }
+
+    /**
+     * 订单明细抓取履历:查询同步信息
+     * @param data
+     * @return
+     */
+    @PostMapping("selectPullOrderDetail")
+    public ResponseResultVO selectPullOrderDetail(@RequestBody Map<String,Object> data){
+        PullOrderDetail pullOrderDetail = JSON.parseObject(JSON.toJSONString(data), PullOrderDetail.class);
+        return pullOrderDetailService.selectDetail(pullOrderDetail);
+    }
+
+    /**
+     * CRM明细抓取履历:查询同步信息
+     * @param data
+     * @return
+     */
+    @PostMapping("selectCrmPullDetailData")
+    public ResponseResultVO selectCrmPullDetailData(@RequestBody Map<String,Object> data){
+        CrmPushDetail crmPushDetail = JSON.parseObject(JSON.toJSONString(data), CrmPushDetail.class);
+        return pullOrderDetailService.selectCrmPullDetailData(crmPushDetail);
+    }
+}

+ 85 - 0
src/main/java/com/dk/mnls_mp/controller/SynchFacController.java

@@ -0,0 +1,85 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.service.SynchFacService;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("synchFac/")
+public class SynchFacController extends BaseController {
+
+    @Autowired
+    private SynchFacService kindCrmService;
+
+    /**
+     * 抓取层级且成功后生成履历
+     * @return
+     */
+    @PostMapping("getKindFac")
+    @UserRightCheck(code = "006001001")
+    public ResponseResultVO getKindFac() throws Exception{
+        //定义返回集合
+        return kindCrmService.translateKind();
+    }
+
+    /**
+     * 抓取商品编码
+     * @return
+     */
+    @PostMapping("getCodeFac")
+    @UserRightCheck(code = "006001002")
+    public ResponseResultVO getCodeFac() throws Exception{
+        //定义返回集合
+        return kindCrmService.translateCode();
+    }
+
+    /**
+     * 种类关联关系修改时,实时修改商品编码标准表的接口
+     * @return
+     */
+    @PostMapping("updadeCodeRecordByKindRef")
+    @UserRightCheck(code = "006001003")
+    public ResponseResultVO updadeCodeRecordByKindRef(@RequestBody List<Map<String,Object>> list) throws Exception{
+        //定义返回集合
+        return kindCrmService.updadeCodeRecordByKindRef(list);
+
+    }
+
+    /**
+     * 抓取crm采购订单
+     *
+     * @return
+     */
+    @PostMapping("translatePurOrderInfo")
+    public ResponseResultVO translatePurOrderInfo(@RequestBody Map<String, Object> data) throws Exception {
+        //定义返回集合
+        return kindCrmService.translatePurOrderInfo(data);
+    }
+
+    /**
+     * 抓取crm采购订单 新接口
+     *
+     * @return
+     */
+    @PostMapping("translatePurOrderInfo_new")
+    public ResponseResultVO translatePurOrderInfoNew(@RequestBody Map<String, Object> data) {
+        return kindCrmService.translatePurOrderInfoNew(data);
+    }
+
+    /**
+     * 查询CRM商品编码
+     *
+     * @return
+     */
+    @PostMapping("getCrmCode")
+    public ResponseResultVO getCrmCode(@RequestBody Map<String, Object> data) throws Exception {
+        //定义返回集合
+        return kindCrmService.getCrmCode(data);
+    }
+}

+ 143 - 0
src/main/java/com/dk/mnls_mp/controller/TestController.java

@@ -0,0 +1,143 @@
+package com.dk.mnls_mp.controller;
+
+import com.alibaba.fastjson.JSONArray;
+import com.alibaba.fastjson.JSONObject;
+import com.dk.mnls_mp.dao.mapper.CustomerMapper;
+import com.dk.mnls_mp.dao.pojo.inventory.Inventory;
+import com.dk.mnls_mp.service.BomService;
+import com.dk.mnls_mp.service.SynchFacService;
+import com.dk.mnls_mp.service.crmBom.CRMBomService;
+import com.dk.mnls_mp.util.XmlUtil;
+import com.dongke.base.exceptionHandler.ResponseResultUtil;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.config.CrmConfig;
+import com.dk.mnls_mp.service.inventory.InventoryService;
+import lombok.extern.slf4j.Slf4j;
+import org.dom4j.DocumentException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.*;
+
+@Slf4j
+@RestController
+@RequestMapping("test/")
+public class TestController extends BaseController {
+
+    @Autowired
+    private InventoryService inventoryService;
+
+    @Autowired
+    private CustomerMapper customerMapper;
+
+
+    @Autowired
+    private CRMBomService crmBomService;
+
+    @Autowired
+    private BomService bomService;
+
+    @Autowired
+    private SynchFacService synchFacService;
+
+
+    @Autowired
+    private CrmConfig crmConfig;
+
+    @PostMapping("inventory")
+    public ResponseResultVO inventory(){
+        return inventoryService.getDealerInventoryOld(customerMapper.selectById(70));
+    }
+
+
+    @PostMapping("code")
+    public ResponseResultVO getCode(){
+        ResponseResultVO resultVO = synchFacService.translateCode();
+        return resultVO;
+    }
+
+    @PostMapping("bom")
+    public ResponseResultVO getBom() throws DocumentException {
+        ResponseResultVO resultVO = crmBomService.getBom(false);
+        return resultVO;
+
+    }
+
+    @PostMapping("bom_test")
+    public ResponseResultVO getBomTest() throws DocumentException {
+        ResponseResultVO resultVO = crmBomService.getBomTest();
+        return resultVO;
+
+    }
+
+    @PostMapping("bom_as_code")
+    public Map getBomAsCode() throws DocumentException {
+//        ResponseResultVO resultVO = crmBomService.getBomTest();
+        String searchStr = "";
+        searchStr += " <cus:PageSize> "+10+"</cus:PageSize>\n"  ;
+        searchStr += " <cus:StartRowNum>"+0+"</cus:StartRowNum>\n"  ;
+        searchStr += " <cus:SearchExpr>";
+            searchStr += " [HGProduct.Part #]='" + "201000325N4000" + "'";
+        searchStr += " </cus:SearchExpr>\n";
+        //地址
+        String urlString = crmConfig.getSiebelUrl() + "/eai_chs/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&WSSOAP=1";
+        //方法
+        String soapActionString = "\"document/http://siebel.com/CustomUI:HGCRMProductQueryServiceQueryPageProd\"";
+
+        String soap = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" " +
+                "xmlns:web=\"http://siebel.com/webservices\" xmlns:cus=\"http://siebel.com/CustomUI\">\n" +
+                "   <soapenv:Header>\n" +
+                "      <web:SessionToken></web:SessionToken>\n" +
+                "      <web:SessionType></web:SessionType>\n" +
+                "      <web:PasswordText>" + crmConfig.getPasswordText() + "</web:PasswordText>\n" +
+                "      <web:UsernameToken>"+ crmConfig.getUsernameToken() +"</web:UsernameToken>\n" +
+                "   </soapenv:Header>\n" +
+                "   <soapenv:Body>\n" +
+                "      <cus:HGCRMProductQueryServiceQueryPageProd_Input>\n" +
+                searchStr +
+                "      </cus:HGCRMProductQueryServiceQueryPageProd_Input>\n" +
+                "   </soapenv:Body>\n" +
+                "</soapenv:Envelope>";
+        String contentType = "text/xml; charset=utf-8";
+        String result = XmlUtil.sendSoapPost(urlString, soap, contentType, soapActionString);
+        Map<String,Object> map = new HashMap<>();
+        try {
+            map = XmlUtil.parseXmlToMap(result);
+        } catch (DocumentException e) {
+            log.error(e.toString(),e);;
+        }
+        return map;
+
+    }
+
+    @PostMapping("arrangeStandardEdition")
+    public ResponseResultVO arrangeStandardEdition() throws DocumentException {
+         ResponseResultVO resultVO = crmBomService.arrangeStandardEdition();
+
+        return resultVO;
+
+    }
+
+    @PostMapping("get_kind")
+    public ResponseResultVO kindGet(){
+       return synchFacService.translateKind();
+    }
+
+
+    public static void main(String[] args) {
+        Integer i1 = 100;
+        Integer i2 = 100;
+        Integer i3 = 200;
+        Integer i4 = 200;
+
+        System.out.println(i1==i2);
+        System.out.println(i3==i4);
+
+    }
+
+
+}

+ 58 - 0
src/main/java/com/dk/mnls_mp/controller/ToiletCountController.java

@@ -0,0 +1,58 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.pojo.ToiletCount;
+import com.dk.mnls_mp.service.ToiletCountService;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+
+/**
+ * 渠道Controller层
+ */
+@RestController
+@RequestMapping("toiletCountManage/")
+public class ToiletCountController extends BaseController {
+
+    @Autowired
+    private ToiletCountService toiletCountService;
+
+    /**
+     * 查询
+     * @param toiletCount
+     * @return
+     */
+    @PostMapping("selectToiletCount")
+    @UserRightCheck(code = "003002003")
+    public ResponseResultVO selectToiletCount(@RequestBody ToiletCount toiletCount){
+        return toiletCountService.selectToiletCount(toiletCount);
+    }
+
+    /**
+     * 新建/编辑
+     * @param toiletCount
+     * @return
+     */
+    @PostMapping("saveToiletCount")
+    @UserRightCheck(code = "003002003001,003002003002")
+    public ResponseResultVO saveToiletCount(@RequestBody ToiletCount toiletCount){
+        return toiletCountService.saveToiletCount(toiletCount);
+    }
+
+    /**
+     * 数据字典管理:删除
+     * @param list
+     * @return
+     */
+    @PostMapping("delToiletCount")
+    @UserRightCheck(code = "003002003003")
+    public ResponseResultVO delToiletCount(@RequestBody List<ToiletCount> list) {
+        return toiletCountService.delToiletCount(list);
+    }
+}

+ 78 - 0
src/main/java/com/dk/mnls_mp/controller/UnitController.java

@@ -0,0 +1,78 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.mapper.MeasurementUnitMapper;
+import com.dk.mnls_mp.dao.pojo.MeasurementUnit;
+import com.dk.mnls_mp.service.UnitService;
+import com.dk.mnls_mp.util.ExcelHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 计量单位管理Controller层
+ */
+@RestController
+@RequestMapping("unitManage/")
+public class UnitController extends BaseController {
+
+    @Autowired
+    private UnitService unitService;
+
+    @Autowired
+    private MeasurementUnitMapper measurementUnitMapper;
+
+    /**
+     * 计量单位管理:查询
+     * @param measurementUnit
+     * @return
+     */
+    @PostMapping("selectUnit")
+    @UserRightCheck(code = "003001005")
+    public ResponseResultVO selectUnit(@RequestBody MeasurementUnit measurementUnit){
+        return unitService.selectUnit(measurementUnit);
+    }
+
+    /**
+     * 计量单位管理:新建/编辑
+     * @param measurementUnit
+     * @return
+     */
+    @PostMapping("saveUnit")
+    @UserRightCheck(code = "003001005001,003001005002")
+    public ResponseResultVO saveUnit(@RequestBody MeasurementUnit measurementUnit){
+        return unitService.saveUnit(measurementUnit);
+    }
+
+    /**
+     * 计量单位管理:删除
+     * @param list
+     * @return
+     */
+    @PostMapping("delUnit")
+    @UserRightCheck(code = "003001005")
+    public ResponseResultVO delUnit(@RequestBody List<MeasurementUnit> list) {
+        return unitService.delUnit(list);
+    }
+
+    /**
+     * 计量单位管理:导出
+     * @return
+     */
+    @GetMapping("downClick")
+    @UserRightCheck(code = "003001005")
+    public void exportExcel(HttpServletResponse response, @RequestParam String unitname,
+                            @RequestParam Integer pagesize, @RequestParam Integer currentline){
+        MeasurementUnit measurementunit = new MeasurementUnit();
+        measurementunit.setUnitname(unitname);
+        measurementunit.setPagesize(pagesize);
+        measurementunit.setCurrentline(currentline);
+        ExcelHelper.exportExcel(measurementUnitMapper.selectUnit(measurementunit),
+                null,"计量单位", MeasurementUnit.class,
+                "计量单位导出数据 - 恒洁版.xls",response);
+    }
+}

+ 124 - 0
src/main/java/com/dk/mnls_mp/controller/UserController.java

@@ -0,0 +1,124 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.pojo.User;
+import com.dk.mnls_mp.service.UserService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+/**
+ * 用户管理Controller层
+ */
+@RestController
+@RequestMapping("userManage/")
+public class UserController extends BaseController {
+
+    @Autowired
+    private UserService userServer;
+
+    /**
+     * 用户管理:查询
+     *
+     * @param user
+     * @return
+     */
+    @PostMapping("selectDataUser")
+    @UserRightCheck(code = "001002006")
+    public ResponseResultVO selectDataUser(@RequestBody User user) {
+        return userServer.selectDataUser(user);
+    }
+
+    /**
+     * 用户管理:查询角色
+     *
+     * @return
+     */
+    @PostMapping("selectRole")
+    @UserRightCheck(code = "001002")
+    public ResponseResultVO selectComRole() {
+        return userServer.selectComRole();
+    }
+
+    /**
+     * 用户管理:新建/编辑:保存
+     * @param user
+     * @return
+     */
+    @PostMapping("saveUser")
+    @UserRightCheck(code = "001002001,001002002")
+    public ResponseResultVO saveUser(@RequestBody User user) {
+        return userServer.saveUser(user);
+    }
+
+    /**
+     * 用户管理:删除
+     * @param user
+     * @return
+     */
+    @PostMapping("delUser")
+    @UserRightCheck(code = "001002005")
+    public ResponseResultVO delUser(@RequestBody User user) {
+        return userServer.delUser(user);
+    }
+
+    /**
+     * 用户管理:查询用户权限
+     * @param user
+     * @return
+     */
+    @PostMapping("selectUserPower")
+    @UserRightCheck(code = "001002003")
+    public ResponseResultVO selectUserPower(@RequestBody User user) {
+        return userServer.selectUserPower(user);
+    }
+
+    /**
+     * 用户管理:保存用户权限
+     * @param map
+     * @return
+     */
+    @PostMapping("saveUserPower")
+    @UserRightCheck(code = "001002003")
+    public ResponseResultVO saveUserPower(@RequestBody Map<String, Object> map) {
+        return userServer.saveUserPower(map);
+    }
+
+    /**
+     * 用户管理:重置密码
+     * @param user
+     * @return
+     */
+    @PostMapping("restPassword")
+    @UserRightCheck(code = "001002004")
+    public ResponseResultVO restPassword(@RequestBody User user) {
+        return userServer.restPassword(user);
+    }
+
+    /**
+     * 用户管理:查询组织机构
+     * @return
+     */
+    @PostMapping("selectOrganization")
+    @UserRightCheck(code = "001002")
+    public ResponseResultVO selectOrganization() {
+        return userServer.selectOrganization();
+    }
+
+    /**
+     * 用户管理:修改密码
+     * @return
+     */
+    @PostMapping("updatePassword")
+    @UserRightCheck(code = "001002007")
+    public ResponseResultVO updatePassword(@RequestBody User user) {
+        return userServer.updatePassword(user);
+    }
+
+}

+ 79 - 0
src/main/java/com/dk/mnls_mp/controller/VarietyController.java

@@ -0,0 +1,79 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.service.VarietyService;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.mapper.VarietyRecordMapper;
+import com.dk.mnls_mp.dao.pojo.VarietyRecord;
+import com.dk.mnls_mp.util.ExcelHelper;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.List;
+
+/**
+ * 商品品种管理Controller层
+ */
+@RestController
+@RequestMapping("varietyManage/")
+public class VarietyController extends BaseController {
+
+    @Autowired
+    private VarietyService varietyService;
+
+    @Autowired
+    private VarietyRecordMapper varietyRecordMapper;
+
+    /**
+     * 商品品种管理:查询
+     * @param varietyRecord
+     * @return
+     */
+    @PostMapping("selectVariety")
+    @UserRightCheck(code = "003001003")
+    public ResponseResultVO selectVariety(@RequestBody VarietyRecord varietyRecord){
+        return varietyService.selectVariety(varietyRecord);
+    }
+
+    /**
+     * 商品品种管理:新建:保存
+     * @param varietyRecord
+     * @return
+     */
+    @PostMapping("saveVariety")
+    @UserRightCheck(code = "003001003001,003001003002")
+    public ResponseResultVO saveVariety(@RequestBody VarietyRecord varietyRecord) {
+        return varietyService.saveVariety(varietyRecord);
+    }
+
+    /**
+     * 商品品种管理:删除
+     * @param list
+     * @return
+     */
+    @PostMapping("delVariety")
+    @UserRightCheck(code = "003001003")
+    public ResponseResultVO delVariety(@RequestBody List<VarietyRecord> list) {
+        return varietyService.delVariety(list);
+    }
+
+    /**
+     * 商品品种管理:导出
+     * @return
+     */
+    @GetMapping("downClick")
+    @UserRightCheck(code = "003001003")
+    public void exportExcel(HttpServletResponse response, @RequestParam String varietyname,
+                            @RequestParam Integer pagesize, @RequestParam Integer currentline){
+        VarietyRecord varietyrecord = new VarietyRecord();
+        varietyrecord.setVarietyname(varietyname);
+        varietyrecord.setPagesize(pagesize);
+        varietyrecord.setCurrentline(currentline);
+        ExcelHelper.exportExcel(varietyRecordMapper.selectVariety(varietyrecord),
+                null,"商品品种", VarietyRecord.class,
+                "商品品种导出数据 - 恒洁版.xls",response);
+    }
+
+}

+ 77 - 0
src/main/java/com/dk/mnls_mp/controller/WCFinfoController.java

@@ -0,0 +1,77 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.pojo.WCFinfo;
+import com.dk.mnls_mp.service.WCFinfoService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+/**
+ * 服务器信息管理Controller层
+ */
+@RestController
+@RequestMapping("serverManage/")
+public class WCFinfoController extends BaseController {
+
+    @Autowired
+    private WCFinfoService wcFinfoService;
+
+    /**
+     * 分页查询服务器管理信息
+     * @param wcFinfo
+     * @return
+     */
+    @PostMapping("toShowWCF")
+    @UserRightCheck(code = "002001")
+    public ResponseResultVO  selectWcFinfoByPage(@RequestBody WCFinfo wcFinfo){
+        return  wcFinfoService.selectWcFinfoByPage(wcFinfo);
+    }
+
+    /**
+     * 状态改变
+     * @param wcFinfo
+     * @return
+     */
+    @PostMapping("updateFlag")
+    @UserRightCheck(code = "002001003")
+    public  ResponseResultVO updateValueFlag(@RequestBody WCFinfo wcFinfo) {
+        return wcFinfoService.updateValueflag(wcFinfo);
+    }
+
+    /**
+     * 保存
+     */
+    @PostMapping("/toAddWCF")
+    @UserRightCheck(code = "002001001,002001002")
+    public ResponseResultVO saveWCFinfo(@RequestBody WCFinfo wcFinfo){
+        return  wcFinfoService.saveWCFinfo(wcFinfo);
+    }
+
+    /**
+     * 删除
+     * @param wcFinfo
+     * @return
+     */
+    @PostMapping("deleteById")
+    @UserRightCheck(code = "002001")
+    public ResponseResultVO deleteById(@RequestBody WCFinfo wcFinfo){
+        return  wcFinfoService.deleteById(wcFinfo);
+    }
+
+    /**
+     * 经销商管理:查询端口信息
+     * @return
+     */
+    @PostMapping("selectComDBInfo")
+    @UserRightCheck(code = "002001")
+    public ResponseResultVO selectComDBInfo(@RequestBody WCFinfo wcFinfo){
+        return  wcFinfoService.selectComDBInfo(wcFinfo);
+    }
+
+
+}

+ 32 - 0
src/main/java/com/dk/mnls_mp/controller/authBrand/AuthBrandController.java

@@ -0,0 +1,32 @@
+package com.dk.mnls_mp.controller.authBrand;
+
+import com.dk.mnls_mp.service.authBrand.AuthBrandService;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("authBrand/")
+@CrossOrigin(
+        origins = {"*"},
+        allowCredentials = "true"
+)
+public class AuthBrandController {
+
+    @Autowired
+    private AuthBrandService authBrandService;
+
+
+    @PostMapping("getAuthBrandByCustomerId/{customerId}")
+    public ResponseResultVO getAuthBrandByCustomerId(@PathVariable Long customerId) {
+        return authBrandService.getAuthBrandByCustomerId(customerId);
+    }
+
+    @PostMapping("saveAuthBrand")
+    public ResponseResultVO saveAuthBrand(@RequestBody List<Map<String, Object>> param) {
+        return authBrandService.saveAuthBrand(param);
+    }
+}

+ 87 - 0
src/main/java/com/dk/mnls_mp/controller/inventory/inventoryController.java

@@ -0,0 +1,87 @@
+package com.dk.mnls_mp.controller.inventory;
+
+import com.dk.mnls_mp.dao.mapper.inventory.InventoryMapper;
+import com.dk.mnls_mp.dao.pojo.Customer;
+import com.dk.mnls_mp.dao.pojo.inventory.Inventory;
+import com.dk.mnls_mp.service.inventory.InventoryService;
+import com.dk.mnls_mp.util.ExcelHelper;
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dongke.base.service.BaseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.util.*;
+
+@RestController
+@RequestMapping("/inventory")
+public class inventoryController extends BaseController<Inventory> {
+
+    @Autowired
+    private InventoryService inventoryService;
+
+    @Autowired
+    private InventoryMapper inventoryMapper;
+
+    @Override
+    public BaseService<Inventory> getService() {
+        return inventoryService;
+    }
+
+//    @Override
+//    @PostMapping({"list_by"})
+//    @UserRightCheck(code = "008002")
+//    public ResponseResultVO<PageList<Inventory>> selectByCond(@RequestBody Inventory inventory){
+//        return this.getService().selectByCond(inventory);
+//    }
+
+    @GetMapping("export")
+    public void export(HttpServletResponse response
+            , @RequestParam String dealerCode
+            , @RequestParam String dealerName
+            , @RequestParam String dealerCode1
+            , @RequestParam String dealerName1
+            , @RequestParam String onlyCode
+            , @RequestParam String code
+            , @RequestParam String goodsName
+            , @RequestParam String varietyName
+            , @RequestParam String kindNameStr) {
+
+        Inventory inventory = new Inventory();
+        inventory.setDealerCode(dealerCode);
+        inventory.setDealerName(dealerName);
+        inventory.setDealerCode1(dealerCode1);
+        inventory.setDealerName1(dealerName1);
+        inventory.setOnlyCode(onlyCode);
+        inventory.setCode(code);
+        inventory.setGoodsName(goodsName);
+        inventory.setVarietyName(varietyName);
+        List<Map<String, String>> kindNameList = new ArrayList<>();
+        if (kindNameStr != null && kindNameStr != "") {
+            List<String> list = Arrays.asList(kindNameStr.split(","));
+            Map<String, String> map = null;
+            for (String str : list) {
+                map = new HashMap<>();
+                map.put(str, str);
+                kindNameList.add(map);
+            }
+        }
+        inventory.setKindNameList(kindNameList);
+        List<Inventory> inventorys = inventoryMapper.selectByCond(inventory);
+
+        ExcelHelper.exportExcel(inventorys,
+                null, "经销商", Inventory.class,
+                "库存明细信息导出数据-恒洁版.xls", response);
+    }
+
+    /**
+     * @author : sh4wmoo
+     * @date : 2021-6-2 13:49
+     * @desc : 根据customerCode拉取某一个经销商的库存
+     */
+    @PostMapping("get_by_customercode")
+    public ResponseResultVO getInventoryByCustomerCode(@RequestBody Customer customer) {
+        return inventoryService.getInventoryByCustomerCode(customer.getCustomercode());
+    }
+}

+ 51 - 0
src/main/java/com/dk/mnls_mp/controller/organizationAttribute/OrganizationAttributeController.java

@@ -0,0 +1,51 @@
+package com.dk.mnls_mp.controller.organizationAttribute;
+
+import com.dk.mnls_mp.dao.pojo.organizationAttribute.OrganizationAttribute;
+import com.dk.mnls_mp.dao.pojo.organizationAttribute.OrganizationAttributeDetailLog;
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dongke.base.service.BaseService;
+import com.dk.mnls_mp.service.organizationAttribute.OrganizationAttributeService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.List;
+import java.util.Map;
+
+@RestController
+@RequestMapping("/organization_attribute")
+public class OrganizationAttributeController extends BaseController<OrganizationAttribute> {
+
+    @Autowired
+    private OrganizationAttributeService organizationAttributeService;
+
+    @Override
+    public BaseService<OrganizationAttribute> getService() {
+        return organizationAttributeService;
+    }
+
+    @PostMapping("update_list")
+    public ResponseResultVO updateList(@RequestBody List<OrganizationAttribute> list){
+       return organizationAttributeService.updateList(list);
+    }
+
+    @PostMapping("batch_sync")
+    public ResponseResultVO batchSync(@RequestBody Map<String,Object> map){
+        return organizationAttributeService.batchSync(map);
+    }
+
+    @PostMapping("select_all_log")
+    public ResponseResultVO selectAllLog()  {
+        return organizationAttributeService.selectAllLog();
+    }
+
+
+    @PostMapping("select_detail_log")
+    public ResponseResultVO selectDetailLog(@RequestBody OrganizationAttributeDetailLog organizationAttributeDetailLog)  {
+        return organizationAttributeService.selectDetailLog(organizationAttributeDetailLog);
+    }
+
+}

+ 77 - 0
src/main/java/com/dk/mnls_mp/controller/price/CustomerGroupController.java

@@ -0,0 +1,77 @@
+package com.dk.mnls_mp.controller.price;
+
+import com.dk.mnls_mp.config.Config;
+import com.dk.mnls_mp.dao.pojo.price.CustomerGroup;
+import com.dk.mnls_mp.service.price.CustomerGroupService;
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dongke.base.service.BaseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/customer_group")
+
+public class CustomerGroupController extends BaseController<CustomerGroup> {
+
+    @Autowired
+    private CustomerGroupService customerGroupService;
+    @Autowired
+    private Config config;
+
+    @Override
+    public BaseService<CustomerGroup> getService() {
+        return customerGroupService;
+    }
+
+    @PostMapping("list_customer")
+    public ResponseResultVO list_customer(@RequestBody CustomerGroup customer) {
+        return customerGroupService.selectCustomer(customer);
+    }
+
+    /**
+     * 获取总单及明细
+     *
+     * @param customer
+     * @return
+     */
+    @PostMapping("detail_search")
+    public ResponseResultVO selectDetail(@RequestBody CustomerGroup customer) {
+        return customerGroupService.selectDetail(customer);
+    }
+
+    /**
+     * 修改明细
+     *
+     * @param customer
+     * @return
+     */
+    @PostMapping("updateCustomersDetail")
+    public ResponseResultVO updateCustomersDetail(@RequestBody CustomerGroup customer) {
+        return customerGroupService.updateCustomersDetail(customer);
+    }
+
+    /**
+     * 删除明细
+     *
+     * @param customer
+     * @return
+     */
+    @PostMapping("deleteCustomerDetail")
+    public ResponseResultVO deleteCustomerDetail(@RequestBody CustomerGroup customer) {
+        return customerGroupService.deleteCustomerDetail(customer);
+    }
+
+    /**
+     * @Date 2021-1-21 09:47:39
+     * @Author feiy
+     * @Description 删除
+     */
+    @PostMapping("delete")
+    public ResponseResultVO delete(@RequestBody CustomerGroup customer) {
+        return customerGroupService.delete(customer);
+    }
+}

+ 39 - 0
src/main/java/com/dk/mnls_mp/controller/price/GoodsController.java

@@ -0,0 +1,39 @@
+package com.dk.mnls_mp.controller.price;
+
+import com.dk.mnls_mp.config.Config;
+import com.dk.mnls_mp.dao.pojo.price.GoodsPrice;
+import com.dk.mnls_mp.service.price.GoodsService;
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dongke.base.service.BaseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+@RestController
+@RequestMapping("/goods")
+
+public class GoodsController extends BaseController<GoodsPrice> {
+
+    @Autowired
+    private GoodsService goodsService;
+    @Autowired
+    private Config config;
+
+    @Override
+    public BaseService<GoodsPrice> getService() {
+        return goodsService;
+    }
+
+    /**
+     * @Date 2021-1-14 17:20:31
+     * @Author feiy
+     * @Description 修改价格信息
+     */
+    @PostMapping("update_price")
+    public ResponseResultVO updatePrice(@RequestBody GoodsPrice goodsPrice) {
+        return goodsService.updatePrice(goodsPrice);
+    }
+}

+ 86 - 0
src/main/java/com/dk/mnls_mp/controller/price/PriceGroupController.java

@@ -0,0 +1,86 @@
+package com.dk.mnls_mp.controller.price;
+
+import com.dk.mnls_mp.dao.pojo.price.GoodsPrice;
+import com.dk.mnls_mp.dao.pojo.price.PriceGroup;
+import com.dk.mnls_mp.dao.pojo.price.PriceGroupAuthorize;
+import com.dk.mnls_mp.service.price.PriceGroupService;
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dongke.base.service.BaseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+@RestController
+@RequestMapping("/price_group")
+public class PriceGroupController extends BaseController<PriceGroup> {
+
+    @Autowired
+    private PriceGroupService priceGroupService;
+
+    @Override
+    public BaseService<PriceGroup> getService() {
+        return priceGroupService;
+    }
+
+    /**
+     * @Date 2021-1-13 14:09:14
+     * @Author feiy
+     * @Description 获取全部价格分类
+     */
+    @PostMapping("/allPriceType")
+    public ResponseResultVO allPriceType() {
+        return priceGroupService.allPriceType();
+    }
+
+    /**
+     * 获取商品编码明细
+     *
+     * @param priceGroupID
+     * @param goodsPrice
+     * @return
+     */
+    @PostMapping("detail_search/{priceGroupID}")
+    public ResponseResultVO selectById(@PathVariable Long priceGroupID, @RequestBody GoodsPrice goodsPrice) {
+        return priceGroupService.selectByIdSearch(priceGroupID, goodsPrice);
+    }
+
+    /**
+     * @Date 2021-1-21 09:47:39
+     * @Author feiy
+     * @Description 价格授权列表
+     */
+    @PostMapping("authorize")
+    public ResponseResultVO authorizeList(@RequestBody PriceGroupAuthorize priceGroupAuthorize) {
+        return priceGroupService.authorizeList(priceGroupAuthorize);
+    }
+
+    /**
+     * @Date 2021-1-21 09:47:39
+     * @Author feiy
+     * @Description 新建价格授权
+     */
+    @PostMapping("create_authorize")
+    public ResponseResultVO createAuthorize(@RequestBody PriceGroupAuthorize priceGroupAuthorize) {
+        return priceGroupService.createAuthorize(priceGroupAuthorize);
+    }
+
+    /**
+     * @Date 2021-1-21 09:47:39
+     * @Author feiy
+     * @Description 删除关联权限
+     */
+    @PostMapping("delete_authorize")
+    public ResponseResultVO deleteAuthorize(@RequestBody PriceGroupAuthorize priceGroupAuthorize) {
+        return priceGroupService.deleteAuthorize(priceGroupAuthorize);
+    }
+
+    /**
+     * @Date 2021-1-21 09:47:39
+     * @Author feiy
+     * @Description 删除价格组
+     */
+    @PostMapping("delete")
+    public ResponseResultVO delete(@RequestBody PriceGroup priceGroup) {
+        return priceGroupService.delete(priceGroup);
+    }
+}

+ 51 - 0
src/main/java/com/dk/mnls_mp/controller/priceStrategy/PriceStrategyController.java

@@ -0,0 +1,51 @@
+package com.dk.mnls_mp.controller.priceStrategy;
+
+import com.dk.mnls_mp.dao.pojo.priceStrategy.PriceStrategy;
+import com.dk.mnls_mp.dao.pojo.priceStrategy.PriceStrategyDetailLog;
+import com.dk.mnls_mp.service.priceStrategy.PriceStrategyService;
+import com.dongke.base.controller.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dongke.base.service.BaseService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("/price_strategy")
+public class PriceStrategyController extends BaseController<PriceStrategy> {
+
+    @Autowired
+    private PriceStrategyService priceStrategyService;
+
+    @Override
+    public BaseService<PriceStrategy> getService() {
+        return priceStrategyService;
+    }
+
+    @PostMapping("batch_sync")
+    public ResponseResultVO batchSync(@RequestBody Map<String, Object> params) {
+        return priceStrategyService.batchSync(params);
+    }
+
+    @PostMapping("select_all_log")
+    public ResponseResultVO selectAllLog() {
+        return priceStrategyService.selectAllLog();
+    }
+
+
+    @PostMapping("select_detail_log")
+    public ResponseResultVO selectDetailLog(@RequestBody PriceStrategyDetailLog priceStrategyDetailLog) {
+        return priceStrategyService.selectDetailLog(priceStrategyDetailLog);
+    }
+
+    @PostMapping("syncAll")
+    public ResponseResultVO syncAll() {
+        return priceStrategyService.syncAll();
+    }
+
+
+}

+ 301 - 0
src/main/java/com/dk/mnls_mp/controller/reporter/ReporterController.java

@@ -0,0 +1,301 @@
+package com.dk.mnls_mp.controller.reporter;
+
+import com.alibaba.fastjson.JSON;
+import com.dk.mnls_mp.base.BaseController;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.pojo.AvgQuantityAmount;
+import com.dk.mnls_mp.dao.pojo.AvgQuantityAmountDetail;
+import com.dk.mnls_mp.service.report.ReportService;
+import com.dk.mnls_mp.util.ExcelHelper;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import javax.servlet.http.HttpServletResponse;
+import java.text.ParseException;
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 服务器信息管理Controller层
+ */
+@RestController
+@RequestMapping("reporter/")
+public class ReporterController extends BaseController {
+
+    @Autowired
+    private ReportService reportService;
+
+    @PostMapping("salesCollectReport")
+    @UserRightCheck(code = "005001")
+    public ResponseResultVO salesCollectReport(@RequestBody Map<String, Object> selectData) {
+        return reportService.salesCollectReport(selectData);
+    }
+
+    @PostMapping("salesCollectReportDetail")
+    @UserRightCheck(code = "005001")
+    public ResponseResultVO salesCollectReportDetail(@RequestBody Map<String, Object> selectData) {
+        return reportService.salesCollectReportDetail(selectData);
+    }
+
+    @PostMapping("inventoryCollectReport")
+    @UserRightCheck(code = "005002")
+    public ResponseResultVO inventoryCollectReport(@RequestBody Map<String, Object> selectData) {
+        return reportService.inventoryCollectReport(selectData);
+    }
+
+    @PostMapping("inventoryCollectReportDetail")
+    @UserRightCheck(code = "005002")
+    public ResponseResultVO inventoryCollectReportDetail(@RequestBody Map<String, Object> selectData) {
+        return reportService.inventoryCollectReportDetail(selectData);
+    }
+
+    @PostMapping("liabilitiesCollectReport")
+    @UserRightCheck(code = "005003")
+    public ResponseResultVO liabilitiesCollectReport(@RequestBody Map<String, Object> selectData) {
+        return reportService.liabilitiesCollectReport(selectData);
+    }
+
+    @PostMapping("liabilitiesCollectReportDetail")
+    @UserRightCheck(code = "005003")
+    public ResponseResultVO liabilitiesCollectReportDetail(@RequestBody Map<String, Object> selectData) {
+        return reportService.liabilitiesCollectReportDetail(selectData);
+    }
+
+    @PostMapping("lossesCollectReport")
+    @UserRightCheck(code = "005004")
+    public ResponseResultVO lossesCollectReport(@RequestBody Map<String, Object> selectData) {
+        return reportService.lossesCollectReport(selectData);
+    }
+
+    @PostMapping("lossesCollectReportDetail")
+    @UserRightCheck(code = "005004")
+    public ResponseResultVO lossesCollectReportDetail(@RequestBody Map<String, Object> selectData) {
+        return reportService.lossesCollectReportDetail(selectData);
+    }
+
+    @PostMapping("getAvgQuantityAmount")
+    @UserRightCheck(code = "005005")
+    public ResponseResultVO getAvgQuantityAmount(@RequestBody Map<String, Object> selectData) throws ParseException {
+        return reportService.getAvgQuantityAmountNew(selectData);
+    }
+
+    @GetMapping("exportAvgQuantityAmountNew")
+    @UserRightCheck(code = "005005")
+    public void exportAvgQuantityAmountDetailPost(HttpServletResponse response,
+                                                  @RequestParam List<Integer> CustomerID,
+                                                  @RequestParam List<Integer> CustomerIDNow,
+                                                  @RequestParam String accountMonthFromNow,
+                                                  @RequestParam String accountMonthToNow,
+                                                  @RequestParam String accountYearNow,
+                                                  @RequestParam List<String> chlOrganizationStr,
+                                                  @RequestParam Integer directStoreFlagNum,
+                                                  @RequestParam Integer filterReverseNum,
+                                                  @RequestParam String gradeType1,
+                                                  @RequestParam String gradeType2,
+                                                  @RequestParam String purchaseType,
+                                                  @RequestParam Integer searchType,
+                                                  @RequestParam Integer userid,
+                                                  @RequestParam List<String> varietynames,
+                                                  @RequestParam String organizationCode
+    ) throws Exception {
+
+        Map<String, Object> map = new HashMap<>();
+        map.put("CustomerID", CustomerID);
+        map.put("CustomerIDNow", CustomerIDNow);
+        map.put("accountMonthFromNow", accountMonthFromNow);
+        map.put("accountMonthToNow", accountMonthToNow);
+        map.put("accountYearNow", accountYearNow);
+        map.put("chlOrganizationStr", chlOrganizationStr);
+        map.put("directStoreFlagNum", directStoreFlagNum);
+        map.put("filterReverseNum", filterReverseNum);
+        map.put("gradeType1", gradeType1);
+        map.put("gradeType2", gradeType2);
+        map.put("purchaseType", purchaseType);
+        map.put("searchType", searchType);
+        map.put("userid", userid);
+        map.put("varietynames", varietynames);
+        map.put("organizationCode", organizationCode);
+
+        ResponseResultVO resultVO = reportService.getAvgQuantityAmountNew(map);
+        if (resultVO.getCode() != 200) {
+            throw new RuntimeException(resultVO.getMessage());
+        }
+        List<Map<String, Object>> listMap = (List<Map<String, Object>>) resultVO.getData();
+        if (searchType == 0) {
+
+
+            List<AvgQuantityAmount> list = new ArrayList<>();
+
+            listMap.forEach(mapItem -> {
+                Map<String, Object> temp = new HashMap<>();
+                for (String key : mapItem.keySet()) {
+                    temp.put(key.substring(0, 1).toLowerCase() + key.substring(1, key.length()), mapItem.get(key) == null ? 0 : mapItem.get(key));
+                }
+                list.add(JSON.parseObject(JSON.toJSONString(temp), AvgQuantityAmount.class));
+            });
+
+            list.forEach(it -> {
+                it.setSumQuantity(
+                        it.getToiletNum()
+                                .add(it.getTotalSmart())
+                                .add(it.getCabinetNum())
+                                .add(it.getFaucetNum())
+                                .add(it.getSprinklerNum())
+                                .add(it.getShowerNum())
+                );
+                it.setAvSumQuantity(
+                        it.getAvToiletNum()
+                                .add(it.getAvTotalNum())
+                                .add(it.getAvCabinetNum())
+                                .add(it.getAvFaucetNum())
+                                .add(it.getAvSprinklerNum())
+                                .add(it.getAvShowerNum())
+                );
+                it.setOldAvSumQuantity(
+                        it.getOldAvSmartNum()
+                                .add(it.getOldAvToiletNum())
+                                .add(it.getOldAvCabinetNum())
+                                .add(it.getOldAvFaucetNum())
+                                .add(it.getOldAvSprinklerNum())
+                                .add(it.getOldAvShowerNum())
+                );
+            });
+
+            ExcelHelper.exportExcel(list,
+                    null, "均单额均单量", AvgQuantityAmount.class,
+                    "均单额均单量导出数据-恒洁版.xls", response);
+        } else {
+            List<AvgQuantityAmountDetail> list = new ArrayList<>();
+            listMap.forEach(mapItem -> {
+                Map<String, Object> temp = new HashMap<>();
+                for (String key : mapItem.keySet()) {
+                    temp.put(key.substring(0, 1).toLowerCase() + key.substring(1, key.length()), mapItem.get(key) == null ? 0 : mapItem.get(key));
+                }
+                list.add(JSON.parseObject(JSON.toJSONString(temp), AvgQuantityAmountDetail.class));
+            });
+            ExcelHelper.exportExcel(list,
+                    null, "均单额均单量明细", AvgQuantityAmountDetail.class,
+                    "均单额均单量明细导出数据-恒洁版.xls", response);
+
+        }
+
+
+    }
+
+
+    @GetMapping("exportAvgQuantityAmountDetail")
+    @UserRightCheck(code = "005005")
+    public void exportAvgQuantityAmountDetail(HttpServletResponse response,
+                                              @RequestParam String accountMonthFromNow,
+                                              @RequestParam String accountMonthToNow,
+                                              @RequestParam List<String> CustomerIDNow,
+                                              @RequestParam List<String> chlOrganizationStr,
+                                              @RequestParam String accountYearNow,
+                                              @RequestParam Integer directStoreFlagNum,
+                                              @RequestParam Integer gradeType,
+                                              @RequestParam Integer gradeEndType,
+                                              @RequestParam Integer filterReverseNum,
+                                              @RequestParam String purchaseType,
+                                              @RequestParam Integer searchType,
+                                              @RequestParam Integer userid,
+                                              @RequestParam Integer organizationID,
+                                              @RequestParam List<String> varietynames
+    ) throws Exception {
+        Map<String, Object> dataMap = new HashMap<>();
+        dataMap.put("accountMonthFromNow", accountMonthFromNow);
+        dataMap.put("accountMonthToNow", accountMonthToNow);
+        dataMap.put("CustomerIDNow", CustomerIDNow);
+        dataMap.put("chlOrganizationStr", chlOrganizationStr);
+        dataMap.put("accountYearNow", accountYearNow);
+        dataMap.put("directStoreFlagNum", directStoreFlagNum);
+        dataMap.put("gradeType", gradeType);
+        dataMap.put("gradeEndType", gradeEndType);
+        dataMap.put("filterReverseNum", filterReverseNum);
+        dataMap.put("purchaseType", purchaseType);
+        dataMap.put("searchType", searchType);
+        dataMap.put("userid", userid);
+        dataMap.put("organizationID", organizationID);
+        dataMap.put("varietynames", varietynames);
+        ResponseResultVO resultData = reportService.getAvgQuantityAmount(dataMap);
+        if (resultData.getCode() == 200) {
+            List<Map<String, Object>> list = (List<Map<String, Object>>) resultData.getData();
+            List<AvgQuantityAmountDetail> resultList = new ArrayList<>();
+            if (list != null && list.size() > 0) {
+                for (Map<String, Object> item : list) {
+                    resultList.add(JSON.parseObject(JSON.toJSONString(item), AvgQuantityAmountDetail.class));
+                }
+            }
+
+            //List<AvgQuantityAmountDetail> resultList = new EntityBean().parse((List<Map<String, Object>>) resultData.getData(),AvgQuantityAmountDetail.class);
+            ExcelHelper.exportExcel(resultList,
+                    null, "均单额均单量", AvgQuantityAmountDetail.class,
+                    "均单额均单量导出数据-恒洁版.xls", response);
+        }
+    }
+
+    @GetMapping("exportAvgQuantityAmount")
+    @UserRightCheck(code = "005005")
+    public void exportAvgQuantityAmount(HttpServletResponse response,
+                                        @RequestParam Object accountMonthFromNow,
+                                        @RequestParam Object accountMonthToNow,
+                                        @RequestParam List<String> CustomerIDNow,
+                                        @RequestParam List<String> chlOrganizationStr,
+                                        @RequestParam Object accountYearNow,
+                                        @RequestParam Integer directStoreFlagNum,
+                                        @RequestParam Integer gradeType,
+                                        @RequestParam Integer gradeEndType,
+                                        @RequestParam Integer filterReverseNum,
+                                        @RequestParam String purchaseType,
+                                        @RequestParam Integer searchType,
+                                        @RequestParam Integer userid
+    ) throws Exception {
+        Map<String, Object> dataMap = new HashMap<>();
+        dataMap.put("accountMonthFromNow", accountMonthFromNow);
+        dataMap.put("accountMonthToNow", accountMonthToNow);
+        dataMap.put("CustomerIDNow", CustomerIDNow);
+        dataMap.put("chlOrganizationStr", chlOrganizationStr);
+        dataMap.put("accountYearNow", accountYearNow);
+        dataMap.put("directStoreFlagNum", directStoreFlagNum);
+        dataMap.put("gradeType", gradeType);
+        dataMap.put("gradeEndType", gradeEndType);
+        dataMap.put("filterReverseNum", filterReverseNum);
+        dataMap.put("purchaseType", purchaseType);
+        dataMap.put("searchType", searchType);
+        dataMap.put("userid", userid);
+        ResponseResultVO resultData = reportService.getAvgQuantityAmount(dataMap);
+        if (resultData.getCode() == 200) {
+            List<Map<String, Object>> list = (List<Map<String, Object>>) resultData.getData();
+            List<AvgQuantityAmount> resultList = new ArrayList<>();
+            if (list != null && list.size() > 0) {
+                for (Map<String, Object> item : list) {
+                    resultList.add(JSON.parseObject(JSON.toJSONString(item), AvgQuantityAmount.class));
+                }
+            }
+
+            //List<AvgQuantityAmount> resultList = new EntityBean().parse((List<Map<String, Object>>) resultData.getData(),AvgQuantityAmount.class);
+            System.err.println("resultList" + resultList.get(0).getAccountName());
+            ExcelHelper.exportExcel(resultList,
+                    null, "均单额均单量", AvgQuantityAmount.class,
+                    "均单额均单量导出数据-恒洁版.xls", response);
+        }
+    }
+
+    /**
+     * 经销商
+     *
+     * @return
+     */
+    @PostMapping("selectAllData")
+    @UserRightCheck(code = "005005")
+    public ResponseResultVO selectAllData(@RequestBody Map<String, Object> data) {
+        return reportService.selectAllData(data);
+    }
+
+    @PostMapping("getInfoByCustomerId/{customerId}")
+    public ResponseResultVO getInfoByCustomerId(@PathVariable Long customerId) {
+        return reportService.getInfoByCustomerId(customerId);
+    }
+}

+ 61 - 0
src/main/java/com/dk/mnls_mp/controller/synchCode/SynchCodeController.java

@@ -0,0 +1,61 @@
+package com.dk.mnls_mp.controller.synchCode;
+
+import com.dk.mnls_mp.base.BaseController;
+import com.dk.mnls_mp.dao.pojo.WCFinfo;
+import com.dk.mnls_mp.service.synchCode.SynchCodeService;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import org.dom4j.DocumentException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("synchCode/")
+public class SynchCodeController extends BaseController {
+
+    @Autowired
+    private SynchCodeService synchCodeService;
+
+    @PostMapping("synchCode")
+    public ResponseResultVO synchCode(@RequestBody Map<String, Object> data) {
+        return synchCodeService.synchCode(data);
+    }
+
+
+    /**
+     * @author : sh4wmoo
+     * @date : 2021-8-31 10:25
+     * @desc : 新上线初始化
+     * 同步商品编码
+     */
+    @PostMapping("newCustomerSynch")
+    public ResponseResultVO newCustomerSynch(@RequestBody WCFinfo wcfInfo) throws DocumentException {
+        return synchCodeService.newCustomerSynch(wcfInfo);
+    }
+
+    /**
+     * @author : sh4wmoo
+     * @date : 2021-8-31 10:29
+     * @desc : 同步商品编码初始化(废弃)
+     * 绑定standardId
+     */
+    @PostMapping("bindDataSynch")
+    public ResponseResultVO bindDataSynch(@RequestBody WCFinfo wcfInfo) throws DocumentException {
+        return synchCodeService.bindDataSynch(wcfInfo);
+    }
+
+    /**
+     * @author : sh4wmoo
+     * @date : 2021-8-31 10:09
+     * @desc : 同步基础数据
+     * 数据字典、面积公式、流通方式、等级、计量单位、系列、品种、渠道、卫生间数、种类
+     */
+    @PostMapping("newCustomerBaseInfoSynch")
+    public ResponseResultVO newCustomerBaseInfoSynch(@RequestBody WCFinfo wcfInfo) throws DocumentException {
+        return synchCodeService.newCustomerBaseInfoSynch(wcfInfo);
+    }
+}

+ 65 - 0
src/main/java/com/dk/mnls_mp/controller/synchSubject/SynchSubjectController.java

@@ -0,0 +1,65 @@
+package com.dk.mnls_mp.controller.synchSubject;
+
+import com.dk.mnls_mp.base.BaseController;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.service.synchSubject.SynchSubjectService;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.PostMapping;
+import org.springframework.web.bind.annotation.RequestBody;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.util.Map;
+
+@RestController
+@RequestMapping("synchSubject/")
+public class SynchSubjectController extends BaseController {
+
+    @Autowired
+    private SynchSubjectService synchSubjectService;
+
+    @PostMapping("synchSubject")
+    @UserRightCheck(code = "003003002001")
+    public ResponseResultVO synchSubject(@RequestBody Map<String, Object> data) {
+        return synchSubjectService.synchSubject(data);
+    }
+
+    @PostMapping("synchOneSubject")
+    @UserRightCheck(code = "003003002002,003003001004")
+    public ResponseResultVO synchOneSubject(@RequestBody Map<String, Object> data) {
+        return synchSubjectService.synchOneSubject(data);
+    }
+
+    @PostMapping("selectSubject")
+    @UserRightCheck(code = "003003002")
+    public ResponseResultVO selectSubject(@RequestBody Map<String, Object> map) {
+        return synchSubjectService.selectSubject(map);
+    }
+
+    @PostMapping("getFeeItem")
+    @UserRightCheck(code = "003003003")
+    public ResponseResultVO getFeeItem(@RequestBody Map<String, Object> map) {
+        return synchSubjectService.getFeeItem(map);
+    }
+
+    @PostMapping("delSubject")
+    public ResponseResultVO delSubject(@RequestBody Map<String, Object> map) {
+        return synchSubjectService.delSubject(map);
+    }
+
+    @PostMapping("getSubjectCode")
+    public ResponseResultVO getSubjectCode(@RequestBody Map<String, Object> map) {
+        return synchSubjectService.getSubjectCode(map);
+    }
+
+    /**
+     * @DateTime 2020-05-20 16:25
+     * @Author H_x_d
+     * @Description 同步全部基础科目,目前仅定时同步
+     */
+//    @PostMapping("syncAllBasicSubject")
+//    public ResponseResultVO syncAllBasicSubject(){
+//        return synchSubjectService.syncAllBasicSubject();
+//    }
+}

+ 46 - 0
src/main/java/com/dk/mnls_mp/controller/systemParameterController.java

@@ -0,0 +1,46 @@
+package com.dk.mnls_mp.controller;
+
+import com.dk.mnls_mp.dao.pojo.SystemParamter;
+import com.dk.mnls_mp.base.BaseController;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import com.dk.mnls_mp.base.UserRightCheck;
+import com.dk.mnls_mp.dao.mapper.SystemParamterMapper;
+import com.dk.mnls_mp.service.SystemParamterService;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+/**
+ * 商品系列管理Controller层
+ */
+@RestController
+@RequestMapping("systemParameterManage/")
+public class systemParameterController extends BaseController {
+
+    @Autowired
+    private SystemParamterService systemParamterService;
+
+    @Autowired
+    private SystemParamterMapper systemParamterMapper;
+
+    /**
+     * 查询
+     * @param systemParamter
+     * @return
+     */
+    @PostMapping("selectSystemParameter")
+    @UserRightCheck(code = "001004002")
+    public ResponseResultVO selectSeries(@RequestBody SystemParamter systemParamter){
+        return systemParamterService.selectSystemParameter(systemParamter);
+    }
+
+    /**
+     * 编辑保存
+     * @param systemParamter
+     * @return
+     */
+    @PostMapping("saveSystemParamter")
+    @UserRightCheck(code = "001004001")
+    public ResponseResultVO saveSystemParamter(@RequestBody SystemParamter systemParamter){
+        return systemParamterService.saveSystemParameter(systemParamter);
+    }
+}

+ 485 - 0
src/main/java/com/dk/mnls_mp/controller/test/DkTestController.java

@@ -0,0 +1,485 @@
+package com.dk.mnls_mp.controller.test;
+
+import com.dk.mnls_mp.config.CrmConfig;
+import com.dk.mnls_mp.constant.Constant;
+import com.dk.mnls_mp.dao.mapper.*;
+import com.dk.mnls_mp.dao.mapper.inventory.InventoryMapper;
+import com.dk.mnls_mp.dao.pojo.Customer;
+import com.dk.mnls_mp.dao.pojo.PullOrderDetail;
+import com.dk.mnls_mp.dao.pojo.WCFinfo;
+import com.dk.mnls_mp.service.AsyncService;
+import com.dk.mnls_mp.service.BomService;
+import com.dk.mnls_mp.service.CrmOrderService;
+import com.dk.mnls_mp.service.SynchFacService;
+import com.dk.mnls_mp.service.crmBom.CRMBomService;
+import com.dk.mnls_mp.service.inventory.InventoryService;
+import com.dk.mnls_mp.service.organizationAttribute.OrganizationAttributeService;
+import com.dk.mnls_mp.service.pullDetail.PullOrderDetailService;
+import com.dk.mnls_mp.service.synchCode.SynchCodeService;
+import com.dk.mnls_mp.service.synchSubject.SynchSubjectService;
+import com.dk.mnls_mp.util.XmlUtil;
+import com.dongke.base.exceptionHandler.ResponseResultUtil;
+import com.dongke.base.exceptionHandler.ResponseResultVO;
+import lombok.extern.slf4j.Slf4j;
+import org.dom4j.DocumentException;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.*;
+
+import java.text.SimpleDateFormat;
+import java.util.*;
+
+@CrossOrigin(
+        origins = {"*"},
+        allowCredentials = "true"
+)
+@RestController
+@RequestMapping("dongke/test")
+@Slf4j
+public class DkTestController {
+
+    @Autowired
+    private InventoryMapper inventoryMapper;
+
+    @Autowired
+    private SynchFacService kindCrmService;
+
+    @Autowired
+    private CustomerMapper customerMapper;
+
+    @Autowired
+    private WCFinfoMapper wcfinfoMapper;
+
+    @Autowired
+    private SynchCodeService synchCodeService;
+
+    @Autowired
+    private CRMBomService crmBomService;
+
+    @Autowired
+    private BomService bomService;
+
+    @Autowired
+    private SynchSubjectService synchSubjectService;
+
+    @Autowired
+    private InventoryService inventoryService;
+
+    @Autowired
+    private CrmOrderService crmOrderService;
+
+    @Autowired
+    private PullOrderDetailMapper pullOrderDetailMapper;
+
+    @Autowired
+    private PullOrderDetailService pullOrderDetailService;
+
+    @Autowired
+    private SystemParamterMapper systemParamterMapper;
+
+    @Autowired
+    private IbossOrganizationMapper ibossOrganizationMapper;
+
+    @Autowired
+    private IbossStaffMapper ibossStaffMapper;
+
+    @Autowired
+    private IbossStaffCommissionMapper ibossStaffCommissionMapper;
+
+    @Autowired
+    private BomMapper bomMapper;
+
+    @Autowired
+    private AsyncService asyncService;
+
+    @Autowired
+    private OrganizationAttributeService organizationAttributeService;
+
+    @Autowired
+    private CrmConfig crmConfig;
+
+    @Autowired
+    private CodeFacRecordMapper codeFacRecordMapper;
+
+    @PostMapping("scheduled/{type}")
+//    @UserRightCheck(code = "000")
+    public ResponseResultVO scheduled(@PathVariable int type) {
+        ResponseResultVO res = null;
+        PullOrderDetail pullOrderDetail = new PullOrderDetail();
+        List<Customer> customerAndTimes = new ArrayList<>();
+        //查询经销商
+        List<Customer> customers = customerMapper.selectAllCusForPullDetail();
+        switch (type) {
+            case 1:
+                res = kindCrmService.translateKind();
+                break;
+            case 2:
+                res = kindCrmService.translateCode();
+                break;
+            case 3:
+                res = crmBomService.getBom(false);
+                break;
+            case 11:
+                res = kindCrmService.getBomProjectGroup();
+                break;
+            case 4:
+                Map<String, Object> map = new HashMap<>();
+                map.put("cusList", wcfinfoMapper.selectWCFIDList(new WCFinfo()));
+                map.put("all", true);
+                map.put("sync", true);
+                map.put("codeList", new ArrayList<>());
+                map.put("createuserid", 0);
+                res = synchCodeService.synchCode(map);
+                break;
+            case 5:
+                res = synchSubjectService.syncAllBasicSubject();
+                break;
+            case 6:
+                Map<String, Object> bomAndCusMap = new HashMap<>();
+                bomAndCusMap.put("customer", customerMapper.selectSyncCustomerIDs());
+                Date lastDate = new Date(System.currentTimeMillis() - 24 * 60 * 60 * 1000);
+                bomAndCusMap.put("bom", bomMapper.selectSyncBomIds(lastDate));
+                ResponseResultVO bomRes = bomService.batchSyncBomService(bomAndCusMap);
+                res = new ResponseResultVO(bomRes.getCode(), bomRes.getMessage(), bomRes.getData());
+                break;
+            case 7://库存
+                /*inventoryMapper.deleteAll();
+                 *//*List<Customer> customers = customerMapper.selectAllCusForPullDetail();
+                for (Customer it : customers) {
+                    ResponseResultVO r = inventoryService.getDealerInventoryOld(it);
+                    res = new ResponseResultVO(r.getCode(), r.getMessage(), r.getData());
+                }*//*
+                PullOrderDetail pullOrderDetail3 = new PullOrderDetail();
+                pullOrderDetail3.setType(2);
+                pullOrderDetail3.setPullTime(new Date());
+                pullOrderDetailMapper.insertDate(pullOrderDetail3);
+                for (Customer it : customers) {
+                    ResponseResultVO r = inventoryService.getDealerInventory(it,pullOrderDetail3);
+                    res = new ResponseResultVO(r.getCode(), r.getMessage(), r.getData());
+                }*/
+                asyncService.AsyncPullIbossData(Constant.PullDataType.INVENTORY);
+                break;
+            case 8:
+                ResponseResultVO resOrder = crmOrderService.pushToIboss();
+                res = new ResponseResultVO(resOrder.getCode(), resOrder.getMessage(), resOrder.getData());
+                break;
+            case 9://订单
+               /* pullOrderDetail.setPullTime(new Date());
+                pullOrderDetailMapper.insertDate(pullOrderDetail);
+
+                //删除七天以上的数据(系统设置)
+                String daynum = systemParamterMapper.selectParamValueByParamName("S_DELETEDAYS");
+                Map<String,Object> delMap = new HashMap<>();
+                delMap.put("nowtime",pullOrderDetail.getPullTime());
+                if(daynum == null || daynum == ""){
+                    delMap.put("daynum",7);
+                }else{
+                    delMap.put("daynum",daynum);
+                }
+                delMap.put("type",0);
+                pullOrderDetailMapper.deleteOverOrderDetail(delMap);
+
+                List<Customer> customerAndTimes1 = customerMapper.selectAllCusAndPullTime(delMap);
+
+                pullOrderDetail.setType(0);
+                for (Customer it : customerAndTimes1) {
+                    pullOrderDetail.setPullStartTime(it.getPullTime());
+                    ResponseResultVO r = pullOrderDetailService.getDealerOrderDetail(it,pullOrderDetail);
+                    res = new ResponseResultVO(r.getCode(), r.getMessage(), r.getData());
+                }*/
+                asyncService.AsyncPullIbossData(Constant.PullDataType.SALES_ORDER);
+                break;
+            case 10://出库
+                /*pullOrderDetail.setPullTime(new Date());
+                pullOrderDetailMapper.insertDate(pullOrderDetail);
+
+                //删除七天以上的数据(系统设置)
+                String daynum2 = systemParamterMapper.selectParamValueByParamName("S_DELETEDAYS");
+                Map<String,Object> delMap2 = new HashMap<>();
+                delMap2.put("nowtime",pullOrderDetail.getPullTime());
+                if(delMap2 == null || daynum2 == ""){
+                    delMap2.put("daynum",7);
+                }else{
+                    delMap2.put("daynum",daynum2);
+                }
+                delMap2.put("type",1);
+                pullOrderDetailMapper.deleteOverOutDetail(delMap2);
+
+                List<Customer> customerAndTimes2 = customerMapper.selectAllCusAndPullTime(delMap2);
+                pullOrderDetail.setType(1);
+                for (Customer it : customerAndTimes2) {
+                    pullOrderDetail.setPullStartTime(it.getPullTime());
+                    ResponseResultVO r = pullOrderDetailService.getDealerOutDetail(it,pullOrderDetail);
+                    res = new ResponseResultVO(r.getCode(), r.getMessage(), r.getData());
+                }*/
+                asyncService.AsyncPullIbossData(Constant.PullDataType.OUT_ORDER);
+                break;
+            case 12://业务部门
+                asyncService.AsyncPullIbossData(Constant.PullDataType.ORGANIZATION);
+                break;
+            case 13://业务员
+                asyncService.AsyncPullIbossData(Constant.PullDataType.STAFF);
+                break;
+            case 14://业务员业绩提成比率
+                asyncService.AsyncPullIbossData(Constant.PullDataType.STAFF_COMMISSION);
+                break;
+            case 15://预收货款
+                asyncService.AsyncPullIbossData(Constant.PullDataType.PRESTORED);
+                break;
+            case 16://销售退货单
+                asyncService.AsyncPullIbossData(Constant.PullDataType.SALES_RETURN);
+                break;
+            case 17://销售冲差单
+                asyncService.AsyncPullIbossData(Constant.PullDataType.SALES_MARGIN);
+                break;
+            case 18://收款单
+                asyncService.AsyncPullIbossData(Constant.PullDataType.RECEIVE);
+                break;
+            case 19://订单明细更新值
+                asyncService.AsyncPullIbossData(Constant.PullDataType.SALES_ORDER_UPDATE);
+                break;
+            case 20://销售额统计
+                asyncService.AsyncPullIbossData(Constant.PullDataType.SALES_AMOUNT);
+                break;
+            case 21://销售排行
+                asyncService.AsyncPullIbossData(Constant.PullDataType.SALE_RANK);
+                break;
+            case 22://iBOSS订单明细
+                asyncService.AsyncPullIbossData(Constant.PullDataType.ORDER_DETAIL);
+                break;
+            case 23://同步基础数据
+                Map<String, Object> mapInfo = new HashMap<>();
+                mapInfo.put("cusList", wcfinfoMapper.selectWCFIDList(new WCFinfo()));
+                res = synchCodeService.synchBaseInfoToIboss(mapInfo);
+                break;
+            case 24://iBOSS库存盘点
+                asyncService.AsyncPullIbossData(Constant.PullDataType.INVENTORY_CHECK_DETAIL);
+                break;
+            case 25://iBOSS出库-全
+                asyncService.AsyncPullIbossData(Constant.PullDataType.OUT_ORDER_DETAIL);
+                break;
+            case 26:
+                asyncService.AsyncPullIbossData(Constant.PullDataType.SALES_RETURN);
+                asyncService.AsyncPullIbossData(Constant.PullDataType.SALES_ORDER_UPDATE);
+                asyncService.AsyncPullIbossData(Constant.PullDataType.SALES_ORDER);
+                asyncService.AsyncPullIbossData(Constant.PullDataType.OUT_ORDER);
+                break;
+            case 27:
+                //全量更新bom
+                res = crmBomService.getBom(true);
+                break;
+            default:
+                break;
+        }
+        return ResponseResultUtil.success(res);
+    }
+
+    //手动拉取接口
+    @PostMapping("pull")
+    public ResponseResultVO pull(@RequestBody Map<String, Object> param) {
+        try {
+            if (param.containsKey("type")) {
+                if (param.get("type") != null && param.get("type") != "") {
+                    Integer type = (Integer) param.get("type");
+                    param.put("flag", true);
+                    switch (type) {
+                        case 0://订单明细
+                            asyncService.Manualpulling(Constant.PullDataType.SALES_ORDER, param);
+                            break;
+                        case 1://出库单明细
+                            asyncService.Manualpulling(Constant.PullDataType.OUT_ORDER, param);
+                            break;
+                        case 2://库存明细
+                            asyncService.Manualpulling(Constant.PullDataType.INVENTORY, param);
+                            break;
+                        case 3://业务部门
+                            asyncService.Manualpulling(Constant.PullDataType.ORGANIZATION, param);
+                            break;
+                        case 4://业务员
+                            asyncService.Manualpulling(Constant.PullDataType.STAFF, param);
+                            break;
+                        case 5://业务员业绩提成比率
+                            asyncService.Manualpulling(Constant.PullDataType.STAFF_COMMISSION, param);
+                            break;
+                        case 6://预收货款
+                            asyncService.Manualpulling(Constant.PullDataType.PRESTORED, param);
+                            break;
+                        case 7://销售退货单
+                            asyncService.Manualpulling(Constant.PullDataType.SALES_RETURN, param);
+                            break;
+                        case 8://销售冲差单
+                            asyncService.Manualpulling(Constant.PullDataType.SALES_MARGIN, param);
+                            break;
+                        case 9://收款单
+                            asyncService.Manualpulling(Constant.PullDataType.RECEIVE, param);
+                            break;
+                        case 10://订单明细更新值
+                            asyncService.Manualpulling(Constant.PullDataType.SALES_ORDER_UPDATE, param);
+                            break;
+                        case 11://销售额统计
+                            asyncService.Manualpulling(Constant.PullDataType.SALES_AMOUNT, param);
+                            break;
+                        case 12://销售排行
+                            asyncService.Manualpulling(Constant.PullDataType.SALE_RANK, param);
+                            break;
+                        case 13://iBOSS订单明细
+                            asyncService.Manualpulling(Constant.PullDataType.ORDER_DETAIL, param);
+                            break;
+                        case 14://iBOSS库存盘点
+                            asyncService.Manualpulling(Constant.PullDataType.INVENTORY_CHECK_DETAIL, param);
+                            break;
+                        case 15://iBOSS出库-全
+                            asyncService.Manualpulling(Constant.PullDataType.OUT_ORDER_DETAIL, param);
+                            break;
+                        default:
+                            break;
+                    }
+                }
+            }
+        } catch (Exception e) {
+            return ResponseResultUtil.error(-100, "参数不正确");
+        }
+        return ResponseResultUtil.success();
+    }
+
+    @GetMapping("requestTime")
+    public String requestTime() {
+        String startDate = "";
+        String endDate = "";
+        long startTime;
+        long endTime;
+        long spend = 0;
+        SimpleDateFormat df = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//设置日期格式
+        try {
+            startDate = df.format(new Date());
+            startTime = System.currentTimeMillis();
+            Thread.sleep(150000);
+            endDate = df.format(new Date());
+            endTime = System.currentTimeMillis();
+            spend = endTime - startTime;
+        } catch (InterruptedException e) {
+            log.error(e.toString(), e);
+            ;
+        }
+        return "请求结束;</br>" + "开始时间:" + startDate + ";</br>结束时间:" + endDate + ";</br>请求时长:" + spend + ";</br>";
+    }
+
+    @GetMapping("/test_async")
+    public ResponseResultVO testAsync() {
+        asyncService.AsyncPullIbossData(Constant.PullDataType.ORGANIZATION);
+        asyncService.AsyncPullIbossData(Constant.PullDataType.STAFF);
+        asyncService.AsyncPullIbossData(Constant.PullDataType.STAFF_COMMISSION);
+        asyncService.AsyncPullIbossData(Constant.PullDataType.SALES_RETURN);
+        asyncService.AsyncPullIbossData(Constant.PullDataType.SALES_MARGIN);
+        asyncService.AsyncPullIbossData(Constant.PullDataType.RECEIVE);
+        asyncService.AsyncPullIbossData(Constant.PullDataType.PRESTORED);
+        asyncService.AsyncPullIbossData(Constant.PullDataType.ORDER_DETAIL);
+        return ResponseResultUtil.success();
+    }
+
+
+    @GetMapping("/test_async_order_detail")
+    public ResponseResultVO testAsyncOrderDetail() {
+        asyncService.AsyncPullIbossData(Constant.PullDataType.ORDER_DETAIL);
+        return ResponseResultUtil.success();
+    }
+
+    @GetMapping("sync_org")
+    public ResponseResultVO syncOrg() {
+        return ResponseResultUtil.success(organizationAttributeService.syncAll());
+    }
+
+
+    @GetMapping("/test_async2")
+    public ResponseResultVO testAsync2() throws InterruptedException {
+        asyncService.asyncFunc1();
+        asyncService.asyncFunc2();
+        return ResponseResultUtil.success();
+    }
+
+    @GetMapping("/test_1027")
+    public ResponseResultVO test1027() throws InterruptedException {
+        kindCrmService.translateCode();
+        return kindCrmService.translateCode();
+    }
+
+    /* 沈博 2021年10月29日14:17:34
+     sap加了几个字段 这边原来的数据要洗一下
+      */
+
+    @GetMapping("pull_ten")
+    public ResponseResultVO pullTen() throws DocumentException {
+
+        return ResponseResultUtil.success(translateCodeInfoPage(0));
+    }
+
+    public ResponseResultVO translateCodeInfoPage(int startRowNum) throws DocumentException {
+
+        Integer pageSize = 200;
+
+        //获取同步履历信息
+        String searchStr = "";
+        searchStr += " <cus:PageSize> " + pageSize + "</cus:PageSize>\n";
+        searchStr += " <cus:StartRowNum>" + startRowNum + "</cus:StartRowNum>\n";
+        searchStr += " <cus:SearchExpr>";
+
+        searchStr += " [HGProduct.Updated]>= '07/01/2000'";
+
+        searchStr += " </cus:SearchExpr>\n";
+        //地址
+        String urlString = crmConfig.getSiebelUrl() + "/eai_chs/start.swe?SWEExtSource=WebService&SWEExtCmd=Execute&WSSOAP=1";
+        //方法
+        String soapActionString = "\"document/http://siebel.com/CustomUI:HGCRMProductQueryServiceQueryPageProd\"";
+
+        String soap = "<soapenv:Envelope xmlns:soapenv=\"http://schemas.xmlsoap.org/soap/envelope/\" " +
+                "xmlns:web=\"http://siebel.com/webservices\" xmlns:cus=\"http://siebel.com/CustomUI\">\n" +
+                "   <soapenv:Header>\n" +
+                "      <web:SessionToken></web:SessionToken>\n" +
+                "      <web:SessionType></web:SessionType>\n" +
+                "      <web:PasswordText>" + crmConfig.getPasswordText() + "</web:PasswordText>\n" +
+                "      <web:UsernameToken>" + crmConfig.getUsernameToken() + "</web:UsernameToken>\n" +
+                "   </soapenv:Header>\n" +
+                "   <soapenv:Body>\n" +
+                "      <cus:HGCRMProductQueryServiceQueryPageProd_Input>\n" +
+                searchStr +
+                "      </cus:HGCRMProductQueryServiceQueryPageProd_Input>\n" +
+                "   </soapenv:Body>\n" +
+                "</soapenv:Envelope>";
+        log.info("请求报文:" + soap);
+        String contentType = "text/xml; charset=utf-8";
+        Date startTime = new Date();
+        String result = XmlUtil.sendSoapPost(urlString, soap, contentType, soapActionString);
+
+
+        log.info("阻止数据库连接关闭:" + codeFacRecordMapper.stopConnectionClose());
+        Map<String, Object> mapResult = XmlUtil.parseXmlToMap(result);
+        Map<String, Object> mapBody = (Map<String, Object>) mapResult.get("Body");
+        Map<String, Object> codeInfoMap = (Map<String, Object>) mapBody.get("HGCRMProductQueryServiceQueryPageProd_Output");
+        log.info("是否为最后一页:" + codeInfoMap.get("LastPage"));
+        log.info("是否为最后一页:" + codeInfoMap.get("LastPage").equals("true"));
+        if (codeInfoMap.get("ListOfHgProductQueryInfo") != null && !codeInfoMap.get("ListOfHgProductQueryInfo").equals("")) {
+            Map<String, Object> listOfHgProductQueryInfo = (Map<String, Object>) codeInfoMap.get("ListOfHgProductQueryInfo");
+            Object object = listOfHgProductQueryInfo.get("InternalProduct-IssAdmin");
+            if (object != null) {
+                List<Map<String, Object>> returnList = new ArrayList<>();
+                if (object instanceof HashMap) {
+                    returnList.add((Map<String, Object>) object);
+                } else {
+                    returnList.addAll((List<Map<String, Object>>) object);
+                }
+                codeFacRecordMapper.insertTempCode(returnList);
+            }
+        }
+
+        if (!codeInfoMap.get("LastPage").equals("true")) {
+            startRowNum = startRowNum + pageSize;
+            translateCodeInfoPage(startRowNum);
+        }
+
+        Date endTime = new Date();
+        log.info("任务{},耗时{}毫秒(ms)", "厂家产品主信息", endTime.getTime() - startTime.getTime());
+
+        return ResponseResultUtil.success();
+    }
+
+
+}

+ 19 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/AddressMapper.java

@@ -0,0 +1,19 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.Address;
+
+import java.util.List;
+
+/**
+ * 省市区Dao层
+ */
+public interface AddressMapper {
+
+    /**
+     * 共通:查询省市区(所有模块共用)
+     *
+     * @param address
+     * @return
+     */
+    List<Address> selectAdressData(Address address);
+}

+ 80 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/AreaCalcFormulaMapper.java

@@ -0,0 +1,80 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.AreaCalcFormula;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 面积公式Dao层
+ */
+public interface AreaCalcFormulaMapper {
+
+    /**
+     * 面积公式管理:新建
+     *
+     * @param record
+     * @return
+     */
+    int insertSelective(AreaCalcFormula record);
+
+    /**
+     * 面积公式管理:删除:校验是否可以删除
+     *
+     * @param record
+     * @return
+     */
+    int isCanDel(AreaCalcFormula record);
+
+    /**
+     * 面积公式管理:删除
+     *
+     * @param record
+     * @return
+     */
+    int updateByPrimaryKeySelective(AreaCalcFormula record);
+
+    /**
+     * 共通:查询面积公式(商品信息管理)
+     *
+     * @param areaCalcFormula
+     * @return
+     */
+    List<AreaCalcFormula> selectComData(AreaCalcFormula areaCalcFormula);
+
+    List<AreaCalcFormula> selectComDataForNewCustomer(AreaCalcFormula areaCalcFormula);
+
+    /**
+     * 面积公式管理:查询:分页
+     *
+     * @param areaCalcFormula
+     * @return
+     */
+    List<AreaCalcFormula> selectFormula(AreaCalcFormula areaCalcFormula);
+
+    /**
+     * 面积公式管理:查询:页数
+     *
+     * @param areaCalcFormula
+     * @return
+     */
+    int selectTotal(AreaCalcFormula areaCalcFormula);
+
+    /**
+     * 面积公式管理:新建:保存:校验面积公式
+     *
+     * @param areaCalcFormula
+     * @return
+     */
+    int checkFormula(AreaCalcFormula areaCalcFormula);
+
+
+    /**
+     * @DateTime 2020-05-27 14:24
+     * @Author H_x_d
+     * @Description 通过name查询唯一面积公式
+     */
+    AreaCalcFormula selectComDataByName(@Param("formulaname") String formulaname);
+
+    AreaCalcFormula selectComDataByNameAndType(AreaCalcFormula areaCalcFormula);
+}

+ 16 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/AvgQuantityAmountMapper.java

@@ -0,0 +1,16 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+@Mapper
+public interface AvgQuantityAmountMapper {
+
+    List<Map<String, Object>> selectMain(@Param("param") Map<String, Object> param);
+
+    List<Map<String, Object>> selectDetail(@Param("param") Map<String, Object> param);
+
+}

+ 17 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/BrandRecordMapper.java

@@ -0,0 +1,17 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.BrandRecord;
+
+public interface BrandRecordMapper {
+    int deleteByPrimaryKey(Integer brandid);
+
+    int insert(BrandRecord record);
+
+    int insertSelective(BrandRecord record);
+
+    BrandRecord selectByPrimaryKey(Integer brandid);
+
+    int updateByPrimaryKeySelective(BrandRecord record);
+
+    int updateByPrimaryKey(BrandRecord record);
+}

+ 59 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/ChannelMapper.java

@@ -0,0 +1,59 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.Channel;
+
+import java.util.List;
+
+/**
+ * 数据字典Dao层
+ */
+public interface ChannelMapper {
+    /**
+     * 查询:分页
+     *
+     * @param channel
+     * @return
+     */
+    List<Channel> selectChannel(Channel channel);
+
+    /**
+     * 查询:页数
+     *
+     * @param channel
+     * @return
+     */
+    int selectTotal(Channel channel);
+
+    /**
+     * 新建/编辑:校验数据字典名称是否存在
+     *
+     * @param dataDictionary
+     * @return
+     */
+    int checkChannel(Channel channel);
+
+    /**
+     * 新建
+     *
+     * @param channel
+     * @return
+     */
+    int insertSelective(Channel channel);
+
+    /**
+     * 数据字典管理:删除:校验是否可以删除
+     *
+     * @param channel
+     * @return
+     */
+    int isCanDel(Channel channel);
+
+    /**
+     * 删除
+     *
+     * @param channel
+     * @return
+     */
+    int deleteChannel(Channel channel);
+
+}

+ 257 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/CodeFacRecordMapper.java

@@ -0,0 +1,257 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.CodeFacRecord;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 商品种类Dao层
+ */
+public interface CodeFacRecordMapper {
+    /**
+     * 获取商品编码数据
+     *
+     * @return
+     */
+    List<CodeFacRecord> selectCodeList();
+
+    /**
+     * 抓取商品编码履历:查询日期
+     *
+     * @return
+     */
+    List<CodeFacRecord> selectCodeHistoryTime();
+
+    String selectCodeHistoryMaxTime(Integer synchID);
+
+    /**
+     * 新建商品编码履历
+     *
+     * @param map
+     * @return
+     */
+    int insertHistory(@Param("map") Map<String, Object> map);
+
+    /**
+     * 批量插入层级履历
+     *
+     * @param record
+     * @return
+     */
+    int insertHistoryDetailAll(List<Map<String, Object>> record);
+
+
+    /**
+     * 更新商品编码数据
+     *
+     * @param record
+     * @return
+     */
+    int updateByPrimaryKeySelective(Map<String, Object> record);
+
+    /**
+     * 插入商品编码数据
+     *
+     * @param record
+     * @return
+     */
+    int insertMap(Map<String, Object> record);
+
+    /**
+     * 获取计量单位ID
+     *
+     * @param record
+     * @return
+     */
+    List<CodeFacRecord> selectCodeUnit(Map<String, Object> record);
+
+    /**
+     * 更新标准商品编码
+     *
+     * @param record
+     * @return
+     */
+    int updateByOnlyCode(Map<String, Object> record);
+
+    /**
+     * @DateTime 2020-05-29 14:46
+     * @Author H_x_d
+     * @Description 仅被crm同步时使用
+     * @Param
+     * @Return
+     */
+    int updateByOnlyCodeAndFacId(Map<String, Object> record);
+
+    /**
+     * 新建标准商品编码
+     *
+     * @param record
+     * @return
+     */
+    int insertDKCodeSelective(Map<String, Object> record);
+
+    /**
+     * 获取所有相关的标准商品编码
+     *
+     * @param record
+     * @return
+     */
+    List<CodeFacRecord> selectDKCodeList(Map<String, Object> record);
+
+    /**
+     * 新建计量单位
+     *
+     * @param record
+     * @return
+     */
+    int insertUnit(Map<String, Object> record);
+
+    /**
+     * 查询数据字典
+     *
+     * @param record
+     * @return
+     */
+    List<Integer> selectDataDictionary(Map<String, Object> record);
+
+    /**
+     * 新建数据字典
+     *
+     * @param record
+     * @return
+     */
+    int insertDictionaryData(Map<String, Object> record);
+
+    /**
+     * 根据同步履历获取产品信息
+     *
+     * @param record
+     * @return
+     */
+    List<CodeFacRecord> selectCodeListBySynchID(Map<String, Object> record);
+
+    /**
+     * 获取所有的恒洁产品信息
+     *
+     * @return
+     */
+    List<CodeFacRecord> selectStandardCodeList();
+
+    /**
+     * 获取产品系列ID
+     *
+     * @return
+     */
+    List<Integer> selectCodeSeries(String seriesName);
+
+    /**
+     * 获取产品等级ID
+     *
+     * @return
+     */
+    List<Integer> selectCodeGrid(String gradeName);
+
+
+    /**
+     * 获取产品品牌
+     *
+     * @param BrandName
+     * @return
+     */
+    List<Integer> selectCodeBrand(String BrandName);
+
+    /**
+     * 新建产品系列
+     *
+     * @param record
+     * @return
+     */
+    int insertSeries(Map<String, Object> record);
+
+    /**
+     * 新建产品等级
+     *
+     * @param record
+     * @return
+     */
+    int insertGrade(Map<String, Object> record);
+
+
+    /**
+     * 新建产品品牌
+     *
+     * @param record
+     * @return
+     */
+    int insertBrand(Map<String, Object> record);
+
+    /**
+     * 判断唯一编码是否重复
+     *
+     * @param record
+     * @return
+     */
+    int isExistOnlyCode(Map<String, Object> record);
+
+    /**
+     * 更新商品编码历史数据
+     *
+     * @param record
+     * @return
+     */
+    int updateCodeHistoryByID(Map<String, Object> record);
+
+    /**
+     * @param
+     * @return
+     * @DateTime 2020-05-28 11:50
+     * @Author H_x_d
+     * @Description 通过唯一编码查询
+     */
+    List<CodeFacRecord> selectByPart(@Param("part") String part);
+
+    int stopConnectionClose();
+
+    int insertTempCode(@Param("list") List<Map<String, Object>> list);
+
+    Integer selectByOnlyCode(@Param("onlyCode") String onlyCode);
+
+    /**
+     * 根据唯一编码查询是否存在
+     *
+     * @param record
+     * @return
+     */
+    Integer isExist(Map<String, Object> record);
+
+    /**
+     * 插入单个层级履历明细
+     *
+     * @param record
+     * @return
+     */
+    int insertHistoryDetailOne(Map<String, Object> record);
+
+    List<Map<String, Object>> selectSalCode(Map<String, Object> record);
+
+    List<Map<String, Object>> selectMainCode(Map<String, Object> record);
+
+    String selectFacKindName(String name);
+
+    List<Map<String, Object>> selectCodeListTest();
+
+    int updateCodeHistoryCreateTimeByID(Map<String, Object> record);
+
+    int updateFacCodeByList(List<Map<String, Object>> record);
+
+    int insertFacListByList(List<Map<String, Object>> record);
+
+    int updateDongkeCodeListByOnlyCode(List<Map<String, Object>> record);
+
+    int insertDKCodeByList(List<Map<String, Object>> record);
+
+    int isChanged(Map<String, Object> record);
+}
+

+ 17 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/CodeHistoryDetailMapper.java

@@ -0,0 +1,17 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.CodeHistoryDetail;
+import com.dk.mnls_mp.dao.pojo.CodeRecord;
+import com.dongke.base.dao.mapper.BaseMapper;
+
+import java.util.List;
+
+public interface CodeHistoryDetailMapper extends BaseMapper<CodeHistoryDetail> {
+    void updateDoStatus(CodeRecord codeRecord);
+
+    Integer isCanCheck(CodeHistoryDetail codeHistoryDetail);
+
+    int checkByOnlyCode(String onlycode);
+
+    List<CodeHistoryDetail> getHistoryCode(CodeHistoryDetail codeHistoryDetail);
+}

+ 7 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/CodeHistoryMapper.java

@@ -0,0 +1,7 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.CodeHistory;
+import com.dongke.base.dao.mapper.BaseMapper;
+
+public interface CodeHistoryMapper extends BaseMapper<CodeHistory> {
+}

+ 136 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/CodeRecordMapper.java

@@ -0,0 +1,136 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.Bom;
+import com.dk.mnls_mp.dao.pojo.CodeRecord;
+import com.dk.mnls_mp.dao.pojo.CodeRecordModel;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+import java.util.Map;
+
+@Repository
+public interface CodeRecordMapper {
+
+    /**
+     * 商品信息管理:新建
+     *
+     * @param record
+     * @return
+     */
+    int insertSelective(CodeRecord record);
+
+    /**
+     * 商品信息管理:启用/停用/删除/编辑
+     *
+     * @param record
+     * @return
+     */
+    int updateByPrimaryKeySelective(CodeRecord record);
+
+    /**
+     * 商品信息管理:启用/停用/删除/编辑
+     *
+     * @param record
+     * @return
+     */
+    int updateByOnlyCode(CodeRecord record);
+
+    /**
+     * 商品信息管理:查询:分页
+     *
+     * @param codeRecord
+     * @return
+     */
+    List<CodeRecord> selectCode(CodeRecord codeRecord);
+
+    /**
+     * 商品信息管理:导出
+     *
+     * @param codeRecord
+     * @return
+     */
+    List<CodeRecordModel> selectCodeDown(CodeRecordModel codeRecord);
+
+    /**
+     * 商品信息管理:查询:页数
+     *
+     * @param codeRecord
+     * @return
+     */
+    int selectTotal(CodeRecord codeRecord);
+
+    /**
+     * 商品信息管理:新建/编辑:保存:校验唯一编码是否存在
+     *
+     * @param codeRecord
+     * @return
+     */
+    int checkCode(CodeRecord codeRecord);
+
+    int insertResultDetail(@Param("map") Map<String, Object> map);
+
+    int insertResult(@Param("map") Map<String, Integer> map);
+
+    /**
+     * 共通:查询流通方式(商品信息管理,商品种类管理)
+     *
+     * @param codeRecord
+     * @return
+     */
+    List<CodeRecord> selectComCirculatetype(CodeRecord codeRecord);
+
+    List<CodeRecord> selectAll();
+
+    List<CodeRecord> selectAllChecked();
+
+    /**
+     * BOM管理:查询BOM商品
+     *
+     * @param bom
+     * @return
+     */
+    List<CodeRecord> selectBomCode(Bom bom);
+
+    int updateCodeWhenChangeProperty(CodeRecord codeRecord);
+
+    int insertIntoResume(CodeRecord codeRecord);
+
+    int updateByFacKindIdAndDKKindId(@Param("param") CodeRecord codeRecord, @Param("facKindID") String facKindID);
+
+    /**
+     * 查询商品编码-新上线初始化 fy 2020-6-11 10:37:11
+     *
+     * @return
+     */
+    List<CodeRecord> selectAllForNewCustomer();
+
+    /**
+     * 是否存在不完善的数据 fy 2020-6-11 16:09:58 新建
+     *
+     * @return
+     */
+    List<Integer> selectNoGoodCode();
+
+    Integer getCodeIdByOnlyCode(@Param("onlyCode") String onlyCode);
+
+    CodeRecord selectByCode(@Param("onlyCode") String onlyCode);
+
+    List<CodeRecord> selectCodeKindOneAndTwo(List<CodeRecord> record);
+
+    int updateCodeWhenKindChange(CodeRecord codeRecord);
+
+    List<CodeRecord> selectCodeHistoryDetail(CodeRecord codeRecord);
+
+    int selectCodeHistoryDetailTotal(CodeRecord codeRecord);
+
+    List<CodeRecord> selectStandardIDAndVersion();
+
+    CodeRecord selectStatusById(@Param("id") Integer id);
+
+    //批量审核
+    Integer checkByOnlyCode(CodeRecord codeRecord);
+
+    //批量反审核
+    Integer uncheckByOnlyCode(CodeRecord codeRecord);
+}

+ 14 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/CrmOrderDetailMapper.java

@@ -0,0 +1,14 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.CrmOrderDetail;
+import com.dk.mnls_mp.dao.pojo.OrderDetail;
+import com.dongke.base.dao.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface CrmOrderDetailMapper extends BaseMapper<CrmOrderDetail> {
+    List<OrderDetail> selectToOrderDetail(@Param("orderId") Long orderId);
+
+    void updateAllValueFlag();
+}

+ 13 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/CrmOrderMapper.java

@@ -0,0 +1,13 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.CrmOrder;
+import com.dk.mnls_mp.dao.pojo.Order;
+import com.dongke.base.dao.mapper.BaseMapper;
+
+import java.util.List;
+
+public interface CrmOrderMapper extends BaseMapper<CrmOrder> {
+    List<Order> selectToOrderDetail();
+
+    void updateAllValueFlag();
+}

+ 30 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/CrmStoreMapper.java

@@ -0,0 +1,30 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.CrmStore;
+import com.dk.mnls_mp.dao.pojo.Customer;
+import com.dongke.base.dao.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface CrmStoreMapper extends BaseMapper<CrmStore> {
+    int blockUp(@Param("param") CrmStore crmStore);
+
+    int enable(@Param("param") CrmStore crmStore);
+
+    List<Customer> selectAllCustomer(Customer customer);
+
+    CrmStore selectCustomerID(String a);
+
+    List<CrmStore> selectAllCrmStore(@Param("param") CrmStore crmStore);
+
+    int checkCrmStore(CrmStore crmStore);
+
+    List<CrmStore> selectEdit(CrmStore crmStore);
+
+    int deleteById(CrmStore crmStore);
+
+    int updateStatus(CrmStore crmStore);
+}

+ 9 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/CustomerCategoryMapper.java

@@ -0,0 +1,9 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.CustomerCategory;
+import com.dongke.base.dao.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface CustomerCategoryMapper extends BaseMapper<CustomerCategory> {
+}

+ 110 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/CustomerMapper.java

@@ -0,0 +1,110 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.Customer;
+import com.dk.mnls_mp.dao.pojo.ReportRight;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 客户信息管理Dao层
+ */
+public interface CustomerMapper {
+
+    /**
+     * 客户信息管理:新建:保存
+     *
+     * @param record
+     * @return
+     */
+    int insertSelective(Customer record);
+
+    /**
+     * 客户信息管理:编辑/删除:保存
+     *
+     * @param record
+     * @return
+     */
+    int updateByPrimaryKeySelective(Customer record);
+
+    /**
+     * 客户信息管理:查询:分页
+     *
+     * @param customer
+     * @return
+     */
+    List<Customer> selectCustomer(Customer customer);
+
+    List<Customer> selectAllCus();
+
+    List<Integer> selectSyncCustomerIDs();
+
+    /**
+     * 客户信息管理:查询:页数查询
+     *
+     * @param customer
+     * @return
+     */
+    int selectTotal(Customer customer);
+
+    /**
+     * 客户信息管理:新建/编辑:保存:校验客户编码是否存在
+     *
+     * @param customer
+     * @return
+     */
+    int checkCustomer(Customer customer);
+
+    /**
+     * 客户信息管理:新建/编辑:保存:校验东科账套是否存在
+     *
+     * @param customer
+     * @return
+     */
+    int checkCustomerAccount(Customer customer);
+
+    /**
+     * 共通:查询客户信息(商品信息管理:同步)
+     *
+     * @param customer
+     * @return
+     */
+    List<Customer> selectComCustomer(Customer customer);
+
+    int updateCustomerForOld(@Param("customerID") int customerID);
+
+    /**
+     * 报表:查询客户地址
+     *
+     * @param customer
+     */
+    String selectReportCity(Customer customer);
+
+
+    Customer selectById(@Param("id") Integer id);
+
+    Customer selectByUniqueCode(@Param("uniqueCode") String uniqueCode);
+
+    List<Customer> selectByIds(@Param("list") List<Integer> customerIds);
+
+    List<Customer> selectReportCustomer();
+
+    int updateReportFlag(Customer customer);
+
+    int checkCustomerOnlyCode(Customer customer);
+
+    List<Customer> selectCustomerForReportRight(ReportRight reportRight);
+
+    List<Customer> selectUserCustomerForReportRight(ReportRight reportRight);
+
+    List<Customer> selectAllCusForCus();
+
+    Customer selectByCode(@Param("customerCode") String customerCode);
+
+    List<Customer> selectAllCusAndPullTime(Map<String, Object> record);
+
+    List<Customer> selectAllCusForPullDetail();
+
+    List<Customer> selectPullcus(Object customerid);
+}

+ 17 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/CustomerSychronizedDetailMapper.java

@@ -0,0 +1,17 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.CustomerSychronizedDetail;
+
+public interface CustomerSychronizedDetailMapper {
+    int deleteByPrimaryKey(Integer id);
+
+    int insert(CustomerSychronizedDetail record);
+
+    int insertSelective(CustomerSychronizedDetail record);
+
+    CustomerSychronizedDetail selectByPrimaryKey(Integer id);
+
+    int updateByPrimaryKeySelective(CustomerSychronizedDetail record);
+
+    int updateByPrimaryKey(CustomerSychronizedDetail record);
+}

+ 108 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/DataDictionaryMapper.java

@@ -0,0 +1,108 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.DataDictionary;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+/**
+ * 数据字典Dao层
+ */
+public interface DataDictionaryMapper {
+
+    /**
+     * 数据字典管理:新建
+     *
+     * @param record
+     * @return
+     */
+    int insertSelective(DataDictionary record);
+
+    /**
+     * 数据字典管理:删除:校验是否可以删除
+     *
+     * @param record
+     * @return
+     */
+    int isCanDel(DataDictionary record);
+
+    /**
+     * 数据字典管理:编辑/删除
+     *
+     * @param record
+     * @return
+     */
+    int updateByPrimaryKeySelective(DataDictionary record);
+
+    /**
+     * 共通:查询数据字典(商品信息管理)
+     *
+     * @param dataDictionary
+     * @return
+     */
+    List<DataDictionary> selectComData(DataDictionary dataDictionary);
+
+    /**
+     * 数据字典管理:查询:分页
+     *
+     * @param dataDictionary
+     * @return
+     */
+    List<DataDictionary> selectDataDictionary(DataDictionary dataDictionary);
+
+    List<DataDictionary> selectDataDictionaryNew(DataDictionary dataDictionary);
+
+    List<DataDictionary> selectDictionarySmallType(DataDictionary dataDictionary);
+
+    List<DataDictionary> selectDictionaryBigType(DataDictionary dataDictionary);
+
+    DataDictionary selectByTypeAndValue(@Param("param") DataDictionary dataDictionary);
+
+    /**
+     * 数据字典管理:查询:页数
+     *
+     * @param dataDictionary
+     * @return
+     */
+    int selectTotal(DataDictionary dataDictionary);
+
+    /**
+     * 数据字典管理:新建/编辑:校验数据字典名称是否存在
+     *
+     * @param dataDictionary
+     * @return
+     */
+    int checkDataDictionary(DataDictionary dataDictionary);
+
+    /**
+     * 数据字典管理:查询数据字典类型
+     *
+     * @return
+     */
+    List<DataDictionary> selectDictionaryType();
+
+    List<DataDictionary> selectDictionaryTypeOnlyAdd();
+
+    List<DataDictionary> selectDictionaryTypeSelect();
+
+    /**
+     * 数据字典管理
+     *
+     * @param dataDictionary
+     * @return
+     */
+    List<DataDictionary> selectAllData(DataDictionary dataDictionary);
+
+    /**
+     * 数据字典管理
+     *
+     * @param dataDictionary
+     * @return
+     */
+    List<DataDictionary> selectChannelName(DataDictionary dataDictionary);
+
+    List<DataDictionary> selectPurchaseType(DataDictionary dataDictionary);
+
+
+    List<DataDictionary> selectSAL018(DataDictionary dataDictionary);
+}

+ 31 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/DbInfoMapper.java

@@ -0,0 +1,31 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.DbInfo;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface DbInfoMapper {
+
+    DbInfo selectByCusId(@Param("customerId") Long id);
+
+    DbInfo selectByUniqueCode(@Param("uniqueCode") String code);
+
+    List<DbInfo> selectAllCus();
+
+    List<DbInfo> selectAllCusForDBName();
+
+    List<DbInfo> selectSomeCusForDBName(DbInfo dbInfo);
+
+    List<DbInfo> selectAllDbinfoByPage(DbInfo dbInfo);
+
+    int selectNum(DbInfo dbInfo);
+
+    int delDbinfo(DbInfo dbInfo);
+
+    int isDbInfoExist(DbInfo dbInfo);
+
+    int updateByCusId(DbInfo dbInfo);
+
+    int insert(DbInfo dbInfo);
+}

+ 13 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/DictionaryMapper.java

@@ -0,0 +1,13 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.Dictionary;
+import com.dongke.base.dao.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface DictionaryMapper extends BaseMapper<Dictionary> {
+    Dictionary selectByValue(@Param("value") String value);
+
+    List<Dictionary> selectFrame(Dictionary dictionary);
+}

+ 19 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/FileMapper.java

@@ -0,0 +1,19 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.File;
+import com.dongke.base.dao.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+public interface FileMapper extends BaseMapper<File> {
+    List<File> selectByRelation(@Param("relationType") Byte relationType, @Param("relationId") Long relationId);
+
+    int updateRelationIdById(@Param("idList") List<Long> idList, @Param("relationId") Long relationId);
+
+    int updateNoPassIdById(File file);
+
+    List<File> selectAllByRelation(@Param("relationType") Byte relationType, @Param("relationId") Long relationId);
+
+    List<File> selectByNoPassId(@Param("relationType") Byte relationType, @Param("noPassId") Integer noPassId);
+}

+ 64 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/GradeRecordMapper.java

@@ -0,0 +1,64 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.GradeRecord;
+
+import java.util.List;
+
+public interface GradeRecordMapper {
+
+    /**
+     * 商品等级管理:新建
+     *
+     * @param record
+     * @return
+     */
+    int insertSelective(GradeRecord record);
+
+    /**
+     * 商品等级管理:删除:校验是否可以删除
+     *
+     * @param record
+     * @return
+     */
+    int isCanDel(GradeRecord record);
+
+    /**
+     * 商品等级管理:删除
+     *
+     * @param record
+     * @return
+     */
+    int updateByPrimaryKeySelective(GradeRecord record);
+
+    /**
+     * 商品等级管理:查询:分页
+     *
+     * @param gradeRecord
+     * @return
+     */
+    List<GradeRecord> selectGrade(GradeRecord gradeRecord);
+
+    /**
+     * 商品等级管理:查询:页数
+     *
+     * @param gradeRecord
+     * @return
+     */
+    int selectTotal(GradeRecord gradeRecord);
+
+    /**
+     * 商品等级管理:新建:保存:校验等级名称是否存在
+     *
+     * @param gradeRecord
+     * @return
+     */
+    int checkGrade(GradeRecord gradeRecord);
+
+    /**
+     * 共通:查询商品等级(商品信息管理)
+     *
+     * @param gradeRecord
+     * @return
+     */
+    List<GradeRecord> selectComGrade(GradeRecord gradeRecord);
+}

+ 10 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/IbossCheckDetailMapper.java

@@ -0,0 +1,10 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.IbossCheckDetail;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface IbossCheckDetailMapper extends IbossDataBaseMapper {
+    int insert(IbossCheckDetail record);
+
+}

+ 19 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/IbossDataBaseMapper.java

@@ -0,0 +1,19 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dongke.base.dao.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+public interface IbossDataBaseMapper<T> extends BaseMapper<T> {
+    void deleteAll();//截断表
+
+    int insertBatch(@Param("list") List<T> list, @Param("pullId") int pullId);//批量插入
+
+    List<T> selectByCrm(Map<String, Object> map);//CRM查询
+
+    int countByCrm(Map<String, Object> map);//CRM查询
+
+    int deleteBatch(Map<String, Object> record);//批量删除
+}

+ 9 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/IbossDeliveryDetailMapper.java

@@ -0,0 +1,9 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.IbossDeliveryDetail;
+import org.apache.ibatis.annotations.Mapper;
+
+@Mapper
+public interface IbossDeliveryDetailMapper extends IbossDataBaseMapper {
+    int insert(IbossDeliveryDetail record);
+}

+ 12 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/IbossOrderDetailUpdateMapper.java

@@ -0,0 +1,12 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.IbossOrderDetailUpdate;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface IbossOrderDetailUpdateMapper extends IbossDataBaseMapper {
+    List<IbossOrderDetailUpdate> selectIbossOrderDetailUpdate(@Param("param") IbossOrderDetailUpdate ibossOrderDetailUpdate);
+}

+ 7 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/IbossOrderDetailsMapper.java

@@ -0,0 +1,7 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.IbossOrderDetails;
+
+public interface IbossOrderDetailsMapper extends IbossDataBaseMapper<IbossOrderDetails> {
+
+}

+ 14 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/IbossOrganizationMapper.java

@@ -0,0 +1,14 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.IbossOrganization;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+import org.springframework.stereotype.Repository;
+
+import java.util.List;
+
+@Repository
+public interface IbossOrganizationMapper extends IbossDataBaseMapper<IbossOrganization> {
+    List<IbossOrganization> selectByConddc(@Param("param") IbossOrganization t);
+
+}

+ 6 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/IbossOutDetailMapper.java

@@ -0,0 +1,6 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.IbossOutDetail;
+
+public interface IbossOutDetailMapper extends IbossDataBaseMapper<IbossOutDetail> {
+}

+ 12 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/IbossPrestoredMapper.java

@@ -0,0 +1,12 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.IbossPrestored;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface IbossPrestoredMapper extends IbossDataBaseMapper<IbossPrestored> {
+    List<IbossPrestored> selectIbossPrestore(@Param("param") IbossPrestored ibossPrestored);
+}

+ 12 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/IbossReceiveMapper.java

@@ -0,0 +1,12 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.IbossReceive;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface IbossReceiveMapper extends IbossDataBaseMapper<IbossReceive> {
+    List<IbossReceive> selectIbossReceive(@Param("param") IbossReceive IbossReceive);
+}

+ 7 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/IbossSaleRankMapper.java

@@ -0,0 +1,7 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.IbossSaleRank;
+
+public interface IbossSaleRankMapper extends IbossDataBaseMapper<IbossSaleRank> {
+
+}

+ 25 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/IbossSalesAmountMapper.java

@@ -0,0 +1,25 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.IbossSalesAmount;
+import com.dongke.base.dao.mapper.BaseMapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+public interface IbossSalesAmountMapper extends BaseMapper<IbossSalesAmount> {
+    //查询有权限经销商
+    List<IbossSalesAmount> selectCustomers(@Param("param") IbossSalesAmount ibossSalesAmount);
+
+    //查询数据
+    List<Map<String, Object>> selectAllInfo(@Param("param") IbossSalesAmount ibossSalesAmount);
+
+    //查询数据总数
+    int selectInfoTotal(@Param("param") IbossSalesAmount ibossSalesAmount);
+
+    //批量插入
+    int insertBatch(@Param("list") List<IbossSalesAmount> list, @Param("pullId") int pullId);
+
+    //批量删除
+    int deleteBatch(Map<String, Object> record);
+}

+ 12 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/IbossSalesMarginMapper.java

@@ -0,0 +1,12 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.IbossSalesMargin;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface IbossSalesMarginMapper extends IbossDataBaseMapper<IbossSalesMargin> {
+    List<IbossSalesMargin> selectIbossSalesMargin(@Param("param") IbossSalesMargin ibossSalesMargin);
+}

+ 12 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/IbossSalesReturnMapper.java

@@ -0,0 +1,12 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.IbossSalesReturn;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface IbossSalesReturnMapper extends IbossDataBaseMapper<IbossSalesReturn> {
+    List<IbossSalesReturn> selectIbossSalesReturn(@Param("param") IbossSalesReturn ibossSalesReturn);
+}

+ 13 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/IbossStaffCommissionMapper.java

@@ -0,0 +1,13 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.IbossStaffCommission;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface IbossStaffCommissionMapper extends IbossDataBaseMapper<IbossStaffCommission> {
+
+    List<IbossStaffCommission> selectByCond1(@Param("param") IbossStaffCommission ibossStaff);
+}

+ 14 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/IbossStaffMapper.java

@@ -0,0 +1,14 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.IbossStaff;
+import org.apache.ibatis.annotations.Mapper;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+
+@Mapper
+public interface IbossStaffMapper extends IbossDataBaseMapper<IbossStaff> {
+
+    List<IbossStaff> selectByCondStaff(@Param("param") IbossStaff ibossStaff);
+
+}

+ 75 - 0
src/main/java/com/dk/mnls_mp/dao/mapper/KindFacRecordMapper.java

@@ -0,0 +1,75 @@
+package com.dk.mnls_mp.dao.mapper;
+
+import com.dk.mnls_mp.dao.pojo.KindFacRecord;
+import org.apache.ibatis.annotations.Param;
+
+import java.util.List;
+import java.util.Map;
+
+/**
+ * 商品种类Dao层
+ */
+public interface KindFacRecordMapper {
+
+    int insertAll(List<Map<String, Object>> record);
+
+    int insertSelective(KindFacRecord record);
+
+    /**
+     * 抓取层级履历:查询日期
+     *
+     * @return
+     */
+    List<KindFacRecord> selectHistoryTime();
+
+    /**
+     * 新建层级履历
+     *
+     * @param map
+     * @return
+     */
+    int insertHistory(@Param("map") Map<String, Object> map);
+
+    /**
+     * 新建层级履历明细
+     *
+     * @param map
+     * @return
+     */
+    int insertHistoryDetail(@Param("map") Map<String, Object> map);
+
+    /**
+     * 获取层级数据
+     *
+     * @return
+     */
+    List<KindFacRecord> selectKindList();
+
+    /**
+     * 更新层级数据
+     *
+     * @param record
+     * @return
+     */
+    int updateByPrimaryKeySelective(KindFacRecord record);
+
+    /**
+     * 批量插入层级履历
+     *
+     * @param record
+     * @return
+     */
+    int insertHistoryDetailAll(List<Map<String, Object>> record);
+
+
+    KindFacRecord selectByCode(@Param("facCode") String facCode);
+
+    /**
+     * 层级code改变  更新相关的层级关联关心
+     *
+     * @param map
+     * @return
+     */
+    int updateByKindCode(Map<String, Object> map);
+
+}

برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است