yinq 2 years ago
commit 0bdd21587a

@ -3,6 +3,8 @@ package com.foreverwin.mesnac.anomaly.dto;
import com.foreverwin.mesnac.anomaly.model.AbnormalBillDispose;
import java.time.LocalDateTime;
import java.util.List;
import java.util.Map;
/**
* @Description
@ -260,6 +262,16 @@ public class AbnormalBillDisposeDto extends AbnormalBillDispose {
this.createdDateTime = createdDateTime;
}
private List<Map<String, Object>> list;
public List<Map<String, Object>> getList() {
return list;
}
public void setList(List<Map<String, Object>> list) {
this.list = list;
}
//
// public LocalDateTime getDutyDatetime() {
// return dutyDatetime;

@ -286,6 +286,16 @@ public class AbnormalBill extends Model<AbnormalBill> {
@TableField("USER_IS_CON")
private String userIsCon;
private String disRouterBo;
public String getDisRouterBo() {
return disRouterBo;
}
public void setDisRouterBo(String disRouterBo) {
this.disRouterBo = disRouterBo;
}
public LocalDateTime getUserConTime() {
return userConTime;
}

@ -203,6 +203,9 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
@Autowired
private YunBpmService yunBpmService;
@Autowired
private RouterStepcontentMapper routerStepcontentMapper;
@Override
@ -271,20 +274,21 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
/**
* mesbpm
*/
/*if (!StringUtil.isBlank(abnormalBill.getBpmSubmit()) && abnormalBill.getBpmSubmit().equals("false")) {
List<String> NcCodeGroupList = (List)abnormalBill.getNcCodeDesc().stream().map((e) -> {
return e.split("/")[0];
}).collect(Collectors.toList());
abnormalBill.setPbUser(CommonMethods.getUser());
YunBpmApiRes bpmApiRes = yunBpmService.saveQualitySystem(abnormalBill, abnormalBillDispose,
String.join(";", NcCodeGroupList), String.join(";", abnormalBill.getNcCodeDesc()));
if (!bpmApiRes.getErrCode().equals(0)) {
throw new BaseException("MES提报给质量BPM系统失败");
}
String workflowInstanceId = JSON.parseObject(String.valueOf(bpmApiRes.getData())).getString("workflowInstanceId");
abnormalBill.setBpmFlowId(workflowInstanceId);
}*/
// if (!StringUtil.isBlank(abnormalBill.getBpmSubmit()) && abnormalBill.getBpmSubmit().equals("false")) {
// //abnormalBill.setBpmSubmit("false");
// List<String> NcCodeGroupList = (List)abnormalBill.getNcCodeDesc().stream().map((e) -> {
// return e.split("/")[0];
// }).collect(Collectors.toList());
// abnormalBill.setPbUser(CommonMethods.getUser());
// YunBpmApiRes bpmApiRes = yunBpmService.saveQualitySystem(abnormalBill, abnormalBillDispose,
// String.join(";", NcCodeGroupList), String.join(";", abnormalBill.getNcCodeDesc()));
// if (!bpmApiRes.getErrCode().equals(0)) {
// throw new BaseException("MES提报给质量BPM系统失败");
// }
//
// String workflowInstanceId = JSON.parseObject(String.valueOf(bpmApiRes.getData())).getString("workflowInstanceId");
// abnormalBill.setBpmFlowId(workflowInstanceId);
// }
ArrayList<AbnormalNcCode> abnormalNcCodes = new ArrayList<>();
@ -687,16 +691,16 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
String local = LocaleContextHolder.getLocale().getLanguage();
abnormalBillDispose.setHandle(HandleEnum.ABNORMAL_BILL_DISPOSE.getHandle(site,abnormalBill.getAbnormalNo()));
/* if (StringUtil.isBlank(abnormalBill.getBpmSubmit())){
AbnormalBill aBill = new AbnormalBill();
aBill.setAbnormalNo(abnormalBill.getAbnormalNo());
List<AbnormalBill> abnormalBills = this.selectList(aBill);
abnormalBills.get(0).setStatus(Constants.SHUT_DOWN);
YunBpmApiRes bpmApiRes = yunBpmService.saveQualitySystem(abnormalBills.get(0), abnormalBillDispose, null, null);
if (!bpmApiRes.getErrCode().equals(0)) {
throw BusinessException.build("BPM闭环关闭失败");
}
}*/
// if (StringUtil.isBlank(abnormalBill.getBpmSubmit())){
// AbnormalBill aBill = new AbnormalBill();
// aBill.setAbnormalNo(abnormalBill.getAbnormalNo());
// List<AbnormalBill> abnormalBills = this.selectList(aBill);
// abnormalBills.get(0).setStatus(Constants.SHUT_DOWN);
// YunBpmApiRes bpmApiRes = yunBpmService.saveQualitySystem(abnormalBills.get(0), abnormalBillDispose, null, null);
// if (!bpmApiRes.getErrCode().equals(0)) {
// throw BusinessException.build("BPM闭环关闭失败");
// }
// }
if(!StringUtil.isBlank(abnormalBill.getStatus())){
abnormalBill.setStatus(abnormalBill.getStatus());

@ -201,7 +201,7 @@ public class AbnormalPlanServiceImpl extends ServiceImpl<AbnormalPlanMapper, Abn
for (int i = 0; i < findAbnormalPlan.size(); i++) {
String abnormalBo = findAbnormalPlan.get(i).getAbnormalNo();
String routerBo=findAbnormalPlan.get(i).getRtHandle();
map.put("abnormalBo",abnormalBo);
//map.put("abnormalBo",abnormalBo);
map.put("routerBo",routerBo);
List<Map<String, Object>> result =routerStepcontentService.selectDisRouterInfo(map);
String ReapirContent="";
@ -260,7 +260,7 @@ public class AbnormalPlanServiceImpl extends ServiceImpl<AbnormalPlanMapper, Abn
/**
*
*/
if(abnormalPlan.getShopOrder()==null||abnormalPlan.getShopOrder()==""){
if(abnormalPlan.getShopOrder()==null||abnormalPlan.getShopOrder()=="") {
if(abnormalPlan.getAbnormalMethod().equals("P") || abnormalPlan.getAbnormalMethod().equals("F") || abnormalPlan.getAbnormalMethod().equals("FW") || abnormalPlan.getAbnormalMethod().equals("FB")){
shopOrder.setShopOrder(abnormalBill.getAbnormalNo());
shopOrder.setPlannedItemBo(abnormalBill.getItemBo());
@ -274,6 +274,21 @@ public class AbnormalPlanServiceImpl extends ServiceImpl<AbnormalPlanMapper, Abn
throw new BaseException(e.getMessage().trim());
}
}
}else if (abnormalPlan.getShopOrder()!=null||abnormalPlan.getShopOrder()!=""){
ShopOrder shopstatus=shopOrderService.getById(HandleEnum.SHOP_ORDER.getHandle(site, abnormalPlan.getShopOrder()));
if (shopstatus.getStatusBo().equals("StatusBO:1000,503")){
shopOrder.setShopOrder(abnormalBill.getAbnormalNo());
shopOrder.setPlannedItemBo(abnormalBill.getItemBo());
shopOrder.setPlannedBomBo(abnormalBill.getAbnormalNo());
shopOrder.setRouterBo(abnormalPlan.getRepairRouter());
shopOrder.setQtyOrdered(new Double(abnormalBill.getNcQty()));
shopOrder.setQtyToBuild(new Double(abnormalBill.getNcQty()));
try {
CreateRepairShopOrder(site,shopOrder);
}catch (Exception e){
throw new BaseException(e.getMessage().trim());
}
}
}
}
@ -386,7 +401,7 @@ public class AbnormalPlanServiceImpl extends ServiceImpl<AbnormalPlanMapper, Abn
request.setShopOrder(shopOrder);
request.setStatus(ShopOrderStatus.fromValue("501"));
//订单类型为返修订单
request.setShopOrderType(ShopOrderType.REWORK);
request.setShopOrderType(ShopOrderType.PRODUCTION);
//计划物料不能为空 为返修物料
String plannedItem = repairshopOrder.getPlannedItemBo();

@ -238,7 +238,7 @@ public class ReportServiceImpl implements ReportService {
Map<String, Object> temporaryMap = qualityInspectionReport.get(i);
String abnormalBo = (String) temporaryMap.get("ABNORMAL_NO");
String routerBo = (String) temporaryMap.get("ROUTER_BO");
map.put("abnormalBo", abnormalBo);
// map.put("abnormalBo", abnormalBo);
map.put("routerBo", routerBo);
List<Map<String, Object>> result = routerStepcontentService.selectDisRouterInfo(map);
String ReapirContent = "";
@ -249,7 +249,6 @@ public class ReportServiceImpl implements ReportService {
}
}
qualityInspectionReport.get(i).put("ROUTER_STEP_CONTENT", ReapirContent);
}

