|
@@ -0,0 +1,105 @@
|
|
|
+package com.gree.mall.miniapp.logic.material.parts;
|
|
|
+
|
|
|
+import com.baomidou.mybatisplus.core.metadata.IPage;
|
|
|
+import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
|
|
|
+import com.gree.mall.miniapp.bean.material.parts.OldRefundManageBean;
|
|
|
+import com.gree.mall.miniapp.bean.material.parts.OldRefundManageItemBean;
|
|
|
+import com.gree.mall.miniapp.bean.material.parts.OldRefundManageRecordBean;
|
|
|
+import com.gree.mall.miniapp.bean.user.CurrentCompanyWechat;
|
|
|
+import com.gree.mall.miniapp.commonmapper.MaterialMapper;
|
|
|
+import com.gree.mall.miniapp.enums.base.BaseEnum;
|
|
|
+import com.gree.mall.miniapp.enums.material.*;
|
|
|
+import com.gree.mall.miniapp.exception.RemoteServiceException;
|
|
|
+import com.gree.mall.miniapp.logic.common.CommonLogic;
|
|
|
+import com.gree.mall.miniapp.plus.entity.WebsitPartsOldRefundManage;
|
|
|
+import com.gree.mall.miniapp.plus.entity.WebsitPartsOldRefundManageItem;
|
|
|
+import com.gree.mall.miniapp.plus.entity.WebsitPartsOldRefundManageRecord;
|
|
|
+import com.gree.mall.miniapp.plus.service.WebsitPartsOldRefundManageItemService;
|
|
|
+import com.gree.mall.miniapp.plus.service.WebsitPartsOldRefundManageRecordService;
|
|
|
+import com.gree.mall.miniapp.plus.service.WebsitPartsOldRefundManageService;
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
+import org.springframework.beans.BeanUtils;
|
|
|
+import org.springframework.stereotype.Service;
|
|
|
+
|
|
|
+import javax.annotation.Resource;
|
|
|
+import java.util.ArrayList;
|
|
|
+import java.util.List;
|
|
|
+import java.util.Objects;
|
|
|
+
|
|
|
+@Service
|
|
|
+@Slf4j
|
|
|
+public class OldRefundManageLogic {
|
|
|
+
|
|
|
+ @Resource
|
|
|
+ CommonLogic commonLogic;
|
|
|
+ @Resource
|
|
|
+ MaterialMapper materialMapper;
|
|
|
+ @Resource
|
|
|
+ WebsitPartsOldRefundManageService websitPartsOldRefundManageService;
|
|
|
+ @Resource
|
|
|
+ WebsitPartsOldRefundManageItemService websitPartsOldRefundManageItemService;
|
|
|
+ @Resource
|
|
|
+ WebsitPartsOldRefundManageRecordService websitPartsOldRefundManageRecordService;
|
|
|
+
|
|
|
+ public IPage<OldRefundManageBean> appList(String applyNo, String repairFlag, String flag, String identity, String partsNumber, Integer pageNo, Integer pageSize) {
|
|
|
+ CurrentCompanyWechat wechat = commonLogic.getCurrentCompanyWechat();
|
|
|
+ IPage<OldRefundManageBean> page = materialMapper.appOldRefundList(new Page(pageNo, pageSize), wechat.getCompanyWechatId(), applyNo, repairFlag, flag, identity, partsNumber);
|
|
|
+ return page;
|
|
|
+ }
|
|
|
+
|
|
|
+ public Object detail(String applyNo) {
|
|
|
+ WebsitPartsOldRefundManage partsOldRefundManage = websitPartsOldRefundManageService.getById(applyNo);
|
|
|
+ if (Objects.isNull(partsOldRefundManage)) {
|
|
|
+ throw new RemoteServiceException("单据不存在");
|
|
|
+ }
|
|
|
+ List<WebsitPartsOldRefundManageItem> partsOldRefundManageItems = websitPartsOldRefundManageItemService.lambdaQuery()
|
|
|
+ .eq(WebsitPartsOldRefundManageItem::getApplyNo, applyNo)
|
|
|
+ .list();
|
|
|
+
|
|
|
+ OldRefundManageBean oldRefundManageBean = new OldRefundManageBean();
|
|
|
+ BeanUtils.copyProperties(partsOldRefundManage, oldRefundManageBean);
|
|
|
+ if (Objects.nonNull(oldRefundManageBean.getApplyCategory()))
|
|
|
+ oldRefundManageBean.setApplyCategoryName(BaseEnum.keyToEnumNotNull(PartsApplyCategoryEnum.class, oldRefundManageBean.getApplyCategory()).getRemark());
|
|
|
+ if (Objects.nonNull(oldRefundManageBean.getApplyType()))
|
|
|
+ oldRefundManageBean.setApplyType(BaseEnum.keyToEnumNotNull(PartsRefundApplyTypeEnum.class, oldRefundManageBean.getApplyType()).getRemark());
|
|
|
+ if (Objects.nonNull(oldRefundManageBean.getRefundMode()))
|
|
|
+ oldRefundManageBean.setRefundModeName(BaseEnum.keyToEnumNotNull(PartsRefundModeEnum.class, oldRefundManageBean.getRefundMode()).getRemark());
|
|
|
+
|
|
|
+ oldRefundManageBean.setFlagName(BaseEnum.keyToEnumNotNull(PartsOrderFlagEnum.class, oldRefundManageBean.getFlag()).getRemark());
|
|
|
+ // 单据状态是通过并且保内
|
|
|
+ if (oldRefundManageBean.getFlag().equals(PartsOrderFlagEnum.AGREE.getKey()) &&
|
|
|
+ oldRefundManageBean.getRepairFlag().equals(PartsRepairFlagEnum.INNER.getKey())) {
|
|
|
+ oldRefundManageBean.setFlagName("待返还");
|
|
|
+ }
|
|
|
+
|
|
|
+ List<OldRefundManageItemBean> oldRefundManageItemBeanList = new ArrayList<>();
|
|
|
+ for (WebsitPartsOldRefundManageItem partsOldRefundManageItem : partsOldRefundManageItems) {
|
|
|
+ OldRefundManageItemBean oldRefundManageItemBean = new OldRefundManageItemBean();
|
|
|
+ BeanUtils.copyProperties(partsOldRefundManageItem, oldRefundManageItemBean);
|
|
|
+
|
|
|
+ oldRefundManageItemBeanList.add(oldRefundManageItemBean);
|
|
|
+ }
|
|
|
+ // 查询执行记录
|
|
|
+ List<WebsitPartsOldRefundManageRecord> partsOldRefundManageRecords = websitPartsOldRefundManageRecordService.lambdaQuery()
|
|
|
+ .eq(WebsitPartsOldRefundManageRecord::getApplyNo, partsOldRefundManage.getApplyNo())
|
|
|
+ .list();
|
|
|
+
|
|
|
+ List<OldRefundManageRecordBean> oldRefundManageRecordBeans = new ArrayList<>();
|
|
|
+ for (WebsitPartsOldRefundManageRecord partsOldRefundManageRecord : partsOldRefundManageRecords) {
|
|
|
+ OldRefundManageRecordBean oldRefundManageRecordBean = new OldRefundManageRecordBean();
|
|
|
+ BeanUtils.copyProperties(partsOldRefundManageRecord, oldRefundManageRecordBean);
|
|
|
+ if (Objects.nonNull(oldRefundManageRecordBean.getRefundState())) {
|
|
|
+ oldRefundManageRecordBean.setRefundStateName(BaseEnum.keyToEnumNotNull(PartsRefundStateEnum.class, oldRefundManageRecordBean.getRefundState()).getRemark());
|
|
|
+ }
|
|
|
+ if (Objects.nonNull(oldRefundManageRecordBean.getRepairFlag())) {
|
|
|
+ oldRefundManageRecordBean.setRepairFlagName(BaseEnum.keyToEnumNotNull(PartsRepairFlagEnum.class, oldRefundManageRecordBean.getRepairFlag()).getRemark());
|
|
|
+ }
|
|
|
+ oldRefundManageRecordBean.setIsBackupName(oldRefundManageRecordBean.getIsBackup() ? "是" : "否");
|
|
|
+ oldRefundManageRecordBeans.add(oldRefundManageRecordBean);
|
|
|
+ }
|
|
|
+ oldRefundManageBean.setPartsOldRefundManageRecordList(oldRefundManageRecordBeans);
|
|
|
+
|
|
|
+ oldRefundManageBean.setOldRefundManageItemBeanList(oldRefundManageItemBeanList);
|
|
|
+ return oldRefundManageBean;
|
|
|
+ }
|
|
|
+}
|