Merge remote-tracking branch 'origin/master'

This commit is contained in:
hongchao 2024-12-27 13:13:44 +08:00
commit b686d92f9d
7 changed files with 167 additions and 163 deletions

View File

@ -136,48 +136,40 @@ public class StoreLogAspect {
// 领料出库库存变化
if (joinPoint.getArgs()[0] instanceof LeaseOutRequestVo) {
LeaseOutRequestVo lod = (LeaseOutRequestVo) joinPoint.getArgs()[0];
//数量类型设备
for (LeaseOutDetails leaseOutDetails : lod.getLeaseOutDetailsList()) {
if (leaseOutDetails.getManageType().equals(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId())) {
BmStorageLog bmStorageLog = new BmStorageLog();
bmStorageLog.setTaskId(String.valueOf(leaseOutDetails.getParentId()));
bmStorageLog.setTypeId(leaseOutDetails.getTypeId());
bmStorageLog.setTypeName(leaseOutDetails.getTypeModelName());
bmStorageLog.setManageType(String.valueOf(leaseOutDetails.getManageType()));
bmStorageLog.setTypeModelName(leaseOutDetails.getTypeName());
bmStorageLog.setPreStoreNum(leaseOutDetails.getPreStoreNum());
bmStorageLog.setOutNum(leaseOutDetails.getInputNum());
bmStorageLog.setPostStoreNum(leaseOutDetails.getPostStoreNum());
bmStorageLog.setOutType(InputOutEnum.NUMBER_DEVICE.getTypeId());
bmStorageLogList.add(bmStorageLog);
}
}
//编码二维码标准箱类型设备
LeaseOutDetails leaseOutDetails = lod.getLeaseOutDetailsList().get(0);
BmStorageLog bmStorageLog = new BmStorageLog();
bmStorageLog.setTaskId(String.valueOf(leaseOutDetails.getParentId()));
bmStorageLog.setTaskId(leaseOutDetails.getTaskId());
bmStorageLog.setTypeId(leaseOutDetails.getTypeId());
bmStorageLog.setTypeName(leaseOutDetails.getTypeName());
bmStorageLog.setTypeName(leaseOutDetails.getTypeModelName());
bmStorageLog.setManageType(String.valueOf(leaseOutDetails.getManageType()));
bmStorageLog.setTypeModelName(leaseOutDetails.getTypeModelName());
String maCode = lod.getLeaseOutDetailsList().stream()
.map(LeaseOutDetails::getMaCode)
.filter(Objects::nonNull)
.collect(Collectors.joining(","));
bmStorageLog.setMaCode(maCode);
bmStorageLog.setTypeModelName(leaseOutDetails.getTypeName());
bmStorageLog.setPreStoreNum(leaseOutDetails.getPreStoreNum());
bmStorageLog.setOutNum(BigDecimal.valueOf(lod.getLeaseOutDetailsList().size()));
bmStorageLog.setPostStoreNum(leaseOutDetails.getPreStoreNum().subtract(bmStorageLog.getOutNum()));
if (leaseOutDetails.getOutType() != null) {
if (leaseOutDetails.getOutType().equals(InputOutEnum.STANDARD_BOX.getTypeId())) {
bmStorageLog.setOutType(InputOutEnum.STANDARD_BOX.getTypeId());
} else if (leaseOutDetails.getOutType().equals(InputOutEnum.QR_CODE.getTypeId())) {
bmStorageLog.setOutType(InputOutEnum.QR_CODE.getTypeId());
//数量类型设备
if (leaseOutDetails.getManageType().equals(MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId())) {
bmStorageLog.setOutNum(leaseOutDetails.getInputNum());
bmStorageLog.setPostStoreNum(leaseOutDetails.getPreStoreNum().subtract(bmStorageLog.getOutNum()));
bmStorageLog.setOutType(InputOutEnum.NUMBER_DEVICE.getTypeId());
bmStorageLogList.add(bmStorageLog);
} else {
//编码二维码标准箱类型设备
String maCode = lod.getLeaseOutDetailsList().stream()
.map(LeaseOutDetails::getMaCode)
.filter(Objects::nonNull)
.collect(Collectors.joining(","));
bmStorageLog.setMaCode(maCode);
bmStorageLog.setOutNum(BigDecimal.valueOf(lod.getLeaseOutDetailsList().size()));
bmStorageLog.setPostStoreNum(leaseOutDetails.getPreStoreNum().subtract(bmStorageLog.getOutNum()));
if (leaseOutDetails.getOutType() != null) {
if (leaseOutDetails.getOutType().equals(InputOutEnum.STANDARD_BOX.getTypeId())) {
bmStorageLog.setOutType(InputOutEnum.STANDARD_BOX.getTypeId());
} else if (leaseOutDetails.getOutType().equals(InputOutEnum.QR_CODE.getTypeId())) {
bmStorageLog.setOutType(InputOutEnum.QR_CODE.getTypeId());
}
} else if (leaseOutDetails.getManageType().equals(MaTypeManageTypeEnum.CODE_DEVICE.getTypeId())) {
bmStorageLog.setOutType(InputOutEnum.CODE_DEVICE.getTypeId());
}
} else if (leaseOutDetails.getManageType().equals(MaTypeManageTypeEnum.CODE_DEVICE.getTypeId())) {
bmStorageLog.setOutType(InputOutEnum.CODE_DEVICE.getTypeId());
bmStorageLogList.add(bmStorageLog);
}
bmStorageLogList.add(bmStorageLog);
}
// 新购验收任务
if (joinPoint.getArgs()[0] instanceof PurchaseDto) {

View File

@ -29,6 +29,8 @@ public class LeaseOutDetails extends BaseEntity {
@ApiModelProperty(value = "任务ID")
private Long parentId;
private String taskId;
@ApiModelProperty(value = "标准箱ID")
private Long boxId;

View File

@ -20,7 +20,6 @@ import com.bonus.material.basic.mapper.BmQrBoxMapper;
import com.bonus.material.basic.service.BmQrBoxService;
import com.bonus.material.ma.domain.vo.MachineVo;
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.PurchaseStorageMapper;
import lombok.extern.slf4j.Slf4j;
@ -30,14 +29,14 @@ import javax.annotation.Resource;
import javax.servlet.ServletOutputStream;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.math.BigDecimal;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.*;
import java.util.stream.Collectors;
/**
* @Author ma_sh
* @author ma_sh
* @create 2024/12/10 17:26
*/
@Service
@ -61,7 +60,7 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
*/
@Override
public List<BmQrBoxInfo> selectBmQrBoxInfoList(BmQrBoxInfo bmQrBoxInfo) {
if (bmQrBoxInfo.getStatus() != null) {
if (null != bmQrBoxInfo.getStatus()) {
bmQrBoxInfo.setStatusList(Arrays.asList(bmQrBoxInfo.getStatus().split(",")));
}
return bmQrBoxMapper.find(bmQrBoxInfo);
@ -73,12 +72,12 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
@Override
public AjaxResult insertBmQrcodeInfo(BmQrBoxInfo bmQrBoxInfo) {
//生成二维码
String code = "BOX-" + DateTimeHelper.getNowTimeFomart();
final String code = "BOX-" + DateTimeHelper.getNowTimeFomart();
bmQrBoxInfo.setBoxCode(code);
bmQrBoxInfo.setCreateBy(SecurityUtils.getUsername());
bmQrBoxInfo.setCreateTime(DateUtils.getNowDate());
int result = bmQrBoxMapper.insertBmQrcodeInfo(bmQrBoxInfo);
return result > 0 ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
final int result = bmQrBoxMapper.insertBmQrcodeInfo(bmQrBoxInfo);
return 0 < result ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
}
/**
@ -88,17 +87,17 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
*/
@Override
public AjaxResult getBoxInfoBindListByCode(BmQrBoxInfo bmQrBoxInfo) {
if (bmQrBoxInfo.getBoxCode() == null) {
if (null == bmQrBoxInfo.getBoxCode()) {
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "请输入标准箱编码");
}
BoxInfoBindVo boxInfoBindVo = new BoxInfoBindVo();
final BoxInfoBindVo boxInfoBindVo = new BoxInfoBindVo();
List<BmQrBoxInfo> boxInfos = bmQrBoxMapper.findBoxInfoByKey(bmQrBoxInfo);
final List<BmQrBoxInfo> boxInfos = bmQrBoxMapper.findBoxInfoByKey(bmQrBoxInfo);
boxInfos.removeIf(Objects::isNull);
if (boxInfos.isEmpty()) {
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "标准箱编码不存在");
} else if (boxInfos.size() == 1) {
if (boxInfos.get(0).getBoxId() == null || boxInfos.get(0).getBoxCode() == null) {
} else if (1 == boxInfos.size()) {
if (null == boxInfos.get(0).getBoxId() || null == boxInfos.get(0).getBoxCode()) {
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "标准箱信息异常,请联系运维人员处理");
}
boxInfoBindVo.setBoxId(boxInfos.get(0).getBoxId());
@ -107,13 +106,13 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
return AjaxResult.warn("该二维码已绑定多个标准箱,请联系运维人员处理");
}
List<BmQrBoxInfo> boxBindList = bmQrBoxMapper.getBoxBindList(boxInfoBindVo.getBoxId());
final List<BmQrBoxInfo> boxBindList = bmQrBoxMapper.getBoxBindList(boxInfoBindVo.getBoxId());
boxBindList.removeIf(Objects::isNull);
boxInfoBindVo.setBindMaTotal(boxBindList.size());
boxBindList.removeIf(item -> item.getMaStatus() == null);
boxBindList.removeIf(item -> null == item.getMaStatus());
boxBindList.removeIf(item -> !item.getMaStatus().equals(MaMachineStatusEnum.NEW_PURCHASE.getStatusName()));
if (Objects.nonNull(bmQrBoxInfo.getMaTypeId())) {
boxBindList.removeIf(item -> item.getMaTypeId() == null || !Objects.equals(item.getMaTypeId(), bmQrBoxInfo.getMaTypeId()));
boxBindList.removeIf(item -> null == item.getMaTypeId() || !Objects.equals(item.getMaTypeId(), bmQrBoxInfo.getMaTypeId()));
}
boxInfoBindVo.setSuccessMaTotal(boxBindList.size());
return AjaxResult.success(boxInfoBindVo);
@ -127,18 +126,18 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
@Override
public AjaxResult appWarehouse(BoxBindWarehouseDto boxBindWarehouseDto) {
// -------------- 标准箱状态校验 -------------------------
if (boxBindWarehouseDto.getBoxCode() == null) {
if (null == boxBindWarehouseDto.getBoxCode()) {
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "请输入标准箱编码");
}
if (boxBindWarehouseDto.getTaskId() == null || boxBindWarehouseDto.getMaTypeId() == null) {
if (null == boxBindWarehouseDto.getTaskId() || null == boxBindWarehouseDto.getMaTypeId()) {
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "请输入任务ID和入库的物资类型ID");
}
List<BmQrBoxInfo> boxInfos = bmQrBoxMapper.findBoxInfoByKey(new BmQrBoxInfo().setBoxCode(boxBindWarehouseDto.getBoxCode()));
final List<BmQrBoxInfo> boxInfos = bmQrBoxMapper.findBoxInfoByKey(new BmQrBoxInfo().setBoxCode(boxBindWarehouseDto.getBoxCode()));
boxInfos.removeIf(Objects::isNull);
if (boxInfos.isEmpty()) {
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "标准箱编码不存在");
} else if (boxInfos.size() == 1) {
if (boxInfos.get(0).getBoxId() == null || boxInfos.get(0).getBoxCode() == null) {
} else if (1 == boxInfos.size()) {
if (null == boxInfos.get(0).getBoxId() || null == boxInfos.get(0).getBoxCode()) {
boxBindWarehouseDto.setBoxId(boxInfos.get(0).getBoxId());
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "标准箱信息异常,请联系运维人员处理");
}
@ -147,20 +146,20 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
}
// -------------- 标准箱绑定的机具明细校验 -------------------------
List<BmQrBoxInfo> boxBindList = bmQrBoxMapper.getBoxBindList(boxBindWarehouseDto.getBoxId());
final List<BmQrBoxInfo> boxBindList = bmQrBoxMapper.getBoxBindList(boxBindWarehouseDto.getBoxId());
boxBindList.removeIf(Objects::isNull);
boxBindList.removeIf(item -> item.getMaStatus() == null);
boxBindList.removeIf(item -> null == item.getMaStatus());
boxBindList.removeIf(item ->
!item.getMaStatus().equals(MaMachineStatusEnum.NEW_PURCHASE.getStatusName()) &&
!item.getMaStatus().equals(MaMachineStatusEnum.REPAIR_TO_STORE.getStatusName()) &&
!item.getMaStatus().equals(MaMachineStatusEnum.BACK_TO_STORE.getStatusName())
);
boxBindList.removeIf(item -> item.getMaTypeId() == null || !Objects.equals(item.getMaTypeId(), boxBindWarehouseDto.getMaTypeId()));
boxBindList.removeIf(item -> null == item.getMaTypeId() || !Objects.equals(item.getMaTypeId(), boxBindWarehouseDto.getMaTypeId()));
// ----------------- 进行入库操作 -------------------------------
Long purchaseDetailId = purchaseStorageMapper.selectIdByTaskId(boxBindWarehouseDto.getTaskId(), boxBindWarehouseDto.getMaTypeId());
if (purchaseDetailId == null || purchaseDetailId == 0) {
final Long purchaseDetailId = purchaseStorageMapper.selectIdByTaskId(boxBindWarehouseDto.getTaskId(), boxBindWarehouseDto.getMaTypeId());
if (null == purchaseDetailId || 0 == purchaseDetailId) {
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "新购任务不存在此物资类型,请确认录入是否正确");
}
// 更新入库数量
@ -187,20 +186,20 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
@Override
public void download(BmQrBoxInfo bmQrBoxInfo, HttpServletResponse response) {
try {
List<BmQrBoxInfo> list = bmQrBoxMapper.find(bmQrBoxInfo);
final List<BmQrBoxInfo> list = bmQrBoxMapper.find(bmQrBoxInfo);
String code = "无编码";
if (list.size() > 0) {
if (!list.isEmpty()) {
code = list.get(0).getBoxCode();
}
// 新购管理-二维码打印-新增
String url = BackstageApplication.getUrl() + "backstage/machine/qrCodePage?qrcode=" + code;
final String url = BackstageApplication.getUrl() + "backstage/machine/qrCodePage?qrcode=" + code;
// 二维码的图片格式
String format = "jpg";
final String format = "jpg";
//设置路径
String mkdirsName = "images";
final String mkdirsName = "images";
// linux 系统路径
String saveDirectory = "/data/imw/" + mkdirsName + "/";
String os = System.getProperty("os.name");
final String os = System.getProperty("os.name");
if (os.toLowerCase().startsWith("win")) {
//本地路径
saveDirectory = "D://files/" + mkdirsName + "/";
@ -214,22 +213,22 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
String qrUrl = saveDirectory + code + ".jpg";
String path = qrUrl.replace("filePath", "/data/imw");
// 判断照片是否存在
File imageFile = new File(path);
final File imageFile = new File(path);
if (!imageFile.exists()) {
log.warn("图片不存在");
}
//设置MIME类型
response.setContentType("application/octet-stream");
response.addHeader("Content-disposition", "attachment;filename=" + new String(path.getBytes(), "ISO-8859-1"));
InputStream inputStream = new FileInputStream(imageFile);
ServletOutputStream outputStream = response.getOutputStream();
byte[] bs = new byte[1024];
while ((inputStream.read(bs) > 0)) {
response.addHeader("Content-disposition", "attachment;filename=" + new String(path.getBytes(), StandardCharsets.ISO_8859_1));
final InputStream inputStream = Files.newInputStream(imageFile.toPath());
final ServletOutputStream outputStream = response.getOutputStream();
final byte[] bs = new byte[1024];
while ((0 < inputStream.read(bs))) {
outputStream.write(bs);
}
outputStream.close();
inputStream.close();
} catch (Exception e) {
} catch (final Exception e) {
log.error(e.getMessage());
}
}
@ -241,8 +240,8 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
public AjaxResult updateBmQrcodeInfo(BmQrBoxInfo bmQrBoxInfo) {
bmQrBoxInfo.setUpdateBy(SecurityUtils.getUsername());
bmQrBoxInfo.setUpdateTime(DateUtils.getNowDate());
int result = bmQrBoxMapper.updateBmQrcodeInfoById(bmQrBoxInfo);
return result > 0 ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
final int result = bmQrBoxMapper.updateBmQrcodeInfoById(bmQrBoxInfo);
return 0 < result ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
}
/**
@ -252,11 +251,11 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
*/
@Override
public AjaxResult appTransfer(BmQrBoxInfo bmQrBoxInfo) {
if (bmQrBoxInfo.getTransferUser() == null || bmQrBoxInfo.getTransferUser() <= 0) {
if (null == bmQrBoxInfo.getTransferUser() || 0 >= bmQrBoxInfo.getTransferUser()) {
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "请选择移交人");
}
bmQrBoxInfo.setBoxCode(null).setBoxName(null).setBoxType(null).setStatus(QrBoxStatusEnum.QR_BOX_STATUS_WAIT_RECEIVE.getStatus().toString());
return bmQrBoxMapper.updateBmQrcodeInfoById(bmQrBoxInfo) > 0 ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) :
return 0 < bmQrBoxMapper.updateBmQrcodeInfoById(bmQrBoxInfo) ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) :
AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
}
@ -267,17 +266,17 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
*/
@Override
public AjaxResult appTransferReject(BmQrBoxInfo bmQrBoxInfo) {
List<BmQrBoxInfo> bmQrBoxInfos = bmQrBoxMapper.find(new BmQrBoxInfo().setBoxId(bmQrBoxInfo.getBoxId()));
final List<BmQrBoxInfo> bmQrBoxInfos = bmQrBoxMapper.find(new BmQrBoxInfo().setBoxId(bmQrBoxInfo.getBoxId()));
if (!bmQrBoxInfos.isEmpty()) {
BmQrBoxInfo item = bmQrBoxInfos.get(0);
if (item.getTransferUser() == null || !Objects.equals(item.getTransferUser(), SecurityUtils.getUserId())) {
final BmQrBoxInfo item = bmQrBoxInfos.get(0);
if (null == item.getTransferUser() || !Objects.equals(item.getTransferUser(), SecurityUtils.getUserId())) {
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "驳回失败,您并非接收人,无法操作驳回!");
}
} else {
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "驳回失败,无此标准箱信息!");
}
bmQrBoxInfo.setBoxCode(null).setBoxName(null).setBoxType(null).setStatus(QrBoxStatusEnum.QR_BOX_STATUS_REJECT.getStatus().toString());
return bmQrBoxMapper.updateBmQrcodeInfoById(bmQrBoxInfo) > 0 ?
return 0 < bmQrBoxMapper.updateBmQrcodeInfoById(bmQrBoxInfo) ?
AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) :
AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
}
@ -289,10 +288,10 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
*/
@Override
public AjaxResult appReceive(BmQrBoxInfo bmQrBoxInfo) {
List<BmQrBoxInfo> bmQrBoxInfos = bmQrBoxMapper.find(new BmQrBoxInfo().setBoxId(bmQrBoxInfo.getBoxId()));
final List<BmQrBoxInfo> bmQrBoxInfos = bmQrBoxMapper.find(new BmQrBoxInfo().setBoxId(bmQrBoxInfo.getBoxId()));
if (!bmQrBoxInfos.isEmpty()) {
BmQrBoxInfo item = bmQrBoxInfos.get(0);
if (item.getTransferUser() == null || !Objects.equals(item.getTransferUser(), SecurityUtils.getUserId())) {
final BmQrBoxInfo item = bmQrBoxInfos.get(0);
if (null == item.getTransferUser() || !Objects.equals(item.getTransferUser(), SecurityUtils.getUserId())) {
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "接收失败,当前操作非移交人,无法接收!");
}
} else {
@ -301,7 +300,7 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
bmQrBoxInfo.setBoxCode(null).setBoxName(null).setBoxType(null)
.setInputUser(SecurityUtils.getUserId())
.setStatus(QrBoxStatusEnum.QR_BOX_STATUS_ON_RECEIVE.getStatus().toString());
return bmQrBoxMapper.updateBmQrcodeInfoById(bmQrBoxInfo) > 0 ?
return 0 < bmQrBoxMapper.updateBmQrcodeInfoById(bmQrBoxInfo) ?
AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) :
AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
}
@ -316,8 +315,8 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
bmQrBoxInfo.setUpdateBy(SecurityUtils.getUsername());
bmQrBoxInfo.setUpdateTime(DateUtils.getNowDate());
bmQrBoxInfo.setStatus(QrBoxStatusEnum.QR_BOX_STATUS_WAIT_BIND.getStatus().toString());
int result = bmQrBoxMapper.updateBmQrcodeInfoByCode(bmQrBoxInfo);
return result > 0 ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
final int result = bmQrBoxMapper.updateBmQrcodeInfoByCode(bmQrBoxInfo);
return 0 < result ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
}
/**
@ -340,16 +339,16 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
*/
@Override
public AjaxResult addQrcodeBoxBind(BmQrBoxInfo bmQrBoxInfo) {
if (bmQrBoxInfo.getBoxId() == null) {return AjaxResult.error("标准箱ID为空请完善后重试!");}
if (bmQrBoxInfo.getQrCode() == null) {return AjaxResult.error("QR编码为空请完善后重试!");}
if (null == bmQrBoxInfo.getBoxId()) {return AjaxResult.error("标准箱ID为空请完善后重试!");}
if (null == bmQrBoxInfo.getQrCode()) {return AjaxResult.error("QR编码为空请完善后重试!");}
try {
// 物资状态要求是待入库在库状态
MachineVo machineVo = machineMapper.selectMachineByMaCode(bmQrBoxInfo.getQrCode());
if (machineVo == null || machineVo.getMaId() == null) {
final MachineVo machineVo = machineMapper.selectMachineByMaCode(bmQrBoxInfo.getQrCode());
if (null == machineVo || null == machineVo.getMaId()) {
return AjaxResult.error("物资信息不存在!");
}
if (machineVo.getMaStatus() == null) {
if (null == machineVo.getMaStatus()) {
return AjaxResult.error("物资状态异常,请完善后重试!");
}
if (!Objects.equals(machineVo.getMaStatus(), MaMachineStatusEnum.NEW_PURCHASE.getStatus().toString()) &&
@ -364,9 +363,9 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
}
// 一个标准型只有1种类型
List<Long> boxMaTypeList = bmQrBoxMapper.getBoxMaTypeList(bmQrBoxInfo.getBoxId());
final List<Long> boxMaTypeList = bmQrBoxMapper.getBoxMaTypeList(bmQrBoxInfo.getBoxId());
if (!boxMaTypeList.isEmpty()) {
if (boxMaTypeList.size() > 1) {
if (1 < boxMaTypeList.size()) {
return AjaxResult.error("该标准箱已绑定多种物资,无法进行操作,请联系运维人员处理!");
}
if (!Objects.equals(boxMaTypeList.get(0), machineVo.getTypeId())) {
@ -378,14 +377,14 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
bmQrBoxInfo.setMaId(machineVo.getMaId());
bmQrBoxInfo.setCreateBy(SecurityUtils.getUsername());
bmQrBoxInfo.setCreateTime(DateUtils.getNowDate());
if (bmQrBoxMapper.addQrcodeBoxBind(bmQrBoxInfo) > 0) {
if (0 < bmQrBoxMapper.addQrcodeBoxBind(bmQrBoxInfo)) {
// 修改标准箱状态为已完成
bmQrBoxInfo.setStatus(QrBoxStatusEnum.QR_BOX_STATUS_WAIT_TRANSFER.getStatus().toString());
bmQrBoxMapper.updateBmQrcodeStatus(bmQrBoxInfo);
return AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg());
}
return AjaxResult.error("绑定失败:成功绑定0条");
} catch (Exception e) {
} catch (final Exception e) {
System.err.println("绑定失败,SQL执行异常:" + e.getMessage());
return AjaxResult.error("绑定失败,SQL执行异常:" + e.getMessage());
}
@ -408,11 +407,11 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
@Override
public AjaxResult deleteById(BmQrBoxInfo bmQrBoxInfo) {
//根据id查看标准箱是否绑定绑定不能删除
if (bmQrBoxMapper.countBmQrcodeInfoByBoxId(bmQrBoxInfo.getBoxId()) > 0) {
if (0 < bmQrBoxMapper.countBmQrcodeInfoByBoxId(bmQrBoxInfo.getBoxId())) {
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "该标准箱还绑定设备,无法删除");
}
int result = bmQrBoxMapper.deleteById(bmQrBoxInfo);
return result > 0 ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
final int result = bmQrBoxMapper.deleteById(bmQrBoxInfo);
return 0 < result ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
}
/**
@ -422,8 +421,8 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
*/
@Override
public AjaxResult unBindQrcodeBox(BmQrBoxInfo bmQrBoxInfo) {
boolean unResult = bmQrBoxMapper.unBindQrcodeBox(bmQrBoxInfo) > 0;
if (bmQrBoxMapper.countBmQrcodeInfoByBoxId(bmQrBoxInfo.getBoxId()) == 0) {
final boolean unResult = 0 < bmQrBoxMapper.unBindQrcodeBox(bmQrBoxInfo);
if (0 == bmQrBoxMapper.countBmQrcodeInfoByBoxId(bmQrBoxInfo.getBoxId())) {
bmQrBoxInfo.setBoxCode(null).setBoxName(null).setBoxType(null).setStatus(QrBoxStatusEnum.QR_BOX_STATUS_WAIT_BIND.getStatus().toString());
bmQrBoxMapper.updateBmQrcodeInfoById(bmQrBoxInfo);
}
@ -447,25 +446,24 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
*/
@Override
public AjaxResult getBoxBindListByCode(BmQrBoxInfo bmQrBoxInfo) {
if (bmQrBoxInfo.getBoxCode() == null || bmQrBoxInfo.getMaTypeId() == null) {
if (null == bmQrBoxInfo.getBoxCode() || null == bmQrBoxInfo.getMaTypeId()) {
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "标准箱编码或机具类型id不能为空");
}
List<BmQrBoxInfo> recordList = bmQrBoxMapper.getBoxBindListByCode(bmQrBoxInfo);
final List<BmQrBoxInfo> recordList = bmQrBoxMapper.getBoxBindListByCode(bmQrBoxInfo);
int num = 0;
String msg = "";
String msg;
if (CollectionUtil.isNotEmpty(recordList)) {
for (BmQrBoxInfo qrBoxInfo : recordList) {
for (final BmQrBoxInfo qrBoxInfo : recordList) {
if (qrBoxInfo.getMaStatus().equals(MaMachineStatusEnum.IN_STORE.getStatus().toString())) {
num ++;
}
}
msg = "监测到" + bmQrBoxInfo.getBoxCode() + "标准箱中有" + recordList.size()
+ "台设备,符合出库条件设备" + num + "台,请确认是否出库!";
msg = "监测到" + bmQrBoxInfo.getBoxCode() + "标准箱中有" + recordList.size() + "台设备,符合出库条件设备" + num + "台,请确认是否出库!";
} else {
msg = "监测到" + bmQrBoxInfo.getBoxCode() + "标准箱中无符合出库条件的设备,请检查后重新提交!";
}
// 返回包含设备列表和消息的结果
Map<String, Object> result = new HashMap<>(2);
final Map<String, Object> result = new HashMap<>(2);
result.put("recordList", recordList);
result.put("msg", msg);
return AjaxResult.success(result);

View File

@ -184,6 +184,7 @@ public class LeaseOutDetailsServiceImpl implements ILeaseOutDetailsService {
}
// 5插入结算记录
String taskId = leaseApplyInfoMapper.getTaskId(record.getParentId());
record.setTaskId(taskId);
res = insSltInfo(taskId, record);
if (res == 0) {
throw new RuntimeException("出库失败,插入结算记录失败");

View File

@ -48,9 +48,9 @@ public class PurchaseCheckInfoController extends BaseController {
//@RequiresPermissions("purchase:info:list")
@GetMapping("/list")
public AjaxResult list(PurchaseQueryDto purchaseQueryDto) {
List<PurchaseCheckInfo> list = purchaseCheckInfoService.selectPurchaseCheckInfoList(purchaseQueryDto);
Integer pageIndex = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
final List<PurchaseCheckInfo> list = purchaseCheckInfoService.selectPurchaseCheckInfoList(purchaseQueryDto);
final Integer pageIndex = Convert.toInt(ServletUtils.getParameter(PAGE_NUM), 1);
final Integer pageSize = Convert.toInt(ServletUtils.getParameter(PAGE_SIZE), 10);
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) {
try {
return purchaseCheckInfoService.insertPurchaseCheckInfo(purchaseCheckDto);
} catch (Exception e) {
} catch (final Exception e) {
return error("系统错误, " + e.getMessage());
}
}
@ -92,7 +92,7 @@ public class PurchaseCheckInfoController extends BaseController {
public AjaxResult edit(@RequestBody @NotNull(message = "请求参数不能为空") @Valid PurchaseCheckDto purchaseCheckDto) {
try {
return toAjax(purchaseCheckInfoService.updatePurchaseCheckInfo(purchaseCheckDto));
} catch (Exception e) {
} catch (final Exception e) {
return error("系统错误, " + e.getMessage());
}
}

View File

@ -83,11 +83,11 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
purchaseQueryDto.setUserId(SecurityUtils.getUserId());
PurchaseCheckDto purchaseCheckDtoResult = new PurchaseCheckDto();
PurchaseCheckInfo purchaseCheckInfo = purchaseCheckInfoMapper.selectPurchaseCheckInfoById(purchaseQueryDto.getId());
if (purchaseCheckInfo != null) {
if (null != purchaseCheckInfo) {
purchaseCheckDtoResult.setPurchaseCheckInfo(purchaseCheckInfo);
// boolean isAllowPartTransfer = bmConfigService.isBmConfigEnabledWithDefaultFalse(BmConfigItems.BOOLEAN_ALLOW_PURCHASE_PART_TRANSFER);
List<PurchaseCheckDetails> purchaseCheckDetailsList = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByQueryDto(purchaseQueryDto);
if (purchaseQueryDto.getTaskStage() != null) {
if (null != purchaseQueryDto.getTaskStage()) {
// 根据阶段来过滤详情数据
switch (purchaseQueryDto.getTaskStage()) {
case PURCHASE_TASK_STAGE_MANAGE:
@ -128,11 +128,11 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
private void extractedFile(List<PurchaseCheckDetails> purchaseCheckDetailsList) {
if (!CollectionUtils.isEmpty(purchaseCheckDetailsList)) {
for (PurchaseCheckDetails purchaseCheckDetails : purchaseCheckDetailsList) {
BmFileInfo fileInfo = new BmFileInfo();
final BmFileInfo fileInfo = new BmFileInfo();
fileInfo.setTaskType(10);
fileInfo.setModelId(purchaseCheckDetails.getId());
fileInfo.setTaskId(purchaseCheckDetails.getTaskId());
List<BmFileInfo> bmFileInfoList = bmFileInfoMapper.selectBmFileInfoList(fileInfo);
final List<BmFileInfo> bmFileInfoList = bmFileInfoMapper.selectBmFileInfoList(fileInfo);
if (!CollectionUtils.isEmpty(bmFileInfoList)) {
purchaseCheckDetails.setBmFileInfos(bmFileInfoList);
}
@ -152,15 +152,15 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
*/
@Override
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();}
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();}
List<PurchaseCheckInfo> purchaseCheckInfoResult = new ArrayList<>();
boolean isAllowPartTransfer = bmConfigService.isBmConfigEnabledWithDefaultFalse(BmConfigItems.BOOLEAN_ALLOW_PURCHASE_PART_TRANSFER);
final List<PurchaseCheckInfo> purchaseCheckInfoResult = new ArrayList<>();
final boolean isAllowPartTransfer = bmConfigService.isBmConfigEnabledWithDefaultFalse(BmConfigItems.BOOLEAN_ALLOW_PURCHASE_PART_TRANSFER);
for (PurchaseCheckInfo purchaseInfo : purchaseCheckInfos) {
for (final PurchaseCheckInfo purchaseInfo : purchaseCheckInfos) {
// 获取采购物资明细2024-12-23日修改by阮世耀 根据当前库管员绑定物资来查询 不展示非本角色管理的物资类型
List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(purchaseInfo.getTaskId(), null, loginUserId.get());
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()) &&
(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) {
// 2024-12-23日 取消状态过滤修改由任务阶段来过滤 --- by 阮世耀
@ -207,12 +207,13 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
}
if (!CollectionUtils.isEmpty(purchaseCheckDetails)) {
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;
for (PurchaseCheckDetails detail : purchaseCheckDetails) {
if (detail.getPurchaseNum() == null || detail.getPurchasePrice() == null) {continue;}
if (detail.getPurchaseNum().compareTo(BigDecimal.ZERO) < 0 || detail.getPurchasePrice().compareTo(BigDecimal.ZERO) < 0) {
for (final PurchaseCheckDetails detail : purchaseCheckDetails) {
if (null == detail.getPurchaseNum() || null == detail.getPurchasePrice()) {continue;}
if (0 > detail.getPurchaseNum().compareTo(BigDecimal.ZERO) || 0 > detail.getPurchasePrice().compareTo(BigDecimal.ZERO)) {
throw new IllegalArgumentException("采购数量和价格必须为非负数");
}
if (!isIncludeStage) {
@ -224,23 +225,25 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
checkMaTotalNumber = checkMaTotalNumber.add(Optional.ofNullable(detail.getCheckNum()).orElse(BigDecimal.ZERO));
bindMaTotalNumber = bindMaTotalNumber.add(Optional.ofNullable(detail.getBindNum()).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.setPurchasePrice(purchaseMaTotalPrice.get());
purchaseInfo.setPurchaseTaxPrice(purchaseTaxPriceTotal.get());
purchaseInfo.setBindMaNumber(bindMaTotalNumber);
purchaseInfo.setCheckMaNumber(checkMaTotalNumber);
purchaseInfo.setInputMaNumber(inputMaTotalNumber);
purchaseInfo.setWaitInputNumber(Optional.of(purchaseMaTotalNumber).orElse(BigDecimal.ZERO).subtract(Optional.of(inputMaTotalNumber).orElse(BigDecimal.ZERO)));
if (purchaseInfo.getTaxRate() != null && purchaseInfo.getPurchasePrice() != null) {
purchaseInfo.setPurchaseTaxPrice(calculateTaxPrice(purchaseMaTotalPrice.get(), purchaseInfo.getTaxRate()));
}
// if (null != purchaseInfo.getTaxRate() && null != purchaseInfo.getPurchasePrice()) {
// purchaseInfo.setPurchaseTaxPrice(calculateTaxPrice(purchaseMaTotalPrice.get(), purchaseInfo.getTaxRate()));
// }
// 设置外层任务状态入库待开始入库进行中入库已完成
TmTask tmTask = tmTaskMapper.selectTmTaskByTaskId(purchaseInfo.getTaskId());
final TmTask tmTask = tmTaskMapper.selectTmTaskByTaskId(purchaseInfo.getTaskId());
purchaseInfo.setTaskStatusName(isIncludeStage ? "未完成" : "已完成");
if (purchaseQueryDto.getIsFinish() != null) {
if (purchaseQueryDto.getIsFinish() == 1) {
if (null != purchaseQueryDto.getIsFinish()) {
if (1 == purchaseQueryDto.getIsFinish()) {
if (isIncludeStage) {continue;}
} else {
if (!isIncludeStage) {continue;}
@ -279,9 +282,15 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
* @return 不含税价格100 税率为13%结果为 113.00
*/
public static BigDecimal calculateTaxPrice(BigDecimal purchaseNoTaxPrice, BigDecimal taxRate) {
BigDecimal one = BigDecimal.ONE;
BigDecimal divisor = BigDecimal.valueOf(100);
return purchaseNoTaxPrice.multiply(one.add(taxRate.divide(divisor))).setScale(2, RoundingMode.HALF_UP);
if (null == taxRate || 0 > taxRate.compareTo(BigDecimal.ZERO) || 0 < taxRate.compareTo(BigDecimal.valueOf(100))) {
throw new IllegalArgumentException("税率必须在0到100之间");
}
// 计算税率
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().setCreateBy(SecurityUtils.getUsername());
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);
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(),
purchaseCheckInfo.getPurchaseCheckInfo().getCompanyId(), thisMonthMaxOrder + 1, taskCode);
tmTask.setCreateTime(DateUtils.getNowDate());
tmTaskMapper.insertTmTask(tmTask);
Long taskId = tmTask.getTaskId();
purchaseCheckInfo.getPurchaseCheckInfo().setTaskId(taskId);
int count = purchaseCheckInfoMapper.insertPurchaseCheckInfo(purchaseCheckInfo.getPurchaseCheckInfo());
if (count > 0) {
final int count = purchaseCheckInfoMapper.insertPurchaseCheckInfo(purchaseCheckInfo.getPurchaseCheckInfo());
if (0 < count) {
return insertPurchaseCheckDetails(purchaseCheckInfo.getPurchaseCheckDetailsList(), taskId);
} else {
return AjaxResult.error("新增任务失败,purchase_check_info表插入0条");
}
} catch (DataAccessException e) {
} catch (final DataAccessException e) {
return AjaxResult.error("数据库操作失败:" + e.getMessage());
} catch (Exception e) {
} catch (final Exception e) {
return AjaxResult.error("新增任务失败:" + e.getMessage());
}
}
@ -326,15 +335,15 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
PurchaseTaskStatusEnum.TO_CHECK.getStatus() :
PurchaseTaskStatusEnum.TO_NOTICE.getStatus());
details.setInputStatus("0");
List<BmFileInfo> bmFileInfos = details.getBmFileInfos();
final List<BmFileInfo> bmFileInfos = details.getBmFileInfos();
if (!CollectionUtils.isEmpty(bmFileInfos)) {
bmFileInfos.forEach(o -> o.setTaskId(taskId));
bmFileInfoMapper.insertBmFileInfos(bmFileInfos);
}
}
// 批量插入详情数据
int count = purchaseCheckDetailsMapper.insertPurchaseCheckDetailsList(purchaseCheckDetailsList);
if (count > 0) {
final int count = purchaseCheckDetailsMapper.insertPurchaseCheckDetailsList(purchaseCheckDetailsList);
if (0 < count) {
return AjaxResult.success("新增任务成功");
} else {
return AjaxResult.error("新增任务失败,purchase_check_detail详情表插入0条");
@ -369,8 +378,8 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
}
}
}
return updateCount > 0 ? AjaxResult.success("验证成功") : AjaxResult.error("无验证信息");
} catch (Exception e) {
return 0 < updateCount ? AjaxResult.success("验证成功") : AjaxResult.error("无验证信息");
} catch (final Exception e) {
return AjaxResult.error("验收状态更改失败,异常报错:" + e.getMessage());
}
}
@ -396,7 +405,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
// 验收驳回处理流程
for (PurchaseCheckDetails details : purchaseVerifyVo.getPurchaseCheckDetailsList()) {
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()
.setTaskId(details.getTaskId())
.setTaskType(TmTaskTypeEnum.TM_TASK_PURCHASE.getTaskTypeId())
@ -406,7 +415,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
}
}
return result;
} catch (Exception e) {
} catch (final Exception e) {
return AjaxResult.error("验收状态更改失败,异常报错:" + e.getMessage());
}
}
@ -417,8 +426,8 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
*/
private void extractedFile(PurchaseCheckDetails details) {
if (!CollectionUtils.isEmpty(details.getBmFileInfos())) {
for (BmFileInfo bmFileInfo : details.getBmFileInfos()) {
if (bmFileInfo.getTaskType() != null && bmFileInfo.getTaskType() == 10) {
for (final BmFileInfo bmFileInfo : details.getBmFileInfos()) {
if (null != bmFileInfo.getTaskType() && Objects.equals(TmTaskTypeEnum.TM_TASK_AGREEMENT_MANAGEMENT.getTaskTypeId(), bmFileInfo.getTaskType())) {
bmFileInfo.setTaskId(details.getTaskId());
bmFileInfo.setModelId(details.getId());
bmFileInfo.setCreateBy(SecurityUtils.getUsername());
@ -437,11 +446,11 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
@Override
public PurchaseCheckFormVo selectPurchaseCheckFormVoByTaskId(Long taskId) {
// 执行SQL查询外层信息
PurchaseCheckFormVo result = purchaseCheckInfoMapper.selectPurchaseCheckFormVoByTaskId(taskId);
final PurchaseCheckFormVo result = purchaseCheckInfoMapper.selectPurchaseCheckFormVoByTaskId(taskId);
if (result != null) {
if (null != result) {
// 执行SQL查询内层信息
List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(taskId, null, SecurityUtils.getUserId());
final List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByTaskId(taskId, null, SecurityUtils.getUserId());
// 过滤掉空数据
purchaseCheckDetails.removeIf(Objects::isNull);
result.setMaterialList(purchaseCheckDetails);
@ -457,10 +466,10 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
* @return 任务对象
*/
private static String genderTaskCode(Integer thisMonthMaxOrder) {
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
Date nowDate = DateUtils.getNowDate();
String format = dateFormat.format(nowDate);
String result = format.replace("-", "");
final SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy-MM-dd");
final Date nowDate = DateUtils.getNowDate();
final String format = dateFormat.format(nowDate);
final String result = format.replace("-", "");
return PURCHASE_TASK_TYPE_LABEL + result + String.format("-%03d", thisMonthMaxOrder + 1);
}
@ -484,12 +493,12 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
);
}
try {
Long[] ids = new Long[]{purchaseCheckDto.getPurchaseCheckInfo().getId()};
final Long[] ids = {purchaseCheckDto.getPurchaseCheckInfo().getId()};
purchaseCheckDetailsMapper.deletePurchaseCheckDetailsByParentIds(ids);
insertPurchaseCheckDetails(purchaseCheckDto.getPurchaseCheckDetailsList(), purchaseCheckDto.getPurchaseCheckInfo().getTaskId());
purchaseCheckInfoMapper.updatePurchaseCheckInfo(purchaseCheckDto.getPurchaseCheckInfo());
return true;
} catch (Exception e) {
} catch (final Exception e) {
throw new ServiceException("错误信息描述");
}
}

View File

@ -227,7 +227,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
GROUP BY
mm.ma_code
ORDER BY
bai.agreement_code,lod.id
bcd.create_time
</select>
<select id="getInputRecordList" resultType="com.bonus.material.basic.domain.InputRecordInfo">
@ -280,6 +280,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND bs.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59')
</if>
order by bs.create_time desc
</select>
<select id="getOutRecordList" resultType="com.bonus.material.basic.domain.OutRecordInfo">
@ -340,6 +341,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
<if test="startTime != null and startTime != '' and endTime != null and endTime != ''">
AND bs.create_time BETWEEN CONCAT(#{startTime}, ' 00:00:00') AND CONCAT(#{endTime}, ' 23:59:59')
</if>
order by bs.create_time desc
</select>
<select id="getRetainedEquipmentList" resultType="com.bonus.material.basic.domain.RetainedEquipmentInfo">