Merge remote-tracking branch 'origin/master'

master
yinq 3 years ago
commit d5abf3be16

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

@ -261,20 +261,20 @@ public class AbnormalPlanServiceImpl extends ServiceImpl<AbnormalPlanMapper, Abn
*
*/
if(abnormalPlan.getShopOrder()==null||abnormalPlan.getShopOrder()==""){
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());
if(abnormalPlan.getAbnormalMethod()=="P" || abnormalPlan.getAbnormalMethod()=="F" || abnormalPlan.getAbnormalMethod()=="FW" || abnormalPlan.getAbnormalMethod()=="FB"){
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());
}
}
}
}
//发送消息

@ -156,13 +156,13 @@ public class BoardController {
try {
paramMap.put("site", CommonMethods.getSite());
List<Map<String, Object>> result = boardMapper.scheduleOfCompletion(paramMap);
List<Map<String, Object>> newlist=new ArrayList<>();
for (Map map : result){
if (!map.get("COMP_RATE").equals("100%")){
newlist.add(map);
}
}
return R.ok(newlist);
// List<Map<String, Object>> newlist=new ArrayList<>();
// for (Map map : result){
// if (!map.get("COMP_RATE").equals("100%")){
// newlist.add(map);
// }
// }
return R.ok(result);
} catch (Exception e) {
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.metadata.IPage;
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.service.SfcDispatchService;
import com.foreverwin.mesnac.meapi.dto.UploadPicturesDto;
import com.foreverwin.mesnac.meapi.service.RouterStepcontentService;
import com.foreverwin.modular.core.util.CommonMethods;
import com.foreverwin.modular.core.util.FrontPage;
@ -42,6 +44,7 @@ public class SfcDispatchController {
@Autowired
private RouterStepcontentService routerStepcontentService;
/**
*
*
@ -234,25 +237,54 @@ public class SfcDispatchController {
public R findRepairContent(@RequestBody List<SfcDispatchDto> sfcDispatchList) {
try {
Map paramMap=new HashMap();
Map distinctClassMap=new HashMap();
UploadPicturesDto uploadPicturesDto=new UploadPicturesDto();
paramMap.put("site", CommonMethods.getSite());
String msg="";
String pbdes="";
String url="";
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++) {
paramMap.put("routerStepBo", "RouterStepBO:"+sfcDispatchList.get(i).getRouterBo()+","+sfcDispatchList.get(i).getStepId());
result=routerStepcontentService.selectDisRouterInfo(paramMap);
if (result!=null&&result.size()!=0){
paramMap.put("routerStepBo", "RouterStepBO:" + sfcDispatchList.get(i).getRouterBo() + "," + sfcDispatchList.get(i).getStepId());
result = routerStepcontentService.selectDisRouterInfo(paramMap);
if (result != null && result.size() != 0) {
for (int j = 0; j < result.size(); j++) {
msg=msg+"【"+result.get(j).get("STEP_ID")+"】"+
result.get(j).get("ROUTER_STEP_CONTENT");
}
msg = msg + "【" + result.get(j).get("STEP_ID") + "】" + result.get(j).get("ROUTER_STEP_CONTENT");
}
}
}
return R.ok(msg);
resultData.setRouter(msg);
return R.ok(resultData);
}catch (Exception e){
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 != ''">
WHERE WIP.IS_COMPLETED = #{isCompleted}
</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>
<update id="updateSfcDispatchStatus">

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

@ -80,7 +80,9 @@ public class InterfaceServiceImpl implements InterfaceService {
String 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 unitOfMeasure = itemSyncRequest.getUNIT_OF_MEASURE();

@ -1,5 +1,6 @@
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.RouterStepcontent;
import com.foreverwin.mesnac.meapi.service.RouterStepcontentService;
@ -173,14 +174,41 @@ public class RouterController {
return R.ok();
}
@GetMapping("/selectDisRouterInfo")
public R selectDisRouterInfo(@RequestParam(required = false) Map paramMap){
// @GetMapping("/findUploadPictureByRouterBo")
// public R findUploadPictureByAbnormalBo(AbnormalBill abnormalBill){
// return R.ok(abnormalBillService.findUploadPictureByAbnormalBo(abnormalBill));
// }
@PostMapping("/selectDisRouterInfo")
public R selectDisRouterInfo(@RequestParam(required = false) Map paramMap) {
try {
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);
} 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){
return R.failed(e.getMessage().trim());
}
}
}

@ -11,6 +11,7 @@ public class AbnormalRouterDto {
private String routerRevision;
private String routerType;
private String routerBo;
private String site;
public String getRouterType() {
return routerType;
@ -20,7 +21,7 @@ public class AbnormalRouterDto {
this.routerType = routerType;
}
private String site;
public String getSite() {
return site;
@ -101,4 +102,21 @@ public class AbnormalRouterDto {
public void setRouterBo(String 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 operationBo;
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() {
return operation;

@ -34,6 +34,15 @@ public class SfcDto extends Sfc {
private String stepSequence;
private String seq;
private String prodHours;
private String blankingSize;
public String getBlankingSize() {
return blankingSize;
}
public void setBlankingSize(String blankingSize) {
this.blankingSize = blankingSize;
}
//工作令号
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;
import com.foreverwin.mesnac.meapi.dto.AbnormalRouterDto;
import com.foreverwin.mesnac.meapi.model.Router;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.foreverwin.mesnac.meapi.model.RouterStep;
import org.apache.ibatis.annotations.Param;
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);
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;
import com.foreverwin.mesnac.meapi.dto.UploadPicturesDto;
import com.foreverwin.mesnac.meapi.model.RouterStepcontent;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import org.springframework.stereotype.Repository;
@ -19,4 +20,8 @@ import java.util.Map;
public interface RouterStepcontentMapper extends BaseMapper<RouterStepcontent> {
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;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.extension.activerecord.Model;
import com.foreverwin.mesnac.meapi.dto.DisRouterStepDto;
@ -19,6 +20,37 @@ public class DisRouter extends Model<DisRouter> {
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;
@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;
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.Router;
import com.baomidou.mybatisplus.extension.service.IService;
import com.foreverwin.mesnac.meapi.model.RouterStep;
import com.foreverwin.modular.core.util.FrontPage;
import java.util.List;
@ -42,7 +44,14 @@ public interface RouterService extends IService<Router> {
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;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.foreverwin.mesnac.meapi.dto.UploadPicturesDto;
import com.foreverwin.mesnac.meapi.model.RouterStepcontent;
import com.baomidou.mybatisplus.extension.service.IService;
import com.foreverwin.modular.core.util.FrontPage;
@ -28,4 +29,15 @@ public interface RouterStepcontentService extends IService<RouterStepcontent> {
List<RouterStepcontent> selectList(RouterStepcontent routerStepcontent);
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;
import com.foreverwin.mesnac.meapi.dto.AbnormalRouterDto;
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.model.*;
import com.foreverwin.mesnac.meapi.service.CustomFieldsService;
import com.foreverwin.mesnac.meapi.service.OperationService;
import com.foreverwin.mesnac.meapi.service.RouterStepcontentService;
import com.foreverwin.mesnac.meapi.service.*;
import com.foreverwin.modular.core.exception.BusinessException;
import com.foreverwin.modular.core.meext.MEServices;
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.metadata.IPage;
import com.foreverwin.mesnac.meapi.mapper.RouterMapper;
import com.foreverwin.mesnac.meapi.service.RouterService;
import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
import com.sap.me.productdefinition.*;
import com.sap.me.productdefinition.RouterStep;
@ -23,10 +22,11 @@ import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.transaction.annotation.Transactional;
import java.math.BigDecimal;
import java.time.LocalDateTime;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.UUID;
import java.util.stream.Collectors;
/**
* <p>
@ -51,6 +51,8 @@ public class RouterServiceImpl extends ServiceImpl<RouterMapper, Router> impleme
private RouterStepcontentService routerStepcontentService;
@Autowired
private CustomFieldsService customFieldsService;
@Autowired
private PicturesService picturesService;
@Override
public IPage<Router> selectPage(FrontPage<Router> frontPage, Router router) {
@ -250,12 +252,18 @@ public class RouterServiceImpl extends ServiceImpl<RouterMapper, Router> impleme
routerNextStep.setNextStepId(lastStepId);
routerStepList.get(routerStepList.size()-2).getRouterNextStepList().add(routerNextStep);
routerConfiguration.setEntryRouterStep(entryRouterStep);
routerConfiguration.setRouterStepList(routerStepList);
//工艺路线创建
routerConfigurationService.createRouter(routerConfiguration);
//图片路径
try {
this.fileUpload(disRouter,routerBo);
}catch (Exception e){
throw BusinessException.build("图片保存失败");
}
//自定义数据保存
if (customFieldsList != null && customFieldsList.size() > 0) {
customFieldsService.saveOrUpdateCustomFields(customFieldsList);
@ -263,8 +271,46 @@ public class RouterServiceImpl extends ServiceImpl<RouterMapper, Router> impleme
}
@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);
}
@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;
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.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
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.transaction.annotation.Transactional;
import java.util.ArrayList;
import java.util.List;
import java.util.Map;
@ -30,6 +34,7 @@ public class RouterStepcontentServiceImpl extends ServiceImpl<RouterStepcontentM
@Autowired
private RouterStepcontentMapper routerStepcontentMapper;
@Override
public IPage<RouterStepcontent> selectPage(FrontPage<RouterStepcontent> frontPage, RouterStepcontent routerStepcontent) {
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}
ORDER BY TO_NUMBER(REVISION) DESC
</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
WHERE RT.SITE=#{site}
AND RT.HANDLE=#{routerBo}
AND RS.STEP_ID=#{stepId}
</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>

@ -490,9 +490,12 @@
STEP.ERP_OPERATION ,
OP.HANDLE AS OPERATION_BO,
OP.OPERATION ,
OPT.DESCRIPTION OPERATION_DESC
OPT.DESCRIPTION OPERATION_DESC,
ZRS.ROUTER_STEP_CONTENT,
ZRS.REPAIR_TIME
FROM ROUTER R
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 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}
@ -508,7 +511,7 @@
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 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!='' " >
AND (T1.ITEM LIKE '%${ew.entity.item}%' OR T2.DESCRIPTION LIKE '%${ew.entity.item}%' OR ZAB.ABNORMAL_NO LIKE '%${ew.entity.item}%')
</if>

@ -193,7 +193,7 @@
</if>
</select>
<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
LEFT JOIN ROUTER_STEP RS ON RT.HANDLE=RS.ROUTER_BO
INNER JOIN Z_ROUTER_STEPCONTENT ZRS ON RS.HANDLE=ZRS.ROUTER_STEP_BO
@ -209,6 +209,30 @@
</if >
</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 INTO Z_ROUTER_STEPCONTENT

@ -49,6 +49,7 @@
<result column="LAST_OPERATION_STATUS" property="lastOperationStatus" />
<result column="PRE_WORKORDER_RESULT" property="preWorkOrderResult"/>
<result column="PLANNED_COMP_DATE" property="plannedCompDate"/>
<result column="BLANKING_SIZE" property="blankingSize"/>
</resultMap>
<!-- 通用查询结果列 -->
<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
,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,
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
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

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

@ -27,6 +27,7 @@ import com.foreverwin.mesnac.dispatch.service.SfcDispatchService;
import com.foreverwin.mesnac.dispatch.service.UserResourceService;
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.WorkCenterDto;
import com.foreverwin.mesnac.meapi.mapper.ResrceMapper;
@ -113,6 +114,8 @@ public class PodTemplateServiceImpl implements PodTemplateService {
private SfcDispatchService sfcDispatchService;
@Autowired
private UserResourceService userResourceService;
@Autowired
private RouterStepService routerStepService;
@ -315,14 +318,6 @@ public class PodTemplateServiceImpl implements PodTemplateService {
if (status.equals("404")) {
throw new BaseException("产品条码" + sfc + "已暂停");
}
/**
*
*/
boolean flag=routerService.findRepairOperation(site,sfcDispatchById.getRouterBo(),stepId);
if (flag){
enabled=false;
}
BigDecimal workHour=BigDecimal.ZERO;
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);
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 {
@ -423,8 +437,31 @@ public class PodTemplateServiceImpl implements PodTemplateService {
//更改派工单状态
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();
sfcdispatch.setHandle(HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo));
sfcdispatch = sfcDispatchCommonService.findSfcDispatchBySfc(sfcdispatch);

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

@ -1,5 +1,6 @@
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.enums.HandleEnum;
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.util.DateUtil;
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.mapper.InspectionTaskManageMapper;
import com.foreverwin.mesnac.quality.model.InspectionTaskManageDetail;
@ -35,6 +38,8 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
private InspectionTaskManageMapper inspectionTaskManageMapper;
@Autowired
private InspectionTaskDetailService inspectionTaskDetailService;
@Autowired
private SfcDispatchService sfcDispatchService;
@Override
public List<InspectionTaskManage> findInspectionTask(InspectionTaskManageRequest inspectionTaskManageRequest) {
@ -196,6 +201,31 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ
inspectionTaskModel.setModifiedDateTime(dateTime);
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)) {

@ -30,13 +30,14 @@
<result column="RESRCE_DESCRIPTION" property="resrceDescription"/>
<result column="SFC_QTY" property="sfcQty" />
<result column="DISPATCH_USER" property="dispatchUser"/>
<result column="SFC_DISPATCH_BO" property="sfcdispatchBo"/>
</resultMap>
<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,
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,
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
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

Loading…
Cancel
Save