zouxuan hace 2 años
padre
commit
d1e645332a

+ 11 - 0
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/FinancialExpenditure.java

@@ -36,6 +36,9 @@ public class FinancialExpenditure extends BaseEntity {
 	/**  */
 	@ApiModelProperty(value = "申请人",required = false)
 	private String applyUser;
+	/**  */
+	@ApiModelProperty(value = "申请人",required = false)
+	private Integer applyUserId;
 
 	@ApiModelProperty(value = "支出类型(1:固定费用、2:变动费用:3:业务退费)",required = false)
 	private ExpenditureTypeEnum type = REFUND;
@@ -98,6 +101,14 @@ public class FinancialExpenditure extends BaseEntity {
 
 	private boolean maintenanceFeeFlag;
 
+	public Integer getApplyUserId() {
+		return applyUserId;
+	}
+
+	public void setApplyUserId(Integer applyUserId) {
+		this.applyUserId = applyUserId;
+	}
+
 	public String getMerNo() {
 		return merNo;
 	}

+ 13 - 1
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/MusicGroup.java

@@ -187,8 +187,12 @@ public class MusicGroup extends BaseEntity {
 
 	//0云教练1云教练+
 	private Integer cloudTeacherType;
-	
+
+	@ApiModelProperty(value = "是否发放乐器",required = true)
 	private Integer musicalInstrumentsProvideStatus;
+
+	@ApiModelProperty(value = "发放乐器时间",required = true)
+	private String musicalInstrumentsProvideTime;
 	
 	private Boolean memberCourseShowFlag = false;
 
@@ -206,6 +210,14 @@ public class MusicGroup extends BaseEntity {
 	
 	private ClassGroupTypeEnum extracurricularTeacher;
 
+	public String getMusicalInstrumentsProvideTime() {
+		return musicalInstrumentsProvideTime;
+	}
+
+	public void setMusicalInstrumentsProvideTime(String musicalInstrumentsProvideTime) {
+		this.musicalInstrumentsProvideTime = musicalInstrumentsProvideTime;
+	}
+
 	public Integer getHasInstrumentNum() {
 		return hasInstrumentNum;
 	}

+ 25 - 4
mec-biz/src/main/java/com/ym/mec/biz/dal/entity/OperatingReportNew.java

@@ -12,38 +12,48 @@ public class OperatingReportNew {
     @ApiModelProperty(value="城市")
     private String organName;
 
-    @ApiModelProperty(value="销售收入")
-    //计算当月分润的销售收入
+    @ApiModelProperty(value="销售收入(当月实收)")
+    //实物销售收入(已收货商品)
     private BigDecimal saleAmount;
 
-    @ApiModelProperty(value="服务收入")
+    //当月课费(每个学员当月已消耗课程费用总和) + 个体云教练当月费用(总金额/月数) + 当月云教练课程消耗费用(课次*每节课单价)
+    @ApiModelProperty(value="服务收入(当月实收)")
     private BigDecimal serviceAmount;
 
-    //后台商品退费需要添加到退费列表
+    //当月退费列表总金额(当月退费列表已退费总金额)
     @ApiModelProperty(value="业务退费")
     private BigDecimal businessRefund;
 
+    //销售收入 + 服务收入 - 业务退费
     @ApiModelProperty(value="收入合计")
     private BigDecimal totalIncome;
 
+    //当月已发货商品销售成本价
     @ApiModelProperty(value="销售成本")
     private BigDecimal saleCost;
 
+    //OA审批固定费用总和
     @ApiModelProperty(value="固定费用")
     private BigDecimal fixedCosts;
 
+    //OA审批变动费用总和
     @ApiModelProperty(value="变动费用")
     private BigDecimal variableCosts;
 
+    //OA审批内部结算费用总和
     @ApiModelProperty(value="内部结算")
     private BigDecimal internalSettlement;
 
+    //固定 + 变动 + 内部结算
     @ApiModelProperty(value="成本费用合计")
     private BigDecimal totalCost;
 
+    //收入合计 - 成本合计
     @ApiModelProperty(value="准可自由支配利润")
     private BigDecimal quasiDiscretionaryProfit;
 
+    //个体云教练(订单总额 / 购买天数 * 剩余生效天数) + 已排课云教练课程预收款(乐团在读人数 * 2980 - 课程单价 * 未开始课程数) + 未排课云教练预收款(订单总额 / 购买天数 * 剩余生效天数)+
+    //未发货商品
     @ApiModelProperty(value="预收账款")
     private BigDecimal prepaidFee;
 
@@ -56,6 +66,17 @@ public class OperatingReportNew {
     @ApiModelProperty(value="应付账款")
     private BigDecimal payable;
 
+    @ApiModelProperty(value="月份")
+    private String month;
+
+    public String getMonth() {
+        return month;
+    }
+
+    public void setMonth(String month) {
+        this.month = month;
+    }
+
     public String getPrincipal() {
         return principal;
     }

+ 16 - 4
mec-biz/src/main/java/com/ym/mec/biz/service/impl/FinancialExpenditureServiceImpl.java

@@ -223,6 +223,7 @@ public class FinancialExpenditureServiceImpl extends BaseServiceImpl<Long, Finan
         return financialExpenditures;
     }
 
+
     @Override
     @Transactional(rollbackFor = Exception.class)
     public void syncOaPayLog(Integer workOrderId,String fileUrl) throws Exception {
@@ -246,7 +247,8 @@ public class FinancialExpenditureServiceImpl extends BaseServiceImpl<Long, Finan
             //课程退费和乐团退费需要单独处理
             if(pWorkOrderInfo.getProcess().equals(33) ||
                     pWorkOrderInfo.getProcess().equals(22) ||
-                    pWorkOrderInfo.getProcess().equals(19)){
+                    pWorkOrderInfo.getProcess().equals(19) ||
+                    pWorkOrderInfo.getProcess().equals(28)){
                 List<FinancialExpenditure> financialExpenditureList = new ArrayList<>();
                 for (OaInputDto oaInputDto : oaInputDtos) {
                     if(!"子表单".equals(oaInputDto.getName())){
@@ -262,6 +264,7 @@ public class FinancialExpenditureServiceImpl extends BaseServiceImpl<Long, Finan
                         financialExpenditure.setBatchNo(pWorkOrderInfo.getId().toString());
                         financialExpenditure.setFinancialProcessNo(pWorkOrderInfo.getId().toString());
                         financialExpenditure.setApplyUser(realName);
+                        financialExpenditure.setApplyUserId(pWorkOrderInfo.getCreator());
                         List<OaColumnDto> columns = oaInputDto.getColumns();
                         if(columns != null && columns.size() > 0){
                             for (OaColumnDto column : columns) {
@@ -312,10 +315,10 @@ public class FinancialExpenditureServiceImpl extends BaseServiceImpl<Long, Finan
                                                 }
                                                 continue;
                                             }
-                                        }else if(name.contains("金额")){
+                                        }else if(name.contains("金额") || name.contains("住宿费") || name.contains("出差补助") || name.contains("交通费")){
                                             Object o = hashMap.get(inputDto.getModel());
                                             if(Objects.nonNull(o) && StringUtils.isNotEmpty(o.toString())){
-                                                financialExpenditure.setAmount(new BigDecimal(Double.parseDouble(o.toString())));
+                                                financialExpenditure.setAmount(financialExpenditure.getAmount().add(new BigDecimal(Double.parseDouble(o.toString()))));
                                                 continue;
                                             }
                                         }else if(name.contains("情况说明")){
@@ -336,6 +339,12 @@ public class FinancialExpenditureServiceImpl extends BaseServiceImpl<Long, Finan
                                                 financialExpenditure.setFeeProject(FeeProjectEnum.valueOfDesc(o.toString()));
                                                 continue;
                                             }
+                                        }else if(name.contains("住宿费")){
+                                            Object o = hashMap.get(inputDto.getModel());
+                                            if(Objects.nonNull(o) && StringUtils.isNotEmpty(o.toString())){
+                                                financialExpenditure.setFeeProject(FeeProjectEnum.valueOfDesc(o.toString()));
+                                                continue;
+                                            }
                                         }
                                     }
                                 }
@@ -360,7 +369,7 @@ public class FinancialExpenditureServiceImpl extends BaseServiceImpl<Long, Finan
                             groupClassService.cancelGroupOa(returnFeeDto);
                         }
                     }
-                }else {
+                }else if(pWorkOrderInfo.getProcess().equals(33) || pWorkOrderInfo.getProcess().equals(19)){
                     //退团
                     for (FinancialExpenditure financialExpenditure : financialExpenditureList) {
                         String returnFeeType = financialExpenditure.getReturnFeeType();
@@ -457,6 +466,9 @@ public class FinancialExpenditureServiceImpl extends BaseServiceImpl<Long, Finan
                             financialExpenditure.setFeeProject(FeeProjectEnum.valueOfDesc(o.toString()));
                             continue;
                         }
+                    } else if (name.contains("子表单")) {
+                        List<OaColumnDto> columns = oaInputDto.getColumns();
+
                     }
                 }
                 financialExpenditureDao.insert(financialExpenditure);

+ 2 - 0
mec-biz/src/main/java/com/ym/mec/biz/service/impl/MusicGroupServiceImpl.java

@@ -28,6 +28,7 @@ import java.util.Set;
 import java.util.stream.Collectors;
 
 import com.ym.mec.biz.dal.dto.*;
+import com.ym.mec.thirdparty.yqpay.DateUtils;
 import org.apache.commons.collections.CollectionUtils;
 import org.apache.commons.lang3.StringUtils;
 import org.slf4j.Logger;
@@ -4171,6 +4172,7 @@ public class MusicGroupServiceImpl extends BaseServiceImpl<String, MusicGroup> i
 
         musicGroup.setMusicalInstrumentsProvideStatus(1);
         musicGroup.setUpdateTime(date);
+		musicGroup.setMusicalInstrumentsProvideTime(DateUtil.format(date,DateUtil.ISO_YEAR_MONTH_FORMAT));
         musicGroupDao.update(musicGroup);
 
         //查询当前乐团报名订单中购买了乐保的订单

+ 3 - 0
mec-biz/src/main/resources/config/mybatis/MusicGroupMapper.xml

@@ -229,6 +229,9 @@
             <if test="musicalInstrumentsProvideStatus != null">
                 musical_instruments_provide_status_ = #{musicalInstrumentsProvideStatus},
             </if>
+            <if test="musicalInstrumentsProvideDate != null AND musicalInstrumentsProvideDate != ''">
+                musical_instruments_provide_date_ = #{musicalInstrumentsProvideDate},
+            </if>
             <if test="memberCourseShowFlag != null">
                 member_course_show_flag_ = #{memberCourseShowFlag},
             </if>

+ 3 - 14
mec-web/src/main/java/com/ym/mec/web/controller/MusicGroupController.java

@@ -13,6 +13,7 @@ import com.ym.mec.biz.dal.page.MusicGroupQueryInfo;
 import com.ym.mec.biz.dal.page.MusicMemberQueryInfo;
 import com.ym.mec.biz.service.MusicGroupService;
 import com.ym.mec.biz.service.OrganizationService;
+import com.ym.mec.biz.service.SysUserService;
 import com.ym.mec.common.controller.BaseController;
 import com.ym.mec.common.entity.HttpResponseResult;
 import com.ym.mec.common.exception.BizException;
@@ -41,7 +42,7 @@ public class MusicGroupController extends BaseController {
 	@Autowired
 	private MusicGroupService musicGroupService;
 	@Autowired
-	private SysUserFeignService sysUserFeignService;
+	private SysUserService sysUserService;
 	@Autowired
 	private OrganizationService organizationService;
 
@@ -119,10 +120,6 @@ public class MusicGroupController extends BaseController {
 	@PostMapping("/pushMessage")
 	@PreAuthorize("@pcs.hasPermissions('musicGroup/pushMessage')")
 	public Object pushMessage(String musicGroupId,String classGroupIds) throws Exception {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null || sysUser.getId() == null) {
-			return failed("获取用户信息失败");
-		}
 		if(StringUtils.isEmpty(musicGroupId)){
 			throw new BizException("参数校验错误");
 		}
@@ -296,11 +293,7 @@ public class MusicGroupController extends BaseController {
 	@PostMapping("/sendParentMeetingNotice")
 	@PreAuthorize("@pcs.hasPermissions('musicGroup/sendParentMeetingNotice')")
 	public HttpResponseResult<Boolean> sendParentMeetingNotice(String musicGroupId, Date meetingDate, String address) {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "用户信息获取失败");
-		}
-		return musicGroupService.sendParentMeetingNotice(sysUser.getId(), musicGroupId, meetingDate, address) ? succeed() : failed();
+		return musicGroupService.sendParentMeetingNotice(sysUserService.getUserId(), musicGroupId, meetingDate, address) ? succeed() : failed();
 	}
 
 	@ApiOperation(value = "获取乐团的年级列表")
@@ -335,10 +328,6 @@ public class MusicGroupController extends BaseController {
 	@PostMapping("/takeEffectOfinstrumentInsurance")
 	@PreAuthorize("@pcs.hasPermissions('musicGroup/takeEffectOfinstrumentInsurance')")
 	public HttpResponseResult takeEffectOfinstrumentInsurance(String musicGroupId) {
-		SysUser sysUser = sysUserFeignService.queryUserInfo();
-		if (sysUser == null) {
-			return failed(HttpStatus.FORBIDDEN, "请登录");
-		}
 		return succeed(musicGroupService.takeEffectOfinstrumentInsurance(musicGroupId));
 	}
 }