@ -8,18 +8,16 @@ import com.foreverwin.mesnac.common.constant.Constants;
import com.foreverwin.mesnac.common.dto.SfcDispatchDto ;
import com.foreverwin.mesnac.common.enums.DispatchStatusEnum ;
import com.foreverwin.mesnac.common.enums.HandleEnum ;
import com.foreverwin.mesnac.common.ftp.CappFtpClient ;
import com.foreverwin.mesnac.common.service.ProdReadyTaskService ;
import com.foreverwin.mesnac.common.service.SfcDispatchCommonService ;
import com.foreverwin.mesnac.common.util.DateUtil ;
import com.foreverwin.mesnac.common.util.ExcelUtils ;
import com.foreverwin.mesnac.common.util.StringUtil ;
import com.foreverwin.mesnac.common.util.* ;
import com.foreverwin.mesnac.dispatch.dto.RouterDTO ;
import com.foreverwin.mesnac.dispatch.dto.SfcDispatchEmployeeDto ;
import com.foreverwin.mesnac.dispatch.dto.WorkCenterWorkTimeDTO ;
import com.foreverwin.mesnac.dispatch.mapper.SfcDispatchMapper ;
import com.foreverwin.mesnac.dispatch.model.CallItem ;
import com.foreverwin.mesnac.dispatch.model.SfcDispatch ;
import com.foreverwin.mesnac.dispatch.model.SfcDispatchEmployee ;
import com.foreverwin.mesnac.dispatch.model.UserResource ;
import com.foreverwin.mesnac.dispatch.service.* ;
import com.foreverwin.mesnac.meapi.dto.WorkCenterLinkDTO ;
@ -30,6 +28,7 @@ import com.foreverwin.modular.core.exception.BaseException;
import com.foreverwin.modular.core.exception.BusinessException ;
import com.foreverwin.modular.core.util.CommonMethods ;
import org.apache.commons.fileupload.FileItem ;
import org.apache.commons.net.ftp.FTPClient ;
import org.springframework.beans.BeanUtils ;
import org.springframework.beans.factory.annotation.Autowired ;
import org.springframework.stereotype.Service ;
@ -40,7 +39,7 @@ import javax.servlet.http.HttpServletRequest;
import java.io.IOException ;
import java.io.InputStream ;
import java.math.BigDecimal ;
import java. text.SimpleDateFormat ;
import java. net.InetAddress ;
import java.time.LocalDateTime ;
import java.util.* ;
import java.util.stream.Collectors ;
@ -87,6 +86,8 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
private ProductionCalendarService productionCalendarService ;
@Autowired
private SfcDispatchEmployeeService sfcDispatchEmployeeService ;
@Autowired
private CappFtpClient cappFtpClient ;
@Override
public List < SfcDispatch > findSfcDispatch ( String site , String sfc , String operation , String stepId ) {
@ -94,24 +95,11 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
}
@Override
public List < SfcDispatchDto > findSfcDispatchList ( Map paramMap ) {
public List < SfcDispatchDto > findSfcDispatchList ( Map paramMap ) throws IOException {
List < SfcDispatchDto > list = sfcDispatchMapper . findSfcDispatchList ( paramMap ) ;
if ( list = = null | | list . size ( ) < = 0 ) {
// List<SfcDispatchDto> sfcDispatchDtoList=new ArrayList<>();
// for(SfcDispatchDto sfcDispatchDto:list){
// Sfc sfcServiceById = sfcService.getById(HandleEnum.SFC.getHandle(CommonMethods.getSite(), sfcDispatchDto.getSfc()));
// if (sfcServiceById==null){
// sfcDispatchDto.setDrawingsRevision(null);
// }else {
// String itemBo = sfcServiceById.getItemBo();
// String path="/"+ StringUtil.trimHandle(itemBo)+"_"+StringUtil.trimRevision(itemBo)+"/";
// sfcDispatchDto.setDrawingsRevision(path);
// }
// sfcDispatchDtoList.add(sfcDispatchDto);
// }
return list ;
}
//查询用户对应用户组
String site = CommonMethods . getSite ( ) ;
String user = CommonMethods . getUser ( ) ;
@ -136,10 +124,26 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
}
}
}
//赋值用户组
for ( SfcDispatchDto sfcDispatch : list ) {
sfcDispatch . setRole ( role ) ;
GetDrawingVersionUtil getDrawingVersionUtil = new GetDrawingVersionUtil ( ) ;
//登录Capp的FTP文件服务器
FTPClient connect = null ;
try {
connect = cappFtpClient . login ( ) ;
for ( SfcDispatchDto sfcDispatch : list ) {
if ( sfcDispatch . getDrawingsRevision ( ) = = null | | sfcDispatch . getDrawingsRevision ( ) = = "" ) {
Sfc sfcServiceById = sfcService . getById ( HandleEnum . SFC . getHandle ( CommonMethods . getSite ( ) , sfcDispatch . getSfc ( ) ) ) ;
String itemBo = sfcServiceById . getItemBo ( ) ;
sfcDispatch . setDrawingsRevision ( getDrawingVersionUtil . GetDrawingVerson ( itemBo , connect ) ) ;
sfcDispatch . setRole ( role ) ;
}
}
} catch ( Exception e ) {
ExceptionUtil . throwException ( e ) ;
} finally {
if ( connect ! = null & & connect . isConnected ( ) ) {
connect . logout ( ) ;
connect . disconnect ( ) ;
}
}
return list ;
}
@ -216,7 +220,6 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
if ( ! DispatchStatusEnum . NEW . getCode ( ) . equals ( status ) & & ! DispatchStatusEnum . RELEASE . getCode ( ) . equals ( status ) ) {
throw BusinessException . build ( "工单[" + shopOrder + "]的派工单[" + dispatchNo + "]派工状态不是新建或发布状态,不能变更为暂挂!" ) ;
}
sfcDispatch = new SfcDispatch ( ) ;
sfcDispatch . setHandle ( sfcDispatchDto . getHandle ( ) ) ;
sfcDispatch . setDispatchStatus ( DispatchStatusEnum . PAUSE . getCode ( ) ) ;
@ -250,10 +253,10 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
}
//校验派工单领料状态为无需叫料或未叫料
List < CallItem > callItemList = callItemService . getEffectedCallItemByDispatchBo ( sfcDispatchBo ) ;
if ( callItemList ! = null & & callItemList . size ( ) > 0 ) {
throw BusinessException . build ( "工单[" + shopOrder + "]的派工单[" + dispatchNo + "]已有发料,不能取消!" ) ;
}
// List<CallItem> callItemList = callItemService.getEffectedCallItemByDispatchBo(sfcDispatchBo);
// if (callItemList != null && callItemList.size() > 0) {
// throw BusinessException.build("工单[" + shopOrder + "]的派工单[" + dispatchNo + "]已有发料,不能取消!");
// }
sfcDispatch = new SfcDispatch ( ) ;
@ -303,7 +306,7 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
}
@Override
public Map < String , Object > ganttList ( String site , Map paramMap ) {
public Map < String , Object > ganttList ( String site , Map paramMap ) throws IOException {
Map < String , Object > map = new HashMap < > ( ) ;
//查询派工数据
@ -637,6 +640,7 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
sfcDispatch . setEmployee ( employees ) ;
sfcDispatch . setEmployeeDescription ( sfcDispatchDto . getEmployeeDescription ( ) ) ;
sfcDispatch . setRemark ( sfcDispatchDto . getRemark ( ) ) ;
sfcDispatch . setDrawingsRevision ( sfcDispatchDto . getDrawingsRevision ( ) ) ;
sfcDispatch . setBlankingSize ( sfcDispatchDto . getBlankingSize ( ) ) ;
sfcDispatch . setPlannedStartDate ( sfcDispatchDto . getPlannedStartDate ( ) ) ;
sfcDispatch . setPlannedCompDate ( sfcDispatchDto . getPlannedCompDate ( ) ) ;
@ -907,6 +911,4 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
}
return result ;
}
}