@ -67,6 +67,7 @@
<result column="RESOLVE_REMARK" property="resolveRemark"/>
<result column="REPORT_SEND_USER_GROUP" property="reportSendUserGroup"/>
<result column="NC_CODE_DESCRIPTION" property="ncCodeDescription"/>
<result column="ROUTER_BO" property="disRouterBo"/>
</resultMap>
<resultMap id="scrapDto" type="com.foreverwin.mesnac.common.dto.ScrapDto" >
@ -985,7 +986,7 @@
<!-- BaseMapper标准查询/修改/删除 -->
<select id="backLog" resultMap="abnormalBillDto">
SELECT ROW_NUMBER() OVER(ORDER BY ZAB.ABNORMAL_NO ASC) SEQ,ZAB.ABNORMAL_NO ABNORMAL_NO,
SELECT ROW_NUMBER() OVER(ORDER BY ZAB.ABNORMAL_NO ASC) SEQ,ZAB.ABNORMAL_NO ABNORMAL_NO,ZABD.ROUTER_BO,
CASE WHEN ZAB.CORRECTION = 'true' AND ZAB.PROGRAM = 'true' AND ZAB.STATUS != 'G' THEN '纠防确认,方案确认'
ELSE ZAB.STATUS
END STATUS ,
@ -1108,7 +1109,7 @@
</if>
</where>
GROUP BY zab.ABNORMAL_NO,it.DESCRIPTION,zab.CREATED_DATE_TIME,zab.RESPONSE_DATE_TIME,
ZNU.FULL_NAME,zab.NC_CODE,zab.PB_DESCRIPTION,ZAB.CORRECTION,ZAB.PROGRAM,ZAB.STATUS
ZNU.FULL_NAME,zab.NC_CODE,zab.PB_DESCRIPTION,ZAB.CORRECTION,ZAB.PROGRAM,ZAB.STATUS,ZABD.ROUTER_BO
ORDER BY zab.CREATED_DATE_TIME DESC
</select>

