新购税率计算修改
This commit is contained in:
parent
badc7cd064
commit
d739a97399
|
|
@ -20,7 +20,6 @@ import com.bonus.material.basic.mapper.BmQrBoxMapper;
|
||||||
import com.bonus.material.basic.service.BmQrBoxService;
|
import com.bonus.material.basic.service.BmQrBoxService;
|
||||||
import com.bonus.material.ma.domain.vo.MachineVo;
|
import com.bonus.material.ma.domain.vo.MachineVo;
|
||||||
import com.bonus.material.ma.mapper.MachineMapper;
|
import com.bonus.material.ma.mapper.MachineMapper;
|
||||||
import com.bonus.material.purchase.domain.vo.PurchaseVo;
|
|
||||||
import com.bonus.material.purchase.mapper.PurchaseBindMapper;
|
import com.bonus.material.purchase.mapper.PurchaseBindMapper;
|
||||||
import com.bonus.material.purchase.mapper.PurchaseStorageMapper;
|
import com.bonus.material.purchase.mapper.PurchaseStorageMapper;
|
||||||
import lombok.extern.slf4j.Slf4j;
|
import lombok.extern.slf4j.Slf4j;
|
||||||
|
|
@ -30,13 +29,11 @@ import javax.annotation.Resource;
|
||||||
import javax.servlet.ServletOutputStream;
|
import javax.servlet.ServletOutputStream;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
import java.io.File;
|
import java.io.File;
|
||||||
import java.io.FileInputStream;
|
|
||||||
import java.io.InputStream;
|
import java.io.InputStream;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.nio.charset.StandardCharsets;
|
import java.nio.charset.StandardCharsets;
|
||||||
import java.nio.file.Files;
|
import java.nio.file.Files;
|
||||||
import java.util.*;
|
import java.util.*;
|
||||||
import java.util.stream.Collectors;
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @author ma_sh
|
* @author ma_sh
|
||||||
|
|
|
||||||
|
|
@ -48,9 +48,9 @@ public class PurchaseCheckInfoController extends BaseController {
|
||||||
//@RequiresPermissions("purchase:info:list")
|
//@RequiresPermissions("purchase:info:list")
|
||||||
@GetMapping("/list")
|
@GetMapping("/list")
|
||||||
public AjaxResult list(PurchaseQueryDto purchaseQueryDto) {
|
public AjaxResult list(PurchaseQueryDto purchaseQueryDto) {
|
||||||
List<PurchaseCheckInfo> list = purchaseCheckInfoService.selectPurchaseCheckInfoList(purchaseQueryDto);
|
final List<PurchaseCheckInfo> list = purchaseCheckInfoService.selectPurchaseCheckInfoList(purchaseQueryDto);
|
||||||
Integer pageIndex = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
|
final Integer pageIndex = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
|
||||||
Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
|
final Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
|
||||||
return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list));
|
return AjaxResult.success(ListPagingUtil.paging(pageIndex, pageSize, list));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -76,7 +76,7 @@ public class PurchaseCheckInfoController extends BaseController {
|
||||||
public AjaxResult add(@Valid @NotNull @RequestBody PurchaseCheckDto purchaseCheckDto) {
|
public AjaxResult add(@Valid @NotNull @RequestBody PurchaseCheckDto purchaseCheckDto) {
|
||||||
try {
|
try {
|
||||||
return purchaseCheckInfoService.insertPurchaseCheckInfo(purchaseCheckDto);
|
return purchaseCheckInfoService.insertPurchaseCheckInfo(purchaseCheckDto);
|
||||||
} catch (Exception e) {
|
} catch (final Exception e) {
|
||||||
return error("系统错误, " + e.getMessage());
|
return error("系统错误, " + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -92,7 +92,7 @@ public class PurchaseCheckInfoController extends BaseController {
|
||||||
public AjaxResult edit(@RequestBody @NotNull(message = "请求参数不能为空") @Valid PurchaseCheckDto purchaseCheckDto) {
|
public AjaxResult edit(@RequestBody @NotNull(message = "请求参数不能为空") @Valid PurchaseCheckDto purchaseCheckDto) {
|
||||||
try {
|
try {
|
||||||
return toAjax(purchaseCheckInfoService.updatePurchaseCheckInfo(purchaseCheckDto));
|
return toAjax(purchaseCheckInfoService.updatePurchaseCheckInfo(purchaseCheckDto));
|
||||||
} catch (Exception e) {
|
} catch (final Exception e) {
|
||||||
return error("系统错误, " + e.getMessage());
|
return error("系统错误, " + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -83,11 +83,11 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
purchaseQueryDto.setUserId(SecurityUtils.getUserId());
|
purchaseQueryDto.setUserId(SecurityUtils.getUserId());
|
||||||
PurchaseCheckDto purchaseCheckDtoResult = new PurchaseCheckDto();
|
PurchaseCheckDto purchaseCheckDtoResult = new PurchaseCheckDto();
|
||||||
PurchaseCheckInfo purchaseCheckInfo = purchaseCheckInfoMapper.selectPurchaseCheckInfoById(purchaseQueryDto.getId());
|
PurchaseCheckInfo purchaseCheckInfo = purchaseCheckInfoMapper.selectPurchaseCheckInfoById(purchaseQueryDto.getId());
|
||||||
if (purchaseCheckInfo != null) {
|
if (null != purchaseCheckInfo) {
|
||||||
purchaseCheckDtoResult.setPurchaseCheckInfo(purchaseCheckInfo);
|
purchaseCheckDtoResult.setPurchaseCheckInfo(purchaseCheckInfo);
|
||||||
// boolean isAllowPartTransfer = bmConfigService.isBmConfigEnabledWithDefaultFalse(BmConfigItems.BOOLEAN_ALLOW_PURCHASE_PART_TRANSFER);
|
// boolean isAllowPartTransfer = bmConfigService.isBmConfigEnabledWithDefaultFalse(BmConfigItems.BOOLEAN_ALLOW_PURCHASE_PART_TRANSFER);
|
||||||
List<PurchaseCheckDetails> purchaseCheckDetailsList = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByQueryDto(purchaseQueryDto);
|
List<PurchaseCheckDetails> purchaseCheckDetailsList = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByQueryDto(purchaseQueryDto);
|
||||||
if (purchaseQueryDto.getTaskStage() != null) {
|
if (null != purchaseQueryDto.getTaskStage()) {
|
||||||
// 根据阶段来过滤详情数据
|
// 根据阶段来过滤详情数据
|
||||||
switch (purchaseQueryDto.getTaskStage()) {
|
switch (purchaseQueryDto.getTaskStage()) {
|
||||||
case PURCHASE_TASK_STAGE_MANAGE:
|
case PURCHASE_TASK_STAGE_MANAGE:
|
||||||
|
|
@ -128,11 +128,11 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
private void extractedFile(List<PurchaseCheckDetails> purchaseCheckDetailsList) {
|
private void extractedFile(List<PurchaseCheckDetails> purchaseCheckDetailsList) {
|
||||||
if (!CollectionUtils.isEmpty(purchaseCheckDetailsList)) {
|
if (!CollectionUtils.isEmpty(purchaseCheckDetailsList)) {
|
||||||
for (PurchaseCheckDetails purchaseCheckDetails : purchaseCheckDetailsList) {
|
for (PurchaseCheckDetails purchaseCheckDetails : purchaseCheckDetailsList) {
|
||||||
BmFileInfo fileInfo = new BmFileInfo();
|
final BmFileInfo fileInfo = new BmFileInfo();
|
||||||
fileInfo.setTaskType(10);
|
fileInfo.setTaskType(10);
|
||||||
fileInfo.setModelId(purchaseCheckDetails.getId());
|
fileInfo.setModelId(purchaseCheckDetails.getId());
|
||||||
fileInfo.setTaskId(purchaseCheckDetails.getTaskId());
|
fileInfo.setTaskId(purchaseCheckDetails.getTaskId());
|
||||||
List<BmFileInfo> bmFileInfoList = bmFileInfoMapper.selectBmFileInfoList(fileInfo);
|
final List<BmFileInfo> bmFileInfoList = bmFileInfoMapper.selectBmFileInfoList(fileInfo);
|
||||||
if (!CollectionUtils.isEmpty(bmFileInfoList)) {
|
if (!CollectionUtils.isEmpty(bmFileInfoList)) {
|
||||||
purchaseCheckDetails.setBmFileInfos(bmFileInfoList);
|
purchaseCheckDetails.setBmFileInfos(bmFileInfoList);
|
||||||
}
|
}
|
||||||
|
|
@ -152,15 +152,15 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public List<PurchaseCheckInfo> selectPurchaseCheckInfoList(PurchaseQueryDto purchaseQueryDto) {
|
public List<PurchaseCheckInfo> selectPurchaseCheckInfoList(PurchaseQueryDto purchaseQueryDto) {
|
||||||
List<PurchaseCheckInfo> purchaseCheckInfos = purchaseCheckInfoMapper.selectPurchaseCheckInfoJoinList(purchaseQueryDto);
|
final List<PurchaseCheckInfo> purchaseCheckInfos = purchaseCheckInfoMapper.selectPurchaseCheckInfoJoinList(purchaseQueryDto);
|
||||||
if (CollectionUtils.isEmpty(purchaseCheckInfos) ) {return Collections.emptyList();}
|
if (CollectionUtils.isEmpty(purchaseCheckInfos) ) {return Collections.emptyList();}
|
||||||
AtomicReference<Long> loginUserId = new AtomicReference<>(SecurityUtils.getUserId());
|
final AtomicReference<Long> loginUserId = new AtomicReference<>(SecurityUtils.getUserId());
|
||||||
if (Objects.isNull(loginUserId.get()) || Objects.isNull(purchaseQueryDto.getTaskStage())) {return Collections.emptyList();}
|
if (Objects.isNull(loginUserId.get()) || Objects.isNull(purchaseQueryDto.getTaskStage())) {return Collections.emptyList();}
|
||||||
|
|
||||||
List<PurchaseCheckInfo> purchaseCheckInfoResult = new ArrayList<>();
|
final List<PurchaseCheckInfo> purchaseCheckInfoResult = new ArrayList<>();
|
||||||
boolean isAllowPartTransfer = bmConfigService.isBmConfigEnabledWithDefaultFalse(BmConfigItems.BOOLEAN_ALLOW_PURCHASE_PART_TRANSFER);
|
final boolean isAllowPartTransfer = bmConfigService.isBmConfigEnabledWithDefaultFalse(BmConfigItems.BOOLEAN_ALLOW_PURCHASE_PART_TRANSFER);
|
||||||
|
|
||||||
for (PurchaseCheckInfo purchaseInfo : purchaseCheckInfos) {
|
for (final PurchaseCheckInfo purchaseInfo : purchaseCheckInfos) {
|
||||||
// 获取采购物资明细、2024-12-23日修改by阮世耀 根据当前库管员绑定物资来查询 不展示非本角色管理的物资类型
|
// 获取采购物资明细、2024-12-23日修改by阮世耀 根据当前库管员绑定物资来查询 不展示非本角色管理的物资类型
|
||||||
List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(purchaseInfo.getTaskId(), null, loginUserId.get());
|
List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(purchaseInfo.getTaskId(), null, loginUserId.get());
|
||||||
if (CollectionUtils.isEmpty(purchaseCheckDetails)) {continue;}
|
if (CollectionUtils.isEmpty(purchaseCheckDetails)) {continue;}
|
||||||
|
|
@ -169,7 +169,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
purchaseCheckDetails = purchaseCheckDetails.stream().filter(o -> !(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(o.getManageType()) &&
|
purchaseCheckDetails = purchaseCheckDetails.stream().filter(o -> !(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(o.getManageType()) &&
|
||||||
(o.getStatus().equals(PurchaseTaskStatusEnum.TO_BIND.getStatus()) || o.getStatus().equals(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus())))).collect(Collectors.toList());
|
(o.getStatus().equals(PurchaseTaskStatusEnum.TO_BIND.getStatus()) || o.getStatus().equals(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus())))).collect(Collectors.toList());
|
||||||
|
|
||||||
OptionalInt minStatus = purchaseCheckDetails.stream().mapToInt(PurchaseCheckDetails::getStatus).min();
|
final OptionalInt minStatus = purchaseCheckDetails.stream().mapToInt(PurchaseCheckDetails::getStatus).min();
|
||||||
|
|
||||||
if (isAllowPartTransfer) {
|
if (isAllowPartTransfer) {
|
||||||
// 2024-12-23日 取消状态过滤,修改由任务阶段来过滤 --- by 阮世耀
|
// 2024-12-23日 取消状态过滤,修改由任务阶段来过滤 --- by 阮世耀
|
||||||
|
|
@ -207,12 +207,13 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(purchaseCheckDetails)) {
|
if (!CollectionUtils.isEmpty(purchaseCheckDetails)) {
|
||||||
BigDecimal purchaseMaTotalNumber = BigDecimal.ZERO, checkMaTotalNumber = BigDecimal.ZERO, bindMaTotalNumber = BigDecimal.ZERO, inputMaTotalNumber = BigDecimal.ZERO;
|
BigDecimal purchaseMaTotalNumber = BigDecimal.ZERO, checkMaTotalNumber = BigDecimal.ZERO, bindMaTotalNumber = BigDecimal.ZERO, inputMaTotalNumber = BigDecimal.ZERO;
|
||||||
AtomicReference<BigDecimal> purchaseMaTotalPrice = new AtomicReference<>(BigDecimal.ZERO);
|
final AtomicReference<BigDecimal> purchaseMaTotalPrice = new AtomicReference<>(BigDecimal.ZERO);
|
||||||
|
final AtomicReference<BigDecimal> purchaseTaxPriceTotal = new AtomicReference<>(BigDecimal.ZERO);
|
||||||
|
|
||||||
boolean isIncludeStage = false;
|
boolean isIncludeStage = false;
|
||||||
for (PurchaseCheckDetails detail : purchaseCheckDetails) {
|
for (final PurchaseCheckDetails detail : purchaseCheckDetails) {
|
||||||
if (detail.getPurchaseNum() == null || detail.getPurchasePrice() == null) {continue;}
|
if (null == detail.getPurchaseNum() || null == detail.getPurchasePrice()) {continue;}
|
||||||
if (detail.getPurchaseNum().compareTo(BigDecimal.ZERO) < 0 || detail.getPurchasePrice().compareTo(BigDecimal.ZERO) < 0) {
|
if (0 > detail.getPurchaseNum().compareTo(BigDecimal.ZERO) || 0 > detail.getPurchasePrice().compareTo(BigDecimal.ZERO)) {
|
||||||
throw new IllegalArgumentException("采购数量和价格必须为非负数");
|
throw new IllegalArgumentException("采购数量和价格必须为非负数");
|
||||||
}
|
}
|
||||||
if (!isIncludeStage) {
|
if (!isIncludeStage) {
|
||||||
|
|
@ -224,23 +225,25 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
checkMaTotalNumber = checkMaTotalNumber.add(Optional.ofNullable(detail.getCheckNum()).orElse(BigDecimal.ZERO));
|
checkMaTotalNumber = checkMaTotalNumber.add(Optional.ofNullable(detail.getCheckNum()).orElse(BigDecimal.ZERO));
|
||||||
bindMaTotalNumber = bindMaTotalNumber.add(Optional.ofNullable(detail.getBindNum()).orElse(BigDecimal.ZERO));
|
bindMaTotalNumber = bindMaTotalNumber.add(Optional.ofNullable(detail.getBindNum()).orElse(BigDecimal.ZERO));
|
||||||
inputMaTotalNumber = inputMaTotalNumber.add(Optional.ofNullable(detail.getInputNum()).orElse(BigDecimal.ZERO));
|
inputMaTotalNumber = inputMaTotalNumber.add(Optional.ofNullable(detail.getInputNum()).orElse(BigDecimal.ZERO));
|
||||||
purchaseMaTotalPrice.updateAndGet(v -> v.add(detail.getPurchaseNum().multiply(detail.getPurchasePrice())));
|
purchaseMaTotalPrice.updateAndGet(v -> v.add(detail.getPurchaseNum().multiply(detail.getPurchasePrice()).setScale(10, RoundingMode.HALF_DOWN)));
|
||||||
|
purchaseTaxPriceTotal.updateAndGet(v -> v.add(detail.getPurchaseNum().multiply(detail.getPurchaseTaxPrice()).setScale(10, RoundingMode.HALF_DOWN)));
|
||||||
}
|
}
|
||||||
purchaseInfo.setPurchaseMaNumber(purchaseMaTotalNumber);
|
purchaseInfo.setPurchaseMaNumber(purchaseMaTotalNumber);
|
||||||
purchaseInfo.setPurchasePrice(purchaseMaTotalPrice.get());
|
purchaseInfo.setPurchasePrice(purchaseMaTotalPrice.get());
|
||||||
|
purchaseInfo.setPurchaseTaxPrice(purchaseTaxPriceTotal.get());
|
||||||
purchaseInfo.setBindMaNumber(bindMaTotalNumber);
|
purchaseInfo.setBindMaNumber(bindMaTotalNumber);
|
||||||
purchaseInfo.setCheckMaNumber(checkMaTotalNumber);
|
purchaseInfo.setCheckMaNumber(checkMaTotalNumber);
|
||||||
purchaseInfo.setInputMaNumber(inputMaTotalNumber);
|
purchaseInfo.setInputMaNumber(inputMaTotalNumber);
|
||||||
purchaseInfo.setWaitInputNumber(Optional.of(purchaseMaTotalNumber).orElse(BigDecimal.ZERO).subtract(Optional.of(inputMaTotalNumber).orElse(BigDecimal.ZERO)));
|
purchaseInfo.setWaitInputNumber(Optional.of(purchaseMaTotalNumber).orElse(BigDecimal.ZERO).subtract(Optional.of(inputMaTotalNumber).orElse(BigDecimal.ZERO)));
|
||||||
if (purchaseInfo.getTaxRate() != null && purchaseInfo.getPurchasePrice() != null) {
|
// if (null != purchaseInfo.getTaxRate() && null != purchaseInfo.getPurchasePrice()) {
|
||||||
purchaseInfo.setPurchaseTaxPrice(calculateTaxPrice(purchaseMaTotalPrice.get(), purchaseInfo.getTaxRate()));
|
// purchaseInfo.setPurchaseTaxPrice(calculateTaxPrice(purchaseMaTotalPrice.get(), purchaseInfo.getTaxRate()));
|
||||||
}
|
// }
|
||||||
|
|
||||||
// 设置外层任务状态:入库待开始、入库进行中、入库已完成
|
// 设置外层任务状态:入库待开始、入库进行中、入库已完成
|
||||||
TmTask tmTask = tmTaskMapper.selectTmTaskByTaskId(purchaseInfo.getTaskId());
|
final TmTask tmTask = tmTaskMapper.selectTmTaskByTaskId(purchaseInfo.getTaskId());
|
||||||
purchaseInfo.setTaskStatusName(isIncludeStage ? "未完成" : "已完成");
|
purchaseInfo.setTaskStatusName(isIncludeStage ? "未完成" : "已完成");
|
||||||
if (purchaseQueryDto.getIsFinish() != null) {
|
if (null != purchaseQueryDto.getIsFinish()) {
|
||||||
if (purchaseQueryDto.getIsFinish() == 1) {
|
if (1 == purchaseQueryDto.getIsFinish()) {
|
||||||
if (isIncludeStage) {continue;}
|
if (isIncludeStage) {continue;}
|
||||||
} else {
|
} else {
|
||||||
if (!isIncludeStage) {continue;}
|
if (!isIncludeStage) {continue;}
|
||||||
|
|
@ -279,9 +282,15 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
* @return 不含税价格100 税率为13%,结果为 113.00
|
* @return 不含税价格100 税率为13%,结果为 113.00
|
||||||
*/
|
*/
|
||||||
public static BigDecimal calculateTaxPrice(BigDecimal purchaseNoTaxPrice, BigDecimal taxRate) {
|
public static BigDecimal calculateTaxPrice(BigDecimal purchaseNoTaxPrice, BigDecimal taxRate) {
|
||||||
BigDecimal one = BigDecimal.ONE;
|
if (null == taxRate || 0 > taxRate.compareTo(BigDecimal.ZERO) || 0 < taxRate.compareTo(BigDecimal.valueOf(100))) {
|
||||||
BigDecimal divisor = BigDecimal.valueOf(100);
|
throw new IllegalArgumentException("税率必须在0到100之间");
|
||||||
return purchaseNoTaxPrice.multiply(one.add(taxRate.divide(divisor))).setScale(2, RoundingMode.HALF_UP);
|
}
|
||||||
|
// 计算税率
|
||||||
|
final BigDecimal rate = taxRate.divide(BigDecimal.valueOf(100), 3, RoundingMode.HALF_UP);
|
||||||
|
// 税后价格计算
|
||||||
|
final BigDecimal taxIncludedPrice = purchaseNoTaxPrice.multiply(BigDecimal.ONE.add(rate));
|
||||||
|
// 保留10位小数
|
||||||
|
return taxIncludedPrice.setScale(10, RoundingMode.HALF_UP);
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -296,24 +305,24 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
purchaseCheckInfo.getPurchaseCheckInfo().setCreateTime(DateUtils.getNowDate());
|
purchaseCheckInfo.getPurchaseCheckInfo().setCreateTime(DateUtils.getNowDate());
|
||||||
purchaseCheckInfo.getPurchaseCheckInfo().setCreateBy(SecurityUtils.getUsername());
|
purchaseCheckInfo.getPurchaseCheckInfo().setCreateBy(SecurityUtils.getUsername());
|
||||||
try {
|
try {
|
||||||
int thisMonthMaxOrder = tmTaskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_PURCHASE.getTaskTypeId());
|
final int thisMonthMaxOrder = tmTaskMapper.getMonthMaxOrderByDate(DateUtils.getCurrentYear(), DateUtils.getCurrentMonth(), TmTaskTypeEnum.TM_TASK_PURCHASE.getTaskTypeId());
|
||||||
String taskCode = genderTaskCode(thisMonthMaxOrder);
|
String taskCode = genderTaskCode(thisMonthMaxOrder);
|
||||||
TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_PURCHASE.getTaskTypeId(),
|
final TmTask tmTask = new TmTask(null, TmTaskTypeEnum.TM_TASK_PURCHASE.getTaskTypeId(),
|
||||||
PurchaseTaskStatusEnum.TO_NOTICE.getStatus(),
|
PurchaseTaskStatusEnum.TO_NOTICE.getStatus(),
|
||||||
purchaseCheckInfo.getPurchaseCheckInfo().getCompanyId(), thisMonthMaxOrder + 1, taskCode);
|
purchaseCheckInfo.getPurchaseCheckInfo().getCompanyId(), thisMonthMaxOrder + 1, taskCode);
|
||||||
tmTask.setCreateTime(DateUtils.getNowDate());
|
tmTask.setCreateTime(DateUtils.getNowDate());
|
||||||
tmTaskMapper.insertTmTask(tmTask);
|
tmTaskMapper.insertTmTask(tmTask);
|
||||||
Long taskId = tmTask.getTaskId();
|
Long taskId = tmTask.getTaskId();
|
||||||
purchaseCheckInfo.getPurchaseCheckInfo().setTaskId(taskId);
|
purchaseCheckInfo.getPurchaseCheckInfo().setTaskId(taskId);
|
||||||
int count = purchaseCheckInfoMapper.insertPurchaseCheckInfo(purchaseCheckInfo.getPurchaseCheckInfo());
|
final int count = purchaseCheckInfoMapper.insertPurchaseCheckInfo(purchaseCheckInfo.getPurchaseCheckInfo());
|
||||||
if (count > 0) {
|
if (0 < count) {
|
||||||
return insertPurchaseCheckDetails(purchaseCheckInfo.getPurchaseCheckDetailsList(), taskId);
|
return insertPurchaseCheckDetails(purchaseCheckInfo.getPurchaseCheckDetailsList(), taskId);
|
||||||
} else {
|
} else {
|
||||||
return AjaxResult.error("新增任务失败,purchase_check_info表插入0条");
|
return AjaxResult.error("新增任务失败,purchase_check_info表插入0条");
|
||||||
}
|
}
|
||||||
} catch (DataAccessException e) {
|
} catch (final DataAccessException e) {
|
||||||
return AjaxResult.error("数据库操作失败:" + e.getMessage());
|
return AjaxResult.error("数据库操作失败:" + e.getMessage());
|
||||||
} catch (Exception e) {
|
} catch (final Exception e) {
|
||||||
return AjaxResult.error("新增任务失败:" + e.getMessage());
|
return AjaxResult.error("新增任务失败:" + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -326,15 +335,15 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
PurchaseTaskStatusEnum.TO_CHECK.getStatus() :
|
PurchaseTaskStatusEnum.TO_CHECK.getStatus() :
|
||||||
PurchaseTaskStatusEnum.TO_NOTICE.getStatus());
|
PurchaseTaskStatusEnum.TO_NOTICE.getStatus());
|
||||||
details.setInputStatus("0");
|
details.setInputStatus("0");
|
||||||
List<BmFileInfo> bmFileInfos = details.getBmFileInfos();
|
final List<BmFileInfo> bmFileInfos = details.getBmFileInfos();
|
||||||
if (!CollectionUtils.isEmpty(bmFileInfos)) {
|
if (!CollectionUtils.isEmpty(bmFileInfos)) {
|
||||||
bmFileInfos.forEach(o -> o.setTaskId(taskId));
|
bmFileInfos.forEach(o -> o.setTaskId(taskId));
|
||||||
bmFileInfoMapper.insertBmFileInfos(bmFileInfos);
|
bmFileInfoMapper.insertBmFileInfos(bmFileInfos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
// 批量插入详情数据
|
// 批量插入详情数据
|
||||||
int count = purchaseCheckDetailsMapper.insertPurchaseCheckDetailsList(purchaseCheckDetailsList);
|
final int count = purchaseCheckDetailsMapper.insertPurchaseCheckDetailsList(purchaseCheckDetailsList);
|
||||||
if (count > 0) {
|
if (0 < count) {
|
||||||
return AjaxResult.success("新增任务成功");
|
return AjaxResult.success("新增任务成功");
|
||||||
} else {
|
} else {
|
||||||
return AjaxResult.error("新增任务失败,purchase_check_detail详情表插入0条");
|
return AjaxResult.error("新增任务失败,purchase_check_detail详情表插入0条");
|
||||||
|
|
@ -369,8 +378,8 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return updateCount > 0 ? AjaxResult.success("验证成功") : AjaxResult.error("无验证信息");
|
return 0 < updateCount ? AjaxResult.success("验证成功") : AjaxResult.error("无验证信息");
|
||||||
} catch (Exception e) {
|
} catch (final Exception e) {
|
||||||
return AjaxResult.error("验收状态更改失败,异常报错:" + e.getMessage());
|
return AjaxResult.error("验收状态更改失败,异常报错:" + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -396,7 +405,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
// 验收驳回处理流程
|
// 验收驳回处理流程
|
||||||
for (PurchaseCheckDetails details : purchaseVerifyVo.getPurchaseCheckDetailsList()) {
|
for (PurchaseCheckDetails details : purchaseVerifyVo.getPurchaseCheckDetailsList()) {
|
||||||
details.setStatus(PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus());
|
details.setStatus(PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus());
|
||||||
result = purchaseCheckDetailsMapper.updatePurchaseDetails4Check(details) > 0 ? AjaxResult.success("detail验证驳回成功") : AjaxResult.error("details无验证信息");
|
result = 0 < purchaseCheckDetailsMapper.updatePurchaseDetails4Check(details) ? AjaxResult.success("detail验证驳回成功") : AjaxResult.error("details无验证信息");
|
||||||
tmTaskMapper.updateTmTask(new TmTask()
|
tmTaskMapper.updateTmTask(new TmTask()
|
||||||
.setTaskId(details.getTaskId())
|
.setTaskId(details.getTaskId())
|
||||||
.setTaskType(TmTaskTypeEnum.TM_TASK_PURCHASE.getTaskTypeId())
|
.setTaskType(TmTaskTypeEnum.TM_TASK_PURCHASE.getTaskTypeId())
|
||||||
|
|
@ -406,7 +415,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return result;
|
return result;
|
||||||
} catch (Exception e) {
|
} catch (final Exception e) {
|
||||||
return AjaxResult.error("验收状态更改失败,异常报错:" + e.getMessage());
|
return AjaxResult.error("验收状态更改失败,异常报错:" + e.getMessage());
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -417,8 +426,8 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
*/
|
*/
|
||||||
private void extractedFile(PurchaseCheckDetails details) {
|
private void extractedFile(PurchaseCheckDetails details) {
|
||||||
if (!CollectionUtils.isEmpty(details.getBmFileInfos())) {
|
if (!CollectionUtils.isEmpty(details.getBmFileInfos())) {
|
||||||
for (BmFileInfo bmFileInfo : details.getBmFileInfos()) {
|
for (final BmFileInfo bmFileInfo : details.getBmFileInfos()) {
|
||||||
if (bmFileInfo.getTaskType() != null && bmFileInfo.getTaskType() == 10) {
|
if (null != bmFileInfo.getTaskType() && Objects.equals(TmTaskTypeEnum.TM_TASK_AGREEMENT_MANAGEMENT.getTaskTypeId(), bmFileInfo.getTaskType())) {
|
||||||
bmFileInfo.setTaskId(details.getTaskId());
|
bmFileInfo.setTaskId(details.getTaskId());
|
||||||
bmFileInfo.setModelId(details.getId());
|
bmFileInfo.setModelId(details.getId());
|
||||||
bmFileInfo.setCreateBy(SecurityUtils.getUsername());
|
bmFileInfo.setCreateBy(SecurityUtils.getUsername());
|
||||||
|
|
@ -437,11 +446,11 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
@Override
|
@Override
|
||||||
public PurchaseCheckFormVo selectPurchaseCheckFormVoByTaskId(Long taskId) {
|
public PurchaseCheckFormVo selectPurchaseCheckFormVoByTaskId(Long taskId) {
|
||||||
// 执行SQL查询外层信息
|
// 执行SQL查询外层信息
|
||||||
PurchaseCheckFormVo result = purchaseCheckInfoMapper.selectPurchaseCheckFormVoByTaskId(taskId);
|
final PurchaseCheckFormVo result = purchaseCheckInfoMapper.selectPurchaseCheckFormVoByTaskId(taskId);
|
||||||
|
|
||||||
if (result != null) {
|
if (null != result) {
|
||||||
// 执行SQL查询内层信息
|
// 执行SQL查询内层信息
|
||||||
List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(taskId, null, SecurityUtils.getUserId());
|
final List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(taskId, null, SecurityUtils.getUserId());
|
||||||
// 过滤掉空数据
|
// 过滤掉空数据
|
||||||
purchaseCheckDetails.removeIf(Objects::isNull);
|
purchaseCheckDetails.removeIf(Objects::isNull);
|
||||||
result.setMaterialList(purchaseCheckDetails);
|
result.setMaterialList(purchaseCheckDetails);
|
||||||
|
|
@ -457,10 +466,10 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
* @return 任务对象
|
* @return 任务对象
|
||||||
*/
|
*/
|
||||||
private static String genderTaskCode(Integer thisMonthMaxOrder) {
|
private static String genderTaskCode(Integer thisMonthMaxOrder) {
|
||||||
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
|
||||||
Date nowDate = DateUtils.getNowDate();
|
final Date nowDate = DateUtils.getNowDate();
|
||||||
String format = dateFormat.format(nowDate);
|
final String format = dateFormat.format(nowDate);
|
||||||
String result = format.replace("-", "");
|
final String result = format.replace("-", "");
|
||||||
return PURCHASE_TASK_TYPE_LABEL + result + String.format("-%03d", thisMonthMaxOrder + 1);
|
return PURCHASE_TASK_TYPE_LABEL + result + String.format("-%03d", thisMonthMaxOrder + 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -484,12 +493,12 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
Long[] ids = new Long[]{purchaseCheckDto.getPurchaseCheckInfo().getId()};
|
final Long[] ids = {purchaseCheckDto.getPurchaseCheckInfo().getId()};
|
||||||
purchaseCheckDetailsMapper.deletePurchaseCheckDetailsByParentIds(ids);
|
purchaseCheckDetailsMapper.deletePurchaseCheckDetailsByParentIds(ids);
|
||||||
insertPurchaseCheckDetails(purchaseCheckDto.getPurchaseCheckDetailsList(), purchaseCheckDto.getPurchaseCheckInfo().getTaskId());
|
insertPurchaseCheckDetails(purchaseCheckDto.getPurchaseCheckDetailsList(), purchaseCheckDto.getPurchaseCheckInfo().getTaskId());
|
||||||
purchaseCheckInfoMapper.updatePurchaseCheckInfo(purchaseCheckDto.getPurchaseCheckInfo());
|
purchaseCheckInfoMapper.updatePurchaseCheckInfo(purchaseCheckDto.getPurchaseCheckInfo());
|
||||||
return true;
|
return true;
|
||||||
} catch (Exception e) {
|
} catch (final Exception e) {
|
||||||
throw new ServiceException("错误信息描述");
|
throw new ServiceException("错误信息描述");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue