Browse Source

添加核销系统生成费用接口

contract
Yen 2 years ago
parent
commit
049ee0ae7f
  1. 12
      src/main/java/com/qs/serve/common/model/consts/ResultFlag.java
  2. 1
      src/main/java/com/qs/serve/modules/bms/service/BmsSubjectService.java
  3. 7
      src/main/java/com/qs/serve/modules/bms/service/impl/BmsSubjectServiceImpl.java
  4. 32
      src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java
  5. 1
      src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java
  6. 18
      src/main/java/com/qs/serve/modules/third/PortalOfCostController.java
  7. 17
      src/main/java/com/qs/serve/modules/third/entity/ProcessCreateBo.java
  8. 249
      src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java
  9. 17
      src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java
  10. 7
      src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationYard.java
  11. 22
      src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java

12
src/main/java/com/qs/serve/common/model/consts/ResultFlag.java

@ -0,0 +1,12 @@
package com.qs.serve.common.model.consts;
/**
* @author YenHex
* @since 2023/2/15
*/
public interface ResultFlag {
int OK = 1;
int NOT = 0;
}

1
src/main/java/com/qs/serve/modules/bms/service/BmsSubjectService.java

@ -17,6 +17,7 @@ public interface BmsSubjectService extends IService<BmsSubject> {
void updatePathNameByParent(BmsSubject subject);
BmsSubject getByName(String name);
BmsSubject getByCode(String code);
boolean removeSelfAndChildById(Long id);
}

7
src/main/java/com/qs/serve/modules/bms/service/impl/BmsSubjectServiceImpl.java

