Browse Source

制品维修与报废

master
赵雪冰 2 years ago
parent
commit
b277fd3477
  1. 1
      win-module-system/win-module-system-api/src/main/java/com/win/module/system/enums/serialNumber/RuleCodeEnum.java
  2. 15
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/ContainerMainController.java
  3. 3
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/containerRepair/ContainerRepairRecordMainMapper.java
  4. 14
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainService.java
  5. 61
      win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainServiceImpl.java

1
win-module-system/win-module-system-api/src/main/java/com/win/module/system/enums/serialNumber/RuleCodeEnum.java

@ -145,6 +145,7 @@ public enum RuleCodeEnum {
TRANSFER_RECEIPT_REQUEST("TransferReceiptRequest"),// 调拨接收申请
CONTAINER_INIT_RECORD("ContainerInitRecord"), // 器具初始化记录
CONTAINER_NUMBER("ContainerNumber"), // 器具编号
CONTAINER_REPAIR_RECORD("ContainerRepairRecord"), // 器具维修记录
;
private final String code;

15
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/controller/container/ContainerMainController.java

@ -144,4 +144,19 @@ public class ContainerMainController {
return success(result);
}
@PutMapping("/repair")
@Operation(summary = "器具维修")
@PreAuthorize("@ss.hasPermission('wms:transferissue-request-main:submit')")
public CommonResult<Boolean> repairSubmitContainerRequestMain(@RequestParam("id") Long id) {
Integer count = containerMainService.repairSubmitContainerRequestMain(id);
return success(count > 0);
}
@PutMapping("/scrap")
@Operation(summary = "器具报废")
@PreAuthorize("@ss.hasPermission('wms:transferissue-request-main:submit')")
public CommonResult<Boolean> scrapSubmitContainerRequestMain(@RequestParam("id") Long id) {
Integer count = containerMainService.scrapSubmitContainerRequestMain(id);
return success(count > 0);
}
}

3
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/dal/mysql/containerRepair/ContainerRepairRecordMainMapper.java

@ -76,4 +76,7 @@ public interface ContainerRepairRecordMainMapper extends BaseMapperX<ContainerRe
.orderByDesc(ContainerRepairRecordMainDO::getId));
}
default ContainerRepairRecordMainDO queryByContainerNumber(String number){
return selectOne(new LambdaQueryWrapperX<ContainerRepairRecordMainDO>().eq(ContainerRepairRecordMainDO::getContainerNumber,number));
}
}

14
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainService.java

@ -97,4 +97,18 @@ public interface ContainerMainService {
* @return 编号
*/
String pdaUnBind(ContainerMainCreateReqVO createReqVO);
/**
* 器具维修
* @param id 主键ID
* @return 更新数量
*/
Integer repairSubmitContainerRequestMain(Long id);
/**
* 器具报废
* @param id 主键Id
* @return 更新数量
*/
Integer scrapSubmitContainerRequestMain(Long id);
}

61
win-module-wms/win-module-wms-biz/src/main/java/com/win/module/wms/service/container/ContainerMainServiceImpl.java

@ -11,10 +11,14 @@ import com.win.module.wms.convert.container.ContainerDetailConvert;
import com.win.module.wms.convert.container.ContainerMainConvert;
import com.win.module.wms.dal.dataobject.container.ContainerDetailDO;
import com.win.module.wms.dal.dataobject.container.ContainerMainDO;
import com.win.module.wms.dal.dataobject.containerRepair.ContainerRepairRecordDetailDO;
import com.win.module.wms.dal.dataobject.containerRepair.ContainerRepairRecordMainDO;
import com.win.module.wms.dal.dataobject.containerinit.ContainerInitRecordDetailDO;
import com.win.module.wms.dal.dataobject.containerinit.ContainerInitRecordMainDO;
import com.win.module.wms.dal.mysql.container.ContainerDetailMapper;
import com.win.module.wms.dal.mysql.container.ContainerMainMapper;
import com.win.module.wms.dal.mysql.containerRepair.ContainerRepairRecordDetailMapper;
import com.win.module.wms.dal.mysql.containerRepair.ContainerRepairRecordMainMapper;
import com.win.module.wms.dal.mysql.containerinit.ContainerInitRecordDetailMapper;
import com.win.module.wms.dal.mysql.containerinit.ContainerInitRecordMainMapper;
import org.apache.commons.lang3.StringUtils;
@ -23,6 +27,7 @@ import org.springframework.transaction.annotation.Transactional;
import org.springframework.validation.annotation.Validated;
import javax.annotation.Resource;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Collection;
import java.util.List;
@ -55,6 +60,10 @@ public class ContainerMainServiceImpl implements ContainerMainService {
private AdminUserApi userApi;
@Resource
private ContainerDetailService containerDetailService;
@Resource
private ContainerRepairRecordMainMapper containerRepairRecordMainMapper;
@Resource
private ContainerRepairRecordDetailMapper containerRepairRecordDetailMapper;
@Transactional
@ -109,10 +118,12 @@ public class ContainerMainServiceImpl implements ContainerMainService {
containerMainMapper.deleteById(id);
}
private void validateContainerMainExists(Long id) {
if (containerMainMapper.selectById(id) == null) {
private ContainerMainDO validateContainerMainExists(Long id) {
ContainerMainDO containerMainDO = containerMainMapper.selectById(id);
if (containerMainDO == null) {
throw exception(CONTAINER_MAIN_NOT_EXISTS);
}
return containerMainDO;
}
@Override
@ -193,4 +204,50 @@ public class ContainerMainServiceImpl implements ContainerMainService {
return containerMainDO.getNumber();
}
@Transactional
@Override
public Integer repairSubmitContainerRequestMain(Long id) {
ContainerMainDO containerMainDO = validateContainerMainExists(id);
// 添加到维修记录表中
createContainerRepair(containerMainDO,"REPAIRING");
// 空:EMPTY, 在用:USED, 维修中:REPAIRING, 报废:SCRAP
containerMainDO.setContainerStatus("REPAIRING"); //维修中
return containerMainMapper.updateById(containerMainDO);
}
@Override
public Integer scrapSubmitContainerRequestMain(Long id) {
ContainerMainDO containerMainDO = validateContainerMainExists(id);
// 添加到维修记录表中
createContainerRepair(containerMainDO,"SCRAP");
// 空:EMPTY, 在用:USED, 维修中:REPAIRING, 报废:SCRAP
containerMainDO.setContainerStatus("SCRAP"); //报废
return containerMainMapper.updateById(containerMainDO);
}
public void createContainerRepair(ContainerMainDO containerMainDO,String containerStatus) {
ContainerRepairRecordMainDO containerRepairRecordMainDO = containerRepairRecordMainMapper.queryByContainerNumber(containerMainDO.getNumber());
String number = null;
if(containerRepairRecordMainDO == null){
containerRepairRecordMainDO = new ContainerRepairRecordMainDO();
containerRepairRecordMainDO.setContainerNumber(containerMainDO.getNumber());
containerRepairRecordMainDO.setFromWarehouseCode(containerMainDO.getWarehouseCode());
number = serialNumberApi.generateCode(RuleCodeEnum.CONTAINER_REPAIR_RECORD.getCode());
containerRepairRecordMainDO.setNumber(number);
containerRepairRecordMainDO.setDepartmentCode(userApi.getUser(getLoginUserId()).getDeptId().toString());
containerRepairRecordMainDO.setCreateTime(LocalDateTime.now());
containerRepairRecordMainMapper.insert(containerRepairRecordMainDO);
}else {
number = containerRepairRecordMainDO.getNumber();
}
ContainerRepairRecordDetailDO containerRepairRecordDetailDO = new ContainerRepairRecordDetailDO();
containerRepairRecordDetailDO.setFromContainerStatus(containerMainDO.getContainerStatus());
containerRepairRecordDetailDO.setToContainerStatus(containerStatus);
containerRepairRecordDetailDO.setContainerNumber(containerMainDO.getNumber());
containerRepairRecordDetailDO.setNumber(number);
containerRepairRecordDetailDO.setMasterId(containerRepairRecordMainDO.getId());
containerRepairRecordDetailDO.setCreateTime(LocalDateTime.now());
containerRepairRecordDetailMapper.insert(containerRepairRecordDetailDO);
}
}

Loading…
Cancel
Save