标准箱入库逻辑修改、维修逻辑修改、QRCODE新查询接口开发
This commit is contained in:
parent
6ced630d20
commit
53b3d571db
|
|
@ -111,6 +111,15 @@ public class BmQrBoxController extends BaseController {
|
|||
return qrBoxService.updateBmQrcodeInfoByCode(bmQrBoxInfo);
|
||||
}
|
||||
|
||||
/**
|
||||
* 二维码管理 -- 扫码获取绑定物资信息
|
||||
*/
|
||||
@ApiOperation(value = "二维码管理 -- 扫码获取绑定物资信息")
|
||||
@GetMapping("/get_ma_info_by_qrcode")
|
||||
public AjaxResult appCreateByCode(@RequestParam(value = "qrCode") String qrCode) {
|
||||
return qrBoxService.getMaInfoByQrCode(qrCode);
|
||||
}
|
||||
|
||||
/**
|
||||
* APP -- 新购入库扫码 -- BoxCode查询标准箱信息
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -37,6 +37,11 @@ public interface BmQrBoxMapper {
|
|||
*/
|
||||
int updateBmQrcodeInfoByCode(BmQrBoxInfo bmQrBoxInfo);
|
||||
|
||||
/**
|
||||
* 根据二维码QR编码查询绑定的物资信息
|
||||
*/
|
||||
BmQrBoxInfo getMaInfoByQrCode(String qrCode);
|
||||
|
||||
/**
|
||||
* 修改标准箱状态 -- 增加绑定编码时调用
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -66,6 +66,12 @@ public interface BmQrBoxService {
|
|||
*/
|
||||
AjaxResult updateBmQrcodeInfoByCode(BmQrBoxInfo bmQrBoxInfo);
|
||||
|
||||
/**
|
||||
* 通过QR_CODE 查询物资信息
|
||||
* @param qrCode 二维码编码
|
||||
*/
|
||||
AjaxResult getMaInfoByQrCode(String qrCode);
|
||||
|
||||
/**
|
||||
* APP - 扫码绑定物资
|
||||
*/
|
||||
|
|
|
|||
|
|
@ -10,6 +10,7 @@ import com.bonus.common.biz.enums.MaMachineStatusEnum;
|
|||
import com.bonus.common.biz.enums.PurchaseTaskStatusEnum;
|
||||
import com.bonus.common.biz.enums.QrBoxStatusEnum;
|
||||
import com.bonus.common.core.utils.DateUtils;
|
||||
import com.bonus.common.core.utils.StringUtils;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.common.security.utils.SecurityUtils;
|
||||
import com.bonus.material.basic.domain.BmQrBoxInfo;
|
||||
|
|
@ -149,7 +150,11 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
|
|||
List<BmQrBoxInfo> boxBindList = bmQrBoxMapper.getBoxBindList(boxBindWarehouseDto.getBoxId());
|
||||
boxBindList.removeIf(Objects::isNull);
|
||||
boxBindList.removeIf(item -> item.getMaStatus() == null);
|
||||
boxBindList.removeIf(item -> !item.getMaStatus().equals(MaMachineStatusEnum.NEW_PURCHASE.getStatusName()));
|
||||
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()));
|
||||
|
||||
|
||||
|
|
@ -159,19 +164,16 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
|
|||
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), "新购任务不存在此物资类型,请确认录入是否正确");
|
||||
}
|
||||
// 更新入库数量
|
||||
purchaseStorageMapper.updateNum(String.valueOf(purchaseDetailId), BigDecimal.valueOf(boxBindList.size()));
|
||||
purchaseStorageMapper.updateNum(purchaseDetailId, BigDecimal.valueOf(boxBindList.size()));
|
||||
// 更新物资类型库存数量
|
||||
purchaseStorageMapper.updateStorageNum(BigDecimal.valueOf(boxBindList.size()), Math.toIntExact(boxBindWarehouseDto.getMaTypeId()));
|
||||
// 更新物资设备状态
|
||||
boxBindList.forEach(item -> {
|
||||
item.setMaStatus(MaMachineStatusEnum.IN_STORE.getStatus().toString());
|
||||
purchaseStorageMapper.updateMachineByCode(new PurchaseDto()
|
||||
.setMaCode(item.getMaCode())
|
||||
.setTypeId(Math.toIntExact(boxBindWarehouseDto.getMaTypeId()))
|
||||
);
|
||||
purchaseStorageMapper.updateMachineByCode(new PurchaseDto().setMaCode(item.getMaCode()).setTypeId(Math.toIntExact(boxBindWarehouseDto.getMaTypeId())));
|
||||
});
|
||||
// 更新新购验收明细状态
|
||||
purchaseStorageMapper.updateStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), Math.toIntExact(purchaseDetailId));
|
||||
purchaseStorageMapper.updateInputStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), Math.toIntExact(purchaseDetailId));
|
||||
|
||||
// TODO 缺少修改TmTask表状态
|
||||
// ---------------- 返回前端 -------------------------------------
|
||||
|
|
@ -318,6 +320,19 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
|
|||
return result > 0 ? AjaxResult.success(HttpCodeEnum.SUCCESS.getMsg()) : AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
|
||||
}
|
||||
|
||||
/**
|
||||
* 通过QR_CODE 查询物资信息
|
||||
*
|
||||
* @param qrCode 二维码编码
|
||||
*/
|
||||
@Override
|
||||
public AjaxResult getMaInfoByQrCode(String qrCode) {
|
||||
if (StringUtils.isBlank(qrCode)) {
|
||||
return AjaxResult.error("二维码编码为空,请完善后重试!");
|
||||
}
|
||||
return AjaxResult.success(bmQrBoxMapper.getMaInfoByQrCode(qrCode));
|
||||
}
|
||||
|
||||
/**
|
||||
* APP - 扫码绑定物资
|
||||
*
|
||||
|
|
@ -325,9 +340,8 @@ public class BmQrBoxServiceImpl implements BmQrBoxService {
|
|||
*/
|
||||
@Override
|
||||
public AjaxResult addQrcodeBoxBind(BmQrBoxInfo bmQrBoxInfo) {
|
||||
if (bmQrBoxInfo.getBoxId() == null || bmQrBoxInfo.getQrCode() == null) {
|
||||
return AjaxResult.error("标准箱ID或QR编码为空,请完善后重试!");
|
||||
}
|
||||
if (bmQrBoxInfo.getBoxId() == null) {return AjaxResult.error("标准箱ID为空,请完善后重试!");}
|
||||
if (bmQrBoxInfo.getQrCode() == null) {return AjaxResult.error("QR编码为空,请完善后重试!");}
|
||||
|
||||
try {
|
||||
// 物资状态要求是待入库、在库状态
|
||||
|
|
|
|||
|
|
@ -42,7 +42,7 @@ public class PurchaseBindController extends BaseController {
|
|||
@PreventRepeatSubmit
|
||||
@RequiresPermissions("purchase:bind:add")
|
||||
@PostMapping("/bind")
|
||||
public AjaxResult bind(@RequestBody PurchaseDto dto) {
|
||||
public AjaxResult bind(@RequestBody @NotNull(message = "参数不能为空") PurchaseDto dto) {
|
||||
return purchaseBindService.bind(dto);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -47,7 +47,6 @@ public class PurchaseStorageController extends BaseController {
|
|||
|
||||
|
||||
@ApiOperation(value = "查询待绑定编号机具详情")
|
||||
@PreventRepeatSubmit
|
||||
// @RequiresPermissions("purchase:storage:query")
|
||||
@PostMapping("/getMachineById")
|
||||
public AjaxResult getMachineById(@RequestBody PurchaseDto dto) {
|
||||
|
|
|
|||
|
|
@ -1,5 +1,6 @@
|
|||
package com.bonus.material.purchase.domain.vo;
|
||||
|
||||
import com.alibaba.druid.sql.visitor.functions.Char;
|
||||
import com.bonus.common.core.annotation.Excel;
|
||||
import com.fasterxml.jackson.annotation.JsonFormat;
|
||||
import io.swagger.annotations.ApiModelProperty;
|
||||
|
|
@ -19,7 +20,7 @@ public class PurchaseVo {
|
|||
private Integer taskId;
|
||||
|
||||
@ApiModelProperty(value = "二级明细id")
|
||||
private String purchaseId;
|
||||
private Long purchaseId;
|
||||
|
||||
@ApiModelProperty(value="typeId")
|
||||
private Integer typeId;
|
||||
|
|
@ -112,6 +113,9 @@ public class PurchaseVo {
|
|||
@ApiModelProperty(value = "二维码路径")
|
||||
private String qrUrl;
|
||||
|
||||
@ApiModelProperty(value = "是否绑定")
|
||||
private Char isBind;
|
||||
|
||||
@ApiModelProperty(value = "异常数量")
|
||||
private BigDecimal exceptionNum;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -48,6 +48,8 @@ public interface PurchaseBindMapper {
|
|||
*/
|
||||
int add(PurchaseDto purchaseDto);
|
||||
|
||||
int bindMaCodeByQrCode(PurchaseDto purchaseDto);
|
||||
|
||||
/**
|
||||
* 查询二维码code
|
||||
* @param genMonth
|
||||
|
|
@ -80,7 +82,7 @@ public interface PurchaseBindMapper {
|
|||
* @param updatedStatus
|
||||
* @param purchaseId
|
||||
*/
|
||||
int updateStatusById(@Param("updatedStatus") Integer updatedStatus, @Param("id") String purchaseId);
|
||||
int updateStatusById(@Param("updatedStatus") Integer updatedStatus, @Param("id") Long purchaseId);
|
||||
|
||||
/**
|
||||
* 更新数量
|
||||
|
|
@ -90,6 +92,8 @@ public interface PurchaseBindMapper {
|
|||
*/
|
||||
int updateNum(@Param("dto") PurchaseDto dto, @Param("num") int num);
|
||||
|
||||
int updateStatusWhereNum(@Param("dto") PurchaseDto dto);
|
||||
|
||||
/**
|
||||
* 根据id查询详情
|
||||
* @param purchaseDto
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public interface PurchaseStorageMapper {
|
|||
* @param bindNum
|
||||
* @return
|
||||
*/
|
||||
int updateNum(@Param("id") String purchaseId, @Param("bindNum") BigDecimal bindNum);
|
||||
int updateNum(@Param("id") Long purchaseId, @Param("bindNum") BigDecimal bindNum);
|
||||
|
||||
/**
|
||||
* 更新状态
|
||||
|
|
@ -44,6 +44,14 @@ public interface PurchaseStorageMapper {
|
|||
*/
|
||||
int updateStatusById(@Param("updatedStatus") Integer updatedStatus, @Param("id") Integer id);
|
||||
|
||||
/**
|
||||
* 更新入库状态
|
||||
* @param updatedStatus 要修改的状态
|
||||
* @param id 要修改的details表id
|
||||
* @return 修改条数
|
||||
*/
|
||||
int updateInputStatusById(@Param("updatedStatus") Integer updatedStatus, @Param("id") Integer id);
|
||||
|
||||
/**
|
||||
* 新增机具入库记录
|
||||
* @param dto
|
||||
|
|
|
|||
|
|
@ -12,7 +12,9 @@ import com.bonus.common.core.web.domain.AjaxResult;
|
|||
import com.bonus.common.security.utils.SecurityUtils;
|
||||
import com.bonus.material.purchase.config.RemoteConfig;
|
||||
import com.bonus.common.biz.domain.purchase.PurchaseDto;
|
||||
import com.bonus.material.purchase.domain.PurchaseCheckDetails;
|
||||
import com.bonus.material.purchase.mapper.PurchaseBindMapper;
|
||||
import com.bonus.material.purchase.mapper.PurchaseCheckDetailsMapper;
|
||||
import com.bonus.material.purchase.mapper.PurchaseStorageMapper;
|
||||
import com.bonus.material.purchase.service.IPurchaseBindService;
|
||||
import com.bonus.material.purchase.domain.vo.PurchaseVo;
|
||||
|
|
@ -48,6 +50,9 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
|||
@Resource
|
||||
private PurchaseStorageMapper purchaseStorageMapper;
|
||||
|
||||
@Resource
|
||||
private PurchaseCheckDetailsMapper purchaseCheckDetailsMapper;
|
||||
|
||||
|
||||
/**
|
||||
* 查询所有绑定信息
|
||||
|
|
@ -119,7 +124,7 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
|||
|
||||
/**
|
||||
* 绑定
|
||||
* @param dto
|
||||
* @param dto 绑定物资信息
|
||||
* @return
|
||||
*/
|
||||
@Override
|
||||
|
|
@ -137,45 +142,40 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
|||
return AjaxResult.error(1114,"设备编码与库中重复,请勿重复添加");
|
||||
}
|
||||
}
|
||||
int result = 0;
|
||||
for (PurchaseDto purchaseDto : dto.getDtoList()) {
|
||||
purchaseDto.setCreateBy(SecurityUtils.getUserId().toString());
|
||||
purchaseDto.setCreateTime(DateUtils.getNowDate());
|
||||
purchaseDto.setTaskId(dto.getTaskId());
|
||||
purchaseDto.setTypeId(dto.getTypeId());
|
||||
purchaseDto.setStatus(0);
|
||||
result += purchaseBindMapper.add(purchaseDto);
|
||||
result += purchaseStorageMapper.insertMachine(purchaseDto);
|
||||
purchaseDto.setCreateBy(SecurityUtils.getUserId().toString()).setCreateTime(DateUtils.getNowDate());
|
||||
purchaseDto.setTaskId(dto.getTaskId()).setTypeId(dto.getTypeId()).setStatus(0);
|
||||
if (purchaseDto.getQrCode() != null) {
|
||||
if (purchaseBindMapper.bindMaCodeByQrCode(purchaseDto) != 1) {
|
||||
return AjaxResult.error(1115,"绑定maCode时SQL执行失败!");
|
||||
}
|
||||
}
|
||||
if (purchaseStorageMapper.insertMachine(purchaseDto) != 1) {
|
||||
return AjaxResult.error(1116,"插入maMachine时SQL执行失败!");
|
||||
}
|
||||
}
|
||||
//根据前端传参更新绑定数量
|
||||
result += purchaseBindMapper.updateNum(dto, dto.getDtoList().size());
|
||||
// 更新绑定数量,并刷新状态
|
||||
if (purchaseBindMapper.updateNum(dto, dto.getDtoList().size()) < 1) {
|
||||
return AjaxResult.error(1117,"更新绑定数量时SQL执行失败!");
|
||||
} else {
|
||||
purchaseBindMapper.updateStatusWhereNum(dto);
|
||||
}
|
||||
|
||||
//根据任务id和类型id查询状态
|
||||
List<PurchaseVo> voList = purchaseBindMapper.selectPurchaseCheckInfoById(dto);
|
||||
if (CollectionUtils.isNotEmpty(voList)) {
|
||||
for (PurchaseVo purchaseVo : voList) {
|
||||
if (purchaseVo.getBindNum().equals(purchaseVo.getCheckNum())) {
|
||||
if (purchaseVo.getBindNum().compareTo(purchaseVo.getCheckNum()) == 0) {
|
||||
purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_STORE.getStatus(), purchaseVo.getPurchaseId());
|
||||
}
|
||||
if (purchaseVo.getBindNum().compareTo(purchaseVo.getCheckNum()) <0 ) {
|
||||
} else if (purchaseVo.getBindNum().compareTo(purchaseVo.getCheckNum()) < 0) {
|
||||
purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_BIND.getStatus(), purchaseVo.getPurchaseId());
|
||||
} else {
|
||||
// 抛出异常 执行回滚
|
||||
throw new RuntimeException("绑定数量大于验收数量,请重新绑定!");
|
||||
}
|
||||
}
|
||||
}
|
||||
// PurchaseDto purchaseDto = new PurchaseDto();
|
||||
// purchaseDto.setTaskId(dto.getTaskId());
|
||||
// List<PurchaseVo> list = purchaseBindMapper.getDetails(purchaseDto);
|
||||
// Map<Integer, List<Integer>> groupedByIdStatus = list.stream()
|
||||
// .collect(Collectors.groupingBy(
|
||||
// PurchaseVo::getTaskId,
|
||||
// Collectors.mapping(PurchaseVo::getStatus, Collectors.toList())
|
||||
// ));
|
||||
// result += groupedByIdStatus.entrySet().stream()
|
||||
// .mapToInt(entry -> updateTaskStatus(entry.getKey(), entry.getValue()))
|
||||
// .sum();
|
||||
if (result > 0) {
|
||||
return AjaxResult.success("绑定成功");
|
||||
}
|
||||
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
|
||||
return AjaxResult.success("绑定成功");
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -249,7 +249,7 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
|||
// 二级页面驳回
|
||||
String[] idList = dto.getPurchaseId().split(",");
|
||||
for (String purchaseId : idList) {
|
||||
result += purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus(), purchaseId);
|
||||
result += purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus(), Long.valueOf(purchaseId));
|
||||
}
|
||||
}
|
||||
if (result > 0) {
|
||||
|
|
|
|||
|
|
@ -23,10 +23,7 @@ import org.springframework.stereotype.Service;
|
|||
import org.springframework.transaction.annotation.Transactional;
|
||||
import javax.annotation.Resource;
|
||||
import java.math.BigDecimal;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
import java.util.Optional;
|
||||
import java.util.*;
|
||||
import java.util.stream.Collectors;
|
||||
|
||||
/**
|
||||
|
|
@ -100,10 +97,6 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
public AjaxResult warehouse(PurchaseDto dto) {
|
||||
//内层入库
|
||||
return processByPurchaseIds(dto);
|
||||
/*if (dto.getTaskId() != null) {
|
||||
//外层入库
|
||||
return processByTaskIds(dto);
|
||||
}*/
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -187,7 +180,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
details = purchaseBindMapper.getDetails(dto);
|
||||
for (PurchaseVo purchaseVo : details) {
|
||||
if (purchaseVo.getStatus().equals(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus()) || purchaseVo.getStatus().equals(PurchaseTaskStatusEnum.TO_STORE.getStatus())) {
|
||||
result += purchaseStorageMapper.updateStatusById(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus(), Integer.parseInt(purchaseVo.getPurchaseId()));
|
||||
result += purchaseStorageMapper.updateStatusById(PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT.getStatus(), Math.toIntExact(purchaseVo.getPurchaseId()));
|
||||
}
|
||||
}
|
||||
details = purchaseBindMapper.getDetails(dto);
|
||||
|
|
@ -222,7 +215,10 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
} else {
|
||||
//编码入库
|
||||
List<PurchaseVo> purchaseVoList = purchaseBindMapper.selectPurchaseCheckInfoById(purchaseDto);
|
||||
result += purchaseStorageMapper.updateNum(purchaseDto.getPurchaseId(), BigDecimal.valueOf(purchaseDto.getInPutList().size()));
|
||||
if (CollectionUtils.isEmpty(purchaseDto.getInPutList())) {
|
||||
purchaseDto.setInPutList(new ArrayList<>());
|
||||
}
|
||||
result += purchaseStorageMapper.updateNum(Long.valueOf(purchaseDto.getPurchaseId()), BigDecimal.valueOf(purchaseDto.getInPutList().size()));
|
||||
for (PurchaseDto dto : purchaseDto.getInPutList()) {
|
||||
if (CollectionUtils.isNotEmpty(purchaseVoList)) {
|
||||
for (PurchaseVo purchaseVo : purchaseVoList) {
|
||||
|
|
@ -233,13 +229,13 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
}
|
||||
}
|
||||
dto.setTypeId(purchaseDto.getTypeId());
|
||||
result += purchaseStorageMapper.updateMachineByCode(dto);
|
||||
purchaseStorageMapper.updateStorageNum(BigDecimal.ONE, dto.getTypeId());
|
||||
List<PurchaseCheckDetails> list = purchaseBindMapper.getMachineById(purchaseDto);
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
if (purchaseStorageMapper.updateMachineByCode(dto) < 1) {throw new RuntimeException("入库失败,更新物资入库状态0条");}
|
||||
if (purchaseStorageMapper.updateStorageNum(BigDecimal.ONE, dto.getTypeId()) < 1) {throw new RuntimeException("入库失败,库存增加0");}
|
||||
List<PurchaseCheckDetails> bindMaList = purchaseBindMapper.getMachineById(purchaseDto);
|
||||
if (CollectionUtils.isNotEmpty(bindMaList)) {
|
||||
result += purchaseStorageMapper.updateStatusById(PurchaseTaskStatusEnum.TO_STORE.getStatus(), Integer.parseInt(purchaseDto.getPurchaseId()));
|
||||
} else {
|
||||
result += purchaseStorageMapper.updateStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), Integer.parseInt(purchaseDto.getPurchaseId()));
|
||||
result += purchaseStorageMapper.updateInputStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), Integer.parseInt(purchaseDto.getPurchaseId()));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -325,7 +321,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
return details.stream()
|
||||
.mapToInt(detail -> {
|
||||
int result = purchaseStorageMapper.updateNum(detail.getPurchaseId(), detail.getBindNum());
|
||||
result += purchaseStorageMapper.updateStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), Integer.parseInt(detail.getPurchaseId()));
|
||||
result += purchaseStorageMapper.updateStatusById(PurchaseTaskStatusEnum.IN_STORE.getStatus(), Math.toIntExact(detail.getPurchaseId()));
|
||||
if (MaTypeManageTypeEnum.CODE_DEVICE.getTypeId().equals(Integer.valueOf(detail.getManageType()))) {
|
||||
//根据类型id获取设备详情信息
|
||||
//result += purchaseStorageMapper.insertMachine(detail);
|
||||
|
|
|
|||
|
|
@ -427,14 +427,10 @@ public class RepairServiceImpl implements RepairService {
|
|||
repairDeviceVOList.removeIf(Objects::isNull);
|
||||
|
||||
for (RepairDeviceVO bean : repairDeviceVOList) {
|
||||
if (bean.getManageType() == null) {
|
||||
throw new ServiceException("请选择物资管理方式");
|
||||
}
|
||||
if (bean.getManageType() == null) {throw new ServiceException("请选择物资管理方式");}
|
||||
if (Objects.equals(MaTypeManageTypeEnum.CODE_DEVICE.getTypeId(), bean.getManageType())) {
|
||||
// 物资管理方式--编码管理
|
||||
if (bean.getRepairType() == null) {
|
||||
continue;
|
||||
}
|
||||
if (bean.getRepairType() == null) {continue;}
|
||||
// 根据维修方式,更新维修数量、报废数量
|
||||
switch (bean.getRepairType()) {
|
||||
case INNER_REPAIR: {
|
||||
|
|
|
|||
|
|
@ -128,22 +128,15 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</update>
|
||||
|
||||
<delete id="deleteById">
|
||||
delete
|
||||
from bm_qrcode_box
|
||||
where box_id = #{boxId}
|
||||
delete from bm_qrcode_box where box_id = #{boxId}
|
||||
</delete>
|
||||
|
||||
<delete id="unBindQrcodeBox">
|
||||
delete
|
||||
from bm_qrcode_box_bind
|
||||
where id = #{id}
|
||||
delete from bm_qrcode_box_bind where id = #{id}
|
||||
</delete>
|
||||
|
||||
<delete id="deleteBoxBind">
|
||||
delete
|
||||
from bm_qrcode_box_bind
|
||||
where box_id = #{boxId}
|
||||
and ma_id = #{maId}
|
||||
delete from bm_qrcode_box_bind where box_id = #{boxId} and ma_id = #{maId}
|
||||
</delete>
|
||||
|
||||
<insert id="addQrcodeBoxBind">
|
||||
|
|
@ -218,4 +211,17 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
bqb.box_code = #{boxCode} AND
|
||||
mt.type_id = #{maTypeId}
|
||||
</select>
|
||||
|
||||
<select id="getMaInfoByQrCode" resultType="com.bonus.material.basic.domain.BmQrBoxInfo">
|
||||
select
|
||||
bqi.id, bqi.qr_code, bqi.type_id as maTypeId, bqi.ma_code , mm.ma_id
|
||||
from
|
||||
bm_qrcode_info bqi
|
||||
left join
|
||||
ma_machine mm on bqi.type_id = mm.type_id and bqi.ma_code = mm.ma_code
|
||||
where
|
||||
bqi.del_flag is null or bqi.del_flag = '0'
|
||||
group by
|
||||
bqi.id limit 1
|
||||
</select>
|
||||
</mapper>
|
||||
|
|
@ -88,10 +88,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
|
||||
<update id="updateNum">
|
||||
UPDATE purchase_check_details
|
||||
SET bind_num = COALESCE(bind_num, 0) + COALESCE(#{num}, 0)
|
||||
WHERE task_id = #{dto.taskId}
|
||||
AND type_id = #{dto.typeId}
|
||||
AND #{num} IS NOT NULL
|
||||
SET bind_num = IFNULL(bind_num, 0) + IFNULL(#{num}, 0)
|
||||
WHERE task_id = #{dto.taskId} AND type_id = #{dto.typeId} AND #{num} IS NOT NULL
|
||||
</update>
|
||||
|
||||
<update id="updateStatusWhereNum">
|
||||
UPDATE purchase_check_details
|
||||
SET `status` = IF(IFNULL(check_num, 0) = IFNULL(bind_num, 0), '4', `status`)
|
||||
WHERE task_id = #{dto.taskId} AND type_id = #{dto.typeId}
|
||||
</update>
|
||||
|
||||
<update id="updateStatusById">
|
||||
|
|
@ -175,12 +179,11 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
pcd.status AS status
|
||||
FROM
|
||||
bm_qrcode_info pm
|
||||
LEFT JOIN purchase_check_details pcd ON pm.task_id = pcd.task_id
|
||||
AND pm.type_id = pcd.type_id
|
||||
LEFT JOIN ma_type mt ON pcd.type_id = mt.type_id
|
||||
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
|
||||
LEFT JOIN purchase_check_details pcd ON pm.task_id = pcd.task_id AND pm.type_id = pcd.type_id
|
||||
LEFT JOIN ma_type mt ON pcd.type_id = mt.type_id
|
||||
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
|
||||
WHERE
|
||||
1=1 and pm.qr_code IS NULL
|
||||
pm.qr_code IS NULL
|
||||
<if test="taskId != null">
|
||||
AND pm.task_id = #{taskId}
|
||||
</if>
|
||||
|
|
@ -313,24 +316,21 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
|
||||
<select id="getMachineById" resultType="com.bonus.material.purchase.domain.PurchaseCheckDetails">
|
||||
SELECT
|
||||
pmi.id as id,
|
||||
pmi.task_id as taskId,
|
||||
pmi.type_id as typeId,
|
||||
pmi.ma_code as maCode
|
||||
pmi.id as id,pmi.task_id as taskId,pmi.type_id as typeId,pmi.ma_code as maCode
|
||||
FROM
|
||||
bm_qrcode_info pmi
|
||||
LEFT JOIN ma_machine mm ON pmi.ma_code = mm.ma_code AND mm.type_id = #{typeId}
|
||||
LEFT JOIN
|
||||
ma_machine mm ON pmi.ma_code = mm.ma_code AND mm.type_id = #{typeId}
|
||||
WHERE
|
||||
pmi.task_id = #{taskId}
|
||||
AND pmi.type_id = #{typeId}
|
||||
AND mm.ma_status = '0'
|
||||
pmi.task_id = #{taskId} AND pmi.type_id = #{typeId} AND (mm.ma_status = '0' or mm.ma_status = '5' or mm.ma_status = '9' )
|
||||
AND pmi.ma_code IS NOT NULL
|
||||
group by
|
||||
pmi.id
|
||||
</select>
|
||||
|
||||
<select id="getTypeByQrcode" resultType="com.bonus.material.purchase.domain.vo.PurchaseVo">
|
||||
SELECT
|
||||
bqi.qr_code as qrCode,
|
||||
bqi.type_id as typeId
|
||||
bqi.qr_code as qrCode, bqi.type_id as typeId, bqi.ma_code as maCode, bqi.task_id as taskId, bqi.is_bind as isBind
|
||||
FROM
|
||||
bm_qrcode_info bqi
|
||||
WHERE
|
||||
|
|
@ -339,32 +339,41 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
|
||||
<select id="selectPurchaseCheckDetailsById" resultType="com.bonus.material.purchase.domain.vo.PurchaseVo">
|
||||
SELECT
|
||||
pm.task_id AS taskId,
|
||||
pcd.id AS purchaseId,
|
||||
mt1.type_name AS materialName,
|
||||
mt.type_name AS materialModel,
|
||||
pm.ma_code AS maCode,
|
||||
pm.create_by AS createBy,
|
||||
pm.create_time AS createTime,
|
||||
pm.type_id AS typeId,
|
||||
pm.out_fac_code AS outFacCode,
|
||||
pcd.production_time AS productDate,
|
||||
pm.qr_code AS qrCode,
|
||||
pm.qr_url AS qrUrl,
|
||||
pcd.check_num AS purchaseNum,
|
||||
pcd.check_num AS checkNum,
|
||||
pcd.bind_num AS bindNum,
|
||||
pcd.status AS status
|
||||
pm.task_id AS taskId,
|
||||
pcd.id AS purchaseId,
|
||||
mt1.type_name AS materialName,
|
||||
mt.type_name AS materialModel,
|
||||
pm.ma_code AS maCode,
|
||||
pm.create_by AS createBy,
|
||||
pm.create_time AS createTime,
|
||||
pm.type_id AS typeId,
|
||||
pm.out_fac_code AS outFacCode,
|
||||
pcd.production_time AS productDate,
|
||||
pm.qr_code AS qrCode,
|
||||
pm.qr_url AS qrUrl,
|
||||
pcd.check_num AS purchaseNum,
|
||||
pcd.check_num AS checkNum,
|
||||
pcd.bind_num AS bindNum,
|
||||
pcd.status AS status
|
||||
FROM
|
||||
bm_qrcode_info pm
|
||||
LEFT JOIN purchase_check_details pcd ON pm.task_id = pcd.task_id
|
||||
AND pm.type_id = pcd.type_id
|
||||
bm_qrcode_info pm
|
||||
LEFT JOIN purchase_check_details pcd ON pm.task_id = pcd.task_id AND pm.type_id = pcd.type_id
|
||||
LEFT JOIN ma_type mt ON pcd.type_id = mt.type_id
|
||||
LEFT JOIN ma_type mt1 ON mt.parent_id = mt1.type_id
|
||||
WHERE
|
||||
1=1 and pm.qr_code IS NOT NULL
|
||||
<if test="purchaseId != null">
|
||||
AND pcd.id = #{purchaseId}
|
||||
</if>
|
||||
pm.qr_code IS NOT NULL
|
||||
<if test="purchaseId != null">
|
||||
AND pcd.id = #{purchaseId}
|
||||
</if>
|
||||
</select>
|
||||
|
||||
<update id="bindMaCodeByQrCode">
|
||||
update bm_qrcode_info set ma_code = #{maCode}, is_bind = 1
|
||||
where
|
||||
qr_code = #{qrCode}
|
||||
and status != '1'
|
||||
and is_bind != '1'
|
||||
and ma_code is null
|
||||
and del_flag = '0'
|
||||
</update>
|
||||
</mapper>
|
||||
|
|
|
|||
|
|
@ -203,7 +203,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="bindNum != null">bind_num = #{bindNum},</if>
|
||||
<if test="checkResult != null">check_result = #{checkResult},</if>
|
||||
<if test="supplierId != null">supplier_id = #{supplierId},</if>
|
||||
<if test="status != null">status = #{status},</if>
|
||||
<if test="status != null">`status` = #{status},</if>
|
||||
<if test="createBy != null">create_by = #{createBy},</if>
|
||||
<if test="productionTime != null">production_time = #{productionTime},</if>
|
||||
<if test="createTime != null">create_time = #{createTime},</if>
|
||||
|
|
|
|||
|
|
@ -28,32 +28,26 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
|
||||
<update id="updateNum">
|
||||
UPDATE purchase_check_details
|
||||
SET input_num = COALESCE(input_num, 0) + #{bindNum},
|
||||
input_time = now()
|
||||
WHERE
|
||||
id = #{id}
|
||||
SET input_num = ifnull(input_num, 0) + ifnull(#{bindNum},0),input_time = now()
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateStatusById">
|
||||
UPDATE purchase_check_details
|
||||
SET `status` = #{updatedStatus}
|
||||
WHERE
|
||||
id = #{id}
|
||||
SET `status` = #{updatedStatus}
|
||||
WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateInputStatusById">
|
||||
UPDATE purchase_check_details SET `status` = if(bind_num = input_num, #{updatedStatus}, `status`) WHERE id = #{id}
|
||||
</update>
|
||||
|
||||
<update id="updateStorageNum">
|
||||
UPDATE ma_type
|
||||
SET storage_num = #{inputNum} + IFNULL(storage_num, 0)
|
||||
WHERE
|
||||
type_id = #{typeId}
|
||||
UPDATE ma_type SET storage_num = ifnull(#{inputNum},0) + ifnull(storage_num, 0) WHERE type_id = #{typeId}
|
||||
</update>
|
||||
|
||||
<update id="updateMachineByCode">
|
||||
UPDATE ma_machine
|
||||
SET ma_status = 1
|
||||
WHERE
|
||||
ma_code = #{maCode}
|
||||
and type_id = #{typeId}
|
||||
UPDATE ma_machine SET ma_status = 1 WHERE ma_code = #{maCode} and type_id = #{typeId}
|
||||
</update>
|
||||
|
||||
<select id="selectAll" resultType="com.bonus.material.purchase.domain.vo.PurchaseVo">
|
||||
|
|
|
|||
|
|
@ -510,13 +510,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</update>
|
||||
|
||||
<update id="updateMachine">
|
||||
UPDATE ma_machine
|
||||
SET ma_status = '5'
|
||||
WHERE
|
||||
1 = 1
|
||||
<if test="maId != null">
|
||||
and ma_id = #{maId}
|
||||
</if>
|
||||
UPDATE ma_machine SET ma_status = '5' WHERE ma_id = #{maId}
|
||||
</update>
|
||||
|
||||
<select id="getPartDetailsByTaskId" resultType="com.bonus.material.repair.domain.RepairPart">
|
||||
|
|
|
|||
|
|
@ -62,29 +62,25 @@
|
|||
|
||||
<update id="updateRepairedNumAndStatus">
|
||||
update repair_apply_details
|
||||
set repaired_num = #{repairNum},
|
||||
status = #{status},
|
||||
repairer = #{repairer},
|
||||
update_by = #{userId},
|
||||
update_time = now()
|
||||
where id = #{id}
|
||||
set repaired_num = ifnull(repaired_num,0) + #{repairNum},
|
||||
status = #{status},repairer = #{repairer},update_by = #{userId},update_time = now()
|
||||
where
|
||||
id = #{id}
|
||||
and (ifnull(repaired_num,0) + #{repairNum}) <= repair_num
|
||||
</update>
|
||||
|
||||
<update id="updateRepairedNumTwo">
|
||||
update repair_apply_details
|
||||
set repaired_num = #{repairNum},
|
||||
update_by = #{userId},
|
||||
update_time = now()
|
||||
set repaired_num = ifnull(repaired_num,0) + #{repairNum},update_by = #{userId},update_time = now()
|
||||
where id = #{id}
|
||||
and (ifnull(repaired_num,0) + #{repairNum}) <= repair_num
|
||||
</update>
|
||||
|
||||
<update id="updateRepairedNumTwoAndStatus">
|
||||
update repair_apply_details
|
||||
set repaired_num = #{repairNum},
|
||||
status = #{status},
|
||||
update_by = #{userId},
|
||||
update_time = now()
|
||||
set repaired_num = #{repairNum},status = #{status},update_by = #{userId},update_time = now()
|
||||
where id = #{id}
|
||||
and (ifnull(repaired_num,0) + #{repairNum}) <= repair_num
|
||||
</update>
|
||||
|
||||
<update id="updateScrapNum">
|
||||
|
|
|
|||
Loading…
Reference in New Issue