Merge branch 'branch_basic'
This commit is contained in:
commit
632947357e
|
|
@ -102,24 +102,8 @@ public class MaterialConstants {
|
|||
public static final Integer NINE_CONSTANT = 9;
|
||||
|
||||
/**
|
||||
* 已全部入库
|
||||
* 未完成
|
||||
*/
|
||||
public static final Integer INVENTORY = 4;
|
||||
|
||||
/**
|
||||
* 部分已入库
|
||||
*/
|
||||
public static final Integer PARTIALLY_WAREHOUSED = 9;
|
||||
|
||||
/**
|
||||
* 入库审核中
|
||||
*/
|
||||
public static final Integer INBOUND_AUDIT = 5;
|
||||
|
||||
/**
|
||||
* 入库审核未通过
|
||||
*/
|
||||
public static final Integer PURCHASE_STORAGE_NO_PASSED = 7;
|
||||
|
||||
public static final Integer TEN_CONSTANT = 10;
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -89,7 +89,7 @@ public class PurchaseBindController extends BaseController {
|
|||
@ApiOperation(value = "二维码生成下载")
|
||||
@PostMapping(value = "/downloadQrCode")
|
||||
@PreventRepeatSubmit
|
||||
//@RequiresPermissions("purchase:bind:download")
|
||||
@RequiresPermissions("purchase:bind:download")
|
||||
public void downloadQrCode(HttpServletResponse response, PurchaseDto purchaseDto) {
|
||||
purchaseBindService.downloadQrCode(response, purchaseDto);
|
||||
}
|
||||
|
|
@ -100,7 +100,7 @@ public class PurchaseBindController extends BaseController {
|
|||
* @return
|
||||
*/
|
||||
@ApiOperation(value = "驳回或批量驳回操作")
|
||||
@com.bonus.material.common.annotation.PreventRepeatSubmit
|
||||
@PreventRepeatSubmit
|
||||
@RequiresPermissions("purchase:bind:reject")
|
||||
@PostMapping("/reject")
|
||||
public AjaxResult reject(@RequestBody PurchaseDto dto) {
|
||||
|
|
|
|||
|
|
@ -44,16 +44,6 @@ public class PurchaseStorageController extends BaseController {
|
|||
return getDataTable(list);
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取新购验收入库详细信息
|
||||
*/
|
||||
@ApiOperation(value = "获取新购验收入库详细信息")
|
||||
@RequiresPermissions("purchase:storage:query")
|
||||
@GetMapping(value = "/{id}")
|
||||
public AjaxResult getInfo(@PathVariable("id") Long id) {
|
||||
return AjaxResult.success(purchaseStorageService.selectPurchaseCheckInfoById(id));
|
||||
}
|
||||
|
||||
/**
|
||||
* 获取新购入库二级明细列表
|
||||
* @param
|
||||
|
|
|
|||
|
|
@ -80,4 +80,12 @@ public interface PurchaseBindMapper {
|
|||
* @param purchaseId
|
||||
*/
|
||||
void updateStatusById(@Param("updatedStatus") Integer updatedStatus, @Param("id") String purchaseId);
|
||||
|
||||
/**
|
||||
* 更新数量
|
||||
* @param dto
|
||||
* @param num
|
||||
* @return
|
||||
*/
|
||||
int updateNum(@Param("dto") PurchaseDto dto, @Param("num") int num);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -20,13 +20,6 @@ public interface PurchaseStorageMapper {
|
|||
*/
|
||||
List<PurchaseVo> selectAll(PurchaseDto dto);
|
||||
|
||||
/**
|
||||
* 根据id查询详情
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
List<PurchaseVo> selectPurchaseCheckInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 查询详情
|
||||
* @param dto
|
||||
|
|
@ -40,7 +33,7 @@ public interface PurchaseStorageMapper {
|
|||
* @param bindNum
|
||||
* @return
|
||||
*/
|
||||
int updateNum(@Param("id") String purchaseId, @Param("purchaseNum") Integer bindNum);
|
||||
int updateNum(@Param("id") String purchaseId, @Param("bindNum") Integer bindNum);
|
||||
|
||||
/**
|
||||
* 更新状态
|
||||
|
|
|
|||
|
|
@ -20,13 +20,6 @@ public interface IPurchaseStorageService {
|
|||
*/
|
||||
List<PurchaseVo> selectAll(PurchaseDto dto);
|
||||
|
||||
/**
|
||||
* 根据id查询
|
||||
* @param id
|
||||
* @return
|
||||
*/
|
||||
List<PurchaseVo> selectPurchaseCheckInfoById(Long id);
|
||||
|
||||
/**
|
||||
* 查询二级明细
|
||||
* @param dto
|
||||
|
|
|
|||
|
|
@ -5,23 +5,20 @@ import com.bonus.common.biz.config.DateTimeHelper;
|
|||
import com.bonus.common.biz.config.QrCodeUtils;
|
||||
import com.bonus.common.biz.constant.MaterialConstants;
|
||||
import com.bonus.common.biz.enums.HttpCodeEnum;
|
||||
import com.bonus.common.core.constant.SecurityConstants;
|
||||
import com.bonus.common.core.utils.DateUtils;
|
||||
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.material.purchase.dto.PurchaseDto;
|
||||
import com.bonus.material.purchase.mapper.PurchaseBindMapper;
|
||||
import com.bonus.material.purchase.service.IPurchaseBindService;
|
||||
import com.bonus.material.purchase.vo.PurchaseVo;
|
||||
import com.bonus.material.task.mapper.TmTaskMapper;
|
||||
import com.bonus.system.api.RemoteUserService;
|
||||
import com.bonus.system.api.domain.SysUser;
|
||||
import com.fasterxml.jackson.databind.DeserializationFeature;
|
||||
import com.fasterxml.jackson.databind.ObjectMapper;
|
||||
import com.google.zxing.WriterException;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
import org.apache.commons.collections4.CollectionUtils;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import javax.servlet.http.HttpServletResponse;
|
||||
|
|
@ -43,10 +40,11 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
|||
private PurchaseBindMapper purchaseBindMapper;
|
||||
|
||||
@Resource
|
||||
private RemoteUserService remoteUserService;
|
||||
private TmTaskMapper tmTaskMapper;
|
||||
|
||||
@Resource
|
||||
private TmTaskMapper tmTaskMapper;
|
||||
private RemoteConfig remoteConfig;
|
||||
|
||||
|
||||
/**
|
||||
* 查询所有绑定信息
|
||||
|
|
@ -86,21 +84,10 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
|||
*/
|
||||
private void extracted(List<PurchaseVo> list) {
|
||||
for (PurchaseVo purchaseVo : list) {
|
||||
try {
|
||||
AjaxResult ajaxResult = remoteUserService.getInfo(Long.parseLong(purchaseVo.getCreateBy()), SecurityConstants.INNER);
|
||||
if (ajaxResult.isSuccess()) {
|
||||
// ajaxResult.get("data") 返回的是 LinkedHashMap
|
||||
LinkedHashMap<String, Object> rawDataList = (LinkedHashMap<String, Object>) ajaxResult.get("data");
|
||||
ObjectMapper objectMapper = new ObjectMapper();
|
||||
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);
|
||||
if (rawDataList != null) {
|
||||
SysUser sysUser = objectMapper.convertValue(rawDataList, SysUser.class);
|
||||
purchaseVo.setCreateBy(sysUser.getNickName() == null ? "" : sysUser.getNickName());
|
||||
}
|
||||
}
|
||||
} catch (IllegalArgumentException e) {
|
||||
log.error("远程调用查询失败:", e.getMessage());
|
||||
}
|
||||
String userName = remoteConfig.getUserName(purchaseVo.getCreateBy());
|
||||
purchaseVo.setCreateBy(userName == null ? "" : userName);
|
||||
String dictValue = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString());
|
||||
purchaseVo.setStatusName(dictValue == null ? "" : dictValue);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -126,7 +113,14 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
|||
*/
|
||||
@Override
|
||||
public List<PurchaseVo> getDetails(PurchaseDto dto) {
|
||||
return purchaseBindMapper.getDetails(dto);
|
||||
List<PurchaseVo> list = purchaseBindMapper.getDetails(dto);
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
for (PurchaseVo purchaseVo : list) {
|
||||
String name = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString());
|
||||
purchaseVo.setStatusName(name == null ? "" : name);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -135,6 +129,7 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
|||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult bind(PurchaseDto dto) {
|
||||
//先查询提交的编码中是否存在重复提交
|
||||
long distinctCodes = dto.getDtoList().stream().map(PurchaseDto::getMaCode).distinct().count();
|
||||
|
|
@ -154,14 +149,58 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
|||
purchaseDto.setCreateTime(DateUtils.getNowDate());
|
||||
purchaseDto.setTaskId(dto.getTaskId());
|
||||
purchaseDto.setTypeId(dto.getTypeId());
|
||||
purchaseDto.setStatus(0);
|
||||
result += purchaseBindMapper.add(purchaseDto);
|
||||
}
|
||||
//根据前端传参更新绑定数量
|
||||
result += purchaseBindMapper.updateNum(dto, dto.getDtoList().size());
|
||||
//根据任务id和类型id查询状态
|
||||
List<PurchaseVo> voList = purchaseBindMapper.selectPurchaseCheckInfoById(dto);
|
||||
if (CollectionUtils.isNotEmpty(voList)) {
|
||||
for (PurchaseVo purchaseVo : voList) {
|
||||
if (purchaseVo.getBindNum().equals(purchaseVo.getCheckNum())) {
|
||||
purchaseBindMapper.updateStatusById(MaterialConstants.FOUR_CONSTANT, purchaseVo.getPurchaseId());
|
||||
}
|
||||
if (purchaseVo.getBindNum() < purchaseVo.getCheckNum()) {
|
||||
purchaseBindMapper.updateStatusById(MaterialConstants.THREE_CONSTANT, purchaseVo.getPurchaseId());
|
||||
}
|
||||
}
|
||||
}
|
||||
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());
|
||||
}
|
||||
|
||||
/**
|
||||
* 提取状态更新逻辑到一个方法
|
||||
* @param taskId
|
||||
* @param statusList
|
||||
* @return
|
||||
*/
|
||||
private int updateTaskStatus(Integer taskId, List<Integer> statusList) {
|
||||
if (statusList.contains(MaterialConstants.EIGHT_CONSTANT) ||
|
||||
statusList.contains(MaterialConstants.THREE_CONSTANT)) {
|
||||
return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString());
|
||||
} else if (!statusList.contains(MaterialConstants.EIGHT_CONSTANT) &&
|
||||
!statusList.contains(MaterialConstants.THREE_CONSTANT) &&
|
||||
statusList.contains(MaterialConstants.FOUR_CONSTANT)) {
|
||||
return tmTaskMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, taskId.toString());
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* 下载二维码
|
||||
* @param response
|
||||
|
|
@ -196,19 +235,22 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
|||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult reject(PurchaseDto dto) {
|
||||
//一级页面驳回
|
||||
int result = 0;
|
||||
if (dto.getTaskId() != null) {
|
||||
//根据任务id查询详细信息
|
||||
List<PurchaseVo> list = purchaseBindMapper.selectPurchaseCheckInfoById(dto);
|
||||
List<PurchaseVo> list = purchaseBindMapper.getDetails(dto);
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
for (PurchaseVo purchaseVo : list) {
|
||||
//更新状态为已驳回
|
||||
purchaseBindMapper.updateStatusById(MaterialConstants.SEVEN_CONSTANT, purchaseVo.getPurchaseId());
|
||||
if (purchaseVo.getStatus().equals(MaterialConstants.THREE_CONSTANT) || purchaseVo.getStatus().equals(MaterialConstants.SEVEN_CONSTANT)) {
|
||||
purchaseBindMapper.updateStatusById(MaterialConstants.SEVEN_CONSTANT, purchaseVo.getPurchaseId());
|
||||
}
|
||||
}
|
||||
}
|
||||
result += tmTaskMapper.updateStatusById(MaterialConstants.SEVEN_CONSTANT, dto.getTaskId());
|
||||
result += tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, dto.getTaskId());
|
||||
}
|
||||
//二级页面驳回
|
||||
if (dto.getPurchaseId() != null) {
|
||||
|
|
@ -219,11 +261,12 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
|||
for (String id : idList) {
|
||||
//根据二级页面驳回状态更新任务状态
|
||||
dto.setPurchaseId(id);
|
||||
List<PurchaseVo> list = purchaseBindMapper.selectPurchaseCheckInfoById(dto);
|
||||
List<PurchaseVo> list = purchaseBindMapper.getDetails(dto);
|
||||
if (CollectionUtils.isNotEmpty(list)) {
|
||||
for (PurchaseVo purchaseVo : list) {
|
||||
dto.setTaskId(purchaseVo.getTaskId().toString());
|
||||
List<PurchaseVo> voList = purchaseBindMapper.selectPurchaseCheckInfoById(dto);
|
||||
PurchaseDto purchaseDto = new PurchaseDto();
|
||||
purchaseDto.setTaskId(purchaseVo.getTaskId().toString());
|
||||
List<PurchaseVo> voList = purchaseBindMapper.getDetails(purchaseDto);
|
||||
result = getResult(result, voList);
|
||||
}
|
||||
}
|
||||
|
|
@ -251,11 +294,11 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
|||
.mapToInt(entry -> {
|
||||
Integer taskId = entry.getKey();
|
||||
List<Integer> statusList = entry.getValue();
|
||||
if (statusList.contains(MaterialConstants.INBOUND_AUDIT) || statusList.contains(MaterialConstants.PURCHASE_STORAGE_NO_PASSED)) {
|
||||
return tmTaskMapper.updateStatusById(MaterialConstants.NINE_CONSTANT, taskId.toString());
|
||||
} else if (!statusList.contains(MaterialConstants.INBOUND_AUDIT) && !statusList.contains(MaterialConstants.PURCHASE_STORAGE_NO_PASSED)
|
||||
&& !statusList.contains(MaterialConstants.PARTIALLY_WAREHOUSED) && statusList.contains(MaterialConstants.INVENTORY)) {
|
||||
return tmTaskMapper.updateStatusById(MaterialConstants.FOUR_CONSTANT, taskId.toString());
|
||||
if (statusList.contains(MaterialConstants.SEVEN_CONSTANT) || statusList.contains(MaterialConstants.THREE_CONSTANT)) {
|
||||
return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, taskId.toString());
|
||||
} else if (!statusList.contains(MaterialConstants.SEVEN_CONSTANT) && !statusList.contains(MaterialConstants.THREE_CONSTANT)
|
||||
&& statusList.contains(MaterialConstants.FOUR_CONSTANT)) {
|
||||
return tmTaskMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, taskId.toString());
|
||||
}
|
||||
return 0;
|
||||
}).sum();
|
||||
|
|
|
|||
|
|
@ -5,12 +5,15 @@ import com.bonus.common.biz.constant.MaterialConstants;
|
|||
import com.bonus.common.biz.enums.HttpCodeEnum;
|
||||
import com.bonus.common.core.web.domain.AjaxResult;
|
||||
import com.bonus.material.ma.mapper.MachineMapper;
|
||||
import com.bonus.material.purchase.config.RemoteConfig;
|
||||
import com.bonus.material.purchase.dto.PurchaseDto;
|
||||
import com.bonus.material.purchase.mapper.PurchaseBindMapper;
|
||||
import com.bonus.material.purchase.mapper.PurchaseStorageMapper;
|
||||
import com.bonus.material.purchase.service.IPurchaseStorageService;
|
||||
import com.bonus.material.purchase.vo.PurchaseVo;
|
||||
import com.bonus.material.task.mapper.TmTaskMapper;
|
||||
import org.springframework.stereotype.Service;
|
||||
import org.springframework.transaction.annotation.Transactional;
|
||||
|
||||
import javax.annotation.Resource;
|
||||
import java.util.Arrays;
|
||||
|
|
@ -35,9 +38,15 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
@Resource
|
||||
private MachineMapper machineMapper;
|
||||
|
||||
@Resource
|
||||
private PurchaseBindMapper purchaseBindMapper;
|
||||
|
||||
@Resource
|
||||
private TmTaskMapper tmTaskMapper;
|
||||
|
||||
@Resource
|
||||
private RemoteConfig remoteConfig;
|
||||
|
||||
/**
|
||||
* 查询所有
|
||||
* @param dto
|
||||
|
|
@ -46,17 +55,21 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
@Override
|
||||
public List<PurchaseVo> selectAll(PurchaseDto dto) {
|
||||
List<PurchaseVo> list = purchaseStorageMapper.selectAll(dto);
|
||||
extracted(list);
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
* 根据id查询详情
|
||||
* @param id
|
||||
* @return
|
||||
* 远程调用方法抽取
|
||||
* @param list
|
||||
*/
|
||||
@Override
|
||||
public List<PurchaseVo> selectPurchaseCheckInfoById(Long id) {
|
||||
return purchaseStorageMapper.selectPurchaseCheckInfoById(id);
|
||||
private void extracted(List<PurchaseVo> list) {
|
||||
for (PurchaseVo purchaseVo : list) {
|
||||
String userName = remoteConfig.getUserName(purchaseVo.getCreateBy());
|
||||
purchaseVo.setCreateBy(userName == null ? "" : userName);
|
||||
String dictValue = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString());
|
||||
purchaseVo.setStatusName(dictValue == null ? "" : dictValue);
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -66,7 +79,14 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
*/
|
||||
@Override
|
||||
public List<PurchaseVo> getDetails(PurchaseDto dto) {
|
||||
return purchaseStorageMapper.getDetails(dto);
|
||||
List<PurchaseVo> list = purchaseBindMapper.getDetails(dto);
|
||||
if (org.apache.commons.collections4.CollectionUtils.isNotEmpty(list)) {
|
||||
for (PurchaseVo purchaseVo : list) {
|
||||
String name = remoteConfig.getDictValue("purchase_task_status", purchaseVo.getStatus().toString());
|
||||
purchaseVo.setStatusName(name == null ? "" : name);
|
||||
}
|
||||
}
|
||||
return list;
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -75,6 +95,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult warehouse(PurchaseDto dto) {
|
||||
if (dto.getTaskId() != null) {
|
||||
//外层入库
|
||||
|
|
@ -92,6 +113,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
* @return
|
||||
*/
|
||||
@Override
|
||||
@Transactional(rollbackFor = Exception.class)
|
||||
public AjaxResult reject(PurchaseDto dto) {
|
||||
if (dto.getTaskId() != null) {
|
||||
//外层驳回
|
||||
|
|
@ -109,10 +131,10 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
* @return
|
||||
*/
|
||||
private AjaxResult rejectByPurchaseIds(PurchaseDto purchaseDto) {
|
||||
purchaseDto.setStatus(MaterialConstants.PURCHASE_STORAGE_NO_PASSED);
|
||||
purchaseDto.setStatus(MaterialConstants.EIGHT_CONSTANT);
|
||||
int result = 0;
|
||||
try {
|
||||
List<PurchaseVo> details = purchaseStorageMapper.getDetails(purchaseDto);
|
||||
List<PurchaseVo> details = purchaseBindMapper.getDetails(purchaseDto);
|
||||
if (CollectionUtils.isNotEmpty(details)) {
|
||||
result += updateRejectAndStatus(Integer.parseInt(purchaseDto.getPurchaseId()));
|
||||
List<PurchaseVo> statusList = purchaseStorageMapper.select(details.get(0).getTaskId().toString());
|
||||
|
|
@ -133,7 +155,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
* @return
|
||||
*/
|
||||
private int updateRejectAndStatus(int purchaseId) {
|
||||
return purchaseStorageMapper.updateStatusById(MaterialConstants.PURCHASE_STORAGE_NO_PASSED, purchaseId);
|
||||
return purchaseStorageMapper.updateStatusById(MaterialConstants.EIGHT_CONSTANT, purchaseId);
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
@ -148,11 +170,13 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
for (Integer taskId : taskIdList) {
|
||||
dto.setTaskId(String.valueOf(taskId));
|
||||
List<PurchaseVo> details;
|
||||
details = purchaseStorageMapper.getDetails(dto);
|
||||
details = purchaseBindMapper.getDetails(dto);
|
||||
for (PurchaseVo purchaseVo : details) {
|
||||
result += purchaseStorageMapper.updateStatusById(MaterialConstants.PURCHASE_STORAGE_NO_PASSED, Integer.parseInt(purchaseVo.getPurchaseId()));
|
||||
if (purchaseVo.getStatus().equals(MaterialConstants.EIGHT_CONSTANT) || purchaseVo.getStatus().equals(MaterialConstants.FOUR_CONSTANT)) {
|
||||
result += purchaseStorageMapper.updateStatusById(MaterialConstants.EIGHT_CONSTANT, Integer.parseInt(purchaseVo.getPurchaseId()));
|
||||
}
|
||||
}
|
||||
details = purchaseStorageMapper.getDetails(dto);
|
||||
details = purchaseBindMapper.getDetails(dto);
|
||||
result += updateTaskStatus(details);
|
||||
}
|
||||
if (result > 0) {
|
||||
|
|
@ -170,10 +194,10 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
* @return
|
||||
*/
|
||||
private AjaxResult processByPurchaseIds(PurchaseDto purchaseDto) {
|
||||
purchaseDto.setStatus(MaterialConstants.INVENTORY);
|
||||
purchaseDto.setStatus(MaterialConstants.FIVE_CONSTANT);
|
||||
int result = 0;
|
||||
try {
|
||||
List<PurchaseVo> details = purchaseStorageMapper.getDetails(purchaseDto);
|
||||
List<PurchaseVo> details = purchaseBindMapper.getDetails(purchaseDto);
|
||||
if (CollectionUtils.isNotEmpty(details)) {
|
||||
result += updatePurchaseInfoAndDetails(details.get(0), Integer.parseInt(purchaseDto.getPurchaseId()));
|
||||
List<PurchaseVo> statusList = purchaseStorageMapper.select(details.get(0).getTaskId().toString());
|
||||
|
|
@ -195,7 +219,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
* @return
|
||||
*/
|
||||
private int updatePurchaseInfoAndDetails(PurchaseVo detail, int purchaseId) {
|
||||
int result = purchaseStorageMapper.updateStatusById(MaterialConstants.INVENTORY, purchaseId);
|
||||
int result = purchaseStorageMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, purchaseId);
|
||||
if (ZERO_CONSTANT.equals(detail.getManageType())) {
|
||||
result += purchaseStorageMapper.insertMachine(detail);
|
||||
} else if (ONE_CONSTANT.equals(detail.getManageType())) {
|
||||
|
|
@ -216,9 +240,9 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
for (Integer taskId : taskIdList) {
|
||||
dto.setTaskId(String.valueOf(taskId));
|
||||
List<PurchaseVo> details;
|
||||
details = purchaseStorageMapper.getDetails(dto);
|
||||
details = purchaseBindMapper.getDetails(dto);
|
||||
result += updateDetailsAndStatus(details);
|
||||
details = purchaseStorageMapper.getDetails(dto);
|
||||
details = purchaseBindMapper.getDetails(dto);
|
||||
result += updateTaskStatus(details);
|
||||
}
|
||||
if (result > 0) {
|
||||
|
|
@ -239,7 +263,7 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
return details.stream()
|
||||
.mapToInt(detail -> {
|
||||
int result = purchaseStorageMapper.updateNum(detail.getPurchaseId(), detail.getBindNum());
|
||||
result += purchaseStorageMapper.updateStatusById(MaterialConstants.INVENTORY, Integer.parseInt(detail.getPurchaseId()));
|
||||
result += purchaseStorageMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, Integer.parseInt(detail.getPurchaseId()));
|
||||
if (ZERO_CONSTANT.equals(detail.getManageType())) {
|
||||
result += purchaseStorageMapper.insertMachine(detail);
|
||||
} else if (ONE_CONSTANT.equals(detail.getManageType())) {
|
||||
|
|
@ -265,11 +289,11 @@ public class PurchaseStorageServiceImpl implements IPurchaseStorageService {
|
|||
.mapToInt(entry -> {
|
||||
Integer id = entry.getKey();
|
||||
List<Integer> statusList = entry.getValue();
|
||||
if (statusList.contains(MaterialConstants.INBOUND_AUDIT) || statusList.contains(MaterialConstants.PURCHASE_STORAGE_NO_PASSED)) {
|
||||
return tmTaskMapper.updateStatusById(MaterialConstants.NINE_CONSTANT, id.toString());
|
||||
} else if (!statusList.contains(MaterialConstants.INBOUND_AUDIT) && !statusList.contains(MaterialConstants.PURCHASE_STORAGE_NO_PASSED)
|
||||
&& !statusList.contains(MaterialConstants.PARTIALLY_WAREHOUSED) && statusList.contains(MaterialConstants.INVENTORY)) {
|
||||
return tmTaskMapper.updateStatusById(MaterialConstants.FOUR_CONSTANT, id.toString());
|
||||
if (statusList.contains(MaterialConstants.FOUR_CONSTANT) || statusList.contains(MaterialConstants.EIGHT_CONSTANT)) {
|
||||
return tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, id.toString());
|
||||
} else if (!statusList.contains(MaterialConstants.FOUR_CONSTANT) && !statusList.contains(MaterialConstants.EIGHT_CONSTANT)
|
||||
&& statusList.contains(MaterialConstants.FIVE_CONSTANT)) {
|
||||
return tmTaskMapper.updateStatusById(MaterialConstants.FIVE_CONSTANT, id.toString());
|
||||
}
|
||||
return 0;
|
||||
}).sum();
|
||||
|
|
|
|||
|
|
@ -88,9 +88,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
|
||||
<update id="updateNum">
|
||||
UPDATE purchase_check_details
|
||||
SET input_num = #{purchaseNum}
|
||||
WHERE
|
||||
id = #{id}
|
||||
SET bind_num = bind_num + COALESCE(#{num}, 0)
|
||||
WHERE task_id = #{dto.taskId}
|
||||
AND type_id = #{dto.typeId}
|
||||
AND #{num} IS NOT NULL
|
||||
</update>
|
||||
|
||||
<update id="updateStatusById">
|
||||
|
|
@ -171,10 +172,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
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
|
||||
purchase_macode_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
|
||||
|
|
@ -245,7 +250,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
FROM
|
||||
purchase_macode_info
|
||||
WHERE
|
||||
DATE_FORMAT(create_time, '%Y-%m') = #{genMonth}
|
||||
DATE_FORMAT(create_time, '%Y-%m') = #{genMonth} and ma_code is null
|
||||
ORDER BY
|
||||
qr_code DESC
|
||||
</select>
|
||||
|
|
|
|||
|
|
@ -5,12 +5,66 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<mapper namespace="com.bonus.material.purchase.mapper.PurchaseStorageMapper">
|
||||
|
||||
<insert id="insertMachine">
|
||||
|
||||
insert into ma_machine
|
||||
<trim prefix="(" suffix=")" suffixOverrides=",">
|
||||
<if test="typeId != null">type_id,</if>
|
||||
<if test="maCode != null">ma_code,</if>
|
||||
<if test="preCode != null">pre_code,</if>
|
||||
<if test="maStatus != null">ma_status,</if>
|
||||
<if test="qrCode != null">qr_code,</if>
|
||||
<if test="buyPrice != null">buy_price,</if>
|
||||
<if test="maVender != null">ma_vender,</if>
|
||||
<if test="outFacTime != null">out_fac_time,</if>
|
||||
<if test="outFacCode != null">out_fac_code,</if>
|
||||
<if test="assetsCode != null">assets_code,</if>
|
||||
<if test="checkMan != null">check_man,</if>
|
||||
<if test="thisCheckTime != null">this_check_time,</if>
|
||||
<if test="nextCheckTime != null">next_check_time,</if>
|
||||
<if test="gpsCode != null">gps_code,</if>
|
||||
<if test="rfidCode != null">rfid_code,</if>
|
||||
<if test="erpCode != null">erp_code,</if>
|
||||
<if test="transferCode != null">transfer_code,</if>
|
||||
<if test="inOutNum != null">in_out_num,</if>
|
||||
<if test="buyTask != null">buy_task,</if>
|
||||
<if test="ownHouse != null">own_house,</if>
|
||||
<if test="companyId != null">company_id,</if>
|
||||
create_time,
|
||||
<if test="inspectMan != null">inspect_man,</if>
|
||||
<if test="inspectStatus != null">inspect_status,</if>
|
||||
<if test="phone != null">phone,</if>
|
||||
</trim>
|
||||
<trim prefix="values (" suffix=")" suffixOverrides=",">
|
||||
<if test="typeId != null">#{typeId},</if>
|
||||
<if test="maCode != null">#{maCode},</if>
|
||||
<if test="preCode != null">#{preCode},</if>
|
||||
<if test="maStatus != null">#{maStatus},</if>
|
||||
<if test="qrCode != null">#{qrCode},</if>
|
||||
<if test="buyPrice != null">#{buyPrice},</if>
|
||||
<if test="maVender != null">#{maVender},</if>
|
||||
<if test="outFacTime != null">#{outFacTime},</if>
|
||||
<if test="outFacCode != null">#{outFacCode},</if>
|
||||
<if test="assetsCode != null">#{assetsCode},</if>
|
||||
<if test="checkMan != null">#{checkMan},</if>
|
||||
<if test="thisCheckTime != null">#{thisCheckTime},</if>
|
||||
<if test="nextCheckTime != null">#{nextCheckTime},</if>
|
||||
<if test="gpsCode != null">#{gpsCode},</if>
|
||||
<if test="rfidCode != null">#{rfidCode},</if>
|
||||
<if test="erpCode != null">#{erpCode},</if>
|
||||
<if test="transferCode != null">#{transferCode},</if>
|
||||
<if test="inOutNum != null">#{inOutNum},</if>
|
||||
<if test="buyTask != null">#{buyTask},</if>
|
||||
<if test="ownHouse != null">#{ownHouse},</if>
|
||||
<if test="companyId != null">#{companyId},</if>
|
||||
now(),
|
||||
<if test="inspectMan != null">#{inspectMan},</if>
|
||||
<if test="inspectStatus != null">#{inspectStatus},</if>
|
||||
<if test="phone != null">#{phone},</if>
|
||||
</trim>
|
||||
</insert>
|
||||
|
||||
<update id="updateNum">
|
||||
UPDATE purchase_check_details
|
||||
SET input_num = #{purchaseNum},
|
||||
SET input_num = #{bindNum},
|
||||
input_time = now()
|
||||
WHERE
|
||||
id = #{id}
|
||||
|
|
@ -66,29 +120,6 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
pci.arrival_time DESC
|
||||
</select>
|
||||
|
||||
<select id="selectPurchaseCheckInfoById" resultType="com.bonus.material.purchase.vo.PurchaseVo">
|
||||
SELECT
|
||||
pci.task_id as taskId,
|
||||
mt1.type_name AS materialName,
|
||||
mt.type_name AS materialModel,
|
||||
pcd.check_num AS purchaseNum,
|
||||
pcd.check_num AS checkNum,
|
||||
pcd.bind_num AS bindNum,
|
||||
mt.unit_name AS unitName,
|
||||
pcd.type_id as typeId,
|
||||
ms.supplier AS supplierName,
|
||||
pcd.production_time AS productDate,
|
||||
mt.manage_type as manageType,
|
||||
pcd.`status` as STATUS
|
||||
FROM
|
||||
purchase_check_info pci
|
||||
LEFT JOIN tm_task tt ON pci.task_id = tt.task_id
|
||||
LEFT JOIN purchase_check_details pcd ON pci.task_id = pcd.task_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 ma_supplier_info ms ON pcd.supplier_id = ms.supplier_id
|
||||
where pci.task_id = #{id}
|
||||
</select>
|
||||
|
||||
<select id="getDetails" resultType="com.bonus.material.purchase.vo.PurchaseVo">
|
||||
SELECT
|
||||
|
|
@ -128,6 +159,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
<if test="purchaseId != null">
|
||||
AND pcd.id = #{purchaseId}
|
||||
</if>
|
||||
GROUP BY
|
||||
pcd.type_id
|
||||
</select>
|
||||
|
||||
<select id="select" resultType="com.bonus.material.purchase.vo.PurchaseVo">
|
||||
|
|
|
|||
|
|
@ -86,7 +86,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
|||
</update>
|
||||
|
||||
<update id="updateStatusById">
|
||||
update tm_task set status = #{updatedStatus} where id = #{id}
|
||||
update tm_task set task_status = #{updatedStatus} where task_id = #{id}
|
||||
</update>
|
||||
|
||||
<delete id="deleteTmTaskByTaskId" parameterType="Long">
|
||||
|
|
|
|||
Loading…
Reference in New Issue