yinq 2 years ago
commit a0946df1ec

@ -207,6 +207,8 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
@Autowired
private RouterStepcontentMapper routerStepcontentMapper;
@Autowired
public LogisticsTurnoverService logisticsTurnoverService;
@Override
@ -254,6 +256,17 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
}else if(StringUtils.isBlank(abnormalBill.getStepId())){
throw new BaseException("根据SFC找不到StepId");
}
if (StringUtil.notBlank(abnormalBill.getShopOrder())){
ShopOrder shopOrder = shopOrderService.findByShopOrderBo(HandleEnum.SHOP_ORDER.getHandle(site,abnormalBill.getShopOrder()));
if (StringUtil.notBlank(shopOrder.getStatusBo()) && shopOrder.getStatusBo().equals("StatusBO:1000,501") && (abnormalBill.getSfc()==null || abnormalBill.getSfc()==" ") )
{
throw new BaseException("在产订单的异常必须按照SFC来提报");
}
}
if(!StringUtils.isBlank(abnormalBill.getObjectBo())){
if("J".equals(abnormalBill.getReportFrom())){
abnormalBill.setObjectBo(HandleEnum.INSPECTION_TASK.getHandle(site,abnormalBill.getObjectBo()));
@ -511,7 +524,13 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
if(StringUtil.isEmpty(abnormalBill.getAbnormalNo())){
return null;
}
return abnormalBillDisposeMapper.findAllByAbnormalNo(abnormalBill,local);
Map paramMap=new HashMap();
paramMap.put("routerBo",abnormalBill.getDisRouterBo());
paramMap.put("site",site);
AbnormalBillDisposeDto abnormalBillDisposeDto=abnormalBillDisposeMapper.findAllByAbnormalNo(abnormalBill,local);
abnormalBillDisposeDto.setList(routerStepcontentMapper.selectDisRouterInfo(paramMap));
return abnormalBillDisposeDto;
}
@Override
@ -588,6 +607,49 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
}
}
/**
*
*/
RouterStep routerStep =new RouterStep();
QueryWrapper<RouterStep> queryWrapper = new QueryWrapper<>();
routerStep.setRouterBo(abnormalBillDispose.getRouterBo());
routerStep.setSequence(Long.parseLong("1"));
queryWrapper.setEntity(routerStep);
routerStep=routerStepService.getOne(queryWrapper);
String[] items = abnormalBill.getItemBo().split(",");
String item=items[1];
if (StringUtil.notBlank(routerStep.getDescription())){
String disRouterfirtOperation = routerStep.getDescription().substring(0, routerStep.getDescription().indexOf("_"));
if (StringUtil.notBlank(abnormalBill.getOperation()) && StringUtil.notBlank(abnormalBill.getSfc()) && StringUtil.notBlank(abnormalBill.getStepId())){
/**
*
*/
String abnormalOperation = abnormalBill.getOperation().substring(0, abnormalBill.getOperation().indexOf("_"));
if (!disRouterfirtOperation.equals(abnormalOperation)){
//生成返修物流周转任务
LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
logisticsTurnover.setSfcDispatchBo(HandleEnum.SFC_DISPATCH.getHandle(site, abnormalBill.getSfc()+"-"+abnormalBill.getStepId()));
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther1(routerStep.getDescription());
logisticsTurnover.setOther2(abnormalBill.getStepId());
logisticsTurnover.setIsReceive("N");
logisticsTurnover.setTurnoverWorkCenter(disRouterfirtOperation);
logisticsTurnover.setTurnoutItem(item);
logisticsTurnover.setTurnoutWorkcenter(abnormalOperation);
try {
logisticsTurnoverService.save(logisticsTurnover);
} catch (Exception e) {
throw new BaseException("返修件周转任务生成失败");
}
}
}
}
//判断返修工单是否正确
if(!StringUtil.isBlank(abnormalBillDispose.getResolveShopOrder())){
ShopOrder shopOrder = shopOrderMapper.selectById(HandleEnum.SHOP_ORDER.getHandle(site, abnormalBillDispose.getResolveShopOrder()));
@ -1670,10 +1732,12 @@ public class AbnormalBillServiceImpl extends ServiceImpl<AbnormalBillMapper, Abn
@Override
public boolean deviceRepairComplete( List<AbnormalBill> abnormalBills) {
boolean flag=this.updateBatchById(abnormalBills);
String site=CommonMethods.getSite();
if (flag){
//发送维修完成的消息给相关人员
for (AbnormalBill abnormalBill : abnormalBills){
abnormalBill.setType("S");
abnormalBill.setSite(site);
abnormalBill.setReportSendUserGroup("SBYCSB-REPAIRCOMPLETE");
this.sendMessageToDeviceRepairComplete(abnormalBill);
}

@ -201,6 +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();
if(StringUtil.notBlank(routerBo)){
//map.put("abnormalBo",abnormalBo);
map.put("routerBo",routerBo);
List<Map<String, Object>> result =routerStepcontentService.selectDisRouterInfo(map);
@ -213,6 +214,7 @@ public class AbnormalPlanServiceImpl extends ServiceImpl<AbnormalPlanMapper, Abn
}
findAbnormalPlan.get(i).setReapirContent(ReapirContent);
}
}
// for (AbnormalPlanDto planDto:findAbnormalPlan){
// String abnormalBo = planDto.getAbnormalNo();

@ -8,6 +8,7 @@ import com.foreverwin.mesnac.anomaly.service.ReportService;
import com.foreverwin.mesnac.anomaly.utils.DateReportUtils;
import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.util.DateUtil;
import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.meapi.mapper.DataFieldListMapper;
import com.foreverwin.mesnac.meapi.mapper.ItemMapper;
import com.foreverwin.mesnac.meapi.mapper.ShopOrderMapper;
@ -238,6 +239,9 @@ 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");
if(StringUtil.notBlank(routerBo)){
// map.put("abnormalBo", abnormalBo);
map.put("routerBo", routerBo);
List<Map<String, Object>> result = routerStepcontentService.selectDisRouterInfo(map);
@ -251,6 +255,8 @@ public class ReportServiceImpl implements ReportService {
qualityInspectionReport.get(i).put("ROUTER_STEP_CONTENT", ReapirContent);
}
}
//责任分类
dataField.setDataField("RESPONSIBILITY_TYPE");

@ -441,7 +441,7 @@
<select id="findQualityInspectionReport" parameterType="java.util.HashMap" resultType="java.util.HashMap">
SELECT Szsd.PROD_HOURS* CFPT.VALUE*zab.PB_QTY PRICE,CFPT.VALUE PRICE_TIME,zab.CREATED_DATE_TIME,zab.ABNORMAL_NO
ABNORMAL_NO,
ABNORMAL_NO,zab.SFC,zab.PB_USER,zab.REPORT_FROM,
dflt.DATA_TAG PRODUCT_CATEGORY,
dflt2.DATA_TAG DISCOVER,
i.ITEM ITEM ,it.DESCRIPTION ITEM_DESCRIPTION,
@ -563,7 +563,7 @@
zsd.EMPLOYEE_DESCRIPTION ,ot.DESCRIPTION ,RES.RESRCE,RES.DESCRIPTION,
r2.RESRCE,r2.DESCRIPTION,zsd.RESOURCE_TYPE,ot2.DESCRIPTION,rt2.DESCRIPTION,
rt.DESCRIPTION, dflt.DATA_TAG,zabd.DUTY_CAUSE_TYPE,zabd.DUTY_TYPE ,zabd.DUTY_DEPART,zab.SFC,
znu.FULL_NAME,znu2.FULL_NAME,zab.RESPONSE_DATE_TIME,dflt2.DATA_TAG,Szsd.HANDLE, Szsd.PROD_HOURS,zabd.ROUTER_BO
znu.FULL_NAME,znu2.FULL_NAME,zab.RESPONSE_DATE_TIME,dflt2.DATA_TAG,Szsd.HANDLE, Szsd.PROD_HOURS,zabd.ROUTER_BO,zab.PB_USER,zab.REPORT_FROM
ORDER BY zab.CREATED_DATE_TIME DESC
</select>

@ -348,6 +348,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())){

@ -792,6 +792,69 @@
</select>
<select id="selectItemMoveWaitTime" resultType="java.util.Map">
SELECT
C1.VALUE WORK_ORDER,
C2.VALUE ITEM_NUMBER,
SO.SHOP_ORDER,
IT.ITEM,
T.DESCRIPTION ITEM_DESCRIPTION,
ZSD.DISPATCH_QTY,
WCT.DESCRIPTION TURNOUT_WORKCENTER_DESCRIPTION,
WCT1.DESCRIPTION TURNOVER_WORKCENTER_DESCRIPTION,
OT.DESCRIPTION TURNOUT_WORKCENTER_OPERATION,
OT1.DESCRIPTION TURNOVER_WORKCENTER_OPERATION,
ZLT.CREATED_DATE_TIME,
ZLT.COM_DATE_TIME,
ZLT.OTHER4 RECEIVETIME,
CASE
WHEN ZLT.COM_DATE_TIME IS NOT NULL THEN
TO_CHAR( TO_NUMBER( ZLT.COM_DATE_TIME - ZLT.CREATED_DATE_TIME ) * 24, 'FM9999990.000' ) ELSE ''
END TRANSPORT_TIME
FROM
Z_LOGISTICS_TURNOVER ZLT
LEFT JOIN Z_SFC_DISPATCH ZSD ON ZLT.SFC_DISPATCH_BO = ZSD.HANDLE
LEFT JOIN SHOP_ORDER SO ON ZSD.SHOP_ORDER = SO.SHOP_ORDER
LEFT JOIN CUSTOM_FIELDS C1 ON C1.HANDLE = SO.HANDLE
AND C1."ATTRIBUTE" = 'WORK_ORDER'
LEFT JOIN CUSTOM_FIELDS C2 ON C2.HANDLE = SO.HANDLE
AND C2."ATTRIBUTE" = 'ITEM_NUMBER'
LEFT JOIN ITEM IT ON SO.ITEM_BO = IT.HANDLE
LEFT JOIN ITEM_T T ON IT.HANDLE = T.ITEM_BO
LEFT JOIN WORK_CENTER WC ON WC.WORK_CENTER = ZLT.TURNOUT_WORKCENTER
LEFT JOIN WORK_CENTER_T WCT ON WCT.WORK_CENTER_BO = WC.HANDLE
LEFT JOIN WORK_CENTER WC1 ON WC1.WORK_CENTER = ZLT.TURNOVER_WORK_CENTER
LEFT JOIN WORK_CENTER_T WCT1 ON WCT1.WORK_CENTER_BO = WC1.HANDLE
LEFT JOIN OPERATION O ON O.OPERATION = ZSD.OPERATION
LEFT JOIN OPERATION_T OT ON OT.OPERATION_BO = O.HANDLE
LEFT JOIN OPERATION O1 ON O1.OPERATION = ZLT.OTHER1
LEFT JOIN OPERATION_T OT1 ON OT1.OPERATION_BO = O1.HANDLE
<where>
ZSD.SITE=#{site}
<if test="Status!=null"> AND ZLT.STATUS=#{Status}</if>
<if test="turnoutWorkcenter!=null"> AND ZLT.TURNOUT_WORKCENTER=#{turnoutWorkcenter}</if>
<if test="nextWorkCenter!=null"> AND ZLT.TURNOVER_WORK_CENTER=#{nextWorkCenter}</if>
<if test="isReceive!=null"> AND ZLT.IS_RECEIVE=#{isReceive}</if>
<if test="turnoutItem!=null"> AND ZLT.TURNOUT_ITEM=#{turnoutItem}</if>
<if test="itemDescription!=null"> AND IT.DESCRIPTION LIKE '%'||#{itemDescription}||'%'</if>
<if test="workOrder!=null"> AND C1.VALUE LIKE '%'||#{workOrder}||'%'</if>
<if test="shopOrder!=null"> AND SO.SHOP_ORDER=#{shopOrder}</if>
<if test="startFromDate != null">
AND ZLT.COM_DATE_TIME >= TO_DATE(#{startFromDate}, 'YYYY-MM-DD')
</if>
<if test="startToDate != null">
AND ZLT.COM_DATE_TIME &lt;= TO_DATE(#{startToDate}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS')
</if>
<if test="completeFromDate != null">
AND ZLT.OTHER4 >= TO_DATE(#{completeFromDate}, 'YYYY-MM-DD')
</if>
<if test="completeToDate != null">
AND ZLT.OTHER4 &lt;= TO_DATE(#{completeToDate}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS')
</if>
</where>
</select>
<update id="doItemMove">

@ -595,8 +595,7 @@
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_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 Z_SFC_DISPATCH ZSD ON ZLT.SFC_DISPATCH_BO = ZSD.HANDLE
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

@ -237,6 +237,8 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
*/
InspectionTaskManageRequest request=new InspectionTaskManageRequest();
request.setSfcdispatchBo(inspectionTaskManage.getSfcdispatchBo());
request.setSfc(inspectionTaskManage.getSfc());
request.setStepId(inspectionTaskManage.getStepId());
this.CreateLogisticsTask(request);
}
inspectionTaskModel.setStatus("SAVE".equals(type) ? Constants.INSPECTION_TASK_STATUS_DOING : Constants.INSPECTION_TASK_STATUS_COMPLETE);
@ -274,6 +276,7 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
public void CreateLogisticsTask(InspectionTaskManageRequest request) {
SfcDispatch sfcDispatchById = sfcDispatchService.getById(request.getSfcdispatchBo());
Router router = routerService.getById(sfcDispatchById.getRouterBo());
String site=CommonMethods.getSite();
//找下道工序 (返修工序除外)
if (!router.getRouterType().equals("C")) {
QueryWrapper<SfcDispatch> queryWrapper = new QueryWrapper<>();
@ -281,16 +284,17 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
queryWrapper.eq(SfcDispatch.SHOP_ORDER, sfcDispatchById.getShopOrder());
queryWrapper.eq(SfcDispatch.DISPATCH_SEQ, String.valueOf(Integer.parseInt(sfcDispatchById.getDispatchSeq()) + 1));
SfcDispatch nextsfcDispatch = sfcDispatchService.getOne(queryWrapper);
String dispatchNo = request.getSfc() + "-" + request.getStepId();
//判断下道工序是否为空
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());
//HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo)
logisticsTurnover.setSfcDispatchBo(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo));
// logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther1(nextsfcDispatch.getOperation());
@ -317,7 +321,7 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
if (nextssfcDispatch != null && !nextssfcDispatch.getWorkCenter().equals(sfcDispatchById.getWorkCenter())) {
LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
logisticsTurnover.setSfcDispatchBo(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo));
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther1(nextssfcDispatch.getOperation());
@ -335,7 +339,7 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
}else if (Constants.RK.equals(nextsfcDispatch.getOther2())){
LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
logisticsTurnover.setSfcDispatchBo(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo));
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther1(nextsfcDispatch.getOperation());
@ -358,7 +362,7 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
//下工序为空,本工序为检入工序生成转序任务
LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
logisticsTurnover.setSfcDispatchBo(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo));
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
@ -373,7 +377,7 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
//如果为空值 则判断入库标识
LogisticsTurnover logisticsTurnover = new LogisticsTurnover();
logisticsTurnover.setHandle("LogisticsBO:1000" + "," + UUID.randomUUID().toString());
logisticsTurnover.setSfcDispatchBo(request.getSfcdispatchBo());
logisticsTurnover.setSfcDispatchBo(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo));
logisticsTurnover.setStatus(Constants.LOGISTICS_NEW);
logisticsTurnover.setCreatedDateTime(LocalDateTime.now());
logisticsTurnover.setOther2(sfcDispatchById.getStepId());
@ -387,4 +391,5 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
}
}
}

Loading…
Cancel
Save