@ -54,6 +54,13 @@ public class BmsSubjectServiceImpl extends ServiceImpl<BmsSubjectMapper,BmsSubje
return getOne(lqw,false);
}
@Override
public BmsSubject getByCode(String code) {
LambdaQueryWrapper<BmsSubject> lqw = new LambdaQueryWrapper<>();
lqw.eq(BmsSubject::getSubjectCode,code);
return getOne(lqw,false);
}
@Override
public boolean removeSelfAndChildById(Long id) {
List<BmsSubject> list = listChild(id);

32
src/main/java/com/qs/serve/modules/tbs/service/TbsBudgetApplicationService.java

@ -145,7 +145,7 @@ public class TbsBudgetApplicationService {
/**
* 创建费用占用结果
* @param costApplyId
* @param costApplyId 用于加载历史预算时排除当前费用占比
* @param throwEx 是否需要抛出异常
* @param buildTableFlag 创建表VO
*/
@ -160,15 +160,38 @@ public class TbsBudgetApplicationService {
if(activityList.size()<1){
Assert.throwEx("当前费用未设置活动");
}
//补充添加 科目与成本中心拦截
List<TbsActivityCenterGoods> centerGoodsList = tbsActivityCenterGoodsService.listByCostApplyId(costApplyId);
List<TbsActivityCenter> activityCenterList = tbsActivityCenterService.listByCostApplyId(costApplyId);
return this.buildBudgetCostResult(costApplyId,activityList,activitySubjects,centerGoodsList,activityCenterList,overspend,throwEx,buildTableFlag);
}
/**
* 创建费用占用结果
* @param costApplyId 用于加载历史预算时排除当前费用占比
* @param activityList 活动列表
* @param activitySubjects 判断预算时科目拦截
* @param centerGoodsList 活动成本中心组商品
* @param activityCenterList 判断预算时成本中心拦截
* @param overspend 是否支持超出预算
* @param throwEx 是否需要抛出异常
* @param buildTableFlag 创建表VO
* @return
*/
public TbsBudgetCostResult buildBudgetCostResult(Long costApplyId,
List<TbsActivity> activityList,
List<TbsActivitySubject> activitySubjects,
List<TbsActivityCenterGoods> centerGoodsList,
List<TbsActivityCenter> activityCenterList,
Boolean overspend,
Boolean throwEx,
Boolean buildTableFlag){
//考核期有关的预算id,判断逻辑为活动需要允许在
List<Long> budgetIds = new ArrayList<>();
//没有预算的活动
List<Long> noBudgetActivityIds = new ArrayList<>();
//所有满足条件的考核期,用于加载历史核销费用
List<TbsScheduleItemBudget> scheduleItemList = this.loadScheduleBudgetAndSetting(activityList, budgetIds, noBudgetActivityIds);
//补充添加 科目与成本中心拦截
List<TbsActivityCenterGoods> centerGoodsList = tbsActivityCenterGoodsService.listByCostApplyId(costApplyId);
List<TbsActivityCenter> activityCenterList = tbsActivityCenterService.listByCostApplyId(costApplyId);
List<String> centerIds = activityCenterList.stream().map(TbsActivityCenter::getCenterId).collect(Collectors.toList());
List<Long> subjectIds = activitySubjects.stream().map(TbsActivitySubject::getSubjectId).collect(Collectors.toList());
// 加载所有条件
@ -640,4 +663,5 @@ public class TbsBudgetApplicationService {
budgetIds.addAll(budgetIdsSet);
return scheduleItemList;
}
}

1
src/main/java/com/qs/serve/modules/tbs/service/impl/TbsCostApplyServiceImpl.java

@ -123,6 +123,7 @@ public class TbsCostApplyServiceImpl extends ServiceImpl<TbsCostApplyMapper,TbsC
allBudgetItem.addAll(result.getBudgetMatchList());
allBudgetItem.addAll(result.getBudgetUnMatchList());
budgetCostItemService.saveBatch(allBudgetItem);
//TODO 无匹配的预算item保存到 TbsCostUnItem
//保存预算使用日志
if(tbsCostApply.getChargeState().equals(TbsCostApplyState.State_0_unPublish.getCode())){
List<TbsBudgetLog> budgetLogList = saveBudgetLog(result, sysUser, costApply, result.getBudgetMatchList(),result.getActivityList());

18
src/main/java/com/qs/serve/modules/third/PortalOfCostController.java

@ -2,13 +2,18 @@ package com.qs.serve.modules.third;
import com.qs.serve.common.model.dto.R;
import com.qs.serve.modules.third.entity.ProcessCreateBo;
import com.qs.serve.modules.third.service.PortalOfCostApplication;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.validation.Valid;
/**
* 第三方接口核销系统
* 第三方接口核销系统
* @author YenHex
* @since 2023/2/14
*/
@ -18,7 +23,16 @@ import org.springframework.web.bind.annotation.RestController;
@RequestMapping("portal/cost")
public class PortalOfCostController {
public R<?> createCostProcess(ProcessCreateBo createBo){
private PortalOfCostApplication portalOfCostApplication;
/**
* 一站式创建费用
* @param createBo
* @return
*/
@PostMapping("create")
public R<?> createCostProcess(@Valid @RequestBody ProcessCreateBo createBo){
portalOfCostApplication.createCostProcess(createBo);
return R.error();
}

17
src/main/java/com/qs/serve/modules/third/entity/ProcessCreateBo.java

@ -4,6 +4,7 @@ import lombok.Data;
import javax.validation.constraints.NotNull;
import java.math.BigDecimal;
import java.util.List;
/**
* @author YenHex
@ -12,7 +13,7 @@ import java.math.BigDecimal;
@Data
public class ProcessCreateBo {
/** 员工编码 */
/** 员工编码(申请人/操作人) */
@NotNull(message = "员工编码 不能为空")
private String userCode;
@ -25,22 +26,22 @@ public class ProcessCreateBo {
/** 活动编码(可为空) */
private String activityCode;
/** 活动标题(可为空) */
private String activityTitle;
@NotNull(message = "客户编码 不能为空")
private String customerCode;
/** 客户所属 */
private String customerBelong;
@NotNull(message = "成本中心编码 不能为空")
private String centerCode;
@NotNull(message = "合计金额 不能为空")
private BigDecimal totalAmount;
@NotNull(message = "成本中心id 不能为空")
private String centerId;
@NotNull(message = "科目编码 不能为空")
private String subjectCode;
@NotNull(message = "成本中心类型 不能为空")
private String centerType;
@NotNull(message = "存货编码 不能为空")
private List<ProcessGoodsItem> goodsList;
}

249
src/main/java/com/qs/serve/modules/third/service/PortalOfCostApplication.java

@ -1,20 +1,43 @@
package com.qs.serve.modules.third.service;
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
import com.qs.serve.common.model.consts.ResultFlag;
import com.qs.serve.common.util.Assert;
import com.qs.serve.common.util.CollectionUtil;
import com.qs.serve.common.util.StringUtils;
import com.qs.serve.modules.bms.entity.BmsSubject;
import com.qs.serve.modules.bms.entity.BmsSupplier;
import com.qs.serve.modules.bms.service.BmsSubjectService;
import com.qs.serve.modules.bms.service.BmsSupplierService;
import com.qs.serve.modules.goods.entity.GoodsCategory;
import com.qs.serve.modules.goods.entity.GoodsSku;
import com.qs.serve.modules.goods.entity.GoodsSpu;
import com.qs.serve.modules.goods.entity.dto.TbsCenterDto;
import com.qs.serve.modules.goods.service.GoodsCategoryService;
import com.qs.serve.modules.goods.service.GoodsSkuService;
import com.qs.serve.modules.goods.service.GoodsSpuService;
import com.qs.serve.modules.sys.entity.SysUser;
import com.qs.serve.modules.sys.service.SysUserService;
import com.qs.serve.modules.tbs.common.TbsActivityState;
import com.qs.serve.modules.tbs.common.TbsCostApplyState;
import com.qs.serve.modules.tbs.entity.TbsActivity;
import com.qs.serve.modules.tbs.entity.TbsCostApply;
import com.qs.serve.modules.tbs.service.TbsActivityService;
import com.qs.serve.modules.tbs.service.TbsCenterDtoService;
import com.qs.serve.modules.tbs.entity.*;
import com.qs.serve.modules.tbs.entity.dto.TbsBudgetCostResult;
import com.qs.serve.modules.tbs.service.*;
import com.qs.serve.modules.third.entity.ProcessCreateBo;
import com.qs.serve.modules.third.entity.ProcessGoodsItem;
import lombok.AllArgsConstructor;
import lombok.extern.slf4j.Slf4j;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.math.BigDecimal;
import java.time.LocalDate;
import java.time.LocalDateTime;
import java.util.Random;
import java.util.stream.Collectors;
/**
* @author YenHex
@ -25,23 +48,227 @@ import org.springframework.stereotype.Service;
@AllArgsConstructor
public class PortalOfCostApplication {
private TbsActivityService tbsActivityService;
private TbsActivityService activityService;
private TbsActivityCenterService activityCenterService;
private TbsActivitySubjectService activitySubjectService;
private TbsActivityGoodsService activityGoodsService;
private TbsActivityCenterGoodsService activityCenterGoodsService;
private BmsSupplierService supplierService;
private BmsSubjectService subjectService;
private SysUserService userService;
private TbsCenterDtoService tbsCenterDtoService;
private TbsBudgetApplicationService budgetApplicationService;
private TbsCostApplyService costApplyService;
private GoodsSkuService goodsSkuService;
private GoodsSpuService goodsSpuService;
private GoodsCategoryService goodsCategoryService;
void createCostProcess(ProcessCreateBo createBo){
@Transactional(rollbackFor = Exception.class)
public void createCostProcess(ProcessCreateBo createBo){
SysUser user = userService.getByAccount(createBo.getUserCode());
if(user==null){Assert.throwEx("用户不存在,请重新编辑");}
BmsSupplier supplier = supplierService.getByCode(createBo.getCustomerCode(),createBo.getCustomerBelong());
if(supplier==null){Assert.throwEx("客户不存在,请重新编辑");}
TbsCenterDto tbsCenterDto = tbsCenterDtoService.getCenterDto(createBo.getCenterType(),createBo.getCenterId());
if(tbsCenterDto==null){Assert.throwEx("部分成本中心不存在了,请重新编辑");}
BmsSubject subject = subjectService.getByCode(createBo.getSubjectCode());
if(subject==null){Assert.throwEx("科目不存在,请重新编辑");}
//初始化sku列表
List<GoodsSku> skuList = this.initSkuListOfProcess(createBo);
//常用参数
final String GOODS_TYPE = "sku";
final String CENTER_TYPE = "customer";
final BigDecimal OneHundred = new BigDecimal("100");
LocalDateTime nowTime = LocalDateTime.now();
LocalDate nowDate = LocalDate.now();
Long supplierId = Long.parseLong(supplier.getId());
BigDecimal totalAmount = createBo.getTotalAmount();
String costCode = createBo.getCostCode();
String costTheme = createBo.getCostTheme();
// String random = String.format("%03d",new Random().nextInt(999));
// activity.setActivityCode("G"+ StringUtils.genShortId() + random);
String activityCode = createBo.getActivityCode();
String activityTitle = createBo.getActivityTitle();
//构建费用申请
TbsCostApply costApply = new TbsCostApply();
costApply.setCode(createBo.getCostCode());
costApply.setCode(createBo.getCostTheme());
costApply.setCode(costCode);
costApply.setChargeTheme(costTheme);
costApply.setChargeState(TbsCostApplyState.State_3_finished.getCode());
costApply.setSupplierId(supplierId);
costApply.setSupplierName(supplier.getName());
costApply.setSupplierCode(supplier.getCode());
costApply.setUserId(user.getId());
costApply.setUserCode(user.getCode());
costApply.setUserName(user.getName());
costApply.setTotalActivity(1);
costApply.setTotalActivityAmount(totalAmount);
costApply.setTotalActivityUsedAmount(totalAmount);
//构建活动
TbsActivity activity = new TbsActivity();
activity.setActivityCode(activityCode);
activity.setActivityState(TbsActivityState.STATE_1_Finished);
activity.setCostPassFlag(1);
activity.setCostPassTime(nowTime);
activity.setActTitle(activityTitle);
activity.setSupplierId(supplierId);
activity.setSupplierName(supplier.getName());
activity.setSupplierCode(supplier.getCode());
activity.setActStartDate(nowDate);
activity.setActEndDate(nowDate);
activity.setPreStartDate(nowDate);
activity.setPreEndDate(nowDate);
activity.setPreCheckDate(nowDate);
activity.setTotalAmount(totalAmount);
activity.setUsedAmount(totalAmount);
activity.setFinishedFlag(ResultFlag.OK);
activity.setFinishedTime(nowTime);
//活动-科目
TbsActivitySubject activitySubject = new TbsActivitySubject();
activitySubject.setSubjectId(subject.getId());
activitySubject.setSubjectCode(subject.getSubjectCode());
activitySubject.setSubjectName(subject.getSubjectName());
activitySubject.setAmount(totalAmount);
activitySubject.setUsedAmount(totalAmount);
activitySubject.setCountSession(0);
activitySubject.setCountPerson(0);
//活动-成本中心
TbsActivityCenter activityCenter = new TbsActivityCenter();
activityCenter.setSubjectId(subject.getId());
activityCenter.setCenterAmount(totalAmount);
activityCenter.setCenterRate(OneHundred);
activityCenter.setCenterType(CENTER_TYPE);
activityCenter.setCenterId(supplier.getId());
activityCenter.setCenterName(supplier.getName());
activityCenter.setCenterCode(supplier.getCode());
activityCenter.setUsedAmount(totalAmount);
//活动-商品
List<TbsActivityGoods> activityGoodsList = new ArrayList<>();
for (GoodsSku sku : skuList) {
GoodsSpu goodsSpu = goodsSpuService.getById(sku.getSpuId());
GoodsCategory category1 = goodsCategoryService.getById(goodsSpu.getCategoryFirst());
GoodsCategory category2 = goodsCategoryService.getById(goodsSpu.getCategorySecond());
GoodsCategory category3 = goodsCategoryService.getById(goodsSpu.getCategoryThird());
TbsActivityGoods activityGoods = new TbsActivityGoods();
activityGoods.setTargetType(GOODS_TYPE);
activityGoods.setTargetId(sku.getId());
activityGoods.setTargetCode(sku.getSkuCode());
activityGoods.setTargetName(sku.getSpecInfos());
activityGoods.setTargetLevelPathIds(category1.getId()+"_"+category2.getId()+"_"+category3.getId()+"_"+goodsSpu.getId()+"_"+sku.getId());
activityGoods.setTargetLevelPathNames(category1.getName()+"_"+category2.getName()+"_"+category3.getName()+"_"+goodsSpu.getName()+"_"+sku.getSpecInfos());
activityGoodsList.add(activityGoods);
}
//活动-商品与成本中心记录
List<TbsActivityCenterGoods> activityCenterGoodsList = new ArrayList<>();
for (int i = 0; i < activityGoodsList.size(); i++) {
TbsActivityGoods activityGoods = activityGoodsList.get(i);
TbsActivityCenterGoods centerGoods = new TbsActivityCenterGoods();
centerGoods.setActivityCode(activity.getActivityCode());
centerGoods.setCenterGoodsCode(activity.getActivityCode()+"_"+(i+1));
centerGoods.setSupplierId(supplierId);
centerGoods.setSupplierCode(supplier.getCode());
centerGoods.setSupplierName(supplier.getName());
//设置成本中心
centerGoods.setCenterType(CENTER_TYPE);
centerGoods.setCenterId(supplier.getId());
centerGoods.setCenterCode(supplier.getCode());
centerGoods.setCenterName(supplier.getName());
centerGoods.setCenterRate(OneHundred);
centerGoods.setCenterAmount(totalAmount);
//设置科目
centerGoods.setSubjectId(subject.getId());
centerGoods.setSubjectCode(subject.getSubjectCode());
centerGoods.setSubjectName(subject.getSubjectName());
//TODO 分配
centerGoods.setCenterGoodsAmount(BigDecimal.ZERO);
centerGoods.setCenterGoodsRate(BigDecimal.ZERO);
centerGoods.setUsedAmount(BigDecimal.ZERO);
//设置活动时间
centerGoods.setActEndDate(nowDate);
centerGoods.setActStartDate(nowDate);
centerGoods.setPreEndDate(nowDate);
centerGoods.setPreStartDate(nowDate);
centerGoods.setPreCheckDate(nowDate);
//设置目标
centerGoods.setTargetId(activityGoods.getTargetId());
centerGoods.setTargetCode(activityGoods.getTargetCode());
centerGoods.setTargetName(activityGoods.getTargetName());
centerGoods.setTargetLevelPathIds(activityGoods.getTargetLevelPathIds());
centerGoods.setTargetLevelPathNames(activityGoods.getTargetLevelPathNames());
activityCenterGoodsList.add(centerGoods);
}
//保存活动有关数据
costApplyService.save(costApply);
activity.setCostApplyId(costApply.getId());
activityService.save(activity);
activitySubject.setCostApplyId(costApply.getId());
activitySubject.setActivityId(activity.getId());
activitySubjectService.save(activitySubject);
activityCenter.setCostApplyId(costApply.getId());
activityCenter.setActivityId(activity.getId());
activityCenterService.save(activityCenter);
activityGoodsList.forEach(item->{
item.setCostApplyId(costApply.getId());
item.setActivityId(activity.getId());
});
activityGoodsService.saveBatch(activityGoodsList);
activityCenterGoodsList.forEach(item->{
item.setCostApplyId(costApply.getId());
item.setActivityId(activity.getId());
});
activityCenterGoodsService.saveBatch(activityCenterGoodsList);
//获取匹配的预算结果
TbsBudgetCostResult budgetCostResult = budgetApplicationService.buildBudgetCostResult(
costApply.getId(),
Arrays.asList(activity),
Arrays.asList(activitySubject),
activityCenterGoodsList,
Arrays.asList(activityCenter),true,false,false);
List<TbsBudgetCostItem> matchBudgetItem = budgetCostResult.getBudgetMatchList();
//TODO 匹配列表生成预算日志
List<TbsBudgetCostItem> unMatchBudgetItem = budgetCostResult.getBudgetUnMatchList();
//不匹配保存到无预算标
}
/**
* 创建流程中初始化SKU列表
* @param createBo
* @return
*/
private List<GoodsSku> initSkuListOfProcess(ProcessCreateBo createBo) {
List<GoodsSku> goodsSkus = null;
if(CollectionUtil.isNotEmpty(createBo.getGoodsList())){
List<String> invCodes = createBo.getGoodsList().stream()
.map(ProcessGoodsItem::getInventoryCode).distinct().collect(Collectors.toList());
LambdaQueryWrapper<GoodsSku> skuLqw = new LambdaQueryWrapper<>();
skuLqw.in(GoodsSku::getSkuCode,invCodes);
goodsSkus = goodsSkuService.list(skuLqw);
if(invCodes.size()!=goodsSkus.size()){
List<String> skuCodeNotExistList = new ArrayList<>();
for (String invCode : invCodes) {
boolean notExist = true;
for (GoodsSku sku : goodsSkus) {
if(sku.getSkuCode().equals(invCode)){
notExist = false;
break;
}
}
if(notExist){
skuCodeNotExistList.add(invCode);
}
}
if(skuCodeNotExistList.size()>0){
String invCodesString = skuCodeNotExistList.stream().collect(Collectors.joining(","));
Assert.throwEx("存货编码["+invCodesString+"]不存在,请重新编辑");
}
}
}
if(goodsSkus==null){
Assert.throwEx("存货编码未设置,请重新编辑");
}
return goodsSkus;
}
}

17
src/main/java/com/qs/serve/modules/vtb/controller/VtbVerificationController.java

@ -67,6 +67,7 @@ public class VtbVerificationController {
private SeeYonService seeYonService;
private VtbVerificationApplication verificationApplication;
private VtbVerificationYardService verificationYardService;
private VtbVerificationYardItemService vtbVerificationYardItemService;
/**
@ -136,15 +137,25 @@ public class VtbVerificationController {
* @return
*/
@GetMapping("/getForCommentList/{id}")
@SysLog(module = SystemModule.Verification, title = "核销", biz = BizType.QUERY)
public R<?> getForCommentList(@PathVariable("id") String id){
VtbVerification verification = vtbVerificationService.getById(id);
LambdaQueryWrapper<VtbVerificationYard> yardLqw = new LambdaQueryWrapper<>();
yardLqw.eq(VtbVerificationYard::getVerificationId,id);
yardLqw.orderByDesc(VtbVerificationYard::getId);
List<VtbVerificationYard> yardList = verificationYardService.list(yardLqw);
for (VtbVerificationYard yard : yardList) {
LambdaQueryWrapper<VtbVerificationYardItem> itemLqw = new LambdaQueryWrapper<>();
itemLqw.eq(VtbVerificationYardItem::getYardId,yard.getId());
itemLqw.apply("(last_amount!=curr_amount or last_session!=curr_session or last_person!=curr_person)");
List<VtbVerificationYardItem> yardItemList = vtbVerificationYardItemService.list(itemLqw);
yard.setYardItemList(yardItemList);
SysUser sysUser = sysUserService.getById(yard.getCreateBy());
yard.setUserInfo(sysUser.toSysUserVo());
}
return R.ok();
Map<String,Object> result = new HashMap<>(2);
result.put("verification",verification);
result.put("commentLines",yardList);
return R.ok(result);
}
/**

7
src/main/java/com/qs/serve/modules/vtb/entity/VtbVerificationYard.java

@ -4,6 +4,7 @@ import java.time.LocalDate;
import java.io.Serializable;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.List;
import com.baomidou.mybatisplus.annotation.*;
import com.fasterxml.jackson.annotation.JsonFormat;
@ -92,5 +93,11 @@ public class VtbVerificationYard implements Serializable {
@NotNull(message = "是否无效不能为空")
private Integer effectiveFlag;
@TableField(exist = false)
private List<VtbVerificationYardItem> yardItemList;
@TableField(exist = false)
private Object userInfo;
}

22
src/main/java/com/qs/serve/modules/vtb/service/VtbVerificationApplication.java

@ -153,15 +153,16 @@ public class VtbVerificationApplication {
yardItem.setLastSession(currVs.getCountSession());
yardItem.setCurrSession(currVs.getCountSession());
if(countSession != null){
if(!countSession.equals(currVs.getCountSession())){
yardItem.setLastSession(currVs.getCountSession());
Integer lastSession = currVs.getCountSession();
if(!countSession.equals(lastSession)){
yardItem.setLastSession(lastSession);
yardItem.setCurrSession(countSession);
VtbVerificationSubject verSub4Upd = new VtbVerificationSubject();
verSub4Upd.setId(currVs.getId());
verSub4Upd.setCountPerson(countSession);
verSubject4Update.add(verSub4Upd);
if(currVs.getCountSession()!=null){
if(currVs.getCountSession()>countSession){
if(lastSession!=null){
if(lastSession > countSession){
yardItem.setRemark2("减少场次:"+ (currVs.getCountSession() - countSession));
}else {
yardItem.setRemark2("增加场次:"+ (countSession - currVs.getCountSession()));
@ -173,18 +174,19 @@ public class VtbVerificationApplication {
yardItem.setLastSession(currVs.getCountSession());
yardItem.setCurrSession(currVs.getCountSession());
if( countPerson != null ){
if(!countPerson.equals(currVs.getCountPerson())){
yardItem.setLastPerson(currVs.getCountPerson());
Integer lastPerson = currVs.getCountPerson();
if(!countPerson.equals(lastPerson)){
yardItem.setLastPerson(lastPerson);
yardItem.setCurrPerson(countPerson);
VtbVerificationSubject verSub4Upd = new VtbVerificationSubject();
verSub4Upd.setId(currVs.getId());
verSub4Upd.setCountPerson(countPerson);
verSubject4Update.add(verSub4Upd);
if(currVs.getCountPerson()!=null){
if(currVs.getCountPerson()>countPerson){
yardItem.setRemark3("减少人数:"+ (currVs.getCountPerson() - countPerson));
if(lastPerson!=null){
if(lastPerson>countPerson){
yardItem.setRemark3("减少人数:"+ (lastPerson - countPerson));
}else {
yardItem.setRemark3("增加人数:"+ (countPerson - currVs.getCountPerson()));
yardItem.setRemark3("增加人数:"+ (countPerson - lastPerson));
}
}
}

Loading…
Cancel
Save