|
|
@@ -2,10 +2,7 @@ package org.jeecg.modules.business.controller;
|
|
|
|
|
|
import java.math.BigDecimal;
|
|
|
import java.text.SimpleDateFormat;
|
|
|
-import java.util.Arrays;
|
|
|
-import java.util.Date;
|
|
|
-import java.util.List;
|
|
|
-import java.util.Map;
|
|
|
+import java.util.*;
|
|
|
import java.util.stream.Collectors;
|
|
|
import java.io.IOException;
|
|
|
import java.io.UnsupportedEncodingException;
|
|
|
@@ -15,6 +12,8 @@ import javax.servlet.http.HttpServletRequest;
|
|
|
import javax.servlet.http.HttpServletResponse;
|
|
|
|
|
|
import com.baomidou.mybatisplus.core.conditions.query.LambdaQueryWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.LambdaUpdateWrapper;
|
|
|
+import com.baomidou.mybatisplus.core.conditions.update.UpdateWrapper;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.jeecg.common.api.vo.Result;
|
|
|
import org.jeecg.common.constant.CommonConstant;
|
|
|
@@ -34,16 +33,16 @@ import org.jeecg.modules.business.entity.BusAgreementOrderFee;
|
|
|
import org.jeecg.modules.business.entity.BusCommodityRecord;
|
|
|
import org.jeecg.modules.business.entity.BusDict;
|
|
|
import org.jeecg.modules.business.entity.BusSalesPersonPost;
|
|
|
-import org.jeecg.modules.business.enums.AgreementOrderStatusEnum;
|
|
|
-import org.jeecg.modules.business.enums.AgreenmentAccountStatus;
|
|
|
-import org.jeecg.modules.business.enums.AgreenmentCheckStatus;
|
|
|
-import org.jeecg.modules.business.enums.ReturnGoodsStatusEnum;
|
|
|
+import org.jeecg.modules.business.enums.*;
|
|
|
import org.jeecg.modules.business.service.IBusAgreementOrderFeeService;
|
|
|
import org.jeecg.modules.business.service.IBusCommodityRecordService;
|
|
|
+import org.jeecg.modules.business.vo.AgreementAccountVo;
|
|
|
+import org.jeecg.modules.order.entity.CesOrderRepair;
|
|
|
import org.jeecg.modules.order.service.ICesOrderLeaseGoodsService;
|
|
|
import org.jeecg.modules.rooms.entity.CesGoods;
|
|
|
import org.jeecg.modules.rooms.service.CesGoodsServiceImpl;
|
|
|
import org.jeecg.modules.rooms.service.CesStockTypeServiceImpl;
|
|
|
+import org.jeecg.modules.system.entity.SysCategory;
|
|
|
import org.jeecgframework.poi.excel.ExcelImportUtil;
|
|
|
import org.jeecgframework.poi.excel.def.NormalExcelConstants;
|
|
|
import org.jeecgframework.poi.excel.entity.ExportParams;
|
|
|
@@ -287,46 +286,168 @@ public class BusAgreementOrderFeeController extends JeecgController<BusAgreement
|
|
|
@RequestMapping(value = "/revoke", method = {RequestMethod.PUT,RequestMethod.POST})
|
|
|
public Result<String> revoke(@RequestBody BusAgreementOrderFee busAgreementOrderFee) {
|
|
|
BusAgreementOrderFee oldOrderFee = busAgreementOrderFeeService.getById(busAgreementOrderFee.getId());
|
|
|
+ LambdaUpdateWrapper<BusAgreementOrderFee> updateWrapper = new UpdateWrapper().lambda();
|
|
|
if (oldOrderFee != null) {
|
|
|
- if (oldOrderFee.getType().equals(5)){
|
|
|
- QueryWrapper<BusAgreementOrderFee> querOrderFee = new QueryWrapper<BusAgreementOrderFee>();
|
|
|
- querOrderFee.eq("id", oldOrderFee.getId());
|
|
|
- List<BusAgreementOrderFee> orderFeeList = busAgreementOrderFeeService.list(querOrderFee);
|
|
|
- if (orderFeeList != null && orderFeeList.size() > 0) {
|
|
|
- orderFeeList.forEach(item -> {
|
|
|
- item.setStatus(AgreementOrderStatusEnum.NOT_SETTLEMENT.getKey());
|
|
|
- item.setSettlementOrderFeeId("");
|
|
|
- });
|
|
|
- busAgreementOrderFeeService.updateBatchById(orderFeeList);
|
|
|
- }
|
|
|
- oldOrderFee.setDelFlag(CommonConstant.DEL_FLAG_1);
|
|
|
- busAgreementOrderFeeService.updateById(oldOrderFee);
|
|
|
+ if (oldOrderFee.getType() != null && oldOrderFee.getType().equals(5)){
|
|
|
+// QueryWrapper<BusAgreementOrderFee> querOrderFee = new QueryWrapper<BusAgreementOrderFee>();
|
|
|
+// querOrderFee.eq("settlement_order_fee_id", oldOrderFee.getId());
|
|
|
+// List<BusAgreementOrderFee> orderFeeList = busAgreementOrderFeeService.list(querOrderFee);
|
|
|
+// if (orderFeeList != null && orderFeeList.size() > 0) {
|
|
|
+//// for(BusAgreementOrderFee item : orderFeeList){
|
|
|
+//// item.setStatus(AgreementOrderStatusEnum.NOT_SETTLEMENT.getKey());
|
|
|
+//// item.setSettlementOrderFeeId("");
|
|
|
+//// }
|
|
|
+// orderFeeList.forEach(item -> {
|
|
|
+// item.setStatus(AgreementOrderStatusEnum.NOT_SETTLEMENT.getKey());
|
|
|
+// item.setSettlementOrderFeeId("");
|
|
|
+// });
|
|
|
+// busAgreementOrderFeeService.updateBatchById(orderFeeList);
|
|
|
+// }
|
|
|
+ updateWrapper = new UpdateWrapper().lambda();
|
|
|
+ updateWrapper.eq(BusAgreementOrderFee::getSettlementOrderFeeId, oldOrderFee.getId());
|
|
|
+ updateWrapper.set(BusAgreementOrderFee::getStatus, AgreementOrderStatusEnum.NOT_SETTLEMENT.getKey());
|
|
|
+ updateWrapper.set(BusAgreementOrderFee::getSettlementOrderFeeId, "");
|
|
|
+
|
|
|
+ //关联结算记录更改为未结算
|
|
|
+ busAgreementOrderFeeService.update(updateWrapper);
|
|
|
+ //结算记录删除
|
|
|
+ busAgreementOrderFeeService.removeById(oldOrderFee);
|
|
|
}else{
|
|
|
if (oConvertUtils.isNotEmpty(oldOrderFee.getSettlementOrderFeeId())){
|
|
|
- BusAgreementOrderFee settlementModel = busAgreementOrderFeeService.getById(busAgreementOrderFee.getSettlementOrderFeeId());
|
|
|
+ BusAgreementOrderFee settlementModel = busAgreementOrderFeeService.getById(oldOrderFee.getSettlementOrderFeeId());
|
|
|
if (settlementModel != null){
|
|
|
- QueryWrapper<BusAgreementOrderFee> querOrderFee = new QueryWrapper<BusAgreementOrderFee>();
|
|
|
- querOrderFee.eq("id", settlementModel.getId());
|
|
|
- List<BusAgreementOrderFee> orderFeeList = busAgreementOrderFeeService.list(querOrderFee);
|
|
|
- if (orderFeeList != null && orderFeeList.size() > 0) {
|
|
|
- orderFeeList.forEach(item -> {
|
|
|
- item.setStatus(AgreementOrderStatusEnum.NOT_SETTLEMENT.getKey());
|
|
|
- item.setSettlementOrderFeeId("");
|
|
|
- });
|
|
|
- busAgreementOrderFeeService.updateBatchById(orderFeeList);
|
|
|
- }
|
|
|
- settlementModel.setDelFlag(CommonConstant.DEL_FLAG_1);
|
|
|
- busAgreementOrderFeeService.updateById(settlementModel);
|
|
|
+
|
|
|
+ updateWrapper = new UpdateWrapper().lambda();
|
|
|
+ updateWrapper.eq(BusAgreementOrderFee::getSettlementOrderFeeId, settlementModel.getId());
|
|
|
+ updateWrapper.set(BusAgreementOrderFee::getStatus, AgreementOrderStatusEnum.NOT_SETTLEMENT.getKey());
|
|
|
+ updateWrapper.set(BusAgreementOrderFee::getSettlementOrderFeeId, "");
|
|
|
+
|
|
|
+ //关联结算记录更改为未结算
|
|
|
+ busAgreementOrderFeeService.update(updateWrapper);
|
|
|
+ //结算记录删除
|
|
|
+ busAgreementOrderFeeService.removeById(settlementModel);
|
|
|
+
|
|
|
+// QueryWrapper<BusAgreementOrderFee> querOrderFee = new QueryWrapper<BusAgreementOrderFee>();
|
|
|
+// querOrderFee.eq("settlement_order_fee_id", settlementModel.getId());
|
|
|
+// List<BusAgreementOrderFee> orderFeeList = busAgreementOrderFeeService.list(querOrderFee);
|
|
|
+// if (orderFeeList != null && orderFeeList.size() > 0) {
|
|
|
+// for(BusAgreementOrderFee item : orderFeeList){
|
|
|
+// item.setStatus(AgreementOrderStatusEnum.NOT_SETTLEMENT.getKey());
|
|
|
+// item.setSettlementOrderFeeId("");
|
|
|
+// }
|
|
|
+//// orderFeeList.forEach(item -> {
|
|
|
+//// item.setStatus(AgreementOrderStatusEnum.NOT_SETTLEMENT.getKey());
|
|
|
+//// item.setSettlementOrderFeeId("");
|
|
|
+//// updateOrderFeeList.add(item);
|
|
|
+//// });
|
|
|
+// busAgreementOrderFeeService.updateBatchById(orderFeeList);
|
|
|
+// }
|
|
|
}
|
|
|
}
|
|
|
- oldOrderFee.setStatus(AgreementOrderStatusEnum.NOT_SETTLEMENT.getKey());
|
|
|
- oldOrderFee.setSettlementOrderFeeId("");
|
|
|
- busAgreementOrderFeeService.updateById(oldOrderFee);
|
|
|
}
|
|
|
+ }
|
|
|
+ return Result.OK("撤销成功!");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 批量转账
|
|
|
+ *
|
|
|
+ * @param batchAgreementOrderSavaDto
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @AutoLog(value = "协议账单表-批量转账")
|
|
|
+ @ApiOperation(value="协议账单表-批量转账", notes="协议账单表-批量转账")
|
|
|
+ @PostMapping(value = "/transferBatch")
|
|
|
+ public Result<String> transferBatch(@RequestBody BatchAgreementOrderSavaDto batchAgreementOrderSavaDto) {
|
|
|
+ if (batchAgreementOrderSavaDto == null) {
|
|
|
+ return Result.error("参数错误");
|
|
|
+ }
|
|
|
+
|
|
|
+ QueryWrapper<BusAgreementOrderFee> querOrderFee = new QueryWrapper<BusAgreementOrderFee>();
|
|
|
+ List<String> selectionList = Arrays.asList(batchAgreementOrderSavaDto.getOrderIds().split(","));
|
|
|
+ querOrderFee.in("id", selectionList);
|
|
|
+ List<BusAgreementOrderFee> orderFeeList = busAgreementOrderFeeService.list(querOrderFee);
|
|
|
+ if (orderFeeList != null && orderFeeList.size() > 0) {
|
|
|
+ orderFeeList.forEach(item -> {
|
|
|
+ item.setAgreementUnitId(batchAgreementOrderSavaDto.getAgreementUnitId());
|
|
|
+ });
|
|
|
+ this.busAgreementOrderFeeService.updateBatchById(orderFeeList);
|
|
|
+ }
|
|
|
+ return Result.OK("结算成功!");
|
|
|
+ }
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 添加
|
|
|
+ *
|
|
|
+ * @param busAgreementOrderFee
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ @AutoLog(value = "协议账单表-冲账")
|
|
|
+ @ApiOperation(value="协议账单表-冲账", notes="协议账单表-冲账")
|
|
|
+ @PostMapping(value = "/reverseEntry")
|
|
|
+ public Result<String> reverseEntry(@RequestBody BusAgreementOrderFee busAgreementOrderFee) {
|
|
|
+ LoginUser user = TokenUtils.getAuthUser();
|
|
|
+ busAgreementOrderFee.setCreateUserId(user.getId());
|
|
|
+ busAgreementOrderFee.setCreatedTime(new Date());
|
|
|
+ busAgreementOrderFee.setCreateUserId(user != null ?user.getId():"");
|
|
|
+ busAgreementOrderFee.setStatus(AgreementOrderStatusEnum.NOT_SETTLEMENT.getKey());
|
|
|
+ busAgreementOrderFee.setDelFlag(CommonConstant.DEL_FLAG_0);
|
|
|
+ busAgreementOrderFeeService.save(busAgreementOrderFee);
|
|
|
+
|
|
|
+ return Result.OK("冲账成功!");
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ /**
|
|
|
+ * 获取协议单位消费、收款信息
|
|
|
+ *
|
|
|
+ * @param agreementUnitId
|
|
|
+ * @return
|
|
|
+ */
|
|
|
+ //@AutoLog(value = "协议账单表-消费、收款信息")
|
|
|
+ @ApiOperation(value="协议账单表-消费、收款信息", notes="协议账单表-消费、收款信息")
|
|
|
+ @GetMapping(value = "/queryAgreementAccount")
|
|
|
+ public Result<AgreementAccountVo> queryAgreementAccount(@RequestParam(name="agreementUnitId",required=true) String agreementUnitId) {
|
|
|
+ AgreementAccountVo agreementAccountVo = new AgreementAccountVo();
|
|
|
+ agreementAccountVo.setConsume(BigDecimal.valueOf(0));
|
|
|
+ agreementAccountVo.setPayment(BigDecimal.valueOf(0));
|
|
|
+ String types = AgreementOrderTypeEnum.PAYMENT.getKey()+","+AgreementOrderTypeEnum.REFUND.getKey();
|
|
|
+ List<String> typeList = Arrays.asList(types.split(","));
|
|
|
+
|
|
|
+ QueryWrapper<BusAgreementOrderFee> querOrderFee = new QueryWrapper<BusAgreementOrderFee>();
|
|
|
+ querOrderFee.eq("agreement_unit_id", agreementUnitId);
|
|
|
+ querOrderFee.eq("status", AgreementOrderStatusEnum.NOT_SETTLEMENT.getKey());
|
|
|
+ querOrderFee.notIn("type",typeList);
|
|
|
+ List<BusAgreementOrderFee> orderFeeList = busAgreementOrderFeeService.list(querOrderFee);
|
|
|
+
|
|
|
+ BigDecimal _consume = new BigDecimal("0.00");
|
|
|
+ if (orderFeeList != null && orderFeeList.size() > 0){
|
|
|
+ for (BusAgreementOrderFee item : orderFeeList){
|
|
|
+ BigDecimal _price = new BigDecimal(item.getPayPrice().toString());
|
|
|
+ _consume = _consume.add(_price);
|
|
|
+
|
|
|
+ }
|
|
|
+ agreementAccountVo.setConsume(_consume);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ QueryWrapper<BusAgreementOrderFee> querOrderFee1 = new QueryWrapper<BusAgreementOrderFee>();
|
|
|
+ querOrderFee1.eq("agreement_unit_id", agreementUnitId);
|
|
|
+ querOrderFee1.eq("status", AgreementOrderStatusEnum.NOT_SETTLEMENT.getKey());
|
|
|
+ querOrderFee1.in("type", typeList);
|
|
|
+
|
|
|
+ List<BusAgreementOrderFee> orderFeeList1 = busAgreementOrderFeeService.list(querOrderFee1);
|
|
|
|
|
|
+ BigDecimal _payment = new BigDecimal("0.00");
|
|
|
+ if (orderFeeList1 != null && orderFeeList1.size() > 0){
|
|
|
+ for (BusAgreementOrderFee item : orderFeeList1){
|
|
|
+ BigDecimal _price = new BigDecimal(item.getPayPrice().toString());
|
|
|
+ _payment = _payment.add(_price);
|
|
|
|
|
|
+ }
|
|
|
+ agreementAccountVo.setPayment(_payment);
|
|
|
}
|
|
|
- return Result.OK("编辑成功!");
|
|
|
+ return Result.OK(agreementAccountVo);
|
|
|
}
|
|
|
|
|
|
/**
|