Pārlūkot izejas kodu

Merge remote-tracking branch 'origin/2021-04-28' into 2021-04-28

Joburgess 4 gadi atpakaļ
vecāks
revīzija
6a97f79636
33 mainītis faili ar 450 papildinājumiem un 156 dzēšanām
  1. 16 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GoodsDao.java
  2. 1 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ReplacementInstrumentActivityDao.java
  3. 2 8
      mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ReplacementInstrumentCooperationDao.java
  4. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentApplyDetailDto.java
  5. 10 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Goods.java
  6. 14 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItemPlan.java
  7. 27 5
      mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ReplacementInstrumentActivity.java
  8. 11 0
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/GoodsQueryInfo.java
  9. 12 1
      mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentRegistrationQueryInfo.java
  10. 2 2
      mec-biz/src/main/java/com/ym/mec/biz/service/ReplacementInstrumentActivityService.java
  11. 2 9
      mec-biz/src/main/java/com/ym/mec/biz/service/ReplacementInstrumentCooperationService.java
  12. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/ReplacementInstrumentService.java
  13. 9 0
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsServiceImpl.java
  14. 117 24
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ReplacementInstrumentActivityServiceImpl.java
  15. 5 5
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ReplacementInstrumentCooperationServiceImpl.java
  16. 35 6
      mec-biz/src/main/java/com/ym/mec/biz/service/impl/ReplacementInstrumentServiceImpl.java
  17. 50 4
      mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml
  18. 7 11
      mec-biz/src/main/resources/config/mybatis/InspectionItemPlanMapper.xml
  19. 43 28
      mec-biz/src/main/resources/config/mybatis/ReplacementInstrumentActivityMapper.xml
  20. 9 6
      mec-biz/src/main/resources/config/mybatis/ReplacementInstrumentCooperationMapper.xml
  21. 17 1
      mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml
  22. 0 1
      mec-student/src/main/java/com/ym/mec/student/controller/QuestionnaireTopicController.java
  23. 0 8
      mec-student/src/main/java/com/ym/mec/student/controller/QuestionnaireUserResultController.java
  24. 5 4
      mec-student/src/main/java/com/ym/mec/student/controller/ReplacementInstrumentActivityController.java
  25. 5 2
      mec-student/src/main/java/com/ym/mec/student/controller/ReplacementInstrumentController.java
  26. 2 1
      mec-web/src/main/java/com/ym/mec/web/config/ResourceServerConfig.java
  27. 2 2
      mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java
  28. 16 22
      mec-web/src/main/java/com/ym/mec/web/controller/InspectionItemPlanController.java
  29. 3 1
      mec-web/src/main/java/com/ym/mec/web/controller/ReplacementInstrumentActivityController.java
  30. 5 3
      mec-web/src/main/java/com/ym/mec/web/controller/ReplacementInstrumentController.java
  31. 2 1
      mec-web/src/main/java/com/ym/mec/web/controller/ReplacementInstrumentCooperationController.java
  32. 1 0
      mec-web/src/main/resources/columnMapper.ini
  33. BIN
      mec-web/src/main/resources/excelTemplate/商品导入模板.xls

+ 16 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/GoodsDao.java

@@ -3,11 +3,13 @@ package com.ym.mec.biz.dal.dao;
 import com.ym.mec.biz.dal.dto.GoodsSellDto;
 import com.ym.mec.biz.dal.dto.MusicGroupGoodsAndDiscountDto;
 import com.ym.mec.biz.dal.entity.Goods;
