新购验收绑定修改

This commit is contained in:
syruan 2024-12-24 19:30:58 +08:00
parent 022052d82b
commit 3fa849fa98
18 changed files with 188 additions and 106 deletions

View File

@ -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)) {

View File

@ -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);
/** /**
* 批量删除机具设备管理 * 批量删除机具设备管理
* *

View File

@ -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);
} }

View File

@ -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) {

View File

@ -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));
} }
} }

View File

@ -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 {

View File

@ -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;

View File

@ -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 = "数据所属组织")

View File

@ -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);
} }

View File

@ -48,7 +48,7 @@ public interface IPurchaseMacodeInfoService {
* @param ids 需要删除的新购验收编号管理主键集合 * @param ids 需要删除的新购验收编号管理主键集合
* @return 结果 * @return 结果
*/ */
public int deletePurchaseMacodeInfoByIds(Long[] ids); public int deletePurchaseMacodeInfoByIds(List<Integer> ids);
/** /**
* 删除新购验收编号管理信息 * 删除新购验收编号管理信息

View File

@ -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());
} }
}

View File

@ -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);

View File

@ -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;
} }
/** /**

View File

@ -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("短信发送失败,发送结果为空");

View File

@ -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>

View File

@ -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">

View File

@ -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">

View File

@ -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>