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