@ -141,9 +141,26 @@ public class FileController {
if (null == in) {
throw new BaseException("获取图纸文件路径为:【" + path + "】的文件流失败!");
}
// ByteArrayOutputStream outStream2 = new ByteArrayOutputStream();
// BufferedReader reader = new BufferedReader(new InputStreamReader(in));
// while (reader.ready()){
// String line=reader.readLine();
// }
// BufferedReader in2=new BufferedReader(new InputStreamReader(in));
// String y="";
// while((y=in2.readLine())!=null){//一行一行读
// outStream2.write(y.getBytes());
// }
ByteArrayOutputStream outStream = new ByteArrayOutputStream();
byte[] buffer = new byte[1024*5];
int len = -1;
//
//
int len = 0;
byte[] buffer = new byte[1024];
while((len = in.read(buffer)) != -1){
outStream.write(buffer, 0, len);
}
@ -155,6 +172,40 @@ public class FileController {
out.flush();
// StringBuffer content = new StringBuffer();
// try (FtpTemplate template = ftpTemplateFactory.createAndConnect())
// {
// InputStream inputStream = template.retrieveFileStream(filePath);
// byte[] buf = new byte[1024];
// int length = 0;
// while ((length = inputStream.read(buf)) != -1)
// { content.append(new String(buf, 0, length)); }
// }
// catch (IOException e) {
// e.printStackTrace();
// LOG.error("获取ftp文件输入流异常", e);
// throw new BizException("获取ftp文件输入流异常");
// }
//
//
// StringBuffer content = new StringBuffer();
// try (FtpTemplate template = ftpTemplateFactory.createAndConnect()) {
// InputStream inputStream = template.retrieveFileStream(filePath);
// Reader reader = new InputStreamReader(inputStream);
// try(
// BufferedReader bufferedReader = new BufferedReader(reader))
// { String read;
// while ((read = bufferedReader.readLine())!=null){ content.append(read+"\n"); }
// }catch (Exception e){
// LOG.error("读取文件异常!", e);
// throw new BizException("读取文件异常!"); }
// }
// catch (Exception e) { e.printStackTrace();
// LOG.error("获取ftp文件输入流异常", e);
// throw new BizException("获取ftp文件输入流异常");
// }
// ByteArrayOutputStream outStream = new ByteArrayOutputStream();
//
// byte[] buffer = new byte[1024];
@ -250,4 +301,11 @@ public class FileController {
return R.ok(null, "下载文件成功!");
}
public static char byteToChar(byte[] b) {
int hi = (b[0] & 0xFF) << 8;
int lo = b[1] & 0xFF;
return (char) (hi | lo);
}
}

@ -175,6 +175,24 @@ public class ReportDataController {
return R.failed(e.getMessage());
}
}
/**
*
* @param paramMap
* @return
*/
@GetMapping("/selectItemMoveWaitTime")
public R selectItemMoveWaitTime(@RequestParam(required = false) Map paramMap) {
try{
paramMap.put("site", CommonMethods.getSite());
List<Map<String, Object>> result = reportDataMapper.selectItemMoveWaitTime(paramMap);
return R.ok(result);
}catch (Exception e){
return R.failed(e.getMessage());
}
}
/**
*
* @param

@ -349,7 +349,7 @@ public class WorkmanshipCardFtpClient {
public FTPClient login() throws IOException{
this.ftp=new FTPClient();
this.ftp.connect(address,port);
this.ftp.setFileType(FTP.BINARY_FILE_TYPE);
if(FTPReply.isPositiveCompletion(this.ftp.getReplyCode())){
if(this.ftp.login(userName, password)){
this.ftp.setControlEncoding("GBK");

@ -40,4 +40,6 @@ public interface ReportDataMapper {
List<Map<String, Object>> selectItemMoveData(Map paramMap);
void doItemMove(@Param("site") String site, @Param("list") List<String> list);
List<Map<String, Object>> selectItemMoveWaitTime(Map paramMap);
}

@ -790,6 +790,9 @@
GROUP BY "MONTH",WORK_CENTER,DESCRIPTION
ORDER BY WORK_CENTER, "MONTH"
</select>
<select id="selectItemMoveWaitTime" resultType="java.util.Map">
</select>
<update id="doItemMove">
UPDATE Z_SFC_DISPATCH ZSD SET ZSD.OTHER_3 = 'true' WHERE ZSD.HANDLE IN

@ -809,6 +809,7 @@
LEFT JOIN WORK_CENTER_MEMBER WCM ON WCM.WORK_CENTER_OR_RESOURCE_GBO = 'ResourceBO:' || SD.SITE || ',' ||
SD.RESRCE
LEFT JOIN WORK_CENTER WR ON WR.HANDLE = WCM.WORK_CENTER_BO
LEFT JOIN ROUTER RT ON SD.ROUTER_BO = RT.HANDLE
WHERE SD.SITE = #{site}
<if test="HANDLE != null and HANDLE != ''">
AND SD.HANDLE = #{HANDLE}
@ -865,7 +866,7 @@
AND SD.BLANKING_SIZE LIKE '%'||#{blankingSize}||'%'
</if>
<if test="step != null and step != ''">
AND SD.STEP_ID = #{step}
AND SD.STEP_ID like #{step}||'%'
</if>
<if test="component != null and component != ''">
AND CP.ITEM = #{component}
@ -894,6 +895,9 @@
<if test="dispatchSeq != null">
AND SD.DISPATCH_SEQ = #{dispatchSeq}
</if>
<if test="isRework != null and isRework != ''">
AND RT.ROUTER_TYPE = 'C'
</if>
GROUP BY SD.HANDLE, SD.SITE, SD.SHOP_ORDER, SD.DISPATCH_NO, SD.ROUTER_BO, C2.VALUE, C1.VALUE, IM.HANDLE,
IM.ITEM, IT.DESCRIPTION, SD.SFC, SD.DISPATCH_STATUS,SD.DRAWINGS_REVISION,
@ -913,6 +917,7 @@
<if test="isCompleted != null and isCompleted != ''">
WHERE WIP.IS_COMPLETED = #{isCompleted}
</if>
ORDER BY WIP.SHOP_ORDER,WIP.SFC,TO_NUMBER(WIP.DISPATCH_SEQ) asc
</select>
@ -971,23 +976,23 @@
AND ROWNUM=1 ORDER BY ACTUAL_COMPLETE_DATE DESC
</select>
<select id="findNewtistSfcDispatchBySfc" resultType="com.foreverwin.mesnac.common.dto.SfcDispatchDto">
SELECT
*
FROM
(
SELECT
ZIT.STEP_ID
SELECT
*
FROM
Z_LOGISTICS_TURNOVER ZLT
LEFT JOIN Z_INSPECTION_TASK ZIT ON ZLT.OTHER3 = ZIT.HANDLE
(
SELECT
ZLT.SFC_DISPATCH_BO HANDLE
FROM
Z_LOGISTICS_TURNOVER ZLT
LEFT JOIN Z_SFC_DISPATCH ZSD ON ZLT.SFC_DISPATCH_BO = ZSD.HANDLE
WHERE
ZLT.STATUS = 'NEW'
AND ZSD.SFC = #{sfc}
ORDER BY
ZSD.ACTUAL_COMPLETE_DATE DESC
)
WHERE
ZLT.STATUS = 'NEW'
AND ZIT.SFC = #{sfc}
ORDER BY
ZIT.CREATED_DATE_TIME DESC
)
WHERE
ROWNUM = 1
ROWNUM = 1
</select>

@ -733,7 +733,8 @@ public class InterfaceServiceImpl implements InterfaceService {
}
//工单创建
shopOrderMeService.createShopOrder(request);
} else {
}
else {
//工单存在更新或者关闭
if ("504".equals(status)) {
CloseShopOrderRequest request = new CloseShopOrderRequest();

@ -26,7 +26,7 @@ public interface LogisticsTurnoverMapper extends BaseMapper<LogisticsTurnover> {
List<LogisticsDto> queryLogisticsTurnoverList(@Param("HJHJ") String HJHJ,@Param("HJXL") String HJXL,@Param("JJ") String JJ,@Param("WX") String WX,@Param("RC") String RC,@Param("ZP") String ZP);
LogisticsTurnover queryNewtistTurnoverTask(String InspectionTaskNo);
LogisticsTurnover queryNewtistTurnoverTask(String sfcDispatchBo);
List<LogisticsDto> selectlogisticsturnoverlist(LogisticsDto logisticsDto);

@ -32,7 +32,7 @@ public interface LogisticsTurnoverService extends IService<LogisticsTurnover> {
List<LogisticsDto> queryLogisticsTurnoverList(String HJHJ,String HJXL,String JJ,String WX,String RC,String ZP);
LogisticsTurnover queryNewtistTurnoverTask(String InspectionTaskNo);
LogisticsTurnover queryNewtistTurnoverTask(String sfcDispatchBo);
IPage<LogisticsDto> selectLogisticsDtoPage(FrontPage<LogisticsDto> frontPage, LogisticsDto logisticsDto);

@ -59,8 +59,8 @@ public class LogisticsTurnoverServiceImpl extends ServiceImpl<LogisticsTurnoverM
}
@Override
public LogisticsTurnover queryNewtistTurnoverTask(String InspectionTaskNo) {
return logisticsTurnoverMapper.queryNewtistTurnoverTask(InspectionTaskNo);
public LogisticsTurnover queryNewtistTurnoverTask(String sfcDispatchBo) {
return logisticsTurnoverMapper.queryNewtistTurnoverTask(sfcDispatchBo);
}
@Override

@ -557,15 +557,24 @@
<select id="queryNewtistTurnoverTask" resultType="com.foreverwin.mesnac.meapi.model.LogisticsTurnover">
SELECT
ZLT.HANDLE,
ZLT.TURNOVER_WORK_CENTER NEXT_WORK_CENTER,
WCT.DESCRIPTION TURNOVER_WORK_CENTER
*
FROM
Z_LOGISTICS_TURNOVER ZLT
LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZLT.TURNOVER_WORK_CENTER
LEFT JOIN WORK_CENTER_T WCT ON WC.HANDLE = WCT.WORK_CENTER_BO
(
SELECT
ZLT.HANDLE,
ZLT.TURNOVER_WORK_CENTER NEXT_WORK_CENTER,
WCT.DESCRIPTION TURNOVER_WORK_CENTER
FROM
Z_LOGISTICS_TURNOVER ZLT
LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZLT.TURNOVER_WORK_CENTER
LEFT JOIN WORK_CENTER_T WCT ON WC.HANDLE = WCT.WORK_CENTER_BO
WHERE
ZLT.SFC_DISPATCH_BO = #{sfcDispatchBo}
ORDER BY
ZLT.CREATED_DATE_TIME DESC
)
WHERE
ZLT.OTHER3=#{InspectionTaskNo}
ROWNUM = 1
</select>
<select id="queryLogisticsTurnoverList" resultType="com.foreverwin.mesnac.meapi.dto.LogisticsDto">
@ -586,7 +595,8 @@
Z_LOGISTICS_TURNOVER ZLT
LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZLT.TURNOVER_WORK_CENTER
LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WC.HANDLE
LEFT JOIN Z_SFC_DISPATCH ZSD ON ZLT.SFC_DISPATCH_BO = ZSD.HANDLE
LEFT JOIN Z_INSPECTION_TASK ZIT ON ZLT.OTHER3 = ZIT.HANDLE
LEFT JOIN Z_SFC_DISPATCH ZSD ON ZIT.SFC = ZSD.SFC AND ZIT.STEP_ID=ZSD.STEP_ID
LEFT JOIN OPERATION O1 ON O1.OPERATION = ZSD.OPERATION
LEFT JOIN OPERATION_T OT1 ON OT1.OPERATION_BO = O1.HANDLE
LEFT JOIN OPERATION O ON O.OPERATION = ZLT.OTHER1

@ -319,6 +319,15 @@ public class PodTemplateServiceImpl implements PodTemplateService {
sfcDispatchCommonService.updateSfcDispatchStatus(site, CommonMethods.getUser(), dispatchNo, DispatchStatusEnum.START.getCode(),null);
return;
}
else {
try {
sfcCrossService.startAction(site, currentRevisionRef.getHandle(), resrce, sfcServiceById.getHandle(), qty);
} catch (Exception e) {
ExceptionUtil.throwException(e);
}
//更改派工单状态
sfcDispatchCommonService.updateSfcDispatchStatus(site, CommonMethods.getUser(), dispatchNo, DispatchStatusEnum.START.getCode(),null);
}
}else {
try {
sfcCrossService.startAction(site, currentRevisionRef.getHandle(), resrce, sfcServiceById.getHandle(), qty);
@ -441,24 +450,35 @@ public class PodTemplateServiceImpl implements PodTemplateService {
workHour = workHour.subtract(holdTime);
}
//判断下工序需要转车间?创建物流周转任务
//下道工序
// Router router = routerService.getRouterBySfcBo(HandleEnum.SFC.getHandle(site, sfcServiceById.getSfc()));
// if (router==null){
// throw new BaseException("未找到当前工序");
// }
//
// List<RouterStepDto> stepOperationList = routerStepService.findRouterOperationByRouterBo(site, router.getHandle());
// StringBuilder operationDesc = new StringBuilder();
// for (int i = 0; i < stepOperationList.size(); i++) {
// RouterStepDto stepOperation = stepOperationList.get(i);
// operationDesc.append(stepOperation.getOperationDesc()) ;
// if (i!=stepOperationList.size()-1){
// operationDesc.append(",");
// }
// }
// System.out.println(operationDesc.toString());
}
//完成工序为外协工序则找下道工序,生成跨车间转运任务
else if (operation.equals("WX_6106GX")){
//找下道工序
QueryWrapper<SfcDispatch> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(SfcDispatch.SFC,sfcDispatchById.getSfc());
queryWrapper.eq(SfcDispatch.SHOP_ORDER,sfcDispatchById.getShopOrder());
queryWrapper.eq(SfcDispatch.DISPATCH_SEQ,String.valueOf(Integer.parseInt(sfcDispatchById.getDispatchSeq())+1));
SfcDispatch nextsfcDispatch=sfcDispatchService.getOne(queryWrapper);
if (nextsfcDispatch != null && !nextsfcDispatch.getWorkCenter().equals(sfcDispatchById.getWorkCenter())){
//生成转运任务
LogisticsTurnover logisticsTurnover=new LogisticsTurnover();
logisticsTurnover.setHandle("LogisticsBO:1000"+","+UUID.randomUUID().toString());
logisticsTurnover.setSfcDispatchBo(sfcDispatchById.getHandle());
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther1(nextsfcDispatch.getOperation());
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
// logisticsTurnover.setOther3(inspectionTaskModel.getHandle());
logisticsTurnover.setIsReceive("N");
logisticsTurnover.setTurnoverWorkCenter(nextsfcDispatch.getWorkCenter());
logisticsTurnover.setTurnoutItem(sfcDto.getItem());
logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter());
try {
logisticsTurnoverService.save(logisticsTurnover);
}catch (Exception e){
throw new BaseException("生成周转任务失败!");
}
}
}
try {
@ -798,21 +818,10 @@ public class PodTemplateServiceImpl implements PodTemplateService {
//当前工序
SfcDispatchDto dispatchDto=sfcDispatchCommonService.findNewtistSfcDispatchBySfc(sfc);
Operation operationBySfcBo = commonService.getOperationBySfcBo(sfcById.getHandle());
QueryWrapper<InspectionTask> queryWrapper = new QueryWrapper<>();
InspectionTask inspectionTask=new InspectionTask();
inspectionTask.setSfc(sfc);
inspectionTask.setStepId(dispatchDto.getStepId());
queryWrapper.setEntity(inspectionTask);
InspectionTask inspectionTaskServiceOne=inspectionTaskService.getOne(queryWrapper);
paramMap.put("HANDLE",inspectionTaskServiceOne.getSfcDispatchBo());
LogisticsDto logisticsDto=new LogisticsDto();
paramMap.put("HANDLE",dispatchDto.getHandle());
List<SfcDispatchDto> list = sfcDispatchMapper.findSfcDispatchList(paramMap);
LogisticsTurnover logisticsTurnover=logisticsTurnoverService.queryNewtistTurnoverTask(inspectionTaskServiceOne.getHandle());
LogisticsTurnover logisticsTurnover=logisticsTurnoverService.queryNewtistTurnoverTask(dispatchDto.getHandle());
LogisticsDto logisticsDto=new LogisticsDto();
if (!list.isEmpty()){
logisticsDto.setHandle(logisticsTurnover.getHandle());
logisticsDto.setItemDescription(list.get(0).getItemDescription());

@ -24,6 +24,7 @@ import com.foreverwin.mesnac.quality.mapper.InspectionTaskManageMapper;
import com.foreverwin.mesnac.quality.model.InspectionTaskManageDetail;
import com.foreverwin.mesnac.quality.model.InspectionTaskManage;
import com.foreverwin.mesnac.quality.service.InspectionTaskManageService;
import com.foreverwin.modular.core.exception.BaseException;
import com.foreverwin.modular.core.exception.BusinessException;
import com.foreverwin.modular.core.util.CommonMethods;
import org.slf4j.Logger;
@ -166,56 +167,9 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
* 3
*/
SfcDispatch sfcDispatchById = sfcDispatchService.getById(request.getSfcdispatchBo());
Router router = routerService.getById(sfcDispatchById.getRouterBo());
if (!router.getRouterType().equals("C")){
//找下道工序 (返修工序除外)
QueryWrapper<SfcDispatch> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(SfcDispatch.SFC,sfcDispatchById.getSfc());
queryWrapper.eq(SfcDispatch.SHOP_ORDER,sfcDispatchById.getShopOrder());
queryWrapper.eq(SfcDispatch.DISPATCH_SEQ,String.valueOf(Integer.parseInt(sfcDispatchById.getDispatchSeq())+1));
SfcDispatch nextsfcDispatch=sfcDispatchService.getOne(queryWrapper);
//判断下道工序是否为空
if (nextsfcDispatch!=null && (!nextsfcDispatch.getOperation().equals("HJ_6106JYGX") || !nextsfcDispatch.getOperation().equals("HJ_6106JRGX"))){
logger.error("质检工序合格"+sfcDispatchById.getOperation()+"的下道工序不为空,下道工序为"+nextsfcDispatch.getOperation());
//如果不等于空,判断下道工序的工作中心和质检完的工作中心是否一致
if (!sfcDispatchById.getWorkCenter().equals(nextsfcDispatch.getWorkCenter())){
logger.error("下道工序和质检工序的工作中心不相同");
//如果不相等的话 插入周转任务表
LogisticsTurnover logisticsTurnover=new LogisticsTurnover();
logisticsTurnover.setHandle("LogisticsBO:1000"+","+UUID.randomUUID().toString());
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther1(nextsfcDispatch.getOperation());
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
logisticsTurnover.setOther3(request.getHandle());
logisticsTurnover.setIsReceive("N");
logisticsTurnover.setTurnoverWorkCenter(nextsfcDispatch.getWorkCenter());
logisticsTurnover.setTurnoutItem(request.getItem());
logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter());
try {
logisticsTurnoverService.save(logisticsTurnover);
}catch (Exception e){
logger.error("周转任务表插入出错"+e.getMessage());
}
}
}else if (Constants.RK.equals(sfcDispatchById.getOther2()) && nextsfcDispatch ==null){
//如果为空值 则判断下道工序的入库标识是否入库
LogisticsTurnover logisticsTurnover=new LogisticsTurnover();
logisticsTurnover.setHandle("LogisticsBO:1000"+","+UUID.randomUUID().toString());
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
logisticsTurnover.setOther3(request.getHandle());
logisticsTurnover.setIsReceive("N");
logisticsTurnover.setTurnoverWorkCenter("BCP");
logisticsTurnover.setTurnoutItem(request.getItem());
logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter());
logisticsTurnoverService.save(logisticsTurnover);
}
}
this.CreateLogisticsTask(request);
}
@ -281,62 +235,10 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
* 2
* 3
*/
SfcDispatch sfcDispatchById = sfcDispatchService.getById(inspectionTaskManage.getSfcdispatchBo());
Router router = routerService.getById(sfcDispatchById.getRouterBo());
if (!router.getRouterType().equals("C")){
//找下道工序
QueryWrapper<SfcDispatch> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(SfcDispatch.SFC,sfcDispatchById.getSfc());
queryWrapper.eq(SfcDispatch.SHOP_ORDER,sfcDispatchById.getShopOrder());
queryWrapper.eq(SfcDispatch.DISPATCH_SEQ,String.valueOf(Integer.parseInt(sfcDispatchById.getDispatchSeq())+1));
SfcDispatch nextsfcDispatch=sfcDispatchService.getOne(queryWrapper);
//判断下道工序是否为空
if (nextsfcDispatch!=null && (!nextsfcDispatch.getOperation().equals("HJ_6106JYGX") || !nextsfcDispatch.getOperation().equals("HJ_6106JRGX")) ){
logger.error("质检工序合格"+sfcDispatchById.getOperation()+"的下道工序不为空,下道工序为"+nextsfcDispatch.getOperation());
//如果不等于空,判断下道工序的工作中心和质检完的工作中心是否一致
if (!sfcDispatchById.getWorkCenter().equals(nextsfcDispatch.getWorkCenter())){
logger.error("下道工序和质检工序的工作中心不相同");
//如果不相等的话 插入周转任务表
LogisticsTurnover logisticsTurnover=new LogisticsTurnover();
logisticsTurnover.setHandle("LogisticsBO:1000"+","+UUID.randomUUID().toString());
logisticsTurnover.setSfcDispatchBo(inspectionTaskModel.getSfcDispatchBo());
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther1(nextsfcDispatch.getOperation());
logisticsTurnover.setOther2(inspectionTaskModel.getStepId());
logisticsTurnover.setOther3(inspectionTaskModel.getHandle());
logisticsTurnover.setIsReceive("N");
logisticsTurnover.setTurnoverWorkCenter(nextsfcDispatch.getWorkCenter());
logisticsTurnover.setTurnoutItem(inspectionTaskManage.getItem());
logisticsTurnover.setTurnoutWorkcenter(inspectionTaskManage.getWorkCenter());
try {
logisticsTurnoverService.save(logisticsTurnover);
}catch (Exception e){
logger.error("周转任务表插入出错"+e.getMessage());
}
}
}else if (Constants.RK.equals(sfcDispatchById.getOther2()) && nextsfcDispatch ==null){
//如果为空值 则判断下道工序的入库标识是否入库
LogisticsTurnover logisticsTurnover=new LogisticsTurnover();
logisticsTurnover.setHandle("LogisticsBO:1000"+","+UUID.randomUUID().toString());
logisticsTurnover.setSfcDispatchBo(inspectionTaskModel.getSfcDispatchBo());
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther2(inspectionTaskModel.getStepId());
logisticsTurnover.setOther3(inspectionTaskModel.getHandle());
logisticsTurnover.setIsReceive("N");
logisticsTurnover.setTurnoverWorkCenter("BCP");
logisticsTurnover.setTurnoutItem(inspectionTaskManage.getItem());
logisticsTurnover.setTurnoutWorkcenter(inspectionTaskManage.getWorkCenter());
logisticsTurnoverService.save(logisticsTurnover);
}
}
InspectionTaskManageRequest request=new InspectionTaskManageRequest();
request.setSfcdispatchBo(inspectionTaskManage.getSfcdispatchBo());
this.CreateLogisticsTask(request);
}
inspectionTaskModel.setStatus("SAVE".equals(type) ? Constants.INSPECTION_TASK_STATUS_DOING : Constants.INSPECTION_TASK_STATUS_COMPLETE);
inspectionTaskModel.setResult(result);
inspectionTaskModel.setComments(inspectionTaskManage.getComments());
@ -369,4 +271,120 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
inspectionTaskService.save(newInspectionTask);*/
}
public void CreateLogisticsTask(InspectionTaskManageRequest request) {
SfcDispatch sfcDispatchById = sfcDispatchService.getById(request.getSfcdispatchBo());
Router router = routerService.getById(sfcDispatchById.getRouterBo());
//找下道工序 (返修工序除外)
if (!router.getRouterType().equals("C")) {
QueryWrapper<SfcDispatch> queryWrapper = new QueryWrapper<>();
queryWrapper.eq(SfcDispatch.SFC, sfcDispatchById.getSfc());
queryWrapper.eq(SfcDispatch.SHOP_ORDER, sfcDispatchById.getShopOrder());
queryWrapper.eq(SfcDispatch.DISPATCH_SEQ, String.valueOf(Integer.parseInt(sfcDispatchById.getDispatchSeq()) + 1));
SfcDispatch nextsfcDispatch = sfcDispatchService.getOne(queryWrapper);
//判断下道工序是否为空
if (nextsfcDispatch != null && !nextsfcDispatch.getOperation().equals("HJ_6106JYGX") && !nextsfcDispatch.getOperation().equals("HJ_6106JRGX")) {
logger.error("质检工序合格" + sfcDispatchById.getOperation() + "的下道工序不为空,下道工序为" + nextsfcDispatch.getOperation());
//如果不等于空,判断下道工序的工作中心和质检完的工作中心是否一致
if (!sfcDispatchById.getWorkCenter().equals(nextsfcDispatch.getWorkCenter())) {
logger.error("下道工序和质检工序的工作中心不相同");
//如果不相等的话 插入周转任务表
LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther1(nextsfcDispatch.getOperation());
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
logisticsTurnover.setOther3(request.getHandle());
logisticsTurnover.setIsReceive("N");
logisticsTurnover.setTurnoverWorkCenter(nextsfcDispatch.getWorkCenter());
logisticsTurnover.setTurnoutItem(request.getItem());
logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter());
try {
logisticsTurnoverService.save(logisticsTurnover);
} catch (Exception e) {
throw new BaseException("周转任务生成失败");
}
}
}
//如果下道工序不为空且下道工序是检验,继续找下道工序
else if (nextsfcDispatch != null && nextsfcDispatch.getOperation().equals("HJ_6106JYGX")) {
QueryWrapper<SfcDispatch> queryWrappers = new QueryWrapper<>();
queryWrappers.eq(SfcDispatch.SFC, sfcDispatchById.getSfc());
queryWrappers.eq(SfcDispatch.SHOP_ORDER, sfcDispatchById.getShopOrder());
queryWrappers.eq(SfcDispatch.DISPATCH_SEQ, String.valueOf(Integer.parseInt(nextsfcDispatch.getDispatchSeq()) + 1));
SfcDispatch nextssfcDispatch = sfcDispatchService.getOne(queryWrappers);
if (nextssfcDispatch != null && !nextssfcDispatch.getWorkCenter().equals(sfcDispatchById.getWorkCenter())) {
LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther1(nextssfcDispatch.getOperation());
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
logisticsTurnover.setOther3(request.getHandle());
logisticsTurnover.setIsReceive("N");
logisticsTurnover.setTurnoverWorkCenter(nextssfcDispatch.getWorkCenter());
logisticsTurnover.setTurnoutItem(request.getItem());
logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter());
try {
logisticsTurnoverService.save(logisticsTurnover);
} catch (Exception e) {
throw new BaseException("周转任务生成失败");
}
}else if (Constants.RK.equals(nextsfcDispatch.getOther2())){
LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther1(nextsfcDispatch.getOperation());
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
logisticsTurnover.setOther3(request.getHandle());
logisticsTurnover.setIsReceive("N");
logisticsTurnover.setTurnoverWorkCenter("BCP");
logisticsTurnover.setTurnoutItem(request.getItem());
logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter());
try {
logisticsTurnoverService.save(logisticsTurnover);
} catch (Exception e) {
throw new BaseException("周转任务生成失败");
}
}
}
// Constants.RK.equals(sfcDispatchById.getOther2())
else if (nextsfcDispatch != null && nextsfcDispatch.getOperation().equals("HJ_6106JRGX") && Constants.RK.equals(nextsfcDispatch.getOther2())) {
//下工序为空,本工序为检入工序生成转序任务
LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
logisticsTurnover.setOther3(request.getHandle());
logisticsTurnover.setIsReceive("N");
logisticsTurnover.setTurnoverWorkCenter("BCP");
logisticsTurnover.setTurnoutItem(request.getItem());
logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter());
logisticsTurnoverService.save(logisticsTurnover);
}
else if (nextsfcDispatch == null && Constants.RK.equals(sfcDispatchById.getOther2()) ) {
//如果为空值 则判断入库标识
LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
logisticsTurnover.setOther3(request.getHandle());
logisticsTurnover.setIsReceive("N");
logisticsTurnover.setTurnoverWorkCenter("BCP");
logisticsTurnover.setTurnoutItem(request.getItem());
logisticsTurnover.setTurnoutWorkcenter(sfcDispatchById.getWorkCenter());
logisticsTurnoverService.save(logisticsTurnover);
}
}
}
}

@ -105,6 +105,7 @@
<if test="result != null and result != ''">
AND B.RESULT = #{result}
</if>
ORDER BY B.CREATED_DATE_TIME DESC
</select>
<select id="selectInspectionTaskDetail" resultType="com.foreverwin.mesnac.quality.model.InspectionTaskManageDetail" flushCache="true">

Loading…
Cancel
Save