新购验收绑定修改
This commit is contained in:
parent
022052d82b
commit
3fa849fa98
|
|
@ -15,10 +15,11 @@ public enum PurchaseTaskStatusEnum {
|
||||||
TO_CHECK(2, "待验收", PurchaseTaskStageEnum.CHECK.getCode()),
|
TO_CHECK(2, "待验收", PurchaseTaskStageEnum.CHECK.getCode()),
|
||||||
TO_BIND(3, "待绑定", PurchaseTaskStageEnum.BIND.getCode()),
|
TO_BIND(3, "待绑定", PurchaseTaskStageEnum.BIND.getCode()),
|
||||||
TO_STORE(4, "待入库", PurchaseTaskStageEnum.STORE.getCode()),
|
TO_STORE(4, "待入库", PurchaseTaskStageEnum.STORE.getCode()),
|
||||||
TO_CHECK_AFTER_REJECT(12, "待验收(驳回后)", PurchaseTaskStageEnum.CHECK.getCode()),
|
TO_CHECK_AFTER_REJECT(12, "验收(被驳回)", PurchaseTaskStageEnum.MANAGE.getCode()),
|
||||||
TO_BIND_AFTER_REJECT(13, "待绑定(驳回后)", PurchaseTaskStageEnum.BIND.getCode()),
|
TO_BIND_AFTER_REJECT(13, "绑定(被驳回)", PurchaseTaskStageEnum.CHECK.getCode()),
|
||||||
TO_STORE_AFTER_REJECT(14, "待入库(驳回后)", PurchaseTaskStageEnum.STORE.getCode()),
|
TO_STORE_AFTER_REJECT(14, "入库(被驳回)", PurchaseTaskStageEnum.BIND.getCode()),
|
||||||
IN_STORE(19, "已入库", PurchaseTaskStageEnum.STORE.getCode()),
|
IN_STORE(19, "已入库", PurchaseTaskStageEnum.STORE.getCode()),
|
||||||
|
|
||||||
TASK_IN_PROGRESS(21, "入库进行中", PurchaseTaskStageEnum.STORE.getCode()),
|
TASK_IN_PROGRESS(21, "入库进行中", PurchaseTaskStageEnum.STORE.getCode()),
|
||||||
TASK_FINISHED(22, "入库已完成", PurchaseTaskStageEnum.STORE.getCode());
|
TASK_FINISHED(22, "入库已完成", PurchaseTaskStageEnum.STORE.getCode());
|
||||||
|
|
||||||
|
|
@ -34,26 +35,32 @@ public enum PurchaseTaskStatusEnum {
|
||||||
}
|
}
|
||||||
|
|
||||||
// 判断任务状态是否为此阶段所属状态
|
// 判断任务状态是否为此阶段所属状态
|
||||||
public static boolean isStatusOfStage(Integer status, PurchaseTaskStageEnum stageEnum) {
|
public static boolean isStatusOfStage(Integer status, PurchaseTaskStageEnum stageEnum, Integer manageType) {
|
||||||
PurchaseTaskStatusEnum findEnum = null;
|
if (status == null || stageEnum == null || manageType == null) {
|
||||||
for (PurchaseTaskStatusEnum statusEnum : values()) {
|
return true;
|
||||||
if (statusEnum.status.equals(status)) {
|
|
||||||
findEnum = statusEnum;
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (findEnum == null || stageEnum == null) {
|
PurchaseTaskStatusEnum findEnum = PurchaseTaskStatusEnum.getByStatus(status);
|
||||||
|
|
||||||
|
if (findEnum == null) {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
}
|
||||||
|
|
||||||
// 如果是最后的入库完成状态,那么说明流程已走完,不需要再对比状态了
|
// 如果是最后的入库完成状态,那么说明流程已走完,不需要再对比状态了
|
||||||
if (Objects.equals(findEnum.getStatus(), TASK_FINISHED.getStatus()) || Objects.equals(findEnum.getStatus(), IN_STORE.getStatus())) {
|
if (Objects.equals(findEnum.getStatus(), TASK_FINISHED.getStatus()) || Objects.equals(findEnum.getStatus(), IN_STORE.getStatus())) {
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
return findEnum.getStage().equals(stageEnum.getCode());
|
|
||||||
|
// 如果是验收阶段, 并且是数量管理的物资,那么入库被驳回的也要判断为未完成,因为计数管理不需要绑定,直接从验收到入库
|
||||||
|
if (stageEnum == PurchaseTaskStageEnum.CHECK) {
|
||||||
|
if (Objects.equals(findEnum, PurchaseTaskStatusEnum.TO_STORE_AFTER_REJECT) && Objects.equals(manageType, 1)) {
|
||||||
|
return true;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
return findEnum.getStage().equals(stageEnum.getCode());
|
||||||
|
}
|
||||||
|
|
||||||
public static PurchaseTaskStatusEnum getByStatus(Integer status) {
|
public static PurchaseTaskStatusEnum getByStatus(Integer status) {
|
||||||
for (PurchaseTaskStatusEnum statusEnum : values()) {
|
for (PurchaseTaskStatusEnum statusEnum : values()) {
|
||||||
if (statusEnum.status.equals(status)) {
|
if (statusEnum.status.equals(status)) {
|
||||||
|
|
|
||||||
|
|
@ -64,6 +64,13 @@ public interface MachineMapper
|
||||||
*/
|
*/
|
||||||
int deleteMachineByMaId(Long maId);
|
int deleteMachineByMaId(Long maId);
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 根据maCode,typeId 删除机具设备
|
||||||
|
*
|
||||||
|
* @return 结果
|
||||||
|
*/
|
||||||
|
int deleteMachineByMaCodeAndTypeId(@Param("maCode") String maCode, @Param("typeId") Long typeId);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 批量删除机具设备管理
|
* 批量删除机具设备管理
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -17,6 +17,7 @@ import org.springframework.web.bind.annotation.*;
|
||||||
|
|
||||||
import javax.annotation.Resource;
|
import javax.annotation.Resource;
|
||||||
import javax.servlet.http.HttpServletResponse;
|
import javax.servlet.http.HttpServletResponse;
|
||||||
|
import javax.validation.constraints.NotNull;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -77,7 +78,7 @@ public class PurchaseBindController extends BaseController {
|
||||||
@PreventRepeatSubmit
|
@PreventRepeatSubmit
|
||||||
@RequiresPermissions("purchase:bind:reject")
|
@RequiresPermissions("purchase:bind:reject")
|
||||||
@PostMapping("/reject")
|
@PostMapping("/reject")
|
||||||
public AjaxResult reject(@RequestBody PurchaseDto dto) {
|
public AjaxResult reject(@RequestBody @NotNull(message = "参数不能为空") PurchaseDto dto) {
|
||||||
return purchaseBindService.reject(dto);
|
return purchaseBindService.reject(dto);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -89,7 +89,7 @@ public class PurchaseCheckInfoController extends BaseController {
|
||||||
//@RequiresPermissions("purchase:info:edit")
|
//@RequiresPermissions("purchase:info:edit")
|
||||||
@SysLog(title = "新购验收任务", businessType = OperaType.UPDATE, module = "物资新购->修改新购验收任务")
|
@SysLog(title = "新购验收任务", businessType = OperaType.UPDATE, module = "物资新购->修改新购验收任务")
|
||||||
@PutMapping
|
@PutMapping
|
||||||
public AjaxResult edit(@RequestBody PurchaseCheckDto purchaseCheckDto) {
|
public AjaxResult edit(@RequestBody @NotNull(message = "请求参数不能为空") @Valid PurchaseCheckDto purchaseCheckDto) {
|
||||||
try {
|
try {
|
||||||
return toAjax(purchaseCheckInfoService.updatePurchaseCheckInfo(purchaseCheckDto));
|
return toAjax(purchaseCheckInfoService.updatePurchaseCheckInfo(purchaseCheckDto));
|
||||||
} catch (Exception e) {
|
} catch (Exception e) {
|
||||||
|
|
|
||||||
|
|
@ -8,14 +8,7 @@ import com.bonus.material.common.annotation.PreventRepeatSubmit;
|
||||||
import io.swagger.annotations.Api;
|
import io.swagger.annotations.Api;
|
||||||
import io.swagger.annotations.ApiOperation;
|
import io.swagger.annotations.ApiOperation;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.web.bind.annotation.GetMapping;
|
import org.springframework.web.bind.annotation.*;
|
||||||
import org.springframework.web.bind.annotation.PostMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PutMapping;
|
|
||||||
import org.springframework.web.bind.annotation.DeleteMapping;
|
|
||||||
import org.springframework.web.bind.annotation.PathVariable;
|
|
||||||
import org.springframework.web.bind.annotation.RequestBody;
|
|
||||||
import org.springframework.web.bind.annotation.RequestMapping;
|
|
||||||
import org.springframework.web.bind.annotation.RestController;
|
|
||||||
import com.bonus.common.log.annotation.SysLog;
|
import com.bonus.common.log.annotation.SysLog;
|
||||||
import com.bonus.material.purchase.domain.PurchaseMacodeInfo;
|
import com.bonus.material.purchase.domain.PurchaseMacodeInfo;
|
||||||
import com.bonus.material.purchase.service.IPurchaseMacodeInfoService;
|
import com.bonus.material.purchase.service.IPurchaseMacodeInfoService;
|
||||||
|
|
@ -111,10 +104,10 @@ public class PurchaseMacodeInfoController extends BaseController {
|
||||||
*/
|
*/
|
||||||
@ApiOperation(value = "删除新购验收编号管理")
|
@ApiOperation(value = "删除新购验收编号管理")
|
||||||
@PreventRepeatSubmit
|
@PreventRepeatSubmit
|
||||||
@RequiresPermissions("purchase:info:remove")
|
// @RequiresPermissions("purchase:info:remove")
|
||||||
@SysLog(title = "新购验收编号管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除新购验收编号管理")
|
@SysLog(title = "新购验收编号管理", businessType = OperaType.DELETE, logType = 1,module = "仓储管理->删除新购验收编号管理")
|
||||||
@DeleteMapping("/{ids}")
|
@PostMapping("/un_bind")
|
||||||
public AjaxResult remove(@PathVariable Long[] ids) {
|
public AjaxResult unBind(@RequestBody List<Integer> ids) {
|
||||||
return toAjax(purchaseMacodeInfoService.deletePurchaseMacodeInfoByIds(ids));
|
return toAjax(purchaseMacodeInfoService.deletePurchaseMacodeInfoByIds(ids));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -69,7 +69,7 @@ public class PurchaseNoticePersonController extends BaseController {
|
||||||
@ApiOperation(value = "导出新购短信通知人员列表")
|
@ApiOperation(value = "导出新购短信通知人员列表")
|
||||||
@PreventRepeatSubmit
|
@PreventRepeatSubmit
|
||||||
@RequiresPermissions("purchase:person:notice")
|
@RequiresPermissions("purchase:person:notice")
|
||||||
@SysLog(title = "新购短信通知人员", businessType = OperaType.EXPORT, module = "物资新购->导出新购短信通知人员")
|
@SysLog(title = "新购短信管理", businessType = OperaType.EXPORT, module = "物资新购->导出新购短信通知人员")
|
||||||
@PostMapping("/export")
|
@PostMapping("/export")
|
||||||
public void export(HttpServletResponse response, PurchaseNoticePerson purchaseNoticePerson) {
|
public void export(HttpServletResponse response, PurchaseNoticePerson purchaseNoticePerson) {
|
||||||
List<PurchaseNoticePerson> list = purchaseNoticePersonService.selectPurchaseNoticePersonList(purchaseNoticePerson);
|
List<PurchaseNoticePerson> list = purchaseNoticePersonService.selectPurchaseNoticePersonList(purchaseNoticePerson);
|
||||||
|
|
@ -137,7 +137,7 @@ public class PurchaseNoticePersonController extends BaseController {
|
||||||
@ApiOperation(value = "修改新购短信通知人员")
|
@ApiOperation(value = "修改新购短信通知人员")
|
||||||
@PreventRepeatSubmit
|
@PreventRepeatSubmit
|
||||||
@RequiresPermissions("purchase:person:notice")
|
@RequiresPermissions("purchase:person:notice")
|
||||||
@SysLog(title = "新购短信通知人员", businessType = OperaType.UPDATE, module = "物资新购->修改新购短信通知人员")
|
@SysLog(title = "新购短信管理", businessType = OperaType.UPDATE, module = "物资新购->修改新购短信通知人员")
|
||||||
@PutMapping
|
@PutMapping
|
||||||
public AjaxResult edit(@RequestBody PurchaseNoticePerson purchaseNoticePerson) {
|
public AjaxResult edit(@RequestBody PurchaseNoticePerson purchaseNoticePerson) {
|
||||||
try {
|
try {
|
||||||
|
|
|
||||||
|
|
@ -12,6 +12,7 @@ import lombok.Data;
|
||||||
import lombok.EqualsAndHashCode;
|
import lombok.EqualsAndHashCode;
|
||||||
import lombok.ToString;
|
import lombok.ToString;
|
||||||
import com.bonus.common.core.web.domain.BaseEntity;
|
import com.bonus.common.core.web.domain.BaseEntity;
|
||||||
|
import lombok.experimental.Accessors;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新购验收任务详细对象 purchase_check_details
|
* 新购验收任务详细对象 purchase_check_details
|
||||||
|
|
@ -20,6 +21,7 @@ import com.bonus.common.core.web.domain.BaseEntity;
|
||||||
@EqualsAndHashCode(callSuper = false)
|
@EqualsAndHashCode(callSuper = false)
|
||||||
@Data
|
@Data
|
||||||
@ToString
|
@ToString
|
||||||
|
@Accessors(chain = true)
|
||||||
public class PurchaseCheckDetails extends BaseEntity {
|
public class PurchaseCheckDetails extends BaseEntity {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
|
||||||
|
|
@ -15,11 +15,10 @@ import java.util.Date;
|
||||||
* @author xsheng
|
* @author xsheng
|
||||||
* @date 2024-10-16
|
* @date 2024-10-16
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@ToString
|
@ToString
|
||||||
public class PurchaseMacodeInfo extends BaseEntity {
|
public class PurchaseMacodeInfo extends BaseEntity {
|
||||||
|
|
||||||
private static final long serialVersionUID = 1L;
|
private static final long serialVersionUID = 1L;
|
||||||
|
|
||||||
/** 主键id */
|
/** 主键id */
|
||||||
|
|
@ -59,6 +58,8 @@ public class PurchaseMacodeInfo extends BaseEntity {
|
||||||
@Excel(name = "状态", readConverterExp = "0=,待入库,1=,已入库")
|
@Excel(name = "状态", readConverterExp = "0=,待入库,1=,已入库")
|
||||||
private String status;
|
private String status;
|
||||||
|
|
||||||
|
private String keyWord;
|
||||||
|
|
||||||
/** 数据所属组织 */
|
/** 数据所属组织 */
|
||||||
@Excel(name = "数据所属组织")
|
@Excel(name = "数据所属组织")
|
||||||
@ApiModelProperty(value = "数据所属组织")
|
@ApiModelProperty(value = "数据所属组织")
|
||||||
|
|
|
||||||
|
|
@ -57,7 +57,9 @@ public interface PurchaseMacodeInfoMapper {
|
||||||
* @param ids 需要删除的数据主键集合
|
* @param ids 需要删除的数据主键集合
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int deletePurchaseMacodeInfoByIds(Long[] ids);
|
public int deletePurchaseMacodeInfoByIds(@Param("ids") List<Integer> ids);
|
||||||
|
|
||||||
|
public int updatePurchaseMacodeInfoByIds(@Param("ids") List<Integer> ids);
|
||||||
|
|
||||||
public int getPurchaseMaCodeCount(@Param("taskId") Long taskId, @Param("typeId") Long typeId);
|
public int getPurchaseMaCodeCount(@Param("taskId") Long taskId, @Param("typeId") Long typeId);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -48,7 +48,7 @@ public interface IPurchaseMacodeInfoService {
|
||||||
* @param ids 需要删除的新购验收编号管理主键集合
|
* @param ids 需要删除的新购验收编号管理主键集合
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
public int deletePurchaseMacodeInfoByIds(Long[] ids);
|
public int deletePurchaseMacodeInfoByIds(List<Integer> ids);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 删除新购验收编号管理信息
|
* 删除新购验收编号管理信息
|
||||||
|
|
|
||||||
|
|
@ -232,35 +232,32 @@ public class PurchaseBindServiceImpl implements IPurchaseBindService {
|
||||||
@Override
|
@Override
|
||||||
@Transactional(rollbackFor = Exception.class)
|
@Transactional(rollbackFor = Exception.class)
|
||||||
public AjaxResult reject(PurchaseDto dto) {
|
public AjaxResult reject(PurchaseDto dto) {
|
||||||
//一级页面驳回
|
|
||||||
int result = 0;
|
int result = 0;
|
||||||
if (dto.getTaskId() != null) {
|
if (dto.getTaskId() != null) {
|
||||||
|
//一级页面驳回
|
||||||
//根据任务id查询详细信息
|
//根据任务id查询详细信息
|
||||||
List<PurchaseVo> list = purchaseBindMapper.getDetails(dto);
|
List<PurchaseVo> list = purchaseBindMapper.getDetails(dto);
|
||||||
if (CollectionUtils.isNotEmpty(list)) {
|
if (CollectionUtils.isNotEmpty(list)) {
|
||||||
for (PurchaseVo purchaseVo : list) {
|
for (PurchaseVo purchaseVo : list) {
|
||||||
//更新状态为已驳回
|
//更新状态为已驳回
|
||||||
if (purchaseVo.getStatus().equals(PurchaseTaskStatusEnum.TO_BIND.getStatus()) ||
|
if (purchaseVo.getStatus().equals(PurchaseTaskStatusEnum.TO_BIND.getStatus()) || purchaseVo.getStatus().equals(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus())) {
|
||||||
purchaseVo.getStatus().equals(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus())) {
|
result += purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus(), purchaseVo.getPurchaseId());
|
||||||
purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus(), purchaseVo.getPurchaseId());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
//result += tmTaskMapper.updateStatusById(MaterialConstants.TEN_CONSTANT, dto.getTaskId());
|
} else if (dto.getPurchaseId() != null) {
|
||||||
}
|
// 二级页面驳回
|
||||||
//二级页面驳回
|
String[] idList = dto.getPurchaseId().split(",");
|
||||||
if (dto.getPurchaseId() != null) {
|
|
||||||
List<String> idList = Arrays.asList(dto.getPurchaseId().split(","));
|
|
||||||
for (String purchaseId : idList) {
|
for (String purchaseId : idList) {
|
||||||
result += purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus(), purchaseId);
|
result += purchaseBindMapper.updateStatusById(PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus(), purchaseId);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
if (result > 0) {
|
if (result > 0) {
|
||||||
return AjaxResult.success("操作成功");
|
return AjaxResult.success("操作成功");
|
||||||
}
|
} else {
|
||||||
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
|
return AjaxResult.error(HttpCodeEnum.FAIL.getCode(), HttpCodeEnum.FAIL.getMsg());
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -7,7 +7,6 @@ import java.util.*;
|
||||||
import java.util.concurrent.atomic.AtomicReference;
|
import java.util.concurrent.atomic.AtomicReference;
|
||||||
import java.util.stream.Collectors;
|
import java.util.stream.Collectors;
|
||||||
|
|
||||||
import cn.hutool.core.map.MapUtil;
|
|
||||||
import com.bonus.common.biz.constant.BmConfigItems;
|
import com.bonus.common.biz.constant.BmConfigItems;
|
||||||
import com.bonus.common.biz.enums.MaTypeManageTypeEnum;
|
import com.bonus.common.biz.enums.MaTypeManageTypeEnum;
|
||||||
import com.bonus.common.biz.enums.PurchaseTaskStageEnum;
|
import com.bonus.common.biz.enums.PurchaseTaskStageEnum;
|
||||||
|
|
@ -30,7 +29,6 @@ import com.bonus.material.purchase.mapper.PurchaseMacodeInfoMapper;
|
||||||
import com.bonus.material.task.domain.TmTask;
|
import com.bonus.material.task.domain.TmTask;
|
||||||
import com.bonus.material.task.mapper.TmTaskMapper;
|
import com.bonus.material.task.mapper.TmTaskMapper;
|
||||||
import org.apache.commons.lang3.BooleanUtils;
|
import org.apache.commons.lang3.BooleanUtils;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
|
||||||
import org.springframework.dao.DataAccessException;
|
import org.springframework.dao.DataAccessException;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.bonus.material.purchase.mapper.PurchaseCheckInfoMapper;
|
import com.bonus.material.purchase.mapper.PurchaseCheckInfoMapper;
|
||||||
|
|
@ -50,7 +48,7 @@ import static com.bonus.common.biz.constant.MaterialConstants.PURCHASE_TASK_TYPE
|
||||||
@Service
|
@Service
|
||||||
public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
|
|
||||||
@Autowired
|
@Resource
|
||||||
private IBmConfigService bmConfigService;
|
private IBmConfigService bmConfigService;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
|
|
@ -59,7 +57,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
@Resource
|
@Resource
|
||||||
private PurchaseCheckDetailsMapper purchaseCheckDetailsMapper;
|
private PurchaseCheckDetailsMapper purchaseCheckDetailsMapper;
|
||||||
|
|
||||||
@Autowired
|
@Resource
|
||||||
private PurchaseMacodeInfoMapper purchaseMacodeInfoMapper;
|
private PurchaseMacodeInfoMapper purchaseMacodeInfoMapper;
|
||||||
|
|
||||||
@Resource
|
@Resource
|
||||||
|
|
@ -87,20 +85,35 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
PurchaseCheckInfo purchaseCheckInfo = purchaseCheckInfoMapper.selectPurchaseCheckInfoById(purchaseQueryDto.getId());
|
PurchaseCheckInfo purchaseCheckInfo = purchaseCheckInfoMapper.selectPurchaseCheckInfoById(purchaseQueryDto.getId());
|
||||||
if (purchaseCheckInfo != null) {
|
if (purchaseCheckInfo != null) {
|
||||||
purchaseCheckDtoResult.setPurchaseCheckInfo(purchaseCheckInfo);
|
purchaseCheckDtoResult.setPurchaseCheckInfo(purchaseCheckInfo);
|
||||||
boolean isAllowPartTransfer = bmConfigService.isBmConfigEnabledWithDefaultFalse(BmConfigItems.BOOLEAN_ALLOW_PURCHASE_PART_TRANSFER);
|
// boolean isAllowPartTransfer = bmConfigService.isBmConfigEnabledWithDefaultFalse(BmConfigItems.BOOLEAN_ALLOW_PURCHASE_PART_TRANSFER);
|
||||||
List<PurchaseCheckDetails> purchaseCheckDetailsList;
|
List<PurchaseCheckDetails> purchaseCheckDetailsList = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByQueryDto(purchaseQueryDto);
|
||||||
if (isAllowPartTransfer) {
|
if (purchaseQueryDto.getTaskStage() != null) {
|
||||||
purchaseCheckDetailsList = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByQueryDto(purchaseQueryDto);
|
// 根据阶段来过滤详情数据
|
||||||
if (purchaseQueryDto.getStatusList().contains(PurchaseTaskStatusEnum.TO_STORE.getStatus())) {
|
switch (purchaseQueryDto.getTaskStage()) {
|
||||||
purchaseCheckDetailsList = purchaseCheckDetailsList.stream()
|
case PURCHASE_TASK_STAGE_MANAGE:
|
||||||
.filter(o -> MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(o.getManageType()) ||
|
// 新购管理阶段展示全部任务、不进行过滤
|
||||||
MaTypeManageTypeEnum.CODE_DEVICE.getTypeId().equals(o.getManageType()) && getPurchaseMaCodeCount(o.getTaskId(), o.getTypeId()) > 0)
|
break;
|
||||||
.collect(Collectors.toList());
|
case PURCHASE_TASK_STAGE_CHECK:
|
||||||
|
purchaseCheckDetailsList = purchaseCheckDetailsList.stream().filter(o -> !PurchaseTaskStatusEnum.TO_NOTICE.getStatus().equals(o.getStatus())).collect(Collectors.toList());
|
||||||
|
purchaseCheckDetailsList = purchaseCheckDetailsList.stream().filter(o -> !PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus().equals(o.getStatus())).collect(Collectors.toList());
|
||||||
|
break;
|
||||||
|
case PURCHASE_TASK_STAGE_BIND:
|
||||||
|
purchaseCheckDetailsList = purchaseCheckDetailsList.stream().filter(o ->
|
||||||
|
!PurchaseTaskStatusEnum.TO_NOTICE.getStatus().equals(o.getStatus()) && !PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus().equals(o.getStatus()) &&
|
||||||
|
!PurchaseTaskStatusEnum.TO_CHECK.getStatus().equals(o.getStatus()) && !PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus().equals(o.getStatus())
|
||||||
|
).collect(Collectors.toList());
|
||||||
|
break;
|
||||||
|
case PURCHASE_TASK_STAGE_STORE:
|
||||||
|
purchaseCheckDetailsList = purchaseCheckDetailsList.stream().filter(o -> PurchaseTaskStatusEnum.IN_STORE.getStatus().equals(o.getStatus()) ||
|
||||||
|
PurchaseTaskStatusEnum.TO_STORE.getStatus().equals(o.getStatus()) || PurchaseTaskStatusEnum.TASK_FINISHED.getStatus().equals(o.getStatus())
|
||||||
|
).collect(Collectors.toList());
|
||||||
|
break;
|
||||||
|
default:
|
||||||
|
System.err.println("未知的新购任务阶段:" + purchaseQueryDto.getTaskStage());
|
||||||
}
|
}
|
||||||
} else {
|
|
||||||
purchaseQueryDto.setStatusList(null);
|
|
||||||
purchaseCheckDetailsList = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByQueryDto(purchaseQueryDto);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
//针对于app查询可能存在的验收图片
|
//针对于app查询可能存在的验收图片
|
||||||
extractedFile(purchaseCheckDetailsList);
|
extractedFile(purchaseCheckDetailsList);
|
||||||
purchaseCheckDtoResult.setPurchaseCheckDetailsList(purchaseCheckDetailsList);
|
purchaseCheckDtoResult.setPurchaseCheckDetailsList(purchaseCheckDetailsList);
|
||||||
|
|
@ -110,7 +123,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 提取app新购验收文件信息
|
* 提取app新购验收文件信息
|
||||||
* @param purchaseCheckDetailsList
|
* @param purchaseCheckDetailsList 新购验收明细列表
|
||||||
*/
|
*/
|
||||||
private void extractedFile(List<PurchaseCheckDetails> purchaseCheckDetailsList) {
|
private void extractedFile(List<PurchaseCheckDetails> purchaseCheckDetailsList) {
|
||||||
if (!CollectionUtils.isEmpty(purchaseCheckDetailsList)) {
|
if (!CollectionUtils.isEmpty(purchaseCheckDetailsList)) {
|
||||||
|
|
@ -169,19 +182,19 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
break;
|
break;
|
||||||
case PURCHASE_TASK_STAGE_CHECK:
|
case PURCHASE_TASK_STAGE_CHECK:
|
||||||
purchaseCheckDetails = purchaseCheckDetails.stream().filter(o -> !PurchaseTaskStatusEnum.TO_NOTICE.getStatus().equals(o.getStatus())).collect(Collectors.toList());
|
purchaseCheckDetails = purchaseCheckDetails.stream().filter(o -> !PurchaseTaskStatusEnum.TO_NOTICE.getStatus().equals(o.getStatus())).collect(Collectors.toList());
|
||||||
|
purchaseCheckDetails = purchaseCheckDetails.stream().filter(o -> !PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus().equals(o.getStatus())).collect(Collectors.toList());
|
||||||
break;
|
break;
|
||||||
case PURCHASE_TASK_STAGE_BIND:
|
case PURCHASE_TASK_STAGE_BIND:
|
||||||
purchaseCheckDetails = purchaseCheckDetails.stream().filter(o ->
|
purchaseCheckDetails = purchaseCheckDetails.stream().filter(o ->
|
||||||
!PurchaseTaskStatusEnum.TO_NOTICE.getStatus().equals(o.getStatus()) &&
|
!PurchaseTaskStatusEnum.TO_NOTICE.getStatus().equals(o.getStatus()) &&
|
||||||
|
!PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus().equals(o.getStatus()) &&
|
||||||
!PurchaseTaskStatusEnum.TO_CHECK.getStatus().equals(o.getStatus()) &&
|
!PurchaseTaskStatusEnum.TO_CHECK.getStatus().equals(o.getStatus()) &&
|
||||||
!PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus().equals(o.getStatus())
|
!PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus().equals(o.getStatus())
|
||||||
).collect(Collectors.toList());
|
).collect(Collectors.toList());
|
||||||
break;
|
break;
|
||||||
case PURCHASE_TASK_STAGE_STORE:
|
case PURCHASE_TASK_STAGE_STORE:
|
||||||
purchaseCheckDetails = purchaseCheckDetails.stream().filter(o ->
|
purchaseCheckDetails = purchaseCheckDetails.stream().filter(o -> PurchaseTaskStatusEnum.IN_STORE.getStatus().equals(o.getStatus()) ||
|
||||||
!PurchaseTaskStatusEnum.TO_NOTICE.getStatus().equals(o.getStatus()) && !PurchaseTaskStatusEnum.TO_CHECK.getStatus().equals(o.getStatus()) &&
|
PurchaseTaskStatusEnum.TO_STORE.getStatus().equals(o.getStatus()) || PurchaseTaskStatusEnum.TASK_FINISHED.getStatus().equals(o.getStatus())
|
||||||
!PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus().equals(o.getStatus()) && !PurchaseTaskStatusEnum.TO_BIND.getStatus().equals(o.getStatus()) &&
|
|
||||||
!PurchaseTaskStatusEnum.TO_BIND_AFTER_REJECT.getStatus().equals(o.getStatus())
|
|
||||||
).collect(Collectors.toList());
|
).collect(Collectors.toList());
|
||||||
break;
|
break;
|
||||||
default:
|
default:
|
||||||
|
|
@ -203,7 +216,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
throw new IllegalArgumentException("采购数量和价格必须为非负数");
|
throw new IllegalArgumentException("采购数量和价格必须为非负数");
|
||||||
}
|
}
|
||||||
if (!isIncludeStage) {
|
if (!isIncludeStage) {
|
||||||
isIncludeStage = PurchaseTaskStatusEnum.isStatusOfStage(detail.getStatus(), PurchaseTaskStageEnum.getByCode(purchaseQueryDto.getTaskStage()));
|
isIncludeStage = PurchaseTaskStatusEnum.isStatusOfStage(detail.getStatus(), PurchaseTaskStageEnum.getByCode(purchaseQueryDto.getTaskStage()), detail.getManageType());
|
||||||
}
|
}
|
||||||
|
|
||||||
// 更新 purchaseMaTotalNumber
|
// 更新 purchaseMaTotalNumber
|
||||||
|
|
@ -309,11 +322,13 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
if (!CollectionUtils.isEmpty(purchaseCheckDetailsList)) {
|
if (!CollectionUtils.isEmpty(purchaseCheckDetailsList)) {
|
||||||
for (PurchaseCheckDetails details : purchaseCheckDetailsList) {
|
for (PurchaseCheckDetails details : purchaseCheckDetailsList) {
|
||||||
details.setTaskId(taskId);
|
details.setTaskId(taskId);
|
||||||
details.setStatus(PurchaseTaskStatusEnum.TO_NOTICE.getStatus());
|
details.setStatus(Objects.equals(PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus(), details.getStatus()) ?
|
||||||
|
PurchaseTaskStatusEnum.TO_CHECK.getStatus() :
|
||||||
|
PurchaseTaskStatusEnum.TO_NOTICE.getStatus());
|
||||||
details.setInputStatus("0");
|
details.setInputStatus("0");
|
||||||
List<BmFileInfo> bmFileInfos = details.getBmFileInfos();
|
List<BmFileInfo> bmFileInfos = details.getBmFileInfos();
|
||||||
if (!CollectionUtils.isEmpty(bmFileInfos)) {
|
if (!CollectionUtils.isEmpty(bmFileInfos)) {
|
||||||
bmFileInfos.stream().forEach(o -> o.setTaskId(taskId));
|
bmFileInfos.forEach(o -> o.setTaskId(taskId));
|
||||||
bmFileInfoMapper.insertBmFileInfos(bmFileInfos);
|
bmFileInfoMapper.insertBmFileInfos(bmFileInfos);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -341,13 +356,13 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByQueryDto(purchaseQueryDto);
|
List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsListByQueryDto(purchaseQueryDto);
|
||||||
List<PurchaseCheckDetails> codeList = purchaseCheckDetails.stream().filter(o -> MaTypeManageTypeEnum.CODE_DEVICE.getTypeId().equals(o.getManageType())).collect(Collectors.toList());
|
List<PurchaseCheckDetails> codeList = purchaseCheckDetails.stream().filter(o -> MaTypeManageTypeEnum.CODE_DEVICE.getTypeId().equals(o.getManageType())).collect(Collectors.toList());
|
||||||
List<PurchaseCheckDetails> numList = purchaseCheckDetails.stream().filter(o -> MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(o.getManageType())).collect(Collectors.toList());
|
List<PurchaseCheckDetails> numList = purchaseCheckDetails.stream().filter(o -> MaTypeManageTypeEnum.NUMBER_DEVICE.getTypeId().equals(o.getManageType())).collect(Collectors.toList());
|
||||||
if (!CollectionUtils.isEmpty(codeList) && codeList.size() > 0) {
|
if (!CollectionUtils.isEmpty(codeList)) {
|
||||||
for (PurchaseCheckDetails details : codeList) {
|
for (PurchaseCheckDetails details : codeList) {
|
||||||
details.setStatus(PurchaseTaskStatusEnum.TO_BIND.getStatus());
|
details.setStatus(PurchaseTaskStatusEnum.TO_BIND.getStatus());
|
||||||
updateCount += purchaseCheckDetailsMapper.updatePurchaseDetails4Check(details);
|
updateCount += purchaseCheckDetailsMapper.updatePurchaseDetails4Check(details);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (!CollectionUtils.isEmpty(numList) && numList.size() > 0) {
|
if (!CollectionUtils.isEmpty(numList)) {
|
||||||
for (PurchaseCheckDetails details : numList) {
|
for (PurchaseCheckDetails details : numList) {
|
||||||
details.setStatus(PurchaseTaskStatusEnum.TO_STORE.getStatus());
|
details.setStatus(PurchaseTaskStatusEnum.TO_STORE.getStatus());
|
||||||
updateCount += purchaseCheckDetailsMapper.updatePurchaseDetails4Check(details);
|
updateCount += purchaseCheckDetailsMapper.updatePurchaseDetails4Check(details);
|
||||||
|
|
@ -367,6 +382,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
AjaxResult result = new AjaxResult();
|
AjaxResult result = new AjaxResult();
|
||||||
if (!CollectionUtils.isEmpty(purchaseVerifyVo.getPurchaseCheckDetailsList())) {
|
if (!CollectionUtils.isEmpty(purchaseVerifyVo.getPurchaseCheckDetailsList())) {
|
||||||
if (BooleanUtils.isTrue(purchaseVerifyVo.getVerifyPass())) {
|
if (BooleanUtils.isTrue(purchaseVerifyVo.getVerifyPass())) {
|
||||||
|
// 验收通过处理流程
|
||||||
for (PurchaseCheckDetails details : purchaseVerifyVo.getPurchaseCheckDetailsList()) {
|
for (PurchaseCheckDetails details : purchaseVerifyVo.getPurchaseCheckDetailsList()) {
|
||||||
if (MaTypeManageTypeEnum.CODE_DEVICE.getTypeId().equals(details.getManageType())) {
|
if (MaTypeManageTypeEnum.CODE_DEVICE.getTypeId().equals(details.getManageType())) {
|
||||||
details.setStatus(PurchaseTaskStatusEnum.TO_BIND.getStatus());
|
details.setStatus(PurchaseTaskStatusEnum.TO_BIND.getStatus());
|
||||||
|
|
@ -377,8 +393,9 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
extractedFile(details);
|
extractedFile(details);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
|
// 验收驳回处理流程
|
||||||
for (PurchaseCheckDetails details : purchaseVerifyVo.getPurchaseCheckDetailsList()) {
|
for (PurchaseCheckDetails details : purchaseVerifyVo.getPurchaseCheckDetailsList()) {
|
||||||
details.setStatus(PurchaseTaskStatusEnum.TO_NOTICE.getStatus());
|
details.setStatus(PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus());
|
||||||
result = purchaseCheckDetailsMapper.updatePurchaseDetails4Check(details) > 0 ? AjaxResult.success("detail验证驳回成功") : AjaxResult.error("details无验证信息");
|
result = purchaseCheckDetailsMapper.updatePurchaseDetails4Check(details) > 0 ? AjaxResult.success("detail验证驳回成功") : AjaxResult.error("details无验证信息");
|
||||||
tmTaskMapper.updateTmTask(new TmTask()
|
tmTaskMapper.updateTmTask(new TmTask()
|
||||||
.setTaskId(details.getTaskId())
|
.setTaskId(details.getTaskId())
|
||||||
|
|
@ -396,7 +413,7 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* app新购验收图片上传方法抽取
|
* app新购验收图片上传方法抽取
|
||||||
* @param details
|
* @param details 详情
|
||||||
*/
|
*/
|
||||||
private void extractedFile(PurchaseCheckDetails details) {
|
private void extractedFile(PurchaseCheckDetails details) {
|
||||||
if (!CollectionUtils.isEmpty(details.getBmFileInfos())) {
|
if (!CollectionUtils.isEmpty(details.getBmFileInfos())) {
|
||||||
|
|
@ -458,6 +475,14 @@ public class PurchaseCheckInfoServiceImpl implements IPurchaseCheckInfoService {
|
||||||
public boolean updatePurchaseCheckInfo(PurchaseCheckDto purchaseCheckDto) {
|
public boolean updatePurchaseCheckInfo(PurchaseCheckDto purchaseCheckDto) {
|
||||||
purchaseCheckDto.getPurchaseCheckInfo().setUpdateTime(DateUtils.getNowDate());
|
purchaseCheckDto.getPurchaseCheckInfo().setUpdateTime(DateUtils.getNowDate());
|
||||||
purchaseCheckDto.getPurchaseCheckInfo().setUpdateBy(SecurityUtils.getUsername());
|
purchaseCheckDto.getPurchaseCheckInfo().setUpdateBy(SecurityUtils.getUsername());
|
||||||
|
if (!CollectionUtils.isEmpty(purchaseCheckDto.getPurchaseCheckDetailsList())) {
|
||||||
|
purchaseCheckDto.getPurchaseCheckDetailsList().removeIf(Objects::isNull);
|
||||||
|
purchaseCheckDto.getPurchaseCheckDetailsList().removeIf(o -> Objects.isNull(o.getStatus()));
|
||||||
|
purchaseCheckDto.getPurchaseCheckDetailsList().removeIf(o ->
|
||||||
|
!Objects.equals(o.getStatus(), PurchaseTaskStatusEnum.TO_NOTICE.getStatus()) &&
|
||||||
|
!Objects.equals(o.getStatus(), PurchaseTaskStatusEnum.TO_CHECK_AFTER_REJECT.getStatus())
|
||||||
|
);
|
||||||
|
}
|
||||||
try {
|
try {
|
||||||
Long[] ids = new Long[]{purchaseCheckDto.getPurchaseCheckInfo().getId()};
|
Long[] ids = new Long[]{purchaseCheckDto.getPurchaseCheckInfo().getId()};
|
||||||
purchaseCheckDetailsMapper.deletePurchaseCheckDetailsByParentIds(ids);
|
purchaseCheckDetailsMapper.deletePurchaseCheckDetailsByParentIds(ids);
|
||||||
|
|
|
||||||
|
|
@ -1,13 +1,20 @@
|
||||||
package com.bonus.material.purchase.service.impl;
|
package com.bonus.material.purchase.service.impl;
|
||||||
|
|
||||||
|
import java.math.BigDecimal;
|
||||||
import java.util.List;
|
import java.util.List;
|
||||||
import com.bonus.common.core.exception.ServiceException;
|
import com.bonus.common.core.exception.ServiceException;
|
||||||
import com.bonus.common.core.utils.DateUtils;
|
import com.bonus.common.core.utils.DateUtils;
|
||||||
|
import com.bonus.material.ma.mapper.MachineMapper;
|
||||||
|
import com.bonus.material.purchase.domain.PurchaseCheckDetails;
|
||||||
|
import com.bonus.material.purchase.mapper.PurchaseCheckDetailsMapper;
|
||||||
import org.springframework.beans.factory.annotation.Autowired;
|
import org.springframework.beans.factory.annotation.Autowired;
|
||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
import com.bonus.material.purchase.mapper.PurchaseMacodeInfoMapper;
|
import com.bonus.material.purchase.mapper.PurchaseMacodeInfoMapper;
|
||||||
import com.bonus.material.purchase.domain.PurchaseMacodeInfo;
|
import com.bonus.material.purchase.domain.PurchaseMacodeInfo;
|
||||||
import com.bonus.material.purchase.service.IPurchaseMacodeInfoService;
|
import com.bonus.material.purchase.service.IPurchaseMacodeInfoService;
|
||||||
|
import org.springframework.transaction.annotation.Transactional;
|
||||||
|
|
||||||
|
import javax.annotation.Resource;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新购验收编号管理Service业务层处理
|
* 新购验收编号管理Service业务层处理
|
||||||
|
|
@ -17,9 +24,16 @@ import com.bonus.material.purchase.service.IPurchaseMacodeInfoService;
|
||||||
*/
|
*/
|
||||||
@Service
|
@Service
|
||||||
public class PurchaseMacodeInfoServiceImpl implements IPurchaseMacodeInfoService {
|
public class PurchaseMacodeInfoServiceImpl implements IPurchaseMacodeInfoService {
|
||||||
|
|
||||||
@Autowired
|
@Autowired
|
||||||
private PurchaseMacodeInfoMapper purchaseMacodeInfoMapper;
|
private PurchaseMacodeInfoMapper purchaseMacodeInfoMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private MachineMapper machineMapper;
|
||||||
|
|
||||||
|
@Resource
|
||||||
|
private PurchaseCheckDetailsMapper purchaseCheckDetailsMapper;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 查询新购验收编号管理
|
* 查询新购验收编号管理
|
||||||
*
|
*
|
||||||
|
|
@ -81,8 +95,34 @@ public class PurchaseMacodeInfoServiceImpl implements IPurchaseMacodeInfoService
|
||||||
* @return 结果
|
* @return 结果
|
||||||
*/
|
*/
|
||||||
@Override
|
@Override
|
||||||
public int deletePurchaseMacodeInfoByIds(Long[] ids) {
|
@Transactional(rollbackFor = Exception.class)
|
||||||
return purchaseMacodeInfoMapper.deletePurchaseMacodeInfoByIds(ids);
|
public int deletePurchaseMacodeInfoByIds(List<Integer> ids) {
|
||||||
|
for (Integer id : ids) {
|
||||||
|
PurchaseMacodeInfo purchaseMacodeInfo = purchaseMacodeInfoMapper.selectPurchaseMacodeInfoById(Long.valueOf(id));
|
||||||
|
List<PurchaseCheckDetails> purchaseCheckDetails = purchaseCheckDetailsMapper.selectPurchaseCheckDetailsList(new PurchaseCheckDetails()
|
||||||
|
.setTaskId(purchaseMacodeInfo.getTaskId()).setTypeId(purchaseMacodeInfo.getTypeId()));
|
||||||
|
|
||||||
|
if (!purchaseCheckDetails.isEmpty()) {
|
||||||
|
purchaseCheckDetailsMapper.updatePurchaseCheckDetails(new PurchaseCheckDetails()
|
||||||
|
.setId(purchaseCheckDetails.get(0).getId())
|
||||||
|
.setBindNum(purchaseCheckDetails.get(0).getBindNum().subtract(BigDecimal.ONE))
|
||||||
|
);
|
||||||
|
} else {
|
||||||
|
throw new ServiceException("未找到对应验收详情数据,请检查数据是否正确");
|
||||||
|
}
|
||||||
|
|
||||||
|
int delSize = machineMapper.deleteMachineByMaCodeAndTypeId(purchaseMacodeInfo.getMaCode(), purchaseMacodeInfo.getTypeId());
|
||||||
|
if (delSize != 1) {
|
||||||
|
throw new ServiceException("机具物资表删除失败,物资清除:" + delSize + "条,数据已回滚");
|
||||||
|
}
|
||||||
|
}
|
||||||
|
int delTotal = purchaseMacodeInfoMapper.updatePurchaseMacodeInfoByIds(ids);
|
||||||
|
if (delTotal != ids.size()) {
|
||||||
|
throw new ServiceException("删除失败,解绑:" + (ids.size() - delTotal) + "条,数据已回滚");
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
return delTotal;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
|
||||||
|
|
@ -72,13 +72,6 @@ public class PurchaseNoticePersonServiceImpl implements IPurchaseNoticePersonSer
|
||||||
@Override
|
@Override
|
||||||
@Transactional
|
@Transactional
|
||||||
public AjaxResult batchSendSms(PurchaseNoticePersonDto purchaseNoticePersonDto) {
|
public AjaxResult batchSendSms(PurchaseNoticePersonDto purchaseNoticePersonDto) {
|
||||||
|
|
||||||
// for (String phoneNumber : purchaseNoticePersonDto.getPhoneNumbers()) {
|
|
||||||
// if (phoneNumber != null && phoneNumber.length() != 11) {
|
|
||||||
// String decrypted = Sm4Utils.decrypt(phoneNumber);
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
for (int i = 0; i < purchaseNoticePersonDto.getPhoneNumbers().size(); i++) {
|
for (int i = 0; i < purchaseNoticePersonDto.getPhoneNumbers().size(); i++) {
|
||||||
String phoneNumber = purchaseNoticePersonDto.getPhoneNumbers().get(i);
|
String phoneNumber = purchaseNoticePersonDto.getPhoneNumbers().get(i);
|
||||||
if (phoneNumber != null && phoneNumber.length() != 11) {
|
if (phoneNumber != null && phoneNumber.length() != 11) {
|
||||||
|
|
@ -86,9 +79,6 @@ public class PurchaseNoticePersonServiceImpl implements IPurchaseNoticePersonSer
|
||||||
purchaseNoticePersonDto.getPhoneNumbers().set(i, decrypted);
|
purchaseNoticePersonDto.getPhoneNumbers().set(i, decrypted);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
String splitPhoneNumber = String.join(",", purchaseNoticePersonDto.getPhoneNumbers());
|
String splitPhoneNumber = String.join(",", purchaseNoticePersonDto.getPhoneNumbers());
|
||||||
try {
|
try {
|
||||||
String sendResult = SmsUtils.smsToken(splitPhoneNumber, purchaseNoticePersonDto.getContent(),"");
|
String sendResult = SmsUtils.smsToken(splitPhoneNumber, purchaseNoticePersonDto.getContent(),"");
|
||||||
|
|
@ -99,13 +89,8 @@ public class PurchaseNoticePersonServiceImpl implements IPurchaseNoticePersonSer
|
||||||
.setTaskType(TmTaskTypeEnum.TM_TASK_PURCHASE.getTaskTypeId())
|
.setTaskType(TmTaskTypeEnum.TM_TASK_PURCHASE.getTaskTypeId())
|
||||||
.setTaskStatus(PurchaseTaskStatusEnum.TASK_IN_PROGRESS.getStatus())
|
.setTaskStatus(PurchaseTaskStatusEnum.TASK_IN_PROGRESS.getStatus())
|
||||||
);
|
);
|
||||||
|
|
||||||
// 修改采购明细的任务状态
|
// 修改采购明细的任务状态
|
||||||
purchaseCheckDetailsService.batchUpdateDetailsTaskStatus(
|
purchaseCheckDetailsService.batchUpdateDetailsTaskStatus(purchaseNoticePersonDto.getTaskId(), PurchaseTaskStatusEnum.TO_CHECK.getStatus(), "");
|
||||||
purchaseNoticePersonDto.getTaskId(),
|
|
||||||
PurchaseTaskStatusEnum.TO_CHECK.getStatus(), ""
|
|
||||||
);
|
|
||||||
|
|
||||||
return AjaxResult.success("短信发送成功:" + sendResult);
|
return AjaxResult.success("短信发送成功:" + sendResult);
|
||||||
} else {
|
} else {
|
||||||
return AjaxResult.error("短信发送失败,发送结果为空");
|
return AjaxResult.error("短信发送失败,发送结果为空");
|
||||||
|
|
|
||||||
|
|
@ -297,6 +297,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
delete from ma_machine where ma_id = #{maId}
|
delete from ma_machine where ma_id = #{maId}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
|
||||||
<delete id="deleteMachineByMaIds" parameterType="String">
|
<delete id="deleteMachineByMaIds" parameterType="String">
|
||||||
delete from ma_machine where ma_id in
|
delete from ma_machine where ma_id in
|
||||||
<foreach item="maId" collection="array" open="(" separator="," close=")">
|
<foreach item="maId" collection="array" open="(" separator="," close=")">
|
||||||
|
|
@ -370,4 +371,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
ma.ma_id
|
ma.ma_id
|
||||||
limit 1
|
limit 1
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
<delete id="deleteMachineByMaCodeAndTypeId">
|
||||||
|
delete from ma_machine where ma_code = #{maCode} and type_id = #{typeId}
|
||||||
|
and ma_status = '0'
|
||||||
|
</delete>
|
||||||
</mapper>
|
</mapper>
|
||||||
|
|
@ -98,7 +98,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
UPDATE purchase_check_details
|
UPDATE purchase_check_details
|
||||||
SET `status` = #{updatedStatus}
|
SET `status` = #{updatedStatus}
|
||||||
WHERE
|
WHERE
|
||||||
id = #{id}
|
id = #{id} and status = '3' or status = '14'
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<update id="updateStorageNum">
|
<update id="updateStorageNum">
|
||||||
|
|
|
||||||
|
|
@ -38,7 +38,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectPurchaseCheckDetailsVo">
|
<sql id="selectPurchaseCheckDetailsVo">
|
||||||
select id, task_id, type_id, purchase_price, purchase_tax_price, purchase_num, check_num, bind_num, check_result, supplier_id, status, create_by, production_time, create_time, update_by, update_time, remark, check_url_name, check_url, input_num, input_status, input_time, file_name, file_url, company_id, fix_code from purchase_check_details
|
select id, task_id, type_id, purchase_price, purchase_tax_price, purchase_num, check_num, bind_num, check_result,
|
||||||
|
supplier_id, status, create_by, production_time, create_time, update_by, update_time, remark, check_url_name,
|
||||||
|
check_url, input_num, input_status, input_time, file_name, file_url, company_id, fix_code
|
||||||
|
from purchase_check_details
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<sql id="selectPurchaseCheckDetailsJoinVo">
|
<sql id="selectPurchaseCheckDetailsJoinVo">
|
||||||
|
|
@ -224,6 +227,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
delete from purchase_check_details where id = #{id}
|
delete from purchase_check_details where id = #{id}
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<!-- 限制条件 严格匹配字典表及枚举类中定义的状态码 -->
|
||||||
<delete id="deletePurchaseCheckDetailsByParentIds" parameterType="Long">
|
<delete id="deletePurchaseCheckDetailsByParentIds" parameterType="Long">
|
||||||
delete from purchase_check_details where task_id in (
|
delete from purchase_check_details where task_id in (
|
||||||
select task_id
|
select task_id
|
||||||
|
|
@ -233,7 +237,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
<foreach item="id" collection="array" open="(" separator="," close=")">
|
||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
)
|
) and status = 1 or status = 12
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
<delete id="deletePurchaseCheckDetailsByIds" parameterType="String">
|
<delete id="deletePurchaseCheckDetailsByIds" parameterType="String">
|
||||||
|
|
@ -312,6 +316,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</foreach>
|
</foreach>
|
||||||
</insert>
|
</insert>
|
||||||
|
|
||||||
|
<!-- 这里的status限制是待通知或验收被驳回后对应的字典值 -->
|
||||||
<update id="batchUpdateDetailsTaskStatus">
|
<update id="batchUpdateDetailsTaskStatus">
|
||||||
update
|
update
|
||||||
purchase_check_details
|
purchase_check_details
|
||||||
|
|
@ -319,6 +324,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
`status` = #{newTaskStatus}, check_result = #{checkResult}
|
`status` = #{newTaskStatus}, check_result = #{checkResult}
|
||||||
where
|
where
|
||||||
task_id = #{taskId}
|
task_id = #{taskId}
|
||||||
|
and
|
||||||
|
`status` = 1 or `status` = 12
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<!-- <update id="updatePurchaseDetails">-->
|
<!-- <update id="updatePurchaseDetails">-->
|
||||||
|
|
@ -340,10 +347,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
update
|
update
|
||||||
purchase_check_details
|
purchase_check_details
|
||||||
<set>
|
<set>
|
||||||
`status` = #{status},
|
`status` = #{status},check_result = #{checkResult},check_num = purchase_num,check_time = NOW(),
|
||||||
check_result = #{checkResult},
|
|
||||||
check_num = purchase_num,
|
|
||||||
check_time = NOW(),
|
|
||||||
<if test="warnDocuments != null and warnDocuments != ''">
|
<if test="warnDocuments != null and warnDocuments != ''">
|
||||||
warn_documents = #{warnDocuments},
|
warn_documents = #{warnDocuments},
|
||||||
</if>
|
</if>
|
||||||
|
|
@ -351,14 +355,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
reason = #{reason}
|
reason = #{reason}
|
||||||
</if>
|
</if>
|
||||||
</set>
|
</set>
|
||||||
where
|
<where>
|
||||||
1=1
|
|
||||||
<if test="taskId != null">
|
<if test="taskId != null">
|
||||||
and task_id = #{taskId}
|
and task_id = #{taskId}
|
||||||
</if>
|
</if>
|
||||||
<if test="typeId != null">
|
<if test="typeId != null">
|
||||||
and type_id = #{typeId}
|
and type_id = #{typeId}
|
||||||
</if>
|
</if>
|
||||||
|
</where>
|
||||||
</update>
|
</update>
|
||||||
|
|
||||||
<select id="getCountOfNoneThisStatus" resultType="Integer">
|
<select id="getCountOfNoneThisStatus" resultType="Integer">
|
||||||
|
|
|
||||||
|
|
@ -26,13 +26,14 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
</resultMap>
|
</resultMap>
|
||||||
|
|
||||||
<sql id="selectPurchaseMacodeInfoVo">
|
<sql id="selectPurchaseMacodeInfoVo">
|
||||||
select pmi.id, pmi.task_id, pmi.type_id, pmi.ma_code, pmi.qr_code, pmi.status,
|
select pmi.id, pmi.task_id, pmi.type_id, pmi.ma_code, pmi.qr_code, if(mm.ma_status = '0' or mm.ma_status = '5' or mm.ma_status = '9', 0, 1) as status,
|
||||||
pmi.create_by, pmi.create_time, pmi.update_by, pmi.update_time, pmi.remark, pmi.company_id, pmi.out_fac_code,
|
pmi.create_by, pmi.create_time, pmi.update_by, pmi.update_time, pmi.remark, pmi.company_id, pmi.out_fac_code,
|
||||||
mt.type_name, mt.unit_name, mtp.type_name as ma_type_name, pcd.production_time
|
mt.type_name, mt.unit_name, mtp.type_name as ma_type_name, pcd.production_time
|
||||||
from bm_qrcode_info pmi
|
from bm_qrcode_info pmi
|
||||||
left join ma_type mt on pmi.type_id = mt.type_id
|
left join ma_type mt on pmi.type_id = mt.type_id
|
||||||
left join ma_type mtp on mt.parent_id = mtp.type_id
|
left join ma_type mtp on mt.parent_id = mtp.type_id
|
||||||
left join purchase_check_details pcd on pmi.task_id = pcd.task_id and pmi.type_id = pcd.type_id
|
left join purchase_check_details pcd on pmi.task_id = pcd.task_id and pmi.type_id = pcd.type_id
|
||||||
|
left join ma_machine mm on pmi.type_id = mm.type_id and pmi.ma_code = mm.ma_code
|
||||||
</sql>
|
</sql>
|
||||||
|
|
||||||
<select id="selectPurchaseMacodeInfoList" parameterType="com.bonus.material.purchase.domain.PurchaseMacodeInfo" resultMap="PurchaseMacodeInfoResult">
|
<select id="selectPurchaseMacodeInfoList" parameterType="com.bonus.material.purchase.domain.PurchaseMacodeInfo" resultMap="PurchaseMacodeInfoResult">
|
||||||
|
|
@ -47,6 +48,10 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
<if test="codeType != null and codeType != ''"> and pmi.code_type = #{codeType}</if>
|
<if test="codeType != null and codeType != ''"> and pmi.code_type = #{codeType}</if>
|
||||||
<if test="status != null and status != ''"> and pmi.status = #{status}</if>
|
<if test="status != null and status != ''"> and pmi.status = #{status}</if>
|
||||||
<if test="companyId != null "> and pmi.company_id = #{companyId}</if>
|
<if test="companyId != null "> and pmi.company_id = #{companyId}</if>
|
||||||
|
<if test="keyWord != null and keyWord != ''">
|
||||||
|
and (pmi.ma_code like concat('%', #{keyWord}, '%') or pmi.qr_code like concat('%', #{keyWord}, '%'))
|
||||||
|
</if>
|
||||||
|
and pmi.ma_code is not null
|
||||||
</where>
|
</where>
|
||||||
</select>
|
</select>
|
||||||
|
|
||||||
|
|
@ -118,11 +123,18 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
|
||||||
|
|
||||||
<delete id="deletePurchaseMacodeInfoByIds" parameterType="String">
|
<delete id="deletePurchaseMacodeInfoByIds" parameterType="String">
|
||||||
delete from bm_qrcode_info where id in
|
delete from bm_qrcode_info where id in
|
||||||
<foreach item="id" collection="array" open="(" separator="," close=")">
|
<foreach item="id" collection="ids" open="(" separator="," close=")">
|
||||||
#{id}
|
#{id}
|
||||||
</foreach>
|
</foreach>
|
||||||
</delete>
|
</delete>
|
||||||
|
|
||||||
|
<update id="updatePurchaseMacodeInfoByIds" parameterType="String">
|
||||||
|
update bm_qrcode_info set ma_code = null where id in
|
||||||
|
<foreach item="id" collection="ids" open="(" separator="," close=")">
|
||||||
|
#{id}
|
||||||
|
</foreach>
|
||||||
|
</update>
|
||||||
|
|
||||||
<select id="getPurchaseMaCodeCount" resultType="Integer">
|
<select id="getPurchaseMaCodeCount" resultType="Integer">
|
||||||
select count(1) from bm_qrcode_info where task_id = #{taskId} and type_id = #{typeId}
|
select count(1) from bm_qrcode_info where task_id = #{taskId} and type_id = #{typeId}
|
||||||
</select>
|
</select>
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue