返修工艺完善

master
yangwl
parent 56363c66c2
commit ae1b88d218

@ -392,7 +392,6 @@ public class AbnormalBillController {
}catch (Exception e){ }catch (Exception e){
return R.failed("显示图片失败:"+e.getMessage()); return R.failed("显示图片失败:"+e.getMessage());
} }
} }
@PostMapping("/delete") @PostMapping("/delete")
@ -410,6 +409,7 @@ public class AbnormalBillController {
return R.ok(abnormalBillService.findUploadPictureByAbnormalBo(abnormalBill)); return R.ok(abnormalBillService.findUploadPictureByAbnormalBo(abnormalBill));
} }
@GetMapping("/getNextNumber") @GetMapping("/getNextNumber")
public R getNextNumber(String type){ public R getNextNumber(String type){
return R.ok(abnormalBillService.getNextNumber(type)); return R.ok(abnormalBillService.getNextNumber(type));

@ -261,20 +261,20 @@ public class AbnormalPlanServiceImpl extends ServiceImpl<AbnormalPlanMapper, Abn
* *
*/ */
if(abnormalPlan.getShopOrder()==null||abnormalPlan.getShopOrder()==""){ if(abnormalPlan.getShopOrder()==null||abnormalPlan.getShopOrder()==""){
shopOrder.setShopOrder(abnormalBill.getAbnormalNo()); if(abnormalPlan.getAbnormalMethod()=="P" || abnormalPlan.getAbnormalMethod()=="F" || abnormalPlan.getAbnormalMethod()=="FW" || abnormalPlan.getAbnormalMethod()=="FB"){
shopOrder.setPlannedItemBo(abnormalBill.getItemBo()); shopOrder.setShopOrder(abnormalBill.getAbnormalNo());
shopOrder.setPlannedBomBo(abnormalBill.getAbnormalNo()); shopOrder.setPlannedItemBo(abnormalBill.getItemBo());
shopOrder.setRouterBo(abnormalPlan.getRepairRouter()); shopOrder.setPlannedBomBo(abnormalBill.getAbnormalNo());
shopOrder.setQtyOrdered(new Double(abnormalBill.getNcQty())); shopOrder.setRouterBo(abnormalPlan.getRepairRouter());
shopOrder.setQtyToBuild(new Double(abnormalBill.getNcQty())); shopOrder.setQtyOrdered(new Double(abnormalBill.getNcQty()));
try { shopOrder.setQtyToBuild(new Double(abnormalBill.getNcQty()));
CreateRepairShopOrder(site,shopOrder); try {
}catch (Exception e){ CreateRepairShopOrder(site,shopOrder);
throw new BaseException(e.getMessage().trim()); }catch (Exception e){
throw new BaseException(e.getMessage().trim());
}
} }
} }
} }
//发送消息 //发送消息

@ -156,13 +156,13 @@ public class BoardController {
try { try {
paramMap.put("site", CommonMethods.getSite()); paramMap.put("site", CommonMethods.getSite());
List<Map<String, Object>> result = boardMapper.scheduleOfCompletion(paramMap); List<Map<String, Object>> result = boardMapper.scheduleOfCompletion(paramMap);
List<Map<String, Object>> newlist=new ArrayList<>(); // List<Map<String, Object>> newlist=new ArrayList<>();
for (Map map : result){ // for (Map map : result){
if (!map.get("COMP_RATE").equals("100%")){ // if (!map.get("COMP_RATE").equals("100%")){
newlist.add(map); // newlist.add(map);
} // }
} // }
return R.ok(newlist); return R.ok(result);
} catch (Exception e) { } catch (Exception e) {
return R.failed(e.getMessage()); return R.failed(e.getMessage());
} }

@ -3,9 +3,11 @@ package com.foreverwin.mesnac.dispatch.controller;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.foreverwin.mesnac.common.dto.SfcDispatchDto; import com.foreverwin.mesnac.common.dto.SfcDispatchDto;
import com.foreverwin.mesnac.common.enums.DispatchStatusEnum; import com.foreverwin.mesnac.dispatch.dto.ResultData;
import com.foreverwin.mesnac.dispatch.dto.RouterDTO;
import com.foreverwin.mesnac.dispatch.model.SfcDispatch; import com.foreverwin.mesnac.dispatch.model.SfcDispatch;
import com.foreverwin.mesnac.dispatch.service.SfcDispatchService; import com.foreverwin.mesnac.dispatch.service.SfcDispatchService;
import com.foreverwin.mesnac.meapi.dto.UploadPicturesDto;
import com.foreverwin.mesnac.meapi.service.RouterStepcontentService; import com.foreverwin.mesnac.meapi.service.RouterStepcontentService;
import com.foreverwin.modular.core.util.CommonMethods; import com.foreverwin.modular.core.util.CommonMethods;
import com.foreverwin.modular.core.util.FrontPage; import com.foreverwin.modular.core.util.FrontPage;
@ -42,6 +44,7 @@ public class SfcDispatchController {
@Autowired @Autowired
private RouterStepcontentService routerStepcontentService; private RouterStepcontentService routerStepcontentService;
/** /**
* *
* *
@ -234,25 +237,54 @@ public class SfcDispatchController {
public R findRepairContent(@RequestBody List<SfcDispatchDto> sfcDispatchList) { public R findRepairContent(@RequestBody List<SfcDispatchDto> sfcDispatchList) {
try { try {
Map paramMap=new HashMap(); Map paramMap=new HashMap();
Map distinctClassMap=new HashMap();
UploadPicturesDto uploadPicturesDto=new UploadPicturesDto();
paramMap.put("site", CommonMethods.getSite()); paramMap.put("site", CommonMethods.getSite());
String msg=""; String msg="";
String pbdes="";
String url="";
List<Map<String, Object>> result=null; List<Map<String, Object>> result=null;
List<String> mapList=new ArrayList<>();
ResultData resultData=new ResultData();
// ResultData resultData=new ResultData();
List<SfcDispatchDto> distinctClass = sfcDispatchList.stream().collect(Collectors.collectingAndThen(Collectors.toCollection(() -> new TreeSet<>(Comparator.comparing(o ->
o.getShopOrder() + ";" + o.getSfc()))), ArrayList::new));
for (SfcDispatchDto sfcdto: distinctClass) {
distinctClassMap.put("SHOP_ORDER",sfcdto.getShopOrder());
// distinctClassMap.put("SFC","");
// distinctClassMap.put("ITEM_BO",sfcdto.getItemBo());
List<String> stringList= routerStepcontentService.pbDescription(distinctClassMap);
uploadPicturesDto = routerStepcontentService.findUploadPictureByRouterBo(sfcdto.getRouterBo());
if (stringList!=null&&stringList.size()!=0){
for (int i = 0; i < stringList.size(); i++) {
pbdes=pbdes+stringList.get(i);
}
}
}
resultData.setQuestion(pbdes);
if (uploadPicturesDto!=null){
resultData.setPrctureAdress(uploadPicturesDto.getPictureAddress());
}
for (int i = 0; i < sfcDispatchList.size(); i++) { for (int i = 0; i < sfcDispatchList.size(); i++) {
paramMap.put("routerStepBo", "RouterStepBO:"+sfcDispatchList.get(i).getRouterBo()+","+sfcDispatchList.get(i).getStepId()); paramMap.put("routerStepBo", "RouterStepBO:" + sfcDispatchList.get(i).getRouterBo() + "," + sfcDispatchList.get(i).getStepId());
result=routerStepcontentService.selectDisRouterInfo(paramMap); result = routerStepcontentService.selectDisRouterInfo(paramMap);
if (result!=null&&result.size()!=0){
if (result != null && result.size() != 0) {
for (int j = 0; j < result.size(); j++) { for (int j = 0; j < result.size(); j++) {
msg=msg+"【"+result.get(j).get("STEP_ID")+"】"+ msg = msg + "【" + result.get(j).get("STEP_ID") + "】" + result.get(j).get("ROUTER_STEP_CONTENT");
result.get(j).get("ROUTER_STEP_CONTENT"); }
}
} }
} }
resultData.setRouter(msg);
return R.ok(msg); return R.ok(resultData);
}catch (Exception e){ }catch (Exception e){
return R.failed(e.getMessage()); return R.failed(e.getMessage());
} }
} }
} }

@ -0,0 +1,37 @@
package com.foreverwin.mesnac.dispatch.dto;
import java.util.List;
public class ResultData {
private String question;
private String prctureAdress;
private String router;
public String getRouter() {
return router;
}
public void setRouter(String router) {
this.router = router;
}
public String getQuestion() {
return question;
}
public void setQuestion(String question) {
this.question = question;
}
public String getPrctureAdress() {
return prctureAdress;
}
public void setPrctureAdress(String prctureAdress) {
this.prctureAdress = prctureAdress;
}
}

@ -906,7 +906,7 @@
<if test="isCompleted != null and isCompleted != ''"> <if test="isCompleted != null and isCompleted != ''">
WHERE WIP.IS_COMPLETED = #{isCompleted} WHERE WIP.IS_COMPLETED = #{isCompleted}
</if> </if>
ORDER BY WIP.SHOP_ORDER,WIP.SFC,WIP.STEP_ID,TO_NUMBER(WIP.DISPATCH_SEQ) ORDER BY WIP.SHOP_ORDER,WIP.SFC,TO_NUMBER(WIP.DISPATCH_SEQ) asc
</select> </select>
<update id="updateSfcDispatchStatus"> <update id="updateSfcDispatchStatus">

@ -13,7 +13,7 @@ import javax.jws.WebService;
public interface CAPPAPIWebService { public interface CAPPAPIWebService {
/** /**
* *
* *
* @param itemSyncRequest * @param itemSyncRequest
* @return * @return

@ -80,7 +80,9 @@ public class InterfaceServiceImpl implements InterfaceService {
String revision = "A"; String revision = "A";
//revision = StringUtil.notBlank(revision) ? revision : "A"; //revision = StringUtil.notBlank(revision) ? revision : "A";
//物料描述=物料名+图号 //物料描述=物料名+图号
String dwgNo=itemSyncRequest.getDWG_NO();
//String dwgNo=itemSyncRequest.getDWG_NO() ;
String dwgNo= StringUtil.notBlank(itemSyncRequest.getDWG_NO()) ? itemSyncRequest.getDWG_NO() : " ";
String itemDescription =dwgNo+" "+itemSyncRequest.getMAKTX(); String itemDescription =dwgNo+" "+itemSyncRequest.getMAKTX();
//计量单位 //计量单位
String unitOfMeasure = itemSyncRequest.getUNIT_OF_MEASURE(); String unitOfMeasure = itemSyncRequest.getUNIT_OF_MEASURE();

@ -1,5 +1,6 @@
package com.foreverwin.mesnac.meapi.controller; package com.foreverwin.mesnac.meapi.controller;
import com.foreverwin.mesnac.meapi.dto.AbnormalRouterDto;
import com.foreverwin.mesnac.meapi.model.DisRouter; import com.foreverwin.mesnac.meapi.model.DisRouter;
import com.foreverwin.mesnac.meapi.model.RouterStepcontent; import com.foreverwin.mesnac.meapi.model.RouterStepcontent;
import com.foreverwin.mesnac.meapi.service.RouterStepcontentService; import com.foreverwin.mesnac.meapi.service.RouterStepcontentService;
@ -173,14 +174,41 @@ public class RouterController {
return R.ok(); return R.ok();
} }
@GetMapping("/selectDisRouterInfo") // @GetMapping("/findUploadPictureByRouterBo")
public R selectDisRouterInfo(@RequestParam(required = false) Map paramMap){ // public R findUploadPictureByAbnormalBo(AbnormalBill abnormalBill){
// return R.ok(abnormalBillService.findUploadPictureByAbnormalBo(abnormalBill));
// }
@PostMapping("/selectDisRouterInfo")
public R selectDisRouterInfo(@RequestParam(required = false) Map paramMap) {
try { try {
paramMap.put("site", CommonMethods.getSite()); paramMap.put("site", CommonMethods.getSite());
List<Map<String, Object>> result =routerStepcontentService.selectDisRouterInfo(paramMap); List<Map<String, Object>> result = routerStepcontentService.selectDisRouterInfo(paramMap);
return R.ok(result); return R.ok(result);
} catch (Exception e) {
return R.failed(e.getMessage().trim());
}
}
/**
* 线
*/
@PostMapping("/selectDisrouter")
public R selectDisrouter(@RequestBody AbnormalRouterDto abnormalRouterDto){
try {
String site = CommonMethods.getSite();
abnormalRouterDto.setSite(site);
List<AbnormalRouterDto> abnormalRouterDtoList=routerService.selectDisrouter(abnormalRouterDto);
return R.ok(abnormalRouterDtoList);
}catch (Exception e){ }catch (Exception e){
return R.failed(e.getMessage().trim()); return R.failed(e.getMessage().trim());
} }
} }
} }

@ -11,6 +11,7 @@ public class AbnormalRouterDto {
private String routerRevision; private String routerRevision;
private String routerType; private String routerType;
private String routerBo; private String routerBo;
private String site;
public String getRouterType() { public String getRouterType() {
return routerType; return routerType;
@ -20,7 +21,7 @@ public class AbnormalRouterDto {
this.routerType = routerType; this.routerType = routerType;
} }
private String site;
public String getSite() { public String getSite() {
return site; return site;
@ -101,4 +102,21 @@ public class AbnormalRouterDto {
public void setRouterBo(String routerBo) { public void setRouterBo(String routerBo) {
this.routerBo = routerBo; this.routerBo = routerBo;
} }
@Override
public String toString() {
return "{" +
"abnormalNo='" + abnormalNo + '\'' +
", pbDescription='" + pbDescription + '\'' +
", item='" + item + '\'' +
", itemRevision='" + itemRevision + '\'' +
", itemDescription='" + itemDescription + '\'' +
", shopOrder='" + shopOrder + '\'' +
", router='" + router + '\'' +
", routerRevision='" + routerRevision + '\'' +
", routerType='" + routerType + '\'' +
", routerBo='" + routerBo + '\'' +
", site='" + site + '\'' +
'}';
}
} }

@ -6,6 +6,24 @@ public class RouterStepDto extends RouterStep {
private String operation; private String operation;
private String operationBo; private String operationBo;
private String operationDesc; private String operationDesc;
private String routerStepContent;
private String repairTime;
public String getRouterStepContent() {
return routerStepContent;
}
public void setRouterStepContent(String routerStepContent) {
this.routerStepContent = routerStepContent;
}
public String getRepairTime() {
return repairTime;
}
public void setRepairTime(String repairTime) {
this.repairTime = repairTime;
}
public String getOperation() { public String getOperation() {
return operation; return operation;

@ -34,6 +34,15 @@ public class SfcDto extends Sfc {
private String stepSequence; private String stepSequence;
private String seq; private String seq;
private String prodHours; private String prodHours;
private String blankingSize;
public String getBlankingSize() {
return blankingSize;
}
public void setBlankingSize(String blankingSize) {
this.blankingSize = blankingSize;
}
//工作令号 //工作令号
private String workOrder; private String workOrder;

@ -0,0 +1,229 @@
package com.foreverwin.mesnac.meapi.dto;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
*
* </p>
*
* @author zjw
* @since 2021-09-09
*/
@TableName("Z_UPLOAD_PICTURES")
public class UploadPicturesDto extends Model<UploadPicturesDto> {
private static final long serialVersionUID = 1L;
/**
*
*/
@TableId(value = "HANDLE", type = IdType.INPUT)
private String handle;
/**
*
*/
@TableField("SITE")
private String site;
/**
*
*/
@TableField("PICTURE_PATH")
private String picturePath;
/**
*
*/
@TableField("PICTURE_ADDRESS")
private String pictureAddress;
/**
*
*/
@TableField("OBJECT_BO")
private String objectBo;
/**
*
*/
@TableField("NUM")
private String num;
/**
*
*/
@TableField("TYPE")
private String type;
/**
*
*/
@TableField("CREATED_USER")
private String createdUser;
/**
*
*/
@TableField("CREATED_DATE_TIME")
private LocalDateTime createdDateTime;
/**
*
*/
@TableField("MODIFIED_USER")
private String modifiedUser;
/**
*
*/
@TableField("MODIFIED_DATE_TIME")
private LocalDateTime modifiedDateTime;
@TableField("STATUS")
private String status;
public String getHandle() {
return handle;
}
public void setHandle(String handle) {
this.handle = handle;
}
public String getSite() {
return site;
}
public void setSite(String site) {
this.site = site;
}
public String getPicturePath() {
return picturePath;
}
public void setPicturePath(String picturePath) {
this.picturePath = picturePath;
}
public String getPictureAddress() {
return pictureAddress;
}
public void setPictureAddress(String pictureAddress) {
this.pictureAddress = pictureAddress;
}
public String getObjectBo() {
return objectBo;
}
public void setObjectBo(String objectBo) {
this.objectBo = objectBo;
}
public String getNum() {
return num;
}
public void setNum(String num) {
this.num = num;
}
public String getType() {
return type;
}
public void setType(String type) {
this.type = type;
}
public String getCreatedUser() {
return createdUser;
}
public void setCreatedUser(String createdUser) {
this.createdUser = createdUser;
}
public LocalDateTime getCreatedDateTime() {
return createdDateTime;
}
public void setCreatedDateTime(LocalDateTime createdDateTime) {
this.createdDateTime = createdDateTime;
}
public String getModifiedUser() {
return modifiedUser;
}
public void setModifiedUser(String modifiedUser) {
this.modifiedUser = modifiedUser;
}
public LocalDateTime getModifiedDateTime() {
return modifiedDateTime;
}
public void setModifiedDateTime(LocalDateTime modifiedDateTime) {
this.modifiedDateTime = modifiedDateTime;
}
public String getStatus() {
return status;
}
public void setStatus(String status) {
this.status = status;
}
public static final String HANDLE = "HANDLE";
public static final String SITE = "SITE";
public static final String PICTURE_PATH = "PICTURE_PATH";
public static final String PICTURE_ADDRESS = "PICTURE_ADDRESS";
public static final String OBJECT_BO = "OBJECT_BO";
public static final String NUM = "NUM";
public static final String TYPE = "TYPE";
public static final String CREATED_USER = "CREATED_USER";
public static final String CREATED_DATE_TIME = "CREATED_DATE_TIME";
public static final String MODIFIED_USER = "MODIFIED_USER";
public static final String MODIFIED_DATE_TIME = "MODIFIED_DATE_TIME";
public static final String STATUS = "STATUS";
@Override
protected Serializable pkVal() {
return this.handle;
}
@Override
public String toString() {
return "UploadPictures{" +
"handle = " + handle +
", site = " + site +
", picturePath = " + picturePath +
", pictureAddress = " + pictureAddress +
", objectBo = " + objectBo +
", num = " + num +
", type = " + type +
", createdUser = " + createdUser +
", createdDateTime = " + createdDateTime +
", modifiedUser = " + modifiedUser +
", modifiedDateTime = " + modifiedDateTime +
", status = " + status +
"}";
}
}

@ -0,0 +1,18 @@
package com.foreverwin.mesnac.meapi.mapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.foreverwin.mesnac.meapi.dto.UploadPicturesDto;
import org.springframework.stereotype.Repository;
/**
* <p>
* Mapper
* </p>
*
* @author zjw
* @since 2021-09-09
*/
@Repository
public interface PicturesMapper extends BaseMapper<UploadPicturesDto> {
}

@ -1,7 +1,10 @@
package com.foreverwin.mesnac.meapi.mapper; package com.foreverwin.mesnac.meapi.mapper;
import com.foreverwin.mesnac.meapi.dto.AbnormalRouterDto;
import com.foreverwin.mesnac.meapi.model.Router; import com.foreverwin.mesnac.meapi.model.Router;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.foreverwin.mesnac.meapi.model.RouterStep;
import org.apache.ibatis.annotations.Param; import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@ -24,5 +27,7 @@ public interface RouterMapper extends BaseMapper<Router> {
List<Router> selectRouterList4RevisionDesc(@Param("site") String site, @Param("router") String router); List<Router> selectRouterList4RevisionDesc(@Param("site") String site, @Param("router") String router);
boolean findRepairOperation(@Param("site") String site, @Param("routerBo") String routerBo, @Param("stepId") String stepId); RouterStep findRepairOperation(@Param("site") String site, @Param("routerBo") String routerBo, @Param("stepId") String stepId);
List<AbnormalRouterDto> selectDisrouter(@Param("abnormalRouterDto")AbnormalRouterDto abnormalRouterDto);
} }

@ -1,5 +1,6 @@
package com.foreverwin.mesnac.meapi.mapper; package com.foreverwin.mesnac.meapi.mapper;
import com.foreverwin.mesnac.meapi.dto.UploadPicturesDto;
import com.foreverwin.mesnac.meapi.model.RouterStepcontent; import com.foreverwin.mesnac.meapi.model.RouterStepcontent;
import com.baomidou.mybatisplus.core.mapper.BaseMapper; import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository; import org.springframework.stereotype.Repository;
@ -19,4 +20,8 @@ import java.util.Map;
public interface RouterStepcontentMapper extends BaseMapper<RouterStepcontent> { public interface RouterStepcontentMapper extends BaseMapper<RouterStepcontent> {
List<Map<String, Object>> selectDisRouterInfo(Map paramMap); List<Map<String, Object>> selectDisRouterInfo(Map paramMap);
List<String> findpbDescription(Map paramMap);
List<UploadPicturesDto> findUploadPictureByRouterBo(UploadPicturesDto uploadPictures);
} }

@ -1,6 +1,7 @@
package com.foreverwin.mesnac.meapi.model; package com.foreverwin.mesnac.meapi.model;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model; import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.foreverwin.mesnac.meapi.dto.DisRouterStepDto; import com.foreverwin.mesnac.meapi.dto.DisRouterStepDto;
@ -19,6 +20,37 @@ public class DisRouter extends Model<DisRouter> {
private String item; private String item;
public String getFilePath() {
return filePath;
}
public void setFilePath(String filePath) {
this.filePath = filePath;
}
public String getFileName() {
return fileName;
}
public void setFileName(String fileName) {
this.fileName = fileName;
}
public String getFileNum() {
return fileNum;
}
public void setFileNum(String fileNum) {
this.fileNum = fileNum;
}
private String filePath;
private String fileName;
private String fileNum;
private List<DisRouterStepDto> disRouterStepDtoList; private List<DisRouterStepDto> disRouterStepDtoList;
@Override @Override

@ -0,0 +1,28 @@
package com.foreverwin.mesnac.meapi.service;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.IService;
import com.foreverwin.mesnac.meapi.dto.UploadPicturesDto;
import com.foreverwin.modular.core.util.FrontPage;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author zjw
* @since 2021-09-09
*/
public interface PicturesService extends IService<UploadPicturesDto> {
/**
*
* @param frontPage
* @return
*/
IPage<UploadPicturesDto> selectPage(FrontPage<UploadPicturesDto> frontPage, UploadPicturesDto uploadPictures);
List<UploadPicturesDto> selectList(UploadPicturesDto uploadPictures);
}

@ -1,9 +1,11 @@
package com.foreverwin.mesnac.meapi.service; package com.foreverwin.mesnac.meapi.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.foreverwin.mesnac.meapi.dto.AbnormalRouterDto;
import com.foreverwin.mesnac.meapi.model.DisRouter; import com.foreverwin.mesnac.meapi.model.DisRouter;
import com.foreverwin.mesnac.meapi.model.Router; import com.foreverwin.mesnac.meapi.model.Router;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.foreverwin.mesnac.meapi.model.RouterStep;
import com.foreverwin.modular.core.util.FrontPage; import com.foreverwin.modular.core.util.FrontPage;
import java.util.List; import java.util.List;
@ -42,7 +44,14 @@ public interface RouterService extends IService<Router> {
void CreateDisRouter(DisRouter disRouter) throws Exception; void CreateDisRouter(DisRouter disRouter) throws Exception;
//判断是否为返修工序 // //判断是否为返修工序
boolean findRepairOperation(String site,String routerBo,String stepId); RouterStep findRepairOperation(String site, String routerBo, String stepId);
List<AbnormalRouterDto> selectDisrouter(AbnormalRouterDto abnormalRouterDto);
/**
*
* @param disRouter
*/
public void fileUpload(DisRouter disRouter,String routerBo);
} }

@ -1,6 +1,7 @@
package com.foreverwin.mesnac.meapi.service; package com.foreverwin.mesnac.meapi.service;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.foreverwin.mesnac.meapi.dto.UploadPicturesDto;
import com.foreverwin.mesnac.meapi.model.RouterStepcontent; import com.foreverwin.mesnac.meapi.model.RouterStepcontent;
import com.baomidou.mybatisplus.extension.service.IService; import com.baomidou.mybatisplus.extension.service.IService;
import com.foreverwin.modular.core.util.FrontPage; import com.foreverwin.modular.core.util.FrontPage;
@ -28,4 +29,15 @@ public interface RouterStepcontentService extends IService<RouterStepcontent> {
List<RouterStepcontent> selectList(RouterStepcontent routerStepcontent); List<RouterStepcontent> selectList(RouterStepcontent routerStepcontent);
List<Map<String, Object>> selectDisRouterInfo(Map paramMap); List<Map<String, Object>> selectDisRouterInfo(Map paramMap);
/**
* SFC
* @return
*/
List<String> pbDescription(Map paramMap);
UploadPicturesDto findUploadPictureByRouterBo(String RouterBo);
} }

@ -0,0 +1,48 @@
package com.foreverwin.mesnac.meapi.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.foreverwin.mesnac.meapi.dto.UploadPicturesDto;
import com.foreverwin.mesnac.meapi.mapper.PicturesMapper;
import com.foreverwin.mesnac.meapi.service.PicturesService;
import com.foreverwin.modular.core.util.FrontPage;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/**
* <p>
*
* </p>
*
* @author zjw
* @since 2021-09-09
*/
@Service
@Transactional(rollbackFor = Exception.class)
public class PicturesServiceImpl extends ServiceImpl<PicturesMapper, UploadPicturesDto> implements PicturesService {
@Autowired
private PicturesMapper uploadPicturesMapper;
@Override
public IPage<UploadPicturesDto> selectPage(FrontPage<UploadPicturesDto> frontPage, UploadPicturesDto uploadPictures) {
QueryWrapper<UploadPicturesDto> queryWrapper = new QueryWrapper<>();
queryWrapper.setEntity(uploadPictures);
return super.page(frontPage.getPagePlus(), queryWrapper);
}
@Override
public List<UploadPicturesDto> selectList(UploadPicturesDto uploadPictures) {
QueryWrapper<UploadPicturesDto> queryWrapper = new QueryWrapper<>();
queryWrapper.setEntity(uploadPictures);
return super.list(queryWrapper);
}
}

@ -1,11 +1,11 @@
package com.foreverwin.mesnac.meapi.service.impl; package com.foreverwin.mesnac.meapi.service.impl;
import com.foreverwin.mesnac.meapi.dto.AbnormalRouterDto;
import com.foreverwin.mesnac.meapi.dto.DisRouterStepDto; import com.foreverwin.mesnac.meapi.dto.DisRouterStepDto;
import com.foreverwin.mesnac.meapi.dto.UploadPicturesDto;
import com.foreverwin.mesnac.meapi.enums.HandleEnum; import com.foreverwin.mesnac.meapi.enums.HandleEnum;
import com.foreverwin.mesnac.meapi.model.*; import com.foreverwin.mesnac.meapi.model.*;
import com.foreverwin.mesnac.meapi.service.CustomFieldsService; import com.foreverwin.mesnac.meapi.service.*;
import com.foreverwin.mesnac.meapi.service.OperationService;
import com.foreverwin.mesnac.meapi.service.RouterStepcontentService;
import com.foreverwin.modular.core.exception.BusinessException; import com.foreverwin.modular.core.exception.BusinessException;
import com.foreverwin.modular.core.meext.MEServices; import com.foreverwin.modular.core.meext.MEServices;
import com.foreverwin.modular.core.util.CommonMethods; import com.foreverwin.modular.core.util.CommonMethods;
@ -13,7 +13,6 @@ import com.foreverwin.modular.core.util.FrontPage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.foreverwin.mesnac.meapi.mapper.RouterMapper; import com.foreverwin.mesnac.meapi.mapper.RouterMapper;
import com.foreverwin.mesnac.meapi.service.RouterService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sap.me.productdefinition.*; import com.sap.me.productdefinition.*;
import com.sap.me.productdefinition.RouterStep; import com.sap.me.productdefinition.RouterStep;
@ -23,10 +22,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList; import java.util.ArrayList;
import java.util.Arrays;
import java.util.List; import java.util.List;
import java.util.UUID; import java.util.UUID;
import java.util.stream.Collectors;
/** /**
* <p> * <p>
@ -51,6 +51,8 @@ public class RouterServiceImpl extends ServiceImpl<RouterMapper, Router> impleme
private RouterStepcontentService routerStepcontentService; private RouterStepcontentService routerStepcontentService;
@Autowired @Autowired
private CustomFieldsService customFieldsService; private CustomFieldsService customFieldsService;
@Autowired
private PicturesService picturesService;
@Override @Override
public IPage<Router> selectPage(FrontPage<Router> frontPage, Router router) { public IPage<Router> selectPage(FrontPage<Router> frontPage, Router router) {
@ -250,12 +252,18 @@ public class RouterServiceImpl extends ServiceImpl<RouterMapper, Router> impleme
routerNextStep.setNextStepId(lastStepId); routerNextStep.setNextStepId(lastStepId);
routerStepList.get(routerStepList.size()-2).getRouterNextStepList().add(routerNextStep); routerStepList.get(routerStepList.size()-2).getRouterNextStepList().add(routerNextStep);
routerConfiguration.setEntryRouterStep(entryRouterStep); routerConfiguration.setEntryRouterStep(entryRouterStep);
routerConfiguration.setRouterStepList(routerStepList); routerConfiguration.setRouterStepList(routerStepList);
//工艺路线创建 //工艺路线创建
routerConfigurationService.createRouter(routerConfiguration); routerConfigurationService.createRouter(routerConfiguration);
//图片路径
try {
this.fileUpload(disRouter,routerBo);
}catch (Exception e){
throw BusinessException.build("图片保存失败");
}
//自定义数据保存 //自定义数据保存
if (customFieldsList != null && customFieldsList.size() > 0) { if (customFieldsList != null && customFieldsList.size() > 0) {
customFieldsService.saveOrUpdateCustomFields(customFieldsList); customFieldsService.saveOrUpdateCustomFields(customFieldsList);
@ -263,8 +271,46 @@ public class RouterServiceImpl extends ServiceImpl<RouterMapper, Router> impleme
} }
@Override @Override
public boolean findRepairOperation(String site, String routerBo, String stepId) { public com.foreverwin.mesnac.meapi.model.RouterStep findRepairOperation(String site, String routerBo, String stepId) {
return routerMapper.findRepairOperation(site,routerBo,stepId); return routerMapper.findRepairOperation(site,routerBo,stepId);
} }
@Override
public List<AbnormalRouterDto> selectDisrouter(AbnormalRouterDto abnormalRouterDto) {
return routerMapper.selectDisrouter(abnormalRouterDto);
}
@Override
public void fileUpload(DisRouter disRouter,String routerBo) {
String user = CommonMethods.getUser();
LocalDateTime now = LocalDateTime.now();
String site = CommonMethods.getSite();
String status = "N";
List<String> name = Arrays.asList(disRouter.getFileName().split(","));
if(name.size() != 0){
UploadPicturesDto uploadPictures = new UploadPicturesDto();
uploadPictures.setHandle("UploadPicturesBO:"+site+","+disRouter.getRouter()+"_"+disRouter.getAbnormalNo()+","+status);
uploadPictures.setSite(site);
uploadPictures.setPicturePath(disRouter.getFilePath());
StringBuilder pictureAddress = new StringBuilder();
for (int i = 0; i <= name.size() -1; i++) {
if(i != name.size() -1){
pictureAddress.append(disRouter.getFilePath()).append("/").append(name.get(i)).append(",");
}else{
pictureAddress.append(disRouter.getFilePath()).append("/").append(name.get(i));
}
}
uploadPictures.setStatus(status);
uploadPictures.setPictureAddress(pictureAddress.toString());
uploadPictures.setObjectBo(routerBo);
uploadPictures.setNum(disRouter.getFileNum());
uploadPictures.setType("Repair");
uploadPictures.setCreatedUser(user);
uploadPictures.setCreatedDateTime(now);
uploadPictures.setModifiedUser(user);
uploadPictures.setModifiedDateTime(now);
picturesService.saveOrUpdate(uploadPictures);
}
}
} }

@ -1,5 +1,8 @@
package com.foreverwin.mesnac.meapi.service.impl; package com.foreverwin.mesnac.meapi.service.impl;
import com.foreverwin.mesnac.meapi.dto.UploadPicturesDto;
import com.foreverwin.modular.core.exception.BusinessException;
import com.foreverwin.modular.core.util.CommonMethods;
import com.foreverwin.modular.core.util.FrontPage; import com.foreverwin.modular.core.util.FrontPage;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
@ -11,6 +14,7 @@ import org.springframework.stereotype.Service;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
@ -30,6 +34,7 @@ public class RouterStepcontentServiceImpl extends ServiceImpl<RouterStepcontentM
@Autowired @Autowired
private RouterStepcontentMapper routerStepcontentMapper; private RouterStepcontentMapper routerStepcontentMapper;
@Override @Override
public IPage<RouterStepcontent> selectPage(FrontPage<RouterStepcontent> frontPage, RouterStepcontent routerStepcontent) { public IPage<RouterStepcontent> selectPage(FrontPage<RouterStepcontent> frontPage, RouterStepcontent routerStepcontent) {
QueryWrapper<RouterStepcontent> queryWrapper = new QueryWrapper<>(); QueryWrapper<RouterStepcontent> queryWrapper = new QueryWrapper<>();
@ -50,4 +55,31 @@ public class RouterStepcontentServiceImpl extends ServiceImpl<RouterStepcontentM
} }
@Override
public List<String> pbDescription(Map paramMap) {
return routerStepcontentMapper.findpbDescription(paramMap);
}
@Override
public UploadPicturesDto findUploadPictureByRouterBo(String routerBo) {
String site = CommonMethods.getSite();
UploadPicturesDto uploadPictures = new UploadPicturesDto();
uploadPictures.setSite(site);
uploadPictures.setObjectBo(routerBo);
uploadPictures.setStatus("N");
List<UploadPicturesDto> uploadPictures1=new ArrayList<>();
try {
uploadPictures1 = routerStepcontentMapper.findUploadPictureByRouterBo(uploadPictures);
}catch (Exception e){
throw BusinessException.build(e.getMessage().trim());
}
if(uploadPictures1 != null && uploadPictures1.size() == 1){
return uploadPictures1.get(0);
}
return null;
}
} }

@ -658,11 +658,49 @@
WHERE SITE = #{site} AND ROUTER = #{router} WHERE SITE = #{site} AND ROUTER = #{router}
ORDER BY TO_NUMBER(REVISION) DESC ORDER BY TO_NUMBER(REVISION) DESC
</select> </select>
<select id="findRepairOperation" resultType="java.lang.Boolean">
SELECT RS.REWORK FROM ROUTER_STEP RS
<select id="findRepairOperation" resultType="com.foreverwin.mesnac.meapi.model.RouterStep">
SELECT * FROM ROUTER_STEP RS
LEFT JOIN ROUTER RT ON RT.HANDLE=RS.ROUTER_BO LEFT JOIN ROUTER RT ON RT.HANDLE=RS.ROUTER_BO
WHERE RT.SITE=#{site} WHERE RT.SITE=#{site}
AND RT.HANDLE=#{routerBo} AND RT.HANDLE=#{routerBo}
AND RS.STEP_ID=#{stepId} AND RS.STEP_ID=#{stepId}
</select> </select>
<select id="selectDisrouter" resultType="com.foreverwin.mesnac.meapi.dto.AbnormalRouterDto">
SELECT
RS.HANDLE ROUTER_BO,
RS.ROUTER,
RS.REVISION ROUTER_REVISION,
ZAB.ABNORMAL_NO,
ZAB.PB_DESCRIPTION,
I.ITEM,
T.DESCRIPTION ITEM_DESCRIPTION
FROM
ROUTER rs
LEFT JOIN Z_ABNORMAL_BILL_DISPOSE ABD ON ABD.ROUTER_BO = RS.HANDLE
LEFT JOIN Z_ABNORMAL_BILL ZAB ON ABD.ABNORMAL_BILL_BO = ZAB.HANDLE
LEFT JOIN ITEM I ON ZAB.ITEM_BO = I.HANDLE
LEFT JOIN ITEM_T T ON I.HANDLE = T.ITEM_BO
WHERE
rs.SITE = #{abnormalRouterDto.site}
<if test="abnormalRouterDto.item !=null and abnormalRouterDto.item !=''">
AND I.ITEM=#{abnormalRouterDto.item}
</if>
<if test="abnormalRouterDto.itemDescription !=null and abnormalRouterDto.itemDescription !=''">
AND T.DESCRIPTION like '%' ||#{abnormalRouterDto.itemDescription}|| '%'
</if>
<if test="abnormalRouterDto.pbDescription !=null and abnormalRouterDto.pbDescription !=''">
AND ZAB.PB_DESCRIPTION like '%' ||#{abnormalRouterDto.pbDescription}|| '%'
</if>
<if test="abnormalRouterDto.router !=null and abnormalRouterDto.router !=''">
AND RS.ROUTER=#{abnormalRouterDto.router}
</if>
AND rs.ROUTER_TYPE = 'C'
AND rs.TEMPORARY_ROUTER IS NULL
AND I.ITEM IS NOT NULL
</select>
</mapper> </mapper>

@ -490,9 +490,12 @@
STEP.ERP_OPERATION , STEP.ERP_OPERATION ,
OP.HANDLE AS OPERATION_BO, OP.HANDLE AS OPERATION_BO,
OP.OPERATION , OP.OPERATION ,
OPT.DESCRIPTION OPERATION_DESC OPT.DESCRIPTION OPERATION_DESC,
ZRS.ROUTER_STEP_CONTENT,
ZRS.REPAIR_TIME
FROM ROUTER R FROM ROUTER R
JOIN ROUTER_STEP STEP ON R.HANDLE = STEP.ROUTER_BO JOIN ROUTER_STEP STEP ON R.HANDLE = STEP.ROUTER_BO
LEFT JOIN Z_ROUTER_STEPCONTENT ZRS ON STEP.HANDLE=ZRS.ROUTER_STEP_BO
JOIN ROUTER_OPERATION RO ON STEP.HANDLE = RO.ROUTER_STEP_BO JOIN ROUTER_OPERATION RO ON STEP.HANDLE = RO.ROUTER_STEP_BO
JOIN OPERATION OP ON 'OperationBO:' || #{site} || ',' || OP.OPERATION || ',#' = RO.OPERATION_BO AND OP.CURRENT_REVISION = 'true' JOIN OPERATION OP ON 'OperationBO:' || #{site} || ',' || OP.OPERATION || ',#' = RO.OPERATION_BO AND OP.CURRENT_REVISION = 'true'
JOIN OPERATION_T OPT ON OP.HANDLE = OPT.OPERATION_BO AND OPT.LOCALE = #{locale} JOIN OPERATION_T OPT ON OP.HANDLE = OPT.OPERATION_BO AND OPT.LOCALE = #{locale}
@ -508,7 +511,7 @@
LEFT JOIN ITEM_T T2 ON ZAB.ITEM_BO=T2.ITEM_BO LEFT JOIN ITEM_T T2 ON ZAB.ITEM_BO=T2.ITEM_BO
LEFT JOIN SHOP_ORDER T3 ON T3.SHOP_ORDER=ZAB.SHOP_ORDER LEFT JOIN SHOP_ORDER T3 ON T3.SHOP_ORDER=ZAB.SHOP_ORDER
LEFT JOIN ROUTER T4 on T4.HANDLE=T3.ROUTER_BO LEFT JOIN ROUTER T4 on T4.HANDLE=T3.ROUTER_BO
WHERE ZAB.TYPE='Z' AND ZAB.STATUS != ('G') WHERE ZAB.TYPE='Z'
<if test="ew.entity.item!=null and ew.entity.item!='' " > <if test="ew.entity.item!=null and ew.entity.item!='' " >
AND (T1.ITEM LIKE '%${ew.entity.item}%' OR T2.DESCRIPTION LIKE '%${ew.entity.item}%' OR ZAB.ABNORMAL_NO LIKE '%${ew.entity.item}%') AND (T1.ITEM LIKE '%${ew.entity.item}%' OR T2.DESCRIPTION LIKE '%${ew.entity.item}%' OR ZAB.ABNORMAL_NO LIKE '%${ew.entity.item}%')
</if> </if>

@ -193,7 +193,7 @@
</if> </if>
</select> </select>
<select id="selectDisRouterInfo" resultType="java.util.Map" parameterType="java.util.HashMap"> <select id="selectDisRouterInfo" resultType="java.util.Map" parameterType="java.util.HashMap">
SELECT RS.STEP_ID,ZRS.ROUTER_STEP_CONTENT SELECT RS.STEP_ID,ZRS.ROUTER_STEP_CONTENT,ZRS.ABNORMAL_NO,RT.ROUTER
FROM ROUTER RT FROM ROUTER RT
LEFT JOIN ROUTER_STEP RS ON RT.HANDLE=RS.ROUTER_BO LEFT JOIN ROUTER_STEP RS ON RT.HANDLE=RS.ROUTER_BO
INNER JOIN Z_ROUTER_STEPCONTENT ZRS ON RS.HANDLE=ZRS.ROUTER_STEP_BO INNER JOIN Z_ROUTER_STEPCONTENT ZRS ON RS.HANDLE=ZRS.ROUTER_STEP_BO
@ -209,6 +209,30 @@
</if > </if >
</select> </select>
<select id="findpbDescription" resultType="java.lang.String" parameterType="java.util.HashMap">
SELECT
PB_DESCRIPTION
FROM
Z_ABNORMAL_BILL
WHERE
SHOP_ORDER = #{SHOP_ORDER}
<if test="SFC != null and SFC != ''" >
AND SFC =#{SFC}
</if>
<if test="ITEM_BO != null and ITEM_BO != ''" >
AND ITEM_BO=#{ITEM_BO}
</if>
</select>
<select id="findUploadPictureByRouterBo" parameterType="com.foreverwin.mesnac.meapi.dto.UploadPicturesDto" resultType="com.foreverwin.mesnac.meapi.dto.UploadPicturesDto">
SELECT HANDLE, SITE, PICTURE_PATH, PICTURE_ADDRESS, OBJECT_BO, NUM, TYPE, CREATED_USER, CREATED_DATE_TIME, MODIFIED_USER, MODIFIED_DATE_TIME, STATUS
FROM Z_UPLOAD_PICTURES
WHERE SITE=#{site}
<if test="objectBo!=null and objectBo != ''">
AND OBJECT_BO=#{objectBo}
</if>
AND STATUS='N'
</select>
<insert id="insert" parameterType="com.foreverwin.mesnac.meapi.model.RouterStepcontent"> <insert id="insert" parameterType="com.foreverwin.mesnac.meapi.model.RouterStepcontent">
INSERT INTO Z_ROUTER_STEPCONTENT INSERT INTO Z_ROUTER_STEPCONTENT

@ -49,6 +49,7 @@
<result column="LAST_OPERATION_STATUS" property="lastOperationStatus" /> <result column="LAST_OPERATION_STATUS" property="lastOperationStatus" />
<result column="PRE_WORKORDER_RESULT" property="preWorkOrderResult"/> <result column="PRE_WORKORDER_RESULT" property="preWorkOrderResult"/>
<result column="PLANNED_COMP_DATE" property="plannedCompDate"/> <result column="PLANNED_COMP_DATE" property="plannedCompDate"/>
<result column="BLANKING_SIZE" property="blankingSize"/>
</resultMap> </resultMap>
<!-- 通用查询结果列 --> <!-- 通用查询结果列 -->
<sql id="Base_Column_List"> <sql id="Base_Column_List">
@ -675,7 +676,7 @@
CASE WHEN ZIT.RESULT='OK' THEN '合格' WHEN ZIT.RESULT='NG' THEN '不合格' ELSE '未检验' END PRE_WORKORDER_RESULT CASE WHEN ZIT.RESULT='OK' THEN '合格' WHEN ZIT.RESULT='NG' THEN '不合格' ELSE '未检验' END PRE_WORKORDER_RESULT
,SS.STEP_ID CURRENT_STEP_ID,OT.DESCRIPTION OPERATION_DESCRIPTION,zsd.STEP_ID, ,SS.STEP_ID CURRENT_STEP_ID,OT.DESCRIPTION OPERATION_DESCRIPTION,zsd.STEP_ID,
S.SFC,S.QTY,IT.DESCRIPTION ITEM_DESCRIPTION,S.ITEM_BO,S.SHOP_ORDER_BO, S.SFC,S.QTY,IT.DESCRIPTION ITEM_DESCRIPTION,S.ITEM_BO,S.SHOP_ORDER_BO,
TO_CHAR(zsd.PLANNED_COMP_DATE+INTERVAL '8' HOUR,'YYYY-MM-DD HH24:MI:SS') PLANNED_COMP_DATE TO_CHAR(zsd.PLANNED_COMP_DATE+INTERVAL '8' HOUR,'YYYY-MM-DD HH24:MI:SS') PLANNED_COMP_DATE,PREZSD.BLANKING_SIZE
FROM SFC S FROM SFC S
LEFT JOIN ITEM_T IT ON S.ITEM_BO=IT.ITEM_BO AND IT.LOCALE=#{locale} LEFT JOIN ITEM_T IT ON S.ITEM_BO=IT.ITEM_BO AND IT.LOCALE=#{locale}
JOIN Z_SFC_DISPATCH zsd ON S.SFC=zsd.SFC AND S.SITE=zsd.SITE JOIN Z_SFC_DISPATCH zsd ON S.SFC=zsd.SFC AND S.SITE=zsd.SITE

@ -402,7 +402,7 @@
<where> <where>
ug.SITE = #{site} ug.SITE = #{site}
<if test="param.type != null and param.type != ''"> <if test="param.type != null and param.type != ''">
AND cf.VALUE = #{param.type} AND cf.VALUE LIKE '%'||#{param.type}||'%'
</if> </if>
</where> </where>
</select> </select>

@ -27,6 +27,7 @@ import com.foreverwin.mesnac.dispatch.service.SfcDispatchService;
import com.foreverwin.mesnac.dispatch.service.UserResourceService; import com.foreverwin.mesnac.dispatch.service.UserResourceService;
import com.foreverwin.mesnac.meapi.dto.BomComponentDto; import com.foreverwin.mesnac.meapi.dto.BomComponentDto;
import com.foreverwin.mesnac.meapi.dto.RouterStepDto;
import com.foreverwin.mesnac.meapi.dto.SfcDto; import com.foreverwin.mesnac.meapi.dto.SfcDto;
import com.foreverwin.mesnac.meapi.dto.WorkCenterDto; import com.foreverwin.mesnac.meapi.dto.WorkCenterDto;
import com.foreverwin.mesnac.meapi.mapper.ResrceMapper; import com.foreverwin.mesnac.meapi.mapper.ResrceMapper;
@ -113,6 +114,8 @@ public class PodTemplateServiceImpl implements PodTemplateService {
private SfcDispatchService sfcDispatchService; private SfcDispatchService sfcDispatchService;
@Autowired @Autowired
private UserResourceService userResourceService; private UserResourceService userResourceService;
@Autowired
private RouterStepService routerStepService;
@ -315,14 +318,6 @@ public class PodTemplateServiceImpl implements PodTemplateService {
if (status.equals("404")) { if (status.equals("404")) {
throw new BaseException("产品条码" + sfc + "已暂停"); throw new BaseException("产品条码" + sfc + "已暂停");
} }
/**
*
*/
boolean flag=routerService.findRepairOperation(site,sfcDispatchById.getRouterBo(),stepId);
if (flag){
enabled=false;
}
BigDecimal workHour=BigDecimal.ZERO; BigDecimal workHour=BigDecimal.ZERO;
BigDecimal qty = new BigDecimal(sfcServiceById.getQty().toString()); BigDecimal qty = new BigDecimal(sfcServiceById.getQty().toString());
@ -416,6 +411,25 @@ public class PodTemplateServiceImpl implements PodTemplateService {
BigDecimal holdTime = list.stream().map(SfcHoldLog::getHoldDuration).reduce(BigDecimal.ZERO, BigDecimal::add); BigDecimal holdTime = list.stream().map(SfcHoldLog::getHoldDuration).reduce(BigDecimal.ZERO, BigDecimal::add);
workHour = workHour.subtract(holdTime); 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());
} }
try { try {
@ -423,8 +437,31 @@ public class PodTemplateServiceImpl implements PodTemplateService {
//更改派工单状态 //更改派工单状态
sfcDispatchCommonService.updateSfcDispatchStatus(site, CommonMethods.getUser(), dispatchNo, DispatchStatusEnum.COMPLETE.getCode(),workHour); sfcDispatchCommonService.updateSfcDispatchStatus(site, CommonMethods.getUser(), dispatchNo, DispatchStatusEnum.COMPLETE.getCode(),workHour);
/**
*
*/
RouterStep routerStep=routerService.findRepairOperation(site,sfcDispatchById.getRouterBo(),stepId);
boolean falg=true;
if (routerStep.getRework().equals("true") && stepId.startsWith("9")){
falg=false;
IntegrationLog log = new IntegrationLog();
log.setStatus("S");
log.setResultMessage("返修工序不报工");
log.setHandle(UUID.randomUUID().toString());
log.setSite(CommonMethods.getSite());
log.setIntegrationType(IntegrationTypeConstant.REPORT_ORDER);
log.setCategory("REQUEST");
log.setIntegrationWay("ERP");
log.setIntegrationMethod("erpWebService.zmesProdordconf");
log.setParam(JSONObject.toJSONString(routerStep));
log.setTransactionId("");
log.setRequestDateTime(LocalDateTime.now());
log.setCreatedDateTime(LocalDateTime.now());
integrationLogService.saveIntegrationLog(log);
}
//报工 //报工
if (enabled){ if (enabled&&falg){
SfcDispatchDto sfcdispatch = new SfcDispatchDto(); SfcDispatchDto sfcdispatch = new SfcDispatchDto();
sfcdispatch.setHandle(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo)); sfcdispatch.setHandle(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo));
sfcdispatch = sfcDispatchCommonService.findSfcDispatchBySfc(sfcdispatch); sfcdispatch = sfcDispatchCommonService.findSfcDispatchBySfc(sfcdispatch);

@ -34,6 +34,15 @@ public class InspectionTaskManage implements Serializable {
private String operationDescription; private String operationDescription;
private String sfcQty; private String sfcQty;
private String dispatchUser; private String dispatchUser;
private String sfcdispatchBo;
public String getSfcdispatchBo() {
return sfcdispatchBo;
}
public void setSfcdispatchBo(String sfcdispatchBo) {
this.sfcdispatchBo = sfcdispatchBo;
}
private List<InspectionTaskManageDetail> inspectionTaskDetailList; private List<InspectionTaskManageDetail> inspectionTaskDetailList;

@ -1,5 +1,6 @@
package com.foreverwin.mesnac.quality.service.impl; package com.foreverwin.mesnac.quality.service.impl;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.foreverwin.mesnac.common.constant.Constants; import com.foreverwin.mesnac.common.constant.Constants;
import com.foreverwin.mesnac.common.enums.HandleEnum; import com.foreverwin.mesnac.common.enums.HandleEnum;
import com.foreverwin.mesnac.common.model.InspectionTask; import com.foreverwin.mesnac.common.model.InspectionTask;
@ -8,6 +9,8 @@ import com.foreverwin.mesnac.common.service.InspectionTaskDetailService;
import com.foreverwin.mesnac.common.service.InspectionTaskService; import com.foreverwin.mesnac.common.service.InspectionTaskService;
import com.foreverwin.mesnac.common.util.DateUtil; import com.foreverwin.mesnac.common.util.DateUtil;
import com.foreverwin.mesnac.common.util.StringUtil; import com.foreverwin.mesnac.common.util.StringUtil;
import com.foreverwin.mesnac.dispatch.model.SfcDispatch;
import com.foreverwin.mesnac.dispatch.service.SfcDispatchService;
import com.foreverwin.mesnac.quality.dto.InspectionTaskManageRequest; import com.foreverwin.mesnac.quality.dto.InspectionTaskManageRequest;
import com.foreverwin.mesnac.quality.mapper.InspectionTaskManageMapper; import com.foreverwin.mesnac.quality.mapper.InspectionTaskManageMapper;
import com.foreverwin.mesnac.quality.model.InspectionTaskManageDetail; import com.foreverwin.mesnac.quality.model.InspectionTaskManageDetail;
@ -35,6 +38,8 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
private InspectionTaskManageMapper inspectionTaskManageMapper; private InspectionTaskManageMapper inspectionTaskManageMapper;
@Autowired @Autowired
private InspectionTaskDetailService inspectionTaskDetailService; private InspectionTaskDetailService inspectionTaskDetailService;
@Autowired
private SfcDispatchService sfcDispatchService;
@Override @Override
public List<InspectionTaskManage> findInspectionTask(InspectionTaskManageRequest inspectionTaskManageRequest) { public List<InspectionTaskManage> findInspectionTask(InspectionTaskManageRequest inspectionTaskManageRequest) {
@ -196,6 +201,31 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
inspectionTaskModel.setModifiedDateTime(dateTime); inspectionTaskModel.setModifiedDateTime(dateTime);
inspectionTaskService.updateById(inspectionTaskModel); inspectionTaskService.updateById(inspectionTaskModel);
//质检合格后判断下道工序是否需要跨车间转运,如果是则生成转运待办任务
if("OK".equals(result)){
/**
* 1Z_SFC_DISPATCH
* 2
* 3
*/
SfcDispatch sfcDispatchById = sfcDispatchService.getById(inspectionTaskManage.getSfcdispatchBo());
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 sfcDispatch=sfcDispatchService.getOne(queryWrapper);
if (sfcDispatch!=null&&!sfcDispatchById.getWorkCenter().equals(sfcDispatch.getWorkCenter())){
//生成周转任务的同时发送消息提示到手持设备
}
}
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//如果专检不合格,生产新的检验任务 //如果专检不合格,生产新的检验任务
/*if (!Constants.INSPECTION_TYPE_P.equals(category) || !"NG".equals(result) || !"SUBMIT".equals(type)) { /*if (!Constants.INSPECTION_TYPE_P.equals(category) || !"NG".equals(result) || !"SUBMIT".equals(type)) {

@ -30,13 +30,14 @@
<result column="RESRCE_DESCRIPTION" property="resrceDescription"/> <result column="RESRCE_DESCRIPTION" property="resrceDescription"/>
<result column="SFC_QTY" property="sfcQty" /> <result column="SFC_QTY" property="sfcQty" />
<result column="DISPATCH_USER" property="dispatchUser"/> <result column="DISPATCH_USER" property="dispatchUser"/>
<result column="SFC_DISPATCH_BO" property="sfcdispatchBo"/>
</resultMap> </resultMap>
<select id="findInspectionTask" resultMap="BaseResultMap"> <select id="findInspectionTask" resultMap="BaseResultMap">
SELECT B.HANDLE, B.SITE, B.CATEGORY, B.TASK_NO, B.DESCRIPTION, B.STATUS, B.INSPECTION_ITEM_BO, B.WORK_CENTER, B.SHOP_ORDER, B.SFC, B.OPERATION, B.STEP_ID, B.RESRCE, B.RESULT, B.COMMENTS, B.CREATE_USER, B.CREATED_DATE_TIME, B.MODIFY_USER, B.MODIFIED_DATE_TIME, SELECT B.HANDLE, B.SITE, B.CATEGORY, B.TASK_NO, B.DESCRIPTION, B.STATUS, B.INSPECTION_ITEM_BO, B.WORK_CENTER, B.SHOP_ORDER, B.SFC, B.OPERATION, B.STEP_ID, B.RESRCE, B.RESULT, B.COMMENTS, B.CREATE_USER, B.CREATED_DATE_TIME, B.MODIFY_USER, B.MODIFIED_DATE_TIME,
M.ITEM, Z.DESCRIPTION ITEM_DESCRIPTION,ZNU.FULL_NAME FULL_NAME,RS.DESCRIPTION RESRCE_DESCRIPTION, M.ITEM, Z.DESCRIPTION ITEM_DESCRIPTION,ZNU.FULL_NAME FULL_NAME,RS.DESCRIPTION RESRCE_DESCRIPTION,
O.OPERATION OPERATION,OT.DESCRIPTION OPERATION_DESCRIPTION,S.QTY SFC_QTY,B.COMMENTS COMMENTS, O.OPERATION OPERATION,OT.DESCRIPTION OPERATION_DESCRIPTION,S.QTY SFC_QTY,B.COMMENTS COMMENTS,
ZSD.EMPLOYEE_DESCRIPTION DISPATCH_USER,P.SHOP_ORDER ZSD.EMPLOYEE_DESCRIPTION DISPATCH_USER,P.SHOP_ORDER,B.SFC_DISPATCH_BO
FROM Z_INSPECTION_TASK B FROM Z_INSPECTION_TASK B
INNER JOIN RESRCE RS ON B.SITE = RS.SITE AND RS.RESRCE = B.RESRCE INNER JOIN RESRCE RS ON B.SITE = RS.SITE AND RS.RESRCE = B.RESRCE
INNER JOIN OPERATION O ON O.OPERATION = B.OPERATION AND O.SITE = B.SITE INNER JOIN OPERATION O ON O.OPERATION = B.OPERATION AND O.SITE = B.SITE

Loading…
Cancel
Save