+import com.ym.mec.biz.dal.entity.ReplacementInstrument;
 import com.ym.mec.common.dal.BaseDAO;
 
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 public interface GoodsDao extends BaseDAO<Integer, Goods> {
 
@@ -168,4 +170,18 @@ public interface GoodsDao extends BaseDAO<Integer, Goods> {
      * @return
      */
     List<Goods> getGoodsByBaseGoodsId(@Param("goodsId") Integer goodsId);
+
+    /**
+     * 获取乐器置换的商品
+     *
+     * @return
+     */
+    List<ReplacementInstrument> getReplacementGoodsPage(Map<String, Object> params);
+
+    /**
+     * 获取乐器置换商品总数
+     * @param params
+     * @return
+     */
+    Integer getReplacementInstrumentCount(Map<String, Object> params);
 }

+ 1 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ReplacementInstrumentActivityDao.java

@@ -13,7 +13,7 @@ import com.ym.mec.common.dal.BaseDAO;
 public interface ReplacementInstrumentActivityDao extends BaseDAO<Integer, ReplacementInstrumentActivity> {
 
 
-    ReplacementInstrumentActivity findByUserId(@Param("cooperationOrganId") Integer cooperationOrganId, @Param("userId") Integer userId, @Param("topicId") Integer topicId);
+    ReplacementInstrumentActivity findByUserId(@Param("cooperationOrganId") Integer cooperationOrganId, @Param("userId") Integer userId, @Param("cooperationId") Integer cooperationId);
 
     List<ReplacementInstrumentActivityStatDto> queryReplacements(Map<String, Object> params);
 

+ 2 - 8
mec-biz/src/main/java/com/ym/mec/biz/dal/dao/ReplacementInstrumentCooperationDao.java

@@ -9,16 +9,10 @@ import java.util.List;
 public interface ReplacementInstrumentCooperationDao extends com.ym.mec.common.dal.BaseDAO<Integer, ReplacementInstrumentCooperation> {
 
     /**
-     * 获取合作单位的活动
-     *
-     * @param cooperationId
-     * @return
-     */
-    ReplacementInstrumentCooperation getByCooperationId(@Param("cooperationId") Integer cooperationId);
-
-    /**
      * 统计个合作单位的转化率
      * @return
      */
     List<ReplacementInstrumentCooperation> countAllReplacementsInfo();
+
+    ReplacementInstrumentCooperation findByCooperationOrganIdAndTopicId(@Param("cooperationOrganId") Integer cooperationOrganId, @Param("topicId") Integer topicId);
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/dto/StudentApplyDetailDto.java

@@ -71,6 +71,9 @@ public class StudentApplyDetailDto{
     @ApiModelProperty(value = "声部更换详情",required = false)
     private SubjectChange subjectChange;
 
+    @ApiModelProperty(value = "回访次数",required = false)
+    private Integer visitNum;
+
     public KitGroupPurchaseTypeEnum getKitGroupPurchaseTypeEnum() {
         return kitGroupPurchaseTypeEnum;
     }
@@ -214,4 +217,12 @@ public class StudentApplyDetailDto{
     public void setCreateTime(Date createTime) {
         this.createTime = createTime;
     }
+
+    public Integer getVisitNum() {
+        return visitNum;
+    }
+
+    public void setVisitNum(Integer visitNum) {
+        this.visitNum = visitNum;
+    }
 }

+ 10 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/Goods.java

@@ -138,6 +138,9 @@ public class Goods {
 	@ApiModelProperty(value = "乐团是否展示")
 	private YesOrNoEnum musicGroupShow;
 
+	@ApiModelProperty(value = "乐器置换是否展示")
+	private YesOrNoEnum replacementShow;
+
 	@ApiModelProperty(value = "库存类型")
 	private StockType stockType;
 
@@ -429,4 +432,11 @@ public class Goods {
 		return ToStringBuilder.reflectionToString(this);
 	}
 
+	public YesOrNoEnum getReplacementShow() {
+		return replacementShow;
+	}
+
+	public void setReplacementShow(YesOrNoEnum replacementShow) {
+		this.replacementShow = replacementShow;
+	}
 }

+ 14 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/InspectionItemPlan.java

@@ -34,6 +34,12 @@ public class InspectionItemPlan {
     private Integer userId;
 
     /**
+     * 计划添加人
+     */
+    @ApiModelProperty(value = "计划添加人id")
+    private Integer operatorUserId;
+
+    /**
      * 日程开始时间
      */
     @ApiModelProperty(value = "日程开始时间")
@@ -313,4 +319,12 @@ public class InspectionItemPlan {
     public void setRealName(String realName) {
         this.realName = realName;
     }
+
+    public Integer getOperatorUserId() {
+        return operatorUserId;
+    }
+
+    public void setOperatorUserId(Integer operatorUserId) {
+        this.operatorUserId = operatorUserId;
+    }
 }

+ 27 - 5
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/ReplacementInstrumentActivity.java

@@ -15,6 +15,9 @@ public class ReplacementInstrumentActivity {
 	/** 合作单位 */
 	private Integer cooperationOrganId;
 
+	/** 合作单位置换活动表编号 */
+	private Integer replacementInstrumentCooperationId;
+
 	private Integer topicId;
 
 	/** 合作单位 */
@@ -46,6 +49,9 @@ public class ReplacementInstrumentActivity {
 	
 	/** 乐器编号 */
 	private Integer instrumentsId;
+
+	/** 商品编号 */
+	private Integer goodsId;
 	
 	private String otherSuggestion;
 
@@ -64,6 +70,14 @@ public class ReplacementInstrumentActivity {
 	/**  */
 	private java.util.Date updateTime;
 
+	public Integer getReplacementInstrumentCooperationId() {
+		return replacementInstrumentCooperationId;
+	}
+
+	public void setReplacementInstrumentCooperationId(Integer replacementInstrumentCooperationId) {
+		this.replacementInstrumentCooperationId = replacementInstrumentCooperationId;
+	}
+
 	public Integer getTopicId() {
 		return topicId;
 	}
@@ -200,11 +214,6 @@ public class ReplacementInstrumentActivity {
 		this.payStatus = payStatus;
 	}
 
-	@Override
-	public String toString() {
-		return ToStringBuilder.reflectionToString(this);
-	}
-
 	public YesOrNoEnum getShowQuestion() {
 		return showQuestion;
 	}
@@ -212,4 +221,17 @@ public class ReplacementInstrumentActivity {
 	public void setShowQuestion(YesOrNoEnum showQuestion) {
 		this.showQuestion = showQuestion;
 	}
+
+	public Integer getGoodsId() {
+		return goodsId;
+	}
+
+	public void setGoodsId(Integer goodsId) {
+		this.goodsId = goodsId;
+	}
+
+	@Override
+	public String toString() {
+		return ToStringBuilder.reflectionToString(this);
+	}
 }

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/page/GoodsQueryInfo.java

@@ -37,6 +37,9 @@ public class GoodsQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "乐团端是否展示:0否,1是")
     private Integer musicGroupShow;
 
+    @ApiModelProperty(value = "乐器置换是否展示:0否,1是")
+    private Integer replacementShow;
+
     public Integer getGroupGoods() {
         return groupGoods;
     }
@@ -108,4 +111,12 @@ public class GoodsQueryInfo extends QueryInfo {
 	public void setMusicGroupShow(Integer musicGroupShow) {
 		this.musicGroupShow = musicGroupShow;
 	}
+
+    public Integer getReplacementShow() {
+        return replacementShow;
+    }
+
+    public void setReplacementShow(Integer replacementShow) {
+        this.replacementShow = replacementShow;
+    }
 }

+ 12 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/page/StudentRegistrationQueryInfo.java

@@ -21,7 +21,7 @@ public class StudentRegistrationQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "实际专业编号",required = false)
     private Integer actualSubjectId;
 
-    @ApiModelProperty(value = "学员缴费状态",required = false)
+    @ApiModelProperty(value = "学员缴费状态 0-未开启缴费 1-开启缴费 2-已缴费",required = false)
     private String paymentStatus;
 
     @ApiModelProperty(value = "用户名或手机号",required = false)
@@ -33,6 +33,9 @@ public class StudentRegistrationQueryInfo extends QueryInfo {
     @ApiModelProperty(value = "入学年份",required = false)
     private String createYear;
 
+    @ApiModelProperty(value = "是否已回访",required = false)
+    private Boolean visited;
+
     private boolean isExport = false;
 
     public boolean getIsExport() {
@@ -106,4 +109,12 @@ public class StudentRegistrationQueryInfo extends QueryInfo {
     public void setCurrentGrade(String currentGrade) {
         this.currentGrade = currentGrade;
     }
+
+    public Boolean getVisited() {
+        return visited;
+    }
+
+    public void setVisited(Boolean visited) {
+        this.visited = visited;
+    }
 }

+ 2 - 2
mec-biz/src/main/java/com/ym/mec/biz/service/ReplacementInstrumentActivityService.java

@@ -16,7 +16,7 @@ public interface ReplacementInstrumentActivityService extends BaseService<Intege
 
     Object add(ReplacementInstrumentActivity replacementInstrumentActivity);
 
-    ReplacementInstrumentActivity findByUserId(Integer cooperationOrganId, Integer userId,Integer topicId);
+    ReplacementInstrumentActivity findByUserId(Integer cooperationOrganId, Integer userId,Integer cooperationId);
 
     PageInfo<ReplacementInstrumentActivityStatDto> queryReplacementsStat(ReplacementInstrumentActivityQueryInfo queryInfo);
 
@@ -57,5 +57,5 @@ public interface ReplacementInstrumentActivityService extends BaseService<Intege
 
     public void resultSync();
 
-    ReplacementInstrumentActivity queryUserInfo(Integer cooperationOrganId, SysUser user,Integer topicId);
+    ReplacementInstrumentActivity queryUserInfo(Integer cooperationOrganId, SysUser user,Integer cooperationId);
 }

+ 2 - 9
mec-biz/src/main/java/com/ym/mec/biz/service/ReplacementInstrumentCooperationService.java

@@ -14,19 +14,12 @@ public interface ReplacementInstrumentCooperationService extends BaseService<Int
      */
     ReplacementInstrumentCooperation openPay(Integer id);
 
-
-    /**
-     * 获取合作单位的活动
-     * @param cooperationId
-     * @return
-     */
-    ReplacementInstrumentCooperation getByCooperationId(Integer cooperationId);
-
-
     /**
      * 获取合作单位乐器置换列表
      * @param queryInfo
      * @return
      */
     PageInfo<ReplacementInstrumentCooperation> getPageList(ReplacementInstrumentCooperationQueryInfo queryInfo);
+
+    ReplacementInstrumentCooperation findByCooperationOrganIdAndTopicId(Integer cooperationOrganId, Integer topicId);
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/ReplacementInstrumentService.java

@@ -1,8 +1,17 @@
 package com.ym.mec.biz.service;
 
+import com.ym.mec.biz.dal.entity.Goods;
 import com.ym.mec.biz.dal.entity.ReplacementInstrument;
+import com.ym.mec.biz.dal.page.ReplacementInstrumentQueryInfo;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.BaseService;
 
 public interface ReplacementInstrumentService extends BaseService<Integer, ReplacementInstrument>{
 
+    /**
+     * 获取置换乐器列表
+     * @param queryInfo
+     * @return
+     */
+    PageInfo<ReplacementInstrument> getPageList(ReplacementInstrumentQueryInfo queryInfo);
 }

+ 9 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/GoodsServiceImpl.java

@@ -252,6 +252,15 @@ public class GoodsServiceImpl extends BaseServiceImpl<Integer, Goods>  implement
 						}
 						continue;
 					}
+					if (columnValue.equals("replacementShow")) {
+						for (YesOrNoEnum yesOrNoEnum : YesOrNoEnum.values()) {
+							if (yesOrNoEnum.getMsg().equals(row.get(s).toString())) {
+								objectMap.put(columnValue, yesOrNoEnum);
+								break;
+							}
+						}
+						continue;
+					}
 					if (columnValue.equals("clientShow")) {
 						for (YesOrNoEnum yesOrNoEnum : YesOrNoEnum.values()) {
 							if (yesOrNoEnum.getMsg().equals(row.get(s).toString())) {

+ 117 - 24
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ReplacementInstrumentActivityServiceImpl.java

@@ -11,14 +11,18 @@ import com.ym.mec.biz.dal.dto.ReplacementPayDto;
 import com.ym.mec.biz.dal.entity.*;
 import com.ym.mec.biz.dal.enums.*;
 import com.ym.mec.biz.dal.page.ReplacementInstrumentActivityQueryInfo;
+import com.ym.mec.biz.dal.page.ReplacementInstrumentQueryInfo;
 import com.ym.mec.biz.service.*;
 import com.ym.mec.common.dal.BaseDAO;
 import com.ym.mec.common.exception.BizException;
 import com.ym.mec.common.page.PageInfo;
+import com.ym.mec.common.page.QueryInfo;
 import com.ym.mec.common.service.IdGeneratorService;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
 import com.ym.mec.thirdparty.message.MessageSenderPluginContext;
 import com.ym.mec.util.collection.MapUtil;
+import com.ym.mec.util.date.DateUtil;
+
 import com.ym.mec.util.http.HttpUtil;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -29,6 +33,7 @@ import org.springframework.transaction.annotation.Transactional;
 import org.springframework.util.CollectionUtils;
 import java.math.BigDecimal;
 import java.util.*;
+import java.util.stream.Collectors;
 
 @Service
 public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<Integer, ReplacementInstrumentActivity> implements ReplacementInstrumentActivityService {
@@ -66,6 +71,14 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
     @Autowired
     private ReplacementInstrumentCooperationDao replacementInstrumentCooperationDao;
     @Autowired
+    private GoodsDao goodsDao;
+    @Autowired
+    private GoodsService goodsService;
+    @Autowired
+    private SysPaymentConfigService sysPaymentConfigService;
+    @Autowired
+    private SellOrderDao sellOrderDao;
+    @Autowired
     private QuestionnaireUserResultDao questionnaireUserResultDao;
     @Autowired
     private QuestionnaireQuestionDao questionnaireQuestionDao;
@@ -86,6 +99,7 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
         if (sysUser == null) {
             throw new BizException("用户信息获取失败,请重新登陆");
         }
+        replacementInstrumentActivity.setGoodsId(replacementInstrumentActivity.getInstrumentsId());
         replacementInstrumentActivity.setUserId(sysUser.getId());
         //如果用户是43分部,那么修改用户信息
         if (sysUser.getOrganId() == 43) {
@@ -96,9 +110,9 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
                 sysUserFeignService.updateSysUser(sysUser);
             }
         }
-        ReplacementInstrumentCooperation replacementInstrumentCooperation = replacementInstrumentCooperationDao.getByCooperationId(replacementInstrumentActivity.getCooperationOrganId());
+        ReplacementInstrumentCooperation replacementInstrumentCooperation = replacementInstrumentCooperationDao.get(replacementInstrumentActivity.getReplacementInstrumentCooperationId());
         //如果提交过调查问卷,那么覆盖之前的记录
-        ReplacementInstrumentActivity activity = replacementInstrumentActivityDao.findByUserId(replacementInstrumentActivity.getCooperationOrganId(), sysUser.getId(),replacementInstrumentCooperation.getTopicId());
+        ReplacementInstrumentActivity activity = replacementInstrumentActivityDao.findByUserId(replacementInstrumentActivity.getCooperationOrganId(), sysUser.getId(),replacementInstrumentCooperation.getId());
         if (replacementInstrumentCooperation != null && replacementInstrumentCooperation.getOpenPay().equals(YesOrNoEnum.YES)) {
             replacementInstrumentActivity.setOpenFlag(1);
         }
@@ -119,7 +133,8 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
         }
         //已开启缴费推送购买链接
         if (sendPush && replacementInstrumentActivity.getOpenFlag().equals(1) && replacementInstrumentActivity.getInstrumentsId() != null) {
-            ReplacementInstrument replacementInstrument = replacementInstrumentDao.get(replacementInstrumentActivity.getInstrumentsId());
+            //换成商品列表中商品4.25
+            Goods goods = goodsDao.get(replacementInstrumentActivity.getGoodsId());
             Map<Integer, String> userMap = new HashMap<>();
             Map<Integer, String> userPhoneMap = new HashMap<>();
             Integer userId = replacementInstrumentActivity.getUserId();
@@ -127,11 +142,11 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
             String pushUrl = baseApiUrl + "/#/questionGoodsSale?id=";
             userMap.put(userId, userId.toString());
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.REPLACEMENT_PAY_PUSH,
-                    userMap, null, 0, "5?" + pushUrl + replacementInstrumentActivity.getId(), "STUDENT", replacementInstrument.getBrand(), "");
+                    userMap, null, 0, "5?" + pushUrl + replacementInstrumentActivity.getId(), "STUDENT", goods.getBrand(), "");
 
             userPhoneMap.put(replacementInstrumentActivity.getUserId(), replacementInstrumentActivity.getMobileNo());
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.REPLACEMENT_PAY_PUSH,
-                    userPhoneMap, null, 0, null, "STUDENT", replacementInstrument.getBrand(), HttpUtil.getSortUrl(pushUrl + replacementInstrumentActivity.getId()));
+                    userPhoneMap, null, 0, null, "STUDENT", goods.getBrand(), HttpUtil.getSortUrl(pushUrl + replacementInstrumentActivity.getId()));
         }
         return replacementInstrumentActivity;
     }
@@ -145,10 +160,11 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
         if (sysUser == null) {
             throw new BizException("用户信息获取失败,请重新登陆");
         }
+        replacementInstrumentActivity.setGoodsId(replacementInstrumentActivity.getInstrumentsId());
         replacementInstrumentActivity.setUserId(sysUser.getId());
         //如果用户是43分部,那么修改用户信息
+        CooperationOrgan cooperationOrgan = cooperationOrganService.get(replacementInstrumentActivity.getCooperationOrganId());
         if (sysUser.getOrganId() == 43) {
-            CooperationOrgan cooperationOrgan = cooperationOrganService.get(replacementInstrumentActivity.getCooperationOrganId());
             if (cooperationOrgan != null) {
                 sysUser.setOrganId(cooperationOrgan.getOrganId());
                 sysUser.setUpdateTime(new Date());
@@ -156,9 +172,11 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
             }
         }
         Integer topicId = replacementInstrumentActivity.getTopicId();
-        ReplacementInstrumentCooperation replacementInstrumentCooperation = replacementInstrumentCooperationDao.getByCooperationId(replacementInstrumentActivity.getCooperationOrganId());
+        ReplacementInstrumentCooperation replacementInstrumentCooperation = replacementInstrumentCooperationDao.get(replacementInstrumentActivity.getReplacementInstrumentCooperationId());
         //如果提交过调查问卷,那么覆盖之前的记录
-        ReplacementInstrumentActivity activity = replacementInstrumentActivityDao.findByUserId(replacementInstrumentActivity.getCooperationOrganId(), sysUser.getId(),replacementInstrumentCooperation.getTopicId());
+        ReplacementInstrumentActivity activity = replacementInstrumentActivityDao.findByUserId(replacementInstrumentActivity.getCooperationOrganId(),
+                sysUser.getId(),
+                replacementInstrumentCooperation.getId());
         if (replacementInstrumentCooperation != null && replacementInstrumentCooperation.getOpenPay().equals(YesOrNoEnum.YES)) {
             replacementInstrumentActivity.setOpenFlag(1);
         }
@@ -184,14 +202,18 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
             sendPush = true;
         }
         if(questionnaireUserResultList != null && questionnaireUserResultList.size() > 0){
+            for (QuestionnaireUserResult result : questionnaireUserResultList) {
+                result.setUserId(sysUser.getId());
+                result.setQuestionnaireTopicId(topicId);
+                result.setActiveType(QuestionnaireActiveTypeEnum.REPLACEMENT);
+            }
             //新增问卷结果
-            questionnaireUserResultDao.batchInsert(questionnaireUserResultList,
-                    QuestionnaireActiveTypeEnum.REPLACEMENT.getCode(),
-                    topicId,activity.getId());
+            questionnaireUserResultDao.batchInsert1(questionnaireUserResultList);
         }
         //已开启缴费推送购买链接
         if (sendPush && replacementInstrumentActivity.getOpenFlag().equals(1) && replacementInstrumentActivity.getInstrumentsId() != null) {
-            ReplacementInstrument replacementInstrument = replacementInstrumentDao.get(replacementInstrumentActivity.getInstrumentsId());
+            //换成商品列表中商品4.25
+            Goods goods = goodsDao.get(replacementInstrumentActivity.getGoodsId());
             Map<Integer, String> userMap = new HashMap<>();
             Map<Integer, String> userPhoneMap = new HashMap<>();
             Integer userId = replacementInstrumentActivity.getUserId();
@@ -199,18 +221,19 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
             String pushUrl = baseApiUrl + "/#/questionGoodsSale?id=";
             userMap.put(userId, userId.toString());
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.JIGUANG, MessageTypeEnum.REPLACEMENT_PAY_PUSH,
-                    userMap, null, 0, "5?" + pushUrl + replacementInstrumentActivity.getId(), "STUDENT", replacementInstrument.getBrand(), "");
+                    userMap, null, 0, "5?" + pushUrl + replacementInstrumentActivity.getId(), "STUDENT", goods.getBrand(), "");
 
             userPhoneMap.put(replacementInstrumentActivity.getUserId(), replacementInstrumentActivity.getMobileNo());
             sysMessageService.batchSendMessage(MessageSenderPluginContext.MessageSender.AWSMS, MessageTypeEnum.REPLACEMENT_PAY_PUSH,
-                    userPhoneMap, null, 0, null, "STUDENT", replacementInstrument.getBrand(), HttpUtil.getSortUrl(pushUrl + replacementInstrumentActivity.getId()));
+                    userPhoneMap, null, 0, null, "STUDENT", goods.getBrand(), HttpUtil.getSortUrl(pushUrl + replacementInstrumentActivity.getId()));
         }
         return replacementInstrumentActivity;
     }
 
+
     @Override
-    public ReplacementInstrumentActivity findByUserId(Integer cooperationOrganId, Integer userId,Integer topicId) {
-        return replacementInstrumentActivityDao.findByUserId(cooperationOrganId, userId,topicId);
+    public ReplacementInstrumentActivity findByUserId(Integer cooperationOrganId, Integer userId,Integer cooperationId) {
+        return replacementInstrumentActivityDao.findByUserId(cooperationOrganId, userId,cooperationId);
     }
 
     @Override
@@ -248,6 +271,10 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
         ReplacementInstrumentActivity replacementInstrumentActivity = replacementInstrumentActivityDao.getLock(replacementPayDto.getId());
         Integer userId = replacementInstrumentActivity.getUserId();
 
+        if (replacementInstrumentActivity.getGoodsId() == null) {
+            throw new BizException("数据维护中,请稍后支付");
+        }
+
         //处理关闭订单
         if (replacementInstrumentActivity.getPayStatus().equals(1) && replacementPayDto.getRePay()) {
             StudentPaymentOrder oldOrder = studentPaymentOrderService.getUserReplacementIngOrder(userId, replacementInstrumentActivity.getId());
@@ -258,10 +285,10 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
             }
         }
 
-        ReplacementInstrument replacementInstrument = replacementInstrumentDao.get(replacementInstrumentActivity.getInstrumentsId());
-        BigDecimal orderAmount = replacementInstrument.getSalePrice();
+        Goods goods = goodsDao.get(replacementInstrumentActivity.getInstrumentsId());
+        BigDecimal orderAmount = goods.getGroupPurchasePrice();
         BigDecimal amount = replacementPayDto.getAmount(); //扣除余额之前的金额
-        if (amount.compareTo(replacementInstrument.getSalePrice()) != 0) {
+        if (amount.compareTo(orderAmount) != 0) {
             throw new BizException("商品价格不符");
         }
 
@@ -408,6 +435,8 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
                 rechargeDetail.setChannel(studentPaymentOrder.getPaymentChannel());
                 sysUserCashAccountDetailService.insert(paymentDetail);
             }
+            //添加sell_order
+            this.addSellOrder(studentPaymentOrder, replacementInstrumentActivity);
             try {
                 contractService.transferProduceContract(userId, null);
             } catch (Exception e) {
@@ -439,7 +468,7 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
     public ReplacementInstrumentActivityStatDto getInfo(Integer id) {
         ReplacementInstrumentActivityStatDto info = replacementInstrumentActivityDao.getInfo(id);
         if (info != null && info.getOpenFlag().equals(0)) {
-            ReplacementInstrumentCooperation byCooperationId = replacementInstrumentCooperationDao.getByCooperationId(info.getCooperationOrganId());
+            ReplacementInstrumentCooperation byCooperationId = replacementInstrumentCooperationDao.get(info.getReplacementInstrumentCooperationId());
             if (byCooperationId != null && byCooperationId.getOpenPay().equals(YesOrNoEnum.YES)) {
                 info.setOpenFlag(1);
             }
@@ -465,6 +494,67 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
         return pageInfo;
     }
 
+    private List<SellOrder> addSellOrder(StudentPaymentOrder order, ReplacementInstrumentActivity replacementInstrumentActivity) {
+        if (replacementInstrumentActivity.getGoodsId() == null) {
+            return null;
+        }
+        List<Goods> goodies = new ArrayList<>();
+        Goods goods = goodsDao.get(replacementInstrumentActivity.getInstrumentsId());
+        goodies.add(goods);
+        if (goods.getComplementGoodsIdList() != null) {
+            goodies = goodsDao.findGoodsByIds(goods.getComplementGoodsIdList());
+        }
+        Map<Integer, BigDecimal> groupPurchasePriceMap = goodies.stream().collect(Collectors.toMap(Goods::getId, Goods::getGroupPurchasePrice));
+        BigDecimal goodsTotalPrice = goodies.stream().map(Goods::getGroupPurchasePrice).reduce(BigDecimal.ZERO, BigDecimal::add);
+        Map<Integer, GoodsType> goodsTypeMap = goodies.stream().collect(Collectors.toMap(Goods::getId, Goods::getType));
+
+        AccountType accountType = sysPaymentConfigService.checkAccountType(PaymentChannelEnum.valueOf(order.getPaymentChannel()), order.getMerNos());
+
+        List<Integer> goodsIds = new ArrayList<>();
+        goodsIds.add(goods.getId());
+        List<SellOrder> sellOrders = goodsService.subtractStock(goodsIds, accountType);
+
+        BigDecimal hasRouteSellOrderExpectAmount = BigDecimal.ZERO; //已分配预计金额
+        BigDecimal hasRouteSellOrderBalance = BigDecimal.ZERO; //已分配余额
+
+        int i = 1;
+        for (SellOrder sellOrder : sellOrders) {
+            BigDecimal sellOrderExpectAmount = order.getExpectAmount().compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : groupPurchasePriceMap.get(sellOrder.getGoodsId()).multiply(order.getExpectAmount()).divide(goodsTotalPrice, 2, BigDecimal.ROUND_DOWN);
+            BigDecimal sellOrderBalance = order.getExpectAmount().compareTo(BigDecimal.ZERO) <= 0 ? BigDecimal.ZERO : groupPurchasePriceMap.get(sellOrder.getGoodsId()).multiply(order.getBalancePaymentAmount()).divide(goodsTotalPrice, 2, BigDecimal.ROUND_DOWN);
+            if (i == sellOrders.size()) {
+                sellOrderExpectAmount = order.getExpectAmount().subtract(hasRouteSellOrderExpectAmount);
+                sellOrderBalance = order.getBalancePaymentAmount().subtract(hasRouteSellOrderBalance);
+            }
+            sellOrder.setOrganId(order.getOrganId());
+            sellOrder.setTransNo(order.getTransNo());
+            sellOrder.setOrderId(order.getId());
+            sellOrder.setCooperationOrganId(replacementInstrumentActivity.getCooperationOrganId());
+            sellOrder.setOrderNo(order.getOrderNo());
+            sellOrder.setActualAmount(sellOrderExpectAmount.subtract(sellOrderBalance));
+            sellOrder.setBalanceAmount(sellOrderBalance);
+            sellOrder.setExpectAmount(sellOrderExpectAmount);
+            sellOrder.setNum(1);
+            sellOrder.setUserId(order.getUserId());
+            sellOrder.setPaymentChannel(order.getPaymentChannel());
+            sellOrder.setMerNo(order.getMerNos());
+            sellOrder.setSellTime(order.getCreateTime());
+            sellOrder.setCreateIme(new Date());
+            sellOrder.setUpdateTime(new Date());
+            if (goodsTypeMap.get(sellOrder.getGoodsId()).equals(GoodsType.INSTRUMENT)) {
+                sellOrder.setType(SellTypeEnum.INSTRUMENT);
+            } else if (goodsTypeMap.get(sellOrder.getGoodsId()).equals(GoodsType.ACCESSORIES)) {
+                sellOrder.setType(SellTypeEnum.ACCESSORIES);
+            } else {
+                sellOrder.setType(SellTypeEnum.OTHER);
+            }
+            i++;
+        }
+        if (sellOrders.size() > 0) {
+            sellOrderDao.batchInsert(sellOrders);
+        }
+        return sellOrders;
+    }
+
     @Transactional(rollbackFor = Exception.class)
     public void resultSync(){
         //获取所有问卷结果
@@ -496,11 +586,13 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
     }
 
     @Override
-    public ReplacementInstrumentActivity queryUserInfo(Integer cooperationOrganId,SysUser user,Integer topicId) {
-        ReplacementInstrumentActivity replacementInstrumentActivity = findByUserId(cooperationOrganId, user.getId(),topicId);
+    public ReplacementInstrumentActivity queryUserInfo(Integer cooperationOrganId,SysUser user,Integer cooperationId) {
+        ReplacementInstrumentActivity replacementInstrumentActivity = findByUserId(cooperationOrganId, user.getId(),cooperationId);
+        ReplacementInstrumentCooperation cooperation = replacementInstrumentCooperationDao.get(cooperationId);
         if (replacementInstrumentActivity == null) {
             Student student = studentService.get(user.getId());
             replacementInstrumentActivity = new ReplacementInstrumentActivity();
+
             replacementInstrumentActivity.setUserId(user.getId());
             replacementInstrumentActivity.setClasses(student.getCurrentClass());
             if (student.getCurrentGradeNum() != null) {
@@ -512,14 +604,15 @@ public class ReplacementInstrumentActivityServiceImpl extends BaseServiceImpl<In
             if (StringUtils.isNotEmpty(subjectIdList)) {
                 replacementInstrumentActivity.setSubjectId(Integer.parseInt(subjectIdList.split(",")[0]));
             }
+            replacementInstrumentActivity.setTopicId(cooperation.getTopicId());
+            replacementInstrumentActivity.setReplacementInstrumentCooperationId(cooperationId);
         }
         replacementInstrumentActivity.setMobileNo(user.getPhone());
         CooperationOrgan cooperationOrgan = cooperationOrganService.get(cooperationOrganId);
         if (cooperationOrgan != null) {
             replacementInstrumentActivity.setCooperationOrganName(cooperationOrgan.getName());
         }
-        ReplacementInstrumentCooperation replacementInstrumentCooperation = replacementInstrumentCooperationDao.getByCooperationId(cooperationOrganId);
-        replacementInstrumentActivity.setShowQuestion(replacementInstrumentCooperation.getShowQuestion());
+        replacementInstrumentActivity.setShowQuestion(cooperation.getShowQuestion());
         return replacementInstrumentActivity;
     }
 }

+ 5 - 5
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ReplacementInstrumentCooperationServiceImpl.java

@@ -82,11 +82,6 @@ public class ReplacementInstrumentCooperationServiceImpl extends BaseServiceImpl
     }
 
     @Override
-    public ReplacementInstrumentCooperation getByCooperationId(Integer cooperationId) {
-        return replacementInstrumentCooperationDao.getByCooperationId(cooperationId);
-    }
-
-    @Override
     public PageInfo<ReplacementInstrumentCooperation> getPageList(ReplacementInstrumentCooperationQueryInfo queryInfo) {
         PageInfo<ReplacementInstrumentCooperation> pageInfo = queryPage(queryInfo);
         if (pageInfo.getRows().size() > 0) {
@@ -107,4 +102,9 @@ public class ReplacementInstrumentCooperationServiceImpl extends BaseServiceImpl
         }
         return pageInfo;
     }
+
+    @Override
+    public ReplacementInstrumentCooperation findByCooperationOrganIdAndTopicId(Integer cooperationOrganId, Integer topicId) {
+        return replacementInstrumentCooperationDao.findByCooperationOrganIdAndTopicId(cooperationOrganId, topicId);
+    }
 }

+ 35 - 6
mec-biz/src/main/java/com/ym/mec/biz/service/impl/ReplacementInstrumentServiceImpl.java

@@ -1,22 +1,51 @@
 package com.ym.mec.biz.service.impl;
 
+import com.ym.mec.biz.dal.dao.GoodsDao;
+import com.ym.mec.biz.dal.entity.Goods;
+import com.ym.mec.biz.dal.page.ReplacementInstrumentQueryInfo;
 import com.ym.mec.common.dal.BaseDAO;
+import com.ym.mec.common.page.PageInfo;
 import com.ym.mec.common.service.impl.BaseServiceImpl;
+import com.ym.mec.util.collection.MapUtil;
 import org.springframework.beans.factory.annotation.Autowired;
 import com.ym.mec.biz.dal.entity.ReplacementInstrument;
 import com.ym.mec.biz.service.ReplacementInstrumentService;
 import com.ym.mec.biz.dal.dao.ReplacementInstrumentDao;
 import org.springframework.stereotype.Service;
 
+import java.util.ArrayList;
+import java.util.HashMap;
+import java.util.List;
+import java.util.Map;
+
 @Service
 public class ReplacementInstrumentServiceImpl extends BaseServiceImpl<Integer, ReplacementInstrument> implements ReplacementInstrumentService {
 
-	@Autowired
-	private ReplacementInstrumentDao replacementInstrumentDao;
+    @Autowired
+    private ReplacementInstrumentDao replacementInstrumentDao;
+    @Autowired
+    private GoodsDao goodsDao;
+
+    @Override
+    public BaseDAO<Integer, ReplacementInstrument> getDAO() {
+        return replacementInstrumentDao;
+    }
+
+    @Override
+    public PageInfo<ReplacementInstrument> getPageList(ReplacementInstrumentQueryInfo queryInfo) {
+        PageInfo<ReplacementInstrument> pageInfo = new PageInfo<>(queryInfo.getPage(), queryInfo.getRows());
+        Map<String, Object> params = new HashMap<String, Object>();
+        MapUtil.populateMap(params, queryInfo);
 
-	@Override
-	public BaseDAO<Integer, ReplacementInstrument> getDAO() {
-		return replacementInstrumentDao;
-	}
+        List<ReplacementInstrument> dataList = new ArrayList<>();
+        int count = goodsDao.getReplacementInstrumentCount(params);
 
+        if (count > 0) {
+            pageInfo.setTotal(count);
+            params.put("offset", pageInfo.getOffset());
+            dataList = goodsDao.getReplacementGoodsPage(params);
+        }
+        pageInfo.setRows(dataList);
+        return pageInfo;
+    }
 }

+ 50 - 4
mec-biz/src/main/resources/config/mybatis/GoodsMapper.xml

@@ -38,6 +38,7 @@
         <result column="client_show_" property="clientShow" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="educational_show_" property="educationalShow" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="music_group_show_" property="musicGroupShow" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
+        <result column="replacement_show_" property="replacementShow" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
         <result column="stock_warning_" property="stockWarning" typeHandler="com.ym.mec.common.dal.CustomEnumTypeHandler"/>
     </resultMap>
 
@@ -61,20 +62,20 @@
         INSERT INTO goods
         (goods_category_id_,sn_,name_,brand_,specification_,image_,stock_count_,tax_stock_count_,sell_count_,market_price_,
         discount_price_,group_purchase_price_,brief_,desc_,is_new_,is_top_,status_,memo_,publish_time_,
-        complement_goods_id_list_,update_time_,create_time_,type_,agree_cost_price_,client_show_,educational_show_,music_group_show_,stock_warning_,stock_type_)
+        complement_goods_id_list_,update_time_,create_time_,type_,agree_cost_price_,client_show_,educational_show_,music_group_show_,replacement_show_,stock_warning_,stock_type_)
         VALUES(#{goodsCategoryId},#{sn},#{name},#{brand},#{specification},#{image},#{stockCount},#{taxStockCount},#{sellCount},#{marketPrice},
         #{discountPrice},#{groupPurchasePrice},#{brief},#{desc},
         #{isNew,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{isTop,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{status,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
         #{memo},#{publishTime},#{complementGoodsIdList},now(),now(),#{type,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{agreeCostPrice},
         #{clientShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{educationalShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-        #{musicGroupShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{stockWarning,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
-        #{stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
+        #{musicGroupShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},#{replacementShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+        #{stockWarning,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler}, #{stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
     </insert>
     <insert id="batchInsert" parameterType="java.util.List" useGeneratedKeys="true" keyProperty="id">
         INSERT INTO goods
         (goods_category_id_,name_,brand_,specification_,image_,market_price_,
         discount_price_,group_purchase_price_,brief_,desc_,update_time_,create_time_,type_,agree_cost_price_,sn_,
-        stock_count_,tax_stock_count_,client_show_,educational_show_,music_group_show_,stock_warning_,stock_type_)
+        stock_count_,tax_stock_count_,client_show_,educational_show_,music_group_show_,replacement_show_,stock_warning_,stock_type_)
         VALUES
         <foreach collection="list" separator="," item="goods">
             (#{goods.goodsCategoryId},#{goods.name},#{goods.brand},#{goods.specification},#{goods.image},#{goods.marketPrice},
@@ -83,6 +84,7 @@
             #{goods.stockCount},#{goods.taxStockCount},#{goods.clientShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             #{goods.educationalShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
         	#{goods.musicGroupShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+        	#{goods.replacementShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             #{goods.stockWarning,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             #{goods.stockType,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler})
         </foreach>
@@ -166,6 +168,9 @@
             <if test="musicGroupShow != null">
                 music_group_show_ = #{musicGroupShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
+            <if test="replacementShow != null">
+                replacement_show_ = #{replacementShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+            </if>
             <if test="stockWarning != null">
                 stock_warning_ = #{stockWarning,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
             </if>
@@ -256,6 +261,9 @@
 	            <if test="goods.musicGroupShow != null">
 	                music_group_show_ = #{goods.musicGroupShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
 	            </if>
+                <if test="goods.replacementShow != null">
+                    music_group_show_ = #{goods.replacementShow,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
+                </if>
                 <if test="goods.stockWarning != null">
                     stock_warning_ = #{goods.stockWarning,typeHandler=com.ym.mec.common.dal.CustomEnumTypeHandler},
                 </if>
@@ -319,6 +327,9 @@
             <if test="musicGroupShow!=null">
                 AND g.music_group_show_=#{musicGroupShow}
             </if>
+            <if test="replacementShow!=null">
+                AND g.replacement_show_=#{replacementShow}
+            </if>
             <if test="search!=null and search!=''">
                 AND (g.sn_=#{search} OR g.id_=#{search} OR g.name_ LIKE CONCAT('%', #{search}, '%'))
             </if>
@@ -433,4 +444,39 @@
     <select id="getGoodsByBaseGoodsId" resultMap="Goods">
         SELECT * FROM goods WHERE FIND_IN_SET(#{goodsId}, complement_goods_id_list_)
     </select>
+
+    <!-- 根据分部获取乐器置换的商品-->
+    <select id="getReplacementGoodsPage" resultMap="com.ym.mec.biz.dal.dao.ReplacementInstrumentDao.ReplacementInstrument">
+        SELECT g.id_,g.brand_,g.specification_,g.brief_ param_,g.market_price_,g.discount_price_,g.group_purchase_price_ sale_price_,
+        (g.discount_price_-g.group_purchase_price_) depreciation_price_
+        FROM subject_goods_mapper sgm
+        LEFT JOIN goods g ON sgm.goods_category_id_ = g.goods_category_id_
+        <include refid="replacementQuerySql"/>
+        <include refid="global.limit"/>
+    </select>
+
+    <select id="getReplacementInstrumentCount" resultType="int">
+        SELECT COUNT(*)
+        FROM subject_goods_mapper sgm
+        LEFT JOIN goods g ON sgm.goods_category_id_ = g.goods_category_id_
+        <include refid="replacementQuerySql"/>
+        <include refid="global.limit"/>
+    </select>
+
+    <sql id="replacementQuerySql">
+        <where>
+            g.replacement_show_ = 1
+            AND g.status_ != 0
+            AND g.type_ = 'INSTRUMENT'
+            <if test="subjectId != null">
+                AND sgm.subject_id_ = #{subjectId}
+            </if>
+            <if test="brand != null and brand!=''">
+                AND g.brand_ = #{brand}
+            </if>
+            <if test="specification != null and specification!=''">
+                AND g.specification_ = #{specification}
+            </if>
+        </where>
+    </sql>
 </mapper>

+ 7 - 11
mec-biz/src/main/resources/config/mybatis/InspectionItemPlanMapper.xml

@@ -8,6 +8,7 @@
         <result column="inspection_id_" property="inspectionId"/>
         <result column="item_id_" property="itemId"/>
         <result column="user_id_" property="userId"/>
+        <result column="operator_user_id_" property="operatorUserId"/>
         <result column="plan_start_" property="planStart"/>
         <result column="plan_end_" property="planEnd"/>
         <result column="organ_id_" property="organId"/>
@@ -26,17 +27,9 @@
         <result column="organName" property="organName"/>
         <result column="realName" property="realName"/>
     </resultMap>
-    <sql id="Base_Column_List">
-        <!--@mbg.generated-->
-        id_, inspection_id_, item_id_, user_id_, plan_start_, plan_end_,organ_id_, cooperation_organ_id_,
-        music_group_id_, school_gps_, submited_gps_, submited_time_, memo_, conclusion_status_, status_, create_time_,
-        update_time_
-    </sql>
     <select id="get" parameterType="java.lang.Long" resultMap="InspectionItemPlan">
         <!--@mbg.generated-->
-        select
-        <include refid="Base_Column_List"/>
-        from inspection_item_plan
+        select * from inspection_item_plan
         where id_ = #{id}
     </select>
     <delete id="delete" parameterType="java.lang.Long">
@@ -47,11 +40,11 @@
     <insert id="insert" keyColumn="id_" keyProperty="id" parameterType="com.ym.mec.biz.dal.entity.InspectionItemPlan"
             useGeneratedKeys="true">
         <!--@mbg.generated-->
-        insert into inspection_item_plan (inspection_id_, item_id_, user_id_, plan_start_, plan_end_,
+        insert into inspection_item_plan (inspection_id_, item_id_, user_id_,operator_user_id_, plan_start_, plan_end_,
         organ_id_,cooperation_organ_id_,
         music_group_id_, school_gps_, submited_gps_, submited_time_, memo_, conclusion_status_, status_,
         create_time_, update_time_)
-        values (#{inspectionId}, #{itemId}, #{userId}, #{planStart}, #{planEnd}, #{organId},#{cooperationOrganId},
+        values (#{inspectionId}, #{itemId}, #{userId},#{operatorUserId}, #{planStart}, #{planEnd}, #{organId},#{cooperationOrganId},
         #{musicGroupId}, #{schoolGps}, #{submitedGps}, #{submitedTime}, #{memo},#{conclusionStatus},#{status},
         #{createTime}, #{updateTime})
     </insert>
@@ -68,6 +61,9 @@
             <if test="userId != null">
                 user_id_ = #{userId},
             </if>
+            <if test="operatorUserId != null">
+                operator_user_id_ = #{userId},
+            </if>
             <if test="planStart != null">
                 plan_start_ = #{planStart},
             </if>

+ 43 - 28
mec-biz/src/main/resources/config/mybatis/ReplacementInstrumentActivityMapper.xml

@@ -9,6 +9,7 @@
     <resultMap type="com.ym.mec.biz.dal.entity.ReplacementInstrumentActivity" id="ReplacementInstrumentActivity">
         <result column="id_" property="id"/>
         <result column="cooperation_organ_id_" property="cooperationOrganId"/>
+        <result column="replacement_instrument_cooperation_id_" property="replacementInstrumentCooperationId"/>
         <result column="topic_id_" property="topicId"/>
         <result column="cooperationOrganName" property="cooperationOrganName"/>
         <result column="user_id_" property="userId"/>
@@ -19,6 +20,7 @@
         <result column="subject_id_" property="subjectId"/>
         <result column="question_result_" property="questionResult"/>
         <result column="instruments_id_" property="instrumentsId"/>
+        <result column="goods_id_" property="goodsId"/>
         <result column="other_suggestion_" property="otherSuggestion"/>
         <result column="open_flag_" property="openFlag"/>
         <result column="pay_status_" property="payStatus"/>
@@ -59,9 +61,9 @@
             keyColumn="id" keyProperty="id">
         INSERT INTO replacement_instrument_activity (cooperation_organ_id_, user_id_, user_name_, grade_, classes_,
                                                      mobile_no_, subject_id_, question_result_, instruments_id_,
-                                                     other_suggestion_,topic_id_, create_time_, update_time_)
+                                                     goods_id_,other_suggestion_,topic_id_,replacement_instrument_cooperation_id_,create_time_, update_time_)
         VALUES (#{cooperationOrganId}, #{userId}, #{userName}, #{grade}, #{classes}, #{mobileNo}, #{subjectId},
-                #{questionResult}, #{instrumentsId}, #{otherSuggestion}, #{topicId}, NOW(), NOW())
+                #{questionResult}, #{instrumentsId}, #{goodsId}, #{otherSuggestion}, #{topicId},#{replacementInstrumentCooperationId}, NOW(), NOW())
     </insert>
 
     <!-- 根据主键查询一条记录 -->
@@ -86,6 +88,9 @@
             <if test="cooperationOrganId != null">
                 cooperation_organ_id_ = #{cooperationOrganId},
             </if>
+            <if test="replacementInstrumentCooperationId != null">
+                replacement_instrument_cooperation_id_ = #{replacementInstrumentCooperationId},
+            </if>
             <if test="userName != null">
                 user_name_ = #{userName},
             </if>
@@ -96,6 +101,7 @@
                 update_time_ = #{updateTime},
             </if>
             instruments_id_ = #{instrumentsId},
+            goods_id_ = #{goodsId},
             other_suggestion_ = #{otherSuggestion},
             <if test="mobileNo != null">
                 mobile_no_ = #{mobileNo},
@@ -133,8 +139,8 @@
         FROM replacement_instrument_activity
         WHERE user_id_ = #{userId}
           AND cooperation_organ_id_ = #{cooperationOrganId}
-          <if test="topicId != null">
-              AND topic_id_ = #{topicId}
+          <if test="cooperationId != null">
+              AND replacement_instrument_cooperation_id_ = #{cooperationId}
           </if>
         LIMIT 1
     </select>
@@ -160,10 +166,10 @@
                 AND ria.question_result_ LIKE CONCAT('0', '%')
             </if>
             <if test="brand!=null and brand!=''">
-                AND ri.brand_ = #{brand}
+                AND g.brand_ = #{brand}
             </if>
             <if test="specification!=null and specification!=''">
-                AND ri.specification_ = #{specification}
+                AND g.specification_ = #{specification}
             </if>
             <if test="organId != null">
                 AND FIND_IN_SET(o.id_ , #{organId})
@@ -172,7 +178,8 @@
                 AND (ria.mobile_no_ LIKE CONCAT('%', #{search}, '%') OR ria.user_name_ LIKE CONCAT('%', #{search}, '%'))
             </if>
             <if test="cooperationOrganIdOrName!=null and cooperationOrganIdOrName!=''">
-                AND (ria.cooperation_organ_id_ = #{cooperationOrganIdOrName} OR co.name_ LIKE CONCAT('%', #{cooperationOrganIdOrName}, '%'))
+                AND (ria.cooperation_organ_id_ = #{cooperationOrganIdOrName} OR co.name_ LIKE CONCAT('%',
+                #{cooperationOrganIdOrName}, '%'))
             </if>
             <if test="payStatus!=null">
                 AND ria.pay_status_ = #{payStatus}
@@ -184,11 +191,11 @@
         SELECT
         ria.*,
         sub.name_ subject_name_,
-        ri.brand_,
-        ri.specification_
+        g.brand_,
+        g.specification_
         FROM
         replacement_instrument_activity ria
-        LEFT JOIN replacement_instrument ri ON ria.instruments_id_ = ri.id_
+        LEFT JOIN goods g ON ria.instruments_id_ = g.id_
         LEFT JOIN `subject` sub ON ria.subject_id_ = sub.id_
         <include refid="queryReplacementsCondition"/>
         ORDER BY ria.id_ DESC
@@ -200,7 +207,7 @@
         COUNT(ria.id_)
         FROM
         replacement_instrument_activity ria
-        LEFT JOIN replacement_instrument ri ON ria.instruments_id_ = ri.id_
+        LEFT JOIN goods g ON ria.instruments_id_ = g.id_
         LEFT JOIN `subject` sub ON ria.subject_id_ = sub.id_
         <include refid="queryReplacementsCondition"/>
     </select>
@@ -238,10 +245,10 @@
     </select>
 
     <select id="getPushUsers" resultMap="ReplacementInstrumentActivityStatDto">
-        SELECT ria.id_,ria.user_id_, su.phone_ mobile_no_, ri.brand_
+        SELECT ria.id_, ria.user_id_, su.phone_ mobile_no_, g.brand_
         FROM replacement_instrument_activity ria
                  LEFT JOIN sys_user su ON su.id_ = ria.user_id_
-                 LEFT JOIN replacement_instrument ri ON ri.id_ = ria.instruments_id_
+                 LEFT JOIN goods g ON g.id_ = ria.instruments_id_
         WHERE cooperation_organ_id_ = #{cooperationOrganId}
           AND open_flag_ = 0
           AND instruments_id_ > 0
@@ -249,27 +256,35 @@
 
     <select id="getInfo" resultMap="ReplacementInstrumentActivityStatDto">
         SELECT ria.*,
-               ri.brand_,
-               ri.specification_,
-               ri.param_,
-               ri.market_price_,
-               ri.discount_price_,
-               ri.depreciation_price_,
-               ri.sale_price_,
-               s.name_ subject_name_,
-               co.name_ cooperationOrganName
+               g.brand_,
+               g.specification_,
+               g.brief_                                      param_,
+               g.market_price_,
+               g.discount_price_,
+               g.group_purchase_price_                       sale_price_,
+               (g.discount_price_ - g.group_purchase_price_) depreciation_price_,
+               s.name_                                       subject_name_,
+               co.name_                                      cooperationOrganName
         FROM replacement_instrument_activity ria
-                 LEFT JOIN replacement_instrument ri ON ri.id_ = ria.instruments_id_
-                 LEFT JOIN subject s ON s.id_ = ri.subject_id_
+                 LEFT JOIN goods g ON g.id_ = ria.instruments_id_
+                 LEFT JOIN subject s ON s.id_ = ria.subject_id_
                  LEFT JOIN cooperation_organ co ON co.id_ = ria.cooperation_organ_id_
         WHERE ria.id_ = #{id}
     </select>
 
     <!-- 获取问卷分页数据 -->
     <select id="getPageList" resultMap="ReplacementInstrumentActivityStatDto" parameterType="map">
-        SELECT ria.*,su.phone_ mobile_no_,o.name_ organ_name_,ri.brand_,ri.specification_,ri.param_,ri.market_price_,ri.discount_price_,ri.depreciation_price_,
-        ri.sale_price_,s.name_ subject_name_,co.name_ cooperationOrganName FROM replacement_instrument_activity ria
-        LEFT JOIN replacement_instrument ri ON ri.id_ = ria.instruments_id_
+        SELECT ria.*,su.phone_ mobile_no_,o.name_
+        organ_name_,
+        g.brand_,
+        g.specification_,
+        g.brief_ param_,
+        g.market_price_,
+        g.discount_price_,
+        g.group_purchase_price_ sale_price_,
+        (g.discount_price_ - g.group_purchase_price_) depreciation_price_,
+        s.name_ subject_name_,co.name_ cooperationOrganName FROM replacement_instrument_activity ria
+        LEFT JOIN goods g ON g.id_ = ria.instruments_id_
         LEFT JOIN subject s ON s.id_ = ria.subject_id_
         lEFT JOIN sys_user su ON su.id_ = ria.user_id_
         LEFT JOIN cooperation_organ co ON co.id_ = ria.cooperation_organ_id_
@@ -283,7 +298,7 @@
     <select id="getCount" resultType="int">
         SELECT COUNT(*)
         FROM replacement_instrument_activity ria
-        LEFT JOIN replacement_instrument ri ON ri.id_ = ria.instruments_id_
+        LEFT JOIN goods g ON g.id_ = ria.instruments_id_
         LEFT JOIN cooperation_organ co on co.id_ = ria.cooperation_organ_id_
         LEFT JOIN organization o on o.id_ = co.organ_id_
         <include refid="queryReplacementsCondition"/>

+ 9 - 6
mec-biz/src/main/resources/config/mybatis/ReplacementInstrumentCooperationMapper.xml

@@ -96,12 +96,6 @@
         <include refid="queryPageSql"/>
     </select>
 
-    <select id="getByCooperationId" resultMap="ReplacementInstrumentCooperation">
-        SELECT *
-        FROM replacement_instrument_cooperation
-        WHERE cooperation_organ_id_ = #{cooperationId}
-    </select>
-
     <select id="countAllReplacementsInfo" resultType="com.ym.mec.biz.dal.entity.ReplacementInstrumentCooperation">
         SELECT cooperation_organ_id_              cooperationOrganId,
                COUNT(*)                           activeNum,
@@ -110,5 +104,14 @@
         FROM replacement_instrument_activity
         GROUP BY cooperation_organ_id_
     </select>
+    <select id="findByCooperationOrganIdAndTopicId" resultMap="ReplacementInstrumentCooperation">
+        SELECT *
+        FROM replacement_instrument_cooperation
+        WHERE cooperation_organ_id_ = #{cooperationOrganId}
+        <if test="topicId != null">
+            AND topic_id_ = #{topicId}
+        </if>
+        LIMIT 1
+    </select>
 
 </mapper>

+ 17 - 1
mec-biz/src/main/resources/config/mybatis/StudentRegistrationMapper.xml

@@ -288,6 +288,15 @@
             <if test="actualSubjectId != null">
                 AND sr.actual_subject_id_ = #{actualSubjectId}
             </if>
+            <if test="paymentStatus != null">
+                AND sr.payment_status_ = #{paymentStatus}
+            </if>
+            <if test="visited!= null and visited==true">
+                AND sv.num >0
+            </if>
+            <if test="visited!= null and visited==false">
+                AND sv.num IS NULL
+            </if>
             <if test="name != null">
                 AND (sr.name_ LIKE CONCAT('%',#{name},'%') OR sr.parents_phone_ LIKE CONCAT('%',#{name},'%'))
             </if>
@@ -317,20 +326,27 @@
         <result column="id_" property="id"/>
         <result column="remark_" property="remark"/>
         <result column="create_time_" property="createTime"/>
+        <result column="visit_num_" property="visitNum"/>
     </resultMap>
     <select id="queryStudentDetailPage" resultMap="studentApplyDetail">
         SELECT sr.id_,sr.create_time_, sr.user_id_,su.username_ username_,sr.parents_name_,sr.current_class_,sr.current_grade_,sr.current_grade_date_,
         su.gender_,sr.is_allow_adjust_, s.name_ subject_name_,ss.name_
-        actual_subject_name_,su.phone_ parents_phone_,sr.payment_status_,sr.remark_,sr.actual_subject_id_
+        actual_subject_name_,su.phone_ parents_phone_,sr.payment_status_,sr.remark_,sr.actual_subject_id_,IFNULL(sv.num,0) visit_num_
         FROM student_registration sr
         LEFT JOIN sys_user su ON sr.user_id_ = su.id_
         LEFT JOIN `subject` s ON sr.subject_id_ = s.id_
         LEFT JOIN `subject` ss ON sr.actual_subject_id_ = ss.id_
+        LEFT JOIN (
+            SELECT v.student_id_, COUNT(*) num FROM student_visit v WHERE v.music_group_id_ = #{musicGroupId} GROUP BY v.student_id_
+        ) sv ON sv.student_id_=sr.user_id_
         <include refid="queryStudentDetailPageSql"/>
         <include refid="global.limit"/>
     </select>
     <select id="queryStudentDetailCount" resultType="java.lang.Integer">
         SELECT COUNT(sr.id_) FROM student_registration sr
+        LEFT JOIN (
+            SELECT v.student_id_, COUNT(*) num FROM student_visit v WHERE v.music_group_id_ = #{musicGroupId} GROUP BY v.student_id_
+        ) sv on sv.student_id_=sr.user_id_
         <include refid="queryStudentDetailPageSql"/>
     </select>
 

+ 0 - 1
mec-student/src/main/java/com/ym/mec/student/controller/QuestionnaireTopicController.java

@@ -19,7 +19,6 @@ public class QuestionnaireTopicController extends BaseController {
 
     @ApiOperation(value = "获取题目详情详情")
     @GetMapping("/getDetail")
-    @PreAuthorize("@pcs.hasPermissions('questionnaireTopic/getDetail')")
     @AuditLogAnnotation(operateName = "获取题目详情详情")
     public Object getDetail(Integer id) {
         return succeed(questionnaireTopicService.getDetail(id));

+ 0 - 8
mec-student/src/main/java/com/ym/mec/student/controller/QuestionnaireUserResultController.java

@@ -19,12 +19,4 @@ public class QuestionnaireUserResultController extends BaseController {
     @Autowired
     private QuestionnaireUserResultService questionnaireUserResultService;
 
-    @ApiOperation(value = "新增")
-    @PostMapping("/add")
-    @PreAuthorize("@pcs.hasPermissions('questionnaireUserResult/add')")
-    @AuditLogAnnotation(operateName = "新增")
-    public Object add(@RequestBody List<QuestionnaireUserResult> questionnaireUserResultList) {
-        questionnaireUserResultService.batchInsert(questionnaireUserResultList);
-        return succeed();
-    }
 }

+ 5 - 4
mec-student/src/main/java/com/ym/mec/student/controller/ReplacementInstrumentActivityController.java

@@ -47,7 +47,7 @@ public class ReplacementInstrumentActivityController extends BaseController {
         return succeed(replacementInstrumentActivityService.apply(replacementInstrumentActivityDto));
     }
 
-    @ApiOperation(value = "获取学员基本信息")
+    @ApiOperation(value = "新版获取学员基本信息")
     @GetMapping("queryUserInfoByCooperationId")
     public Object queryUserInfoByCooperationId(Integer cooperationId) {
         SysUser user = sysUserFeignService.queryUserInfo();
@@ -56,7 +56,7 @@ public class ReplacementInstrumentActivityController extends BaseController {
         }
         ReplacementInstrumentCooperation replacementInstrumentCooperation = replacementInstrumentCooperationService.get(cooperationId);
         Integer cooperationOrganId = replacementInstrumentCooperation.getCooperationOrganId();
-        return replacementInstrumentActivityService.queryUserInfo(cooperationOrganId,user,replacementInstrumentCooperation.getTopicId());
+        return succeed(replacementInstrumentActivityService.queryUserInfo(cooperationOrganId,user,cooperationId));
     }
 
     @ApiOperation(value = "获取学员基本信息")
@@ -66,7 +66,8 @@ public class ReplacementInstrumentActivityController extends BaseController {
         if (user == null) {
             return failed(HttpStatus.FORBIDDEN, "请登录");
         }
-        return succeed(replacementInstrumentActivityService.queryUserInfo(cooperationOrganId,user,null));
+        ReplacementInstrumentCooperation cooperation = replacementInstrumentCooperationService.findByCooperationOrganIdAndTopicId(cooperationOrganId,null);
+        return succeed(replacementInstrumentActivityService.queryUserInfo(cooperationOrganId,user,cooperation.getId()));
     }
 
     @ApiOperation(value = "修改调查问卷")
@@ -117,7 +118,7 @@ public class ReplacementInstrumentActivityController extends BaseController {
         return succeed(replacementInstrumentActivityService.getInfo(activityId));
     }
 
-    @ApiOperation(value = "获取置换的详情")
+    @ApiOperation(value = "新版获取置换的详情")
     @GetMapping("/getInfoByCooperationId")
     @ApiImplicitParams({@ApiImplicitParam(name = "getInfoByCooperationId", value = "置换活动编号", required = true, dataType = "int")})
     public HttpResponseResult<ReplacementInstrumentActivityStatDto> getInfoByCooperationId(Integer cooperationId) {

+ 5 - 2
mec-student/src/main/java/com/ym/mec/student/controller/ReplacementInstrumentController.java

@@ -1,5 +1,8 @@
 package com.ym.mec.student.controller;
 
+import com.ym.mec.biz.dal.entity.ReplacementInstrument;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.page.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 
@@ -26,12 +29,12 @@ public class ReplacementInstrumentController extends BaseController {
 
     @ApiOperation(value = "分页查询列表")
     @GetMapping("/queryPage")
-    public Object queryPage(ReplacementInstrumentQueryInfo queryInfo) {
+    public HttpResponseResult<PageInfo<ReplacementInstrument>> queryPage(ReplacementInstrumentQueryInfo queryInfo) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        return succeed(replacementInstrumentService.queryPage(queryInfo));
+        return succeed(replacementInstrumentService.getPageList(queryInfo));
     }
 
 }

+ 2 - 1
mec-web/src/main/java/com/ym/mec/web/config/ResourceServerConfig.java

@@ -34,7 +34,8 @@ public class ResourceServerConfig extends ResourceServerConfigurerAdapter {
 				.antMatchers("/task/**")
 				.hasIpAddress("0.0.0.0/0")
 				.antMatchers("/v2/api-docs", "/classGroup/highClassGroups", "/code/*", "/api/*", "/appVersionInfo/queryByPlatform", "/eduDegree/*",
-						"/uploadFile", "/eduContracts/queryProduceContract","/activity/doubleEleven2020Statis", "/replacementInstrumentActivity/queryReplacementsStat").permitAll().anyRequest().authenticated().and().httpBasic();
+						"/uploadFile", "/eduContracts/queryProduceContract","/activity/doubleEleven2020Statis","/replacementInstrument/queryPage",
+						"/replacementInstrumentActivity/queryReplacementsStat").permitAll().anyRequest().authenticated().and().httpBasic();
 	}
 
 	@Override

+ 2 - 2
mec-web/src/main/java/com/ym/mec/web/controller/ExportController.java

@@ -217,11 +217,11 @@ public class ExportController extends BaseController {
         OutputStream outputStream = response.getOutputStream();
         try {
             HSSFWorkbook workbook = POIUtil.exportExcel(new String[]{"商品编号", "货号", "品牌", "商品名称",
-                    "是否组合商品", "学员是否展示", "教务端是否展示", "乐团是否展示", "是否库存预警",
+                    "是否组合商品", "学员是否展示", "教务端是否展示", "乐团是否展示","是否乐器置换", "是否库存预警",
                     "商品类型", "商品分类", "具体型号", "内部库存", "税务库存", "库存类型", "市场价(元)",
                     "零售价(元)", "商品团购价(元)", "商品描述", "商品详情", "是否上下架"}, new String[]{
                     "id", "sn", "brand", "name",
-                    "complementGoodsIdList == null || complementGoodsIdList == '' ? '否':'是'", "clientShow.msg", "educationalShow.msg", "musicGroupShow.msg", "stockWarning.msg",
+                    "complementGoodsIdList == null || complementGoodsIdList == '' ? '否':'是'", "clientShow.msg", "educationalShow.msg", "musicGroupShow.msg","replacementShow.msg", "stockWarning.msg",
                     "type.desc", "goodsCategoryName", "specification", "stockCount", "taxStockCount", "stockType.msg", "marketPrice",
                     "discountPrice", "groupPurchasePrice", "brief", "desc", "status.msg"}, rows);
             response.setContentType("application/octet-stream");

+ 16 - 22
mec-web/src/main/java/com/ym/mec/web/controller/InspectionItemPlanController.java

@@ -47,7 +47,7 @@ public class InspectionItemPlanController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        inspectionItemPlan.setUserId(sysUser.getId());
+        inspectionItemPlan.setOperatorUserId(sysUser.getId());
         return succeed(inspectionItemPlanService.add(inspectionItemPlan));
     }
 
@@ -59,7 +59,7 @@ public class InspectionItemPlanController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        inspectionItemPlan.setUserId(sysUser.getId());
+        inspectionItemPlan.setOperatorUserId(sysUser.getId());
         inspectionItemPlanService.updatePlan(inspectionItemPlan);
         return succeed(inspectionItemPlan);
     }
@@ -72,27 +72,24 @@ public class InspectionItemPlanController extends BaseController {
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-            Employee employee = employeeDao.get(sysUser.getId());
-            if (StringUtils.isEmpty(queryInfo.getOrganId())) {
-                queryInfo.setOrganId(employee.getOrganIdList());
-            } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
-                return failed("用户所在分部异常");
-            } else {
-                List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
-                if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
-                    return failed("非法请求");
-                }
+        Employee employee = employeeDao.get(sysUser.getId());
+        if (StringUtils.isEmpty(queryInfo.getOrganId())) {
+            queryInfo.setOrganId(employee.getOrganIdList());
+        } else if (StringUtils.isEmpty(employee.getOrganIdList())) {
+            return failed("用户所在分部异常");
+        } else {
+            List<String> list = Arrays.asList(employee.getOrganIdList().split(","));
+            if (!list.containsAll(Arrays.asList(queryInfo.getOrganId().split(",")))) {
+                return failed("非法请求");
             }
+        }
         if (queryInfo.getStartTime() != null) {
             queryInfo.setStartTime(DateUtil.trunc(queryInfo.getStartTime()));
         }
         if (queryInfo.getEndTime() != null) {
             queryInfo.setEndTime(DateUtil.getLastTimeWithDay(queryInfo.getEndTime()));
         }
-        if (queryInfo.getItemId() != null) {
-            queryInfo.setUserId(sysUser.getId());
-        }
-        String startTime = DateUtil.format(DateUtil.getFirstDayOfMonth(DateUtil.addMonths(new Date(), -2)),DateUtil.ISO_EXPANDED_DATE_FORMAT);
+        String startTime = DateUtil.format(DateUtil.getFirstDayOfMonth(DateUtil.addMonths(new Date(), -2)), DateUtil.ISO_EXPANDED_DATE_FORMAT);
         queryInfo.setSearchStartTime(startTime);
         return succeed(inspectionItemPlanService.queryPage(queryInfo));
     }
@@ -109,6 +106,7 @@ public class InspectionItemPlanController extends BaseController {
         InspectionItemPlan inspectionItemPlan = inspectionItemPlanService.get(id);
         inspectionItemPlan.setMemo(memo);
         inspectionItemPlan.setUpdateTime(new Date());
+        inspectionItemPlan.setOperatorUserId(sysUser.getId());
         inspectionItemPlanService.update(inspectionItemPlan);
         return succeed(inspectionItemPlan);
     }
@@ -117,12 +115,8 @@ public class InspectionItemPlanController extends BaseController {
     @ApiOperation(value = "获取乐团主管的乐团")
     @GetMapping("/getMusicGroup")
     @PreAuthorize("@pcs.hasPermissions('inspectionItemPlan/getMusicGroup')")
-    public HttpResponseResult<List<MusicGroup>> getMusicGroup(Integer organId, String search) {
-        SysUser sysUser = sysUserFeignService.queryUserInfo();
-        if (sysUser == null) {
-            return failed("用户信息获取失败");
-        }
-        return succeed(musicGroupDao.getByEduTeacher(organId, sysUser.getId(), search));
+    public HttpResponseResult<List<MusicGroup>> getMusicGroup(Integer organId,Integer userId, String search) {
+        return succeed(musicGroupDao.getByEduTeacher(organId, userId, search));
     }
 
 }

+ 3 - 1
mec-web/src/main/java/com/ym/mec/web/controller/ReplacementInstrumentActivityController.java

@@ -99,12 +99,13 @@ public class ReplacementInstrumentActivityController extends BaseController {
     @PostMapping("/update")
     @PreAuthorize("@pcs.hasPermissions('replacementInstrumentActivity/update')")
     public HttpResponseResult<ReplacementInstrumentActivity> update(ReplacementInstrumentActivity replacementInstrumentActivity) {
+        replacementInstrumentActivity.setGoodsId(replacementInstrumentActivity.getInstrumentsId());
         ReplacementInstrumentActivity oldReplacementInstrumentActivity = replacementInstrumentActivityDao.getLock(replacementInstrumentActivity.getId());
         if (!oldReplacementInstrumentActivity.getPayStatus().equals(0)) {
             return failed("支付中、已支付的乐器置换,不能修改");
         }
 
-        ReplacementInstrumentCooperation byCooperationId = replacementInstrumentCooperationService.getByCooperationId(oldReplacementInstrumentActivity.getCooperationOrganId());
+        ReplacementInstrumentCooperation byCooperationId = replacementInstrumentCooperationService.get(oldReplacementInstrumentActivity.getReplacementInstrumentCooperationId());
         if (byCooperationId.getOpenPay().equals(YesOrNoEnum.YES) && oldReplacementInstrumentActivity.getInstrumentsId() == null && replacementInstrumentActivity.getInstrumentsId() != null) {
             ReplacementInstrument replacementInstrument = replacementInstrumentDao.get(replacementInstrumentActivity.getInstrumentsId());
             Map<Integer, String> userMap = new HashMap<>();
@@ -123,6 +124,7 @@ public class ReplacementInstrumentActivityController extends BaseController {
 
         oldReplacementInstrumentActivity.setSubjectId(replacementInstrumentActivity.getSubjectId());
         oldReplacementInstrumentActivity.setInstrumentsId(replacementInstrumentActivity.getInstrumentsId());
+        oldReplacementInstrumentActivity.setGoodsId(replacementInstrumentActivity.getInstrumentsId());
         oldReplacementInstrumentActivity.setUpdateTime(new Date());
         replacementInstrumentActivityService.update(oldReplacementInstrumentActivity);
 

+ 5 - 3
mec-web/src/main/java/com/ym/mec/web/controller/ReplacementInstrumentController.java

@@ -2,9 +2,12 @@ package com.ym.mec.web.controller;
 
 import com.ym.mec.auth.api.client.SysUserFeignService;
 import com.ym.mec.auth.api.entity.SysUser;
+import com.ym.mec.biz.dal.entity.ReplacementInstrument;
 import com.ym.mec.biz.dal.page.ReplacementInstrumentQueryInfo;
 import com.ym.mec.biz.service.ReplacementInstrumentService;
 import com.ym.mec.common.controller.BaseController;
+import com.ym.mec.common.entity.HttpResponseResult;
+import com.ym.mec.common.page.PageInfo;
 import io.swagger.annotations.Api;
 import io.swagger.annotations.ApiOperation;
 import org.springframework.beans.factory.annotation.Autowired;
@@ -23,13 +26,12 @@ public class ReplacementInstrumentController extends BaseController {
 
     @ApiOperation(value = "分页查询列表")
     @GetMapping("/queryPage")
-    @PreAuthorize("@pcs.hasPermissions('replacementInstrument/queryPage')")
-    public Object queryPage(ReplacementInstrumentQueryInfo queryInfo) {
+    public HttpResponseResult<PageInfo<ReplacementInstrument>> queryPage(ReplacementInstrumentQueryInfo queryInfo) {
         SysUser sysUser = sysUserFeignService.queryUserInfo();
         if (sysUser == null) {
             return failed("用户信息获取失败");
         }
-        return succeed(replacementInstrumentService.queryPage(queryInfo));
+        return succeed(replacementInstrumentService.getPageList(queryInfo));
     }
 
 }

+ 2 - 1
mec-web/src/main/java/com/ym/mec/web/controller/ReplacementInstrumentCooperationController.java

@@ -61,7 +61,8 @@ public class ReplacementInstrumentCooperationController extends BaseController {
     @PostMapping("/add")
     @PreAuthorize("@pcs.hasPermissions('replacementInstrumentCooperation/add')")
     public HttpResponseResult<ReplacementInstrumentCooperation> add(ReplacementInstrumentCooperation replacementInstrumentCooperation) {
-        ReplacementInstrumentCooperation hasOld = replacementInstrumentCooperationService.getByCooperationId(replacementInstrumentCooperation.getCooperationOrganId());
+        ReplacementInstrumentCooperation hasOld = replacementInstrumentCooperationService.findByCooperationOrganIdAndTopicId(replacementInstrumentCooperation.getCooperationOrganId(),
+                replacementInstrumentCooperation.getTopicId());
         if (hasOld != null) {
             return failed("合作单位链接已生成,不能重复生成");
         }

+ 1 - 0
mec-web/src/main/resources/columnMapper.ini

@@ -18,6 +18,7 @@
 是否App展示 = clientShow
 是否在教务端展示 = educationalShow
 是否在乐团展示 = musicGroupShow
+是否乐器置换 = replacementShow
 库存类型 = stockType
 商品详情 = desc
 库存预警 = stockWarning

BIN
mec-web/src/main/resources/excelTemplate/商品导入模板.xls