Merge remote-tracking branch 'origin/dev' into dev

tags/yfai-mes-ext-v2.4
xiangwei.zhang 6 months ago
commit 6943238b6d

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesBallTrackRule;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/24 15:36
* @Modify:
**/
public interface IMesBallTrackRuleService extends IBaseMesService<MesBallTrackRule>{
}

@ -54,5 +54,15 @@ public interface IMesBomService extends IBaseMesService<MesBom> {
@ApiOperation(value = "递归查询bom数据")
List<MesBom> findBomList(String organizeCode, MesPart mesPart, String bomVersion);
/**
* bom
* @param organizeCode
* @param bomVersion
* @param partNo
* @return
*/
MesBom findBom(String organizeCode, String bomVersion,String partNo);
@ApiOperation(value = "bom反向查询")
List<MesBom> queryMesBomReverse(MesBom mesBom);
}

@ -16,4 +16,11 @@ public interface IMesBtoJobService {
* @param groupCodeList
*/
void doCreateBto(String organizeCode, List<String> groupCodeList);
/**
* JIS;
* @param organizeCode
* @param groupCodeList
*/
void doWhJisWorkOrder(String organizeCode, List<String> groupCodeList);
}

@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.mes.bean.MesConfig;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import java.util.Objects;
/**
* @Description:
@ -39,4 +40,7 @@ public interface IMesConfigService {
@ApiOperation(value = "更新配置")
void update(MesConfig mesConfig,String userName);
@ApiOperation(value = "数据校验")
Boolean checkCfgValue(String organizeCode, String configCode, String value);
}

@ -1,6 +1,5 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesBom;
import cn.estsh.i3plus.pojo.mes.bean.MesCustomerCarModelDetail;
/**

@ -2,6 +2,7 @@ package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesCustomerCarModelDetail;
import cn.estsh.i3plus.pojo.mes.bean.MesCustomerPart;
import io.swagger.annotations.ApiOperation;
import java.util.List;
@ -14,4 +15,7 @@ public interface IMesCustomerPartService extends IBaseMesService<MesCustomerPart
List<MesCustomerPart> findMesCustomerPart(MesCustomerCarModelDetail mesPartProdGroupDetail);
@ApiOperation("根据零件号获取客户零件关系")
List<MesCustomerPart> findMesCustomerPartByPartNo(String organizeCode,List<String> partNoList);
}

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesCustomerPartType;
/**
* @Description :
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/11/5 17:27
* @Modify:
**/
public interface IMesCustomerPartTypeService extends IBaseMesService<MesCustomerPartType> {
}

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesCutLengthModifyType;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/20 9:47
* @Modify:
**/
public interface IMesCutLengthModifyTypeService extends IBaseMesService<MesCutLengthModifyType>{
}

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeEquipmentDetail;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/18 17:03
* @Modify:
**/
public interface IMesCutSchemeEquipmentDetailService extends IBaseMesService<MesCutSchemeEquipmentDetail>{
}

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeEquipmentProcessParam;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/18 16:51
* @Modify:
**/
public interface IMesCutSchemeEquipmentProcessParamService extends IBaseMesService<MesCutSchemeEquipmentProcessParam>{
}

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeEquipment;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/18 15:52
* @Modify:
**/
public interface IMesCutSchemeEquipmentService extends IBaseMesService<MesCutSchemeEquipment>{
}

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeFg;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/18 13:52
* @Modify:
**/
public interface IMesCutSchemeFgService extends IBaseMesService<MesCutSchemeFg>{
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeMaterial;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/18 13:35
* @Modify:
**/
public interface IMesCutSchemeMaterialService extends IBaseMesService<MesCutSchemeMaterial>{
}

@ -0,0 +1,12 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesCutScheme;
/**
* @Description:
* @CreateDate 2024/04/16
* @Author mingliang.li
*/
public interface IMesCutSchemeService extends IBaseMesService<MesCutScheme> {
}

@ -14,4 +14,6 @@ import cn.estsh.i3plus.pojo.mes.bean.MesLabelTemplate;
public interface IMesLabelTemplateService extends IBaseMesService<MesLabelTemplate> {
ListPager queryMesLabelTemplateAndParamListByPager(MesLabelTemplate labelTemplate, Pager pager);
MesLabelTemplate getLabelTemplate(String templateCode, String organizeCode);
}

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesPartPackageRuleDetail;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/25 9:48
* @Modify:
**/
public interface IMesPartPackageRuleDetailService extends IBaseMesService<MesPartPackageRuleDetail>{
}

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesPartPackageRule;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/25 9:36
* @Modify:
**/
public interface IMesPartPackageRuleService extends IBaseMesService<MesPartPackageRule>{
}

@ -4,6 +4,7 @@ import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup;
import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroupDetail;
import java.util.List;
import java.util.Map;
/**
* @Description:
@ -28,4 +29,6 @@ public interface IMesPartProdGroupService extends IBaseMesService<MesPartProdGro
* @return
*/
List<MesPartProdGroupDetail> findDetailByCode(String partGroupCode,String organizeCode);
Map<String, MesPartProdGroup> getMesPartProdGroupMap(String organizeCode, List<String> partProdGroupCodeList);
}

@ -1,6 +1,5 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesPart;
import cn.estsh.i3plus.pojo.mes.bean.MesProdRuleSortCfg;
/**

@ -19,4 +19,7 @@ public interface IMesProduceSnService extends IBaseMesService<MesProduceSn> {
@ApiOperation(value = "查询条码信息")
List<MesProduceSn> findMesProduceSnList(String organizeCode, List<String> snList);
@ApiOperation("根据客户条码查询产品条码表")
MesProduceSn getMesProduceSnByCustSn(String organizeCode, String custSn);
}

@ -1,6 +1,9 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesProductOffLine;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description :
@ -11,5 +14,9 @@ import cn.estsh.i3plus.pojo.mes.bean.MesProductOffLine;
**/
public interface IMesProductOffLineService extends IBaseMesService<MesProductOffLine>{
@ApiOperation("根据汇报条码查询报工数据")
List<MesProductOffLine> findMesProductOffLineByProductSn(String productSn, String organizeCode);
@ApiOperation("根据加工记录ID查询报工数据")
List<MesProductOffLine> findMesProductOffLineByRecordId(String recordId, String organizeCode);
}

@ -3,6 +3,7 @@ package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesProductVersion;
import io.swagger.annotations.ApiOperation;
/**
* @Description:
@ -13,4 +14,7 @@ public interface IMesProductVersionService extends IBaseMesService<MesProductVer
ListPager<MesProductVersion> queryMesProductVersionByPagerExt(MesProductVersion mesProductVersion, Pager pager);
@ApiOperation("根据物料生产版本查询生产版本")
MesProductVersion getMesProductVersionByPartNoAndProductVersion(String organizeCode, String partNo, String productVersion);
}

@ -0,0 +1,20 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesPullingOrderInfo;
import java.util.List;
import java.util.Map;
/**
* @Description:
* @CreateDate 2024/04/16
* @Author mingliang.li
*/
public interface IMesPullingOrderInfoService extends IBaseMesService<MesPullingOrderInfo> {
Map doSPSForEquipment( String assemblyLine, String pullingGroupCode,String organizeCode );
void doCreatePullOrderByPullGroupAndWorkOrder(String organizeCode,Integer pageSize, String userName);
List<MesPullingOrderInfo> doMesPullingOrderInfoPrint(MesPullingOrderInfo mesPullingOrderInfo, String userName);
}

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesPullingOrderPartInfo;
/**
* @Description:
* @CreateDate 2024/04/16
* @Author mingliang.li
*/
public interface IMesPullingOrderPartInfoService extends IBaseMesService<MesPullingOrderPartInfo> {
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.recyclablepackage.MesRecyclablePackagePart;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/14 13:40
* @Modify:
**/
public interface IMesRecyclablePackagePartService extends IBaseMesService<MesRecyclablePackagePart>{
}

@ -0,0 +1,14 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.recyclablepackage.MesRecyclablePackage;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/14 10:02
* @Modify:
**/
public interface IMesRecyclablePackageService extends IBaseMesService<MesRecyclablePackage>{
}

@ -0,0 +1,14 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.recyclablepackage.MesRecyclablePackageType;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/13 17:36
* @Modify:
**/
public interface IMesRecyclablePackageTypeService extends IBaseMesService<MesRecyclablePackageType>{
}

@ -3,6 +3,7 @@ package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderPart;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
import io.swagger.annotations.ApiOperation;
@ -23,4 +24,7 @@ public interface IMesShippingOrderManagementDetailService extends IBaseMesServic
@ApiOperation("发运退回")
void doShippingBack(Long[] idList,String organizeCode,String userName);
@ApiOperation("查询发运零件子零件明细")
ListPager<MesWorkOrderPart> queryDetailMesWorkOrderPart(MesWorkOrderPart bean, Pager pager);
}

@ -0,0 +1,13 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesStation;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/20 14:45
* @Modify:
**/
public interface IMesStationService extends IBaseMesService<MesStation>{
}

@ -4,6 +4,8 @@ import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description:
* @CreateDate 2024/04/16
@ -17,4 +19,7 @@ public interface IMesWorkCenterService extends IBaseMesService<MesWorkCenter> {
@ApiOperation(value = "根据生产线代码查询生产线信息的ERP生产线代码")
String getErpWorkCenterCode(String organizeCode, String workCenterCode);
@ApiOperation(value = "根据产线代码集合查询产线信息集合")
List<MesWorkCenter> queryMesWorkCenterList(List<String> workCenterCodeList, String organizeCode);
}

@ -0,0 +1,21 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderAssembly;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/9/19 16:42
* @Modify:
**/
public interface IMesWorkOrderAssemblyService extends IBaseMesService<MesWorkOrderAssembly> {
@ApiOperation("根据工单号查询排序线排产装配目视项")
List<MesWorkOrderAssembly> findMesWorkOrderAssembly(String workOrderNo, String organizeCode);
}

@ -0,0 +1,38 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderCut;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderCutDetail;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import java.util.Map;
/**
* @Description:
* @CreateDate 2024/04/16
* @Author mingliang.li
*/
public interface IMesWorkOrderCutService extends IBaseMesService<MesWorkOrderCut> {
@ApiOperation("生成裁片工单")
void doGenerateCutWorkOrder(List<Long> workOrderIds, String cutCode, String remark, String organizeCode,
String userName, Integer editionNumber);
@ApiOperation("分页查询裁片工单明细")
ListPager<MesWorkOrderCutDetail> queryWorkOrderCutDetailByPager(MesWorkOrderCutDetail workOrderCutDetail, Pager pager);
//@ApiOperation("分页查询裁片工单明细")
//ListPager<MesWorkOrderCutDetail> queryWorkOrderCutDetailByPager(MesWorkOrderCutDetail workOrderCutDetail, Pager pager);
@ApiOperation("发布裁片工单")
void doReleaseCutWorkOrder(List<String> cutWorkOrderNos, String organizeCode, String userName);
@ApiOperation("打印裁片工单")
List<Map<String, Object>> doPrintCutWorkOrder(List<String> cutWorkOrderNos, String organizeCode, String userName);
@ApiOperation("重新打印-修改同步状态为未同步")
void doUpdatePrintStatus(List<String> cutWorkOrderIds, String organizeCode, String userName);
}

@ -5,6 +5,9 @@ import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderLog;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description:
@ -16,4 +19,7 @@ public interface IMesWorkOrderLogService extends IBaseMesService<MesWorkOrderLog
void saveMesWorkOrderLog(MesWorkOrder mesWorkOrder, MesExtEnumUtil.WORK_ORDER_LOG_TYPE type,double qty);
ListPager queryMesWorkOrderLogByPage(MesWorkOrderLog mesWorkOrderLog, Pager pager);
@ApiOperation("根据工单号查询生产工单日志")
List<MesWorkOrderLog> findMesWorkOrderLog(String workOrderNo, String organizeCode);
}

@ -0,0 +1,23 @@
package cn.estsh.i3plus.ext.mes.api.base;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderPart;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description :
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/9/19 16:42
* @Modify:
**/
public interface IMesWorkOrderPartService extends IBaseMesService<MesWorkOrderPart> {
@ApiOperation("根据工单号查询工单零件")
List<MesWorkOrderPart> findMesWorkOrderPart(String workOrderNo, String organizeCode);
@ApiOperation("根据工单号查询工单零件")
List<MesWorkOrderPart> findMesWorkOrderPart(List<String> workOrderNoList, String organizeCode);
}

@ -8,6 +8,7 @@ import cn.estsh.i3plus.pojo.model.wms.WmsProductModel;
import io.swagger.annotations.ApiOperation;
import java.util.List;
import java.util.Map;
/**
* @Description:
@ -36,7 +37,8 @@ public interface IMesWorkOrderService extends IBaseMesService<MesWorkOrder> {
@ApiOperation("ccscTest")
List<MesWorkOrder> queryMesWorkOrderProcessToSap(String organizeCode);
MesWorkOrder getWorkOrder(String organizeCode, String workOrderNo);
@ApiOperation("查询工单信息")
MesWorkOrder getMesWorkOrder(String workOrderNo,String organizeCode);
@ApiOperation("反向冲销")
void doReportWorkReversal(WmsProductModel model);
@ -44,6 +46,16 @@ public interface IMesWorkOrderService extends IBaseMesService<MesWorkOrder> {
@ApiOperation("重新打开")
void doReopen(Long[] ids,String userName,String organizeCode);
@ApiOperation("新增工单打印队列")
void doSaveWorkOrderPrintQueue(MesWorkOrder workOrder);
@ApiOperation("装配目视单补打")
List<Map<String, Object>> doReprintWorkOrder(Long[] ids, String organizeCode, String userName);
@ApiOperation("装配目视单预览")
List<Map<String, Object>> doShowWorkOrderPrint(String partNo, String workCenterCode, String partProdGroupCode,
String carModelCode, String organizeCode, String userName);
List<MesProductionRecord> getPreDayReportMesProductionRecord(String organizeCode , List<MesShift> mesShiftList, String workCenterCode);
List<MesProduceSn> getPreDayReportMesProduceSn(String organizeCode ,List<MesProductionRecord> mesProductionRecordList );
@ -52,4 +64,7 @@ public interface IMesWorkOrderService extends IBaseMesService<MesWorkOrder> {
void doPcnJobProductReport(List<MesProductionRecord> mesProductionRecordList,List<MesShift> mesShiftList,String organizeCode, String userName, MesWorkOrder mesWorkOrder);
@ApiOperation("MES工单推送给WMS")
void doSendMesWorkOrderToWms(String organizeCode,Integer pageSize,String userName);
}

@ -17,5 +17,8 @@ import java.util.List;
public interface IMesWorkOrderToWmsService extends IBaseMesService<MesWorkOrderToWms> {
@ApiOperation(value = "发送工单给Wms")
List<MesWorkOrderToWms> saveMesWorkOrderToWms(MesWorkOrder mesWorkOrder, List<MesBom> mesBomList);
List<MesWorkOrderToWms> saveMesWorkOrderToWms(MesWorkOrder mesWorkOrder, List<MesBom> mesBomList, String userName, boolean flag);
@ApiOperation("根据工单号查询工单发送给WMS数据")
List<MesWorkOrderToWms> findMesWorkOrderToWms(String workOrderNo, String organizeCode);
}

@ -0,0 +1,18 @@
package cn.estsh.i3plus.ext.mes.api.busi;
import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup;
import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroupDetail;
import cn.estsh.i3plus.pojo.mes.bean.MesPartSap;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesCustSortInfo;
public interface IMesCreateWorkOrder {
/**
*
* @param partProdGroup
* @param mesPartProdGroupDetail
* @param partSap
* @param sortInfo
*/
void createWorkOrder(MesPartProdGroup partProdGroup, MesPartProdGroupDetail mesPartProdGroupDetail, MesPartSap partSap, MesCustSortInfo sortInfo,Long productSeq);
}

@ -0,0 +1,55 @@
package cn.estsh.i3plus.ext.mes.api.busi;
import cn.estsh.i3plus.pojo.mes.bean.MesEarlyWarningKanBan;
import cn.estsh.i3plus.pojo.mes.model.KanBanPictureModel;
import cn.estsh.i3plus.pojo.mes.model.MesEarlyWarningKanBanModel;
import cn.estsh.i3plus.pojo.mes.model.MesKanBanShowModel;
import java.text.ParseException;
import java.util.List;
public interface IMesEarlyWarningService {
/**
* id
* idList 1
*
*
*/
List<MesEarlyWarningKanBan> getEarlyWarningList(String organizeCode);
/**
*
* @param model
*/
void saveEarlyWarning(MesEarlyWarningKanBanModel model);
/**
*
* @param earlyWarning
*/
void updateEarlyWarning(MesEarlyWarningKanBan earlyWarning);
/**
*
*/
void deleteEarlyWarning(Long id, String organizeCode,String userName);
/**
*
* @param id
*/
MesEarlyWarningKanBan getKanbanData(Long id,String organizeCode);
/**
*
* @param id
*/
MesKanBanShowModel doGetData(Long id, String organizeCode) throws ParseException;
/**
*
* @param model
*/
void savePicture(KanBanPictureModel model);
}

@ -0,0 +1,19 @@
package cn.estsh.i3plus.ext.mes.api.busi;
import java.util.List;
public interface IMesOfflineService {
/**
* 线
*
*/
void doCreateSortRuleCfgOfflineData(String organizeCode, List<String> groupCodeList);
/**
*
* 线
*
*/
void doCreatePullOrderOfflineData(String organizeCode, List<String> pullCodeList,List<String> partProdCodeList);
}

@ -0,0 +1,26 @@
package cn.estsh.i3plus.ext.mes.api.busi;
import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroup;
import cn.estsh.i3plus.pojo.mes.bean.MesPartProdGroupDetail;
import cn.estsh.i3plus.pojo.mes.bean.MesPartPull;
import cn.estsh.i3plus.pojo.mes.bean.MesPartPullDetail;
import java.util.List;
public interface IMesSortRuleCfgOfflineService {
/**
*
*/
void deleteSortRuleOffline(String organizeCode);
void doCreateSortRuleOffline(String custPartNo, String erpPartNo, String productPartNo,String organizeCode, MesPartProdGroup mesPartProdGroup, MesPartProdGroupDetail detail);
void deletePullOffline(String organizeCode);
void deletePullDetailOffline(String organizeCode);
void doCreatePullOffline(String custPartNo, String erpPartNo,String productPartNo, String organizeCode, MesPartProdGroup mesPartProdGroup, MesPartProdGroupDetail detail, MesPartPull partPull, List<MesPartPullDetail> pullDetailList);
}

@ -256,6 +256,14 @@ public interface IProdExtOrgService {
@ApiOperation(value = "更新工位参数配置状态(启用、禁用)")
int updateMesWorkCellParamCfgStatusById(Long id, int status, String userName);
/**
*
* @param organizeCode
* @param id
*/
@ApiOperation(value = "新增工位按钮")
void insertWorkCellModuleByCfg(String organizeCode, String id);
/*************MES工位参数配置服务*****end***********/
}

@ -1,7 +1,11 @@
package cn.estsh.i3plus.ext.mes.api.busi.board;
import cn.estsh.i3plus.ext.mes.pojo.model.board.MesGepicsInspectionInfoModel;
import cn.estsh.i3plus.ext.mes.pojo.model.board.MesWorkCenterBoardConditionModel;
import cn.estsh.i3plus.ext.mes.pojo.model.board.MesWorkCenterBoardResultModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import io.swagger.annotations.ApiOperation;
import java.util.List;
@ -31,4 +35,7 @@ public interface IMesYfBoardService {
MesWorkCenterBoardResultModel queryAbnormalDowntime(MesWorkCenterBoardConditionModel conditionModel);
@ApiOperation("查询V107Melos数据监控")
ListPager<MesGepicsInspectionInfoModel> queryGepicsInspectionInfo(MesGepicsInspectionInfoModel infoModel, Pager pager);
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.ext.mes.api.busi.report;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.model.report.AssemblyPartReportModel;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/29 10:20
* @Modify:
**/
public interface IAssemblyPartReportService {
ListPager<AssemblyPartReportModel> queryReport(AssemblyPartReportModel model, Pager pager);
}

@ -5,8 +5,11 @@ import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportResultM
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesProdRuleReportConditionModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesCokpitKanbanData;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord;
import cn.estsh.i3plus.pojo.mes.model.report.MesGeneralExportReportModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesGeneralShippingReportModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesTraceabilityReportModel;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.ApiOperation;
@ -48,4 +51,13 @@ public interface IMesYfReportService {
@ApiOperation("产品加工记录")
ListPager<MesProductionRecord> queryMesProductionRecord(MesProductionRecord mesProductionRecord, Pager pager);
@ApiOperation("看板数据")
ListPager<MesCokpitKanbanData> queryMesCokpitKanbanData(MesCokpitKanbanData kanbanData, Pager pager);
@ApiOperation("通用导出报表")
ListPager<MesGeneralExportReportModel> queryGeneralExport(MesGeneralExportReportModel mesGeneralExportReportModel, Pager pager);
@ApiOperation("通用发运报表查询")
ListPager<MesGeneralShippingReportModel> queryGeneralShipping(MesGeneralShippingReportModel model, Pager pager);
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.ext.mes.api.busi.report;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesQmsSuspicious;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/29 13:50
* @Modify:
**/
public interface IProductInspectionSubReportService {
ListPager<MesQmsSuspicious> queryReport(MesQmsSuspicious model, Pager pager);
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.ext.mes.api.busi.report;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.model.report.ShippingReportModel;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/29 9:49
* @Modify:
**/
public interface IShipmentDetailReportService {
ListPager<ShippingReportModel> queryReport(ShippingReportModel model, Pager pager);
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.ext.mes.api.busi.report;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.model.report.SuspiciousItemBarcodeReportModel;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/28 19:27
* @Modify:
**/
public interface ISuspiciousItemBarcodeReportService {
ListPager<SuspiciousItemBarcodeReportModel> queryReport(SuspiciousItemBarcodeReportModel model, Pager pager);
}

@ -19,11 +19,11 @@
<groupId>org.apache.cxf</groupId>
<artifactId>cxf-spring-boot-starter-jaxws</artifactId>
</dependency>
<dependency>
<groupId>com.huaweicloud</groupId>
<artifactId>esdk-obs-java-bundle</artifactId>
<version>3.23.9</version>
</dependency>
<!-- <dependency>-->
<!-- <groupId>com.huaweicloud</groupId>-->
<!-- <artifactId>esdk-obs-java-bundle</artifactId>-->
<!-- <version>3.23.9</version>-->
<!-- </dependency>-->
<!-- impp framework -->
<dependency>
<groupId>impp.framework</groupId>

@ -0,0 +1,46 @@
import cn.estsh.i3plus.mes.api.iservice.busi.ISyncFuncService
import cn.estsh.i3plus.platform.common.tool.TimeTool
import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper
import cn.estsh.i3plus.pojo.mes.model.GenSerialNoModel
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
/**
* @Description : MES2PISCES-
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/11/18 20:37
* @Modify:
* */
class MesToPiscesMesJisShippingWh {
public static final Logger LOGGER = LoggerFactory.getLogger(MesToPiscesMesJisShippingWh.class)
@Autowired
private ISyncFuncService syncFuncService;
def filterData(MesInterfaceDataMapper mapper, List<Map<String, Object>> srcData) throws Exception {
if (srcData == null || srcData.size() == 0) {
return srcData
}
String organizeCode = mapper.getOrganizeCode();
//TRANS_ID
if (mapper.getDestColumnMapping().contains("TRANS_ID")) {
Date date = new Date();
GenSerialNoModel orderSeqSerialNoModel = new GenSerialNoModel("COKIPIT_PISCES_TRANS_ID");
orderSeqSerialNoModel.setYear(MesExtEnumUtil.YEAR_SHORT.valueOfDescription(Integer.parseInt(TimeTool.getYear(date))))
orderSeqSerialNoModel.setMonth(MesExtEnumUtil.MONTH_SHORT.valueOfDescription(Integer.parseInt(TimeTool.getMonth(date))))
orderSeqSerialNoModel.setDay(TimeTool.getDay(date))
List<String> resultList = syncFuncService.syncSerialNo(orderSeqSerialNoModel.organizeCode(organizeCode), "MES2PISCES发运单", organizeCode, srcData.size()).getResultList();
int index = 0;
for (Map<String, Object> rowMap : srcData) {
rowMap.put("TRANS_ID", resultList.get(index));
index++;
}
}
return new ArrayList<>(srcData);
}
}

@ -53,7 +53,9 @@ class MesToPiscesMesLoadingListDetail {
if (!StringUtils.isEmpty(rowMap.get("pid"))) {
long id = Long.parseLong(String.valueOf(rowMap.get("pid")));
if (Objects.isNull(mesLoadingListMap) || !mesLoadingListMap.containsKey(id)) {
mesLoadingListMap.put(id, mesLoadingListRepository.getById(id))
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode)
DdlPreparedPack.getNumEqualPack(id,"id",packBean)
mesLoadingListMap.put(id, mesLoadingListRepository.getByProperty(packBean))
}
MesLoadingList mesLoadingList = mesLoadingListMap.get(id)
if (!Objects.isNull(mesLoadingList)) {

@ -51,7 +51,9 @@ class MesToPiscesMesShippingDetail {
if (!StringUtils.isEmpty(rowMap.get("pid"))) {
long id = Long.parseLong(String.valueOf(rowMap.get("pid")));
if (Objects.isNull(mesProductionRecordMap) || !mesProductionRecordMap.containsKey(id)) {
mesProductionRecordMap.put(id, mesShippingRepository.getById(id))
DdlPackBean packBean = DdlPackBean.getDdlPackBean(organizeCode)
DdlPreparedPack.getNumEqualPack(id,"id",packBean)
mesProductionRecordMap.put(id, mesShippingRepository.getByProperty(packBean))
}
MesShippingOrderManagement mesProductionRecord = mesProductionRecordMap.get(id)
if (!Objects.isNull(mesProductionRecord)) {

@ -47,10 +47,11 @@ class MesToPiscesProductionAssembly {
if (!Objects.isNull(mesProduceSn)) {
rowMap.put("ASSEMBLY_BARCODE_ID", mesProduceSn.getId())
} else {
rowMap.put("ASSEMBLY_BARCODE_ID", 0)
LOGGER.info("条码:{}信息不存在", String.valueOf(rowMap.get("assembly_sn")))
}
}else{
rowMap.put("ASSEMBLY_BARCODE_ID", null)
rowMap.put("ASSEMBLY_BARCODE_ID", 0)
}
//
if (!StringUtils.isEmpty(rowMap.get("product_sn"))) {
@ -58,21 +59,25 @@ class MesToPiscesProductionAssembly {
if (!Objects.isNull(mesProduceSn)) {
rowMap.put("BARCODE_ID", mesProduceSn.getId())
} else {
rowMap.put("BARCODE_ID", 0)
LOGGER.info("条码:{}信息不存在", String.valueOf(rowMap.get("product_sn")))
}
}else{
rowMap.put("BARCODE_ID", null)
rowMap.put("BARCODE_ID", 0)
}
//
if (!StringUtils.isEmpty(rowMap.get("production_record_id"))) {
long id = Long.parseLong(String.valueOf(rowMap.get("production_record_id")));
if (Objects.isNull(mesProductionRecordMap) || !mesProductionRecordMap.containsKey(id)) {
mesProductionRecordMap.put(id, mesProductionRecordRepository.getById(id))
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getNumEqualPack(id,"id",ddlPackBean)
mesProductionRecordMap.put(id, mesProductionRecordRepository.getByProperty(ddlPackBean))
}
MesProductionRecord mesProductionRecord = mesProductionRecordMap.get(id)
if (!Objects.isNull(mesProductionRecord)) {
rowMap.put("PRODUCTION_LOG_FID", mesProductionRecord.getFid())
} else {
rowMap.put("PRODUCTION_LOG_FID", null)
LOGGER.info("加工记录id{},信息不存在", String.valueOf(rowMap.get("production_record_id")))
}
}else{
@ -84,6 +89,7 @@ class MesToPiscesProductionAssembly {
if (!Objects.isNull(mesEquipment)) {
rowMap.put("EQUIPMENT_FID", mesEquipment.getFid())
} else {
rowMap.put("EQUIPMENT_FID", null)
LOGGER.info("设备代码:{}信息不存在", String.valueOf(rowMap.get("equipment_code")))
}
}else{

@ -1,3 +1,5 @@
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack
import cn.estsh.i3plus.pojo.mes.bean.MesRawPackage
import cn.estsh.i3plus.pojo.mes.bean.MesRawPackageDetail
import cn.estsh.i3plus.pojo.mes.bean.MesRawPackagePart
@ -37,12 +39,15 @@ class MesToPiscesRawPartCharging {
Map<Long, MesRawPackage> mesRawPackageMap = new HashMap<>();
Map<Long, MesRawPackageDetail> mesRawPackageDetailMap = new HashMap<>();
Map<Long, MesRawPackagePart> mesRawPackagePartMap = new HashMap<>();
String organizeCode = mapper.getOrganizeCode();
for (Map<String, Object> rowMap : srcData) {
//
if (!StringUtils.isEmpty(rowMap.get("package_id"))) {
long id = Long.parseLong(String.valueOf(rowMap.get("package_id")));
if (Objects.isNull(mesRawPackageMap) || !mesRawPackageMap.containsKey(id)) {
mesRawPackageMap.put(id, mesRawPackageRepository.getById(id))
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode)
DdlPreparedPack.getNumEqualPack(id,"id",ddlPackBean)
mesRawPackageMap.put(id, mesRawPackageRepository.getByProperty(ddlPackBean))
}
MesRawPackage mesRawPackage = mesRawPackageMap.get(id)
if (!Objects.isNull(mesRawPackage)) {
@ -59,7 +64,9 @@ class MesToPiscesRawPartCharging {
if (!StringUtils.isEmpty(rowMap.get("package_detail_id"))) {
long id = Long.parseLong(String.valueOf(rowMap.get("package_detail_id")));
if (Objects.isNull(mesRawPackageDetailMap) || !mesRawPackageDetailMap.containsKey(id)) {
mesRawPackageDetailMap.put(id, mesRawPackageDetailRepository.getById(id))
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode)
DdlPreparedPack.getNumEqualPack(id,"id",ddlPackBean)
mesRawPackageDetailMap.put(id, mesRawPackageDetailRepository.getByProperty(ddlPackBean))
}
MesRawPackageDetail mesRawPackageDetail = mesRawPackageDetailMap.get(id)
if (!Objects.isNull(mesRawPackageDetail)) {
@ -74,7 +81,9 @@ class MesToPiscesRawPartCharging {
if (!StringUtils.isEmpty(rowMap.get("package_part_id"))) {
long id = Long.parseLong(String.valueOf(rowMap.get("package_part_id")));
if (Objects.isNull(mesRawPackagePartMap) || !mesRawPackagePartMap.containsKey(id)) {
mesRawPackagePartMap.put(id, mesRawPackagePartRepository.getById(id))
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode)
DdlPreparedPack.getNumEqualPack(id,"id",ddlPackBean)
mesRawPackagePartMap.put(id, mesRawPackagePartRepository.getByProperty(ddlPackBean))
}
MesRawPackagePart mesRawPackagePart = mesRawPackagePartMap.get(id)
if (!Objects.isNull(mesRawPackagePart)) {

@ -1,8 +1,10 @@
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack
import cn.estsh.i3plus.pojo.mes.bean.MesEquipment
import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord
import cn.estsh.i3plus.pojo.mes.dbinterface.MesInterfaceDataMapper
import cn.estsh.i3plus.pojo.mes.repository.MesEquipmentRepository
import cn.estsh.i3plus.pojo.mes.repository.MesProductionRecordRepository
import org.slf4j.Logger
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
@ -22,11 +24,15 @@ class PiscesToMesProductionAssembly {
@Autowired
private MesEquipmentRepository mesEquipmentRepository;
@Autowired
private MesProductionRecordRepository mesProductionRecordRepository;
def filterData(MesInterfaceDataMapper mapper, List<Map<String, Object>> srcData) throws Exception {
if (srcData == null || srcData.size() == 0) {
return srcData
}
Map<String, MesEquipment> mesEquipmentMap = new HashMap<>();
Map<String, MesProductionRecord> mesProductionRecordMap = new HashMap<>();
String organizeCode = mapper.getOrganizeCode();
for (Map<String, Object> rowMap : srcData) {
//&
@ -39,6 +45,18 @@ class PiscesToMesProductionAssembly {
LOGGER.info("EQUIPMENT_FID:{}信息不存在", String.valueOf(rowMap.get("EQUIPMENT_FID")))
}
}
if (!StringUtils.isEmpty(rowMap.get("PRODUCTION_LOG_FID"))) {
MesProductionRecord record = getMesProductionRecord(organizeCode, String.valueOf(rowMap.get("PRODUCTION_LOG_FID")), mesProductionRecordMap)
if (!Objects.isNull(record)) {
rowMap.put("PRODUCTION_RECORD_ID", record.getId())
} else {
LOGGER.info("加工记录FID:{}信息不存在", String.valueOf(rowMap.get("PRODUCTION_LOG_FID")))
rowMap.put("PRODUCTION_RECORD_ID", 0)
}
} else {
rowMap.put("PRODUCTION_RECORD_ID", 0)
}
}
return srcData;
}
@ -51,4 +69,13 @@ class PiscesToMesProductionAssembly {
}
return mesEquipmentMap.get(equipmentFid);
}
private MesProductionRecord getMesProductionRecord(String organizeCode, String fid, Map<String, MesProductionRecord> mesProductionRecordMap) {
if (Objects.isNull(mesProductionRecordMap) || !mesProductionRecordMap.containsKey(fid)) {
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode);
DdlPreparedPack.getStringEqualPack(fid, "fid", ddlPackBean);
mesProductionRecordMap.put(fid, mesProductionRecordRepository.getByProperty(ddlPackBean))
}
return mesProductionRecordMap.get(fid);
}
}

@ -57,7 +57,9 @@ class PiscesToMesWorkOrder {
if (!StringUtils.isEmpty(rowMap.get("PRODUCT_GROUP_ID"))) {
long id = Long.parseLong(String.valueOf(rowMap.get("PRODUCT_GROUP_ID")))
if (Objects.isNull(mesPartProdGroupMap) || !mesPartProdGroupMap.containsKey(id)) {
mesPartProdGroupMap.put(id, mesPartProdGroupRepository.getById(id))
DdlPackBean ddlPackBean = DdlPackBean.getDdlPackBean(organizeCode)
DdlPreparedPack.getNumEqualPack(id,"id",ddlPackBean)
mesPartProdGroupMap.put(id, mesPartProdGroupRepository.getByProperty(ddlPackBean))
}
MesPartProdGroup mesPartProdGroup = mesPartProdGroupMap.get(id)
if (!Objects.isNull(mesPartProdGroup)) {

@ -1,6 +1,5 @@
package cn.estsh.i3plus.ext.mes.apiservice.aspect;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.BaseBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import org.aspectj.lang.JoinPoint;
@ -80,24 +79,22 @@ public class MesRepositoryAspect {
@After("controllerPointcut()")
public void after(JoinPoint joinPoint) {
String methodName = joinPoint.getSignature().getName();
if (methodName.startsWith("updateByProperties")) {
if (methodName.equals("updateByProperties")) {
try {
Object[] args = joinPoint.getArgs();
Method method = ((MethodSignature) joinPoint.getSignature()).getMethod();
if (args.length == 4) {
if (args[2].getClass().isArray()) {
method.invoke(joinPoint.getTarget(), args[0], args[1], new String[]{"modifyDatetime", "systemSyncStatus"},
new Object[]{TimeTool.getNowTime(true), CommonEnumUtil.FALSE});
method.invoke(joinPoint.getTarget(), args[0], args[1], new String[]{"systemSyncStatus"},
new Object[]{CommonEnumUtil.FALSE});
} else {
method.invoke(joinPoint.getTarget(), args[0], args[1], "modifyDatetime", TimeTool.getNowTime(true));
method.invoke(joinPoint.getTarget(), args[0], args[1], "systemSyncStatus", CommonEnumUtil.FALSE);
}
} else if (args.length == 3) {
if (args[0].getClass().isArray()) {
method.invoke(joinPoint.getTarget(), new String[]{"modifyDatetime", "systemSyncStatus"},
new Object[]{TimeTool.getNowTime(true), CommonEnumUtil.FALSE}, args[2]);
method.invoke(joinPoint.getTarget(), new String[]{"systemSyncStatus"},
new Object[]{CommonEnumUtil.FALSE}, args[2]);
} else {
method.invoke(joinPoint.getTarget(), "modifyDatetime", TimeTool.getNowTime(true), args[2]);
method.invoke(joinPoint.getTarget(), "systemSyncStatus", CommonEnumUtil.FALSE, args[2]);
}
}
@ -110,10 +107,9 @@ public class MesRepositoryAspect {
if (args.length == 3) {
Method method = ((MethodSignature) joinPoint.getSignature()).getMethod();
if (args[1].getClass().isArray()) {
method.invoke(joinPoint.getTarget(), args[0], new String[]{"modifyDatetime", "systemSyncStatus"},
new Object[]{TimeTool.getNowTime(true), CommonEnumUtil.FALSE});
method.invoke(joinPoint.getTarget(), args[0], new String[]{"systemSyncStatus"},
new Object[]{CommonEnumUtil.FALSE});
} else {
method.invoke(joinPoint.getTarget(), "modifyDatetime", TimeTool.getNowTime(true), args[2]);
method.invoke(joinPoint.getTarget(), "systemSyncStatus", CommonEnumUtil.FALSE, args[2]);
}
}

@ -1,44 +1,44 @@
package cn.estsh.i3plus.ext.mes.apiservice.config;
import cn.estsh.i3plus.ext.mes.apiservice.utils.HuaWeiOBSUtil;
import com.obs.services.ObsClient;
import lombok.Getter;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
/**
* @Description : HuaWeiCloudObsConfig
* @Author :gsz
* @Date 2024/6/11 13:28
* @Modify
**/
@Configuration
public class HuaWeiCloudObsConfig {
@Value("${huaweiobs.bucketName}")
@Getter
private String bucketName;
@Value("${huaweiobs.ak}")
@Getter
private String ak;
@Value("${huaweiobs.sk}")
@Getter
private String sk;
@Value("${huaweiobs.endPoint}")
@Getter
private String endPoint;
@Bean
public ObsClient getObsClient() {
ObsClient obsClient = new ObsClient(ak, sk, endPoint);
return obsClient;
}
@Bean
public HuaWeiOBSUtil huaWeiOBSUtil() {
return new HuaWeiOBSUtil(bucketName, ak, sk, endPoint);
}
}
//package cn.estsh.i3plus.ext.mes.apiservice.config;
//
//import cn.estsh.i3plus.ext.mes.apiservice.utils.HuaWeiOBSUtil;
//import com.obs.services.ObsClient;
//import lombok.Getter;
//import org.springframework.beans.factory.annotation.Value;
//import org.springframework.context.annotation.Bean;
//import org.springframework.context.annotation.Configuration;
//
///**
// * @Description : HuaWeiCloudObsConfig
// * @Author :gsz
// * @Date 2024/6/11 13:28
// * @Modify
// **/
//@Configuration
//public class HuaWeiCloudObsConfig {
//
// @Value("${huaweiobs.bucketName}")
// @Getter
// private String bucketName;
//
// @Value("${huaweiobs.ak}")
// @Getter
// private String ak;
//
// @Value("${huaweiobs.sk}")
// @Getter
// private String sk;
//
// @Value("${huaweiobs.endPoint}")
// @Getter
// private String endPoint;
//
// @Bean
// public ObsClient getObsClient() {
// ObsClient obsClient = new ObsClient(ak, sk, endPoint);
// return obsClient;
// }
// @Bean
// public HuaWeiOBSUtil huaWeiOBSUtil() {
// return new HuaWeiOBSUtil(bucketName, ak, sk, endPoint);
// }
//}

@ -21,6 +21,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.config;
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.webservice.WebServiceServer;
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.webservice.WebServiceServerIns;
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.webservice.WebServiceServerSPS;
import org.apache.cxf.Bus;
import org.apache.cxf.jaxws.EndpointImpl;
import org.apache.cxf.transport.servlet.CXFServlet;
@ -63,4 +64,10 @@ public class WebServiceConfig {
endpoint.publish("/mes-service-instrument");
return endpoint;
}
@Bean
public Endpoint endpointSpsEqu() {
EndpointImpl endpoint = new EndpointImpl(bus, new WebServiceServerSPS());
endpoint.publish("/mes-service-spsEqu");
return endpoint;
}
}

@ -7,6 +7,7 @@ import cn.estsh.i3plus.ext.mes.api.busi.IEquipmentExtService;
import cn.estsh.i3plus.ext.mes.api.busi.IProdExtOrgService;
import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.ext.mes.pojo.util.MesExtConstWords;
import cn.estsh.i3plus.mes.apiservice.util.MesCommConstWords;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
@ -16,7 +17,10 @@ import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.MesEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.*;
import cn.estsh.i3plus.pojo.mes.bean.MesArea;
import cn.estsh.i3plus.pojo.mes.bean.MesWcEquipment;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCell;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkCenter;
import cn.estsh.i3plus.pojo.mes.model.ProdOrgExtModel;
import cn.estsh.impp.framework.base.controller.MesBaseController;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
@ -30,9 +34,11 @@ import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.web.bind.annotation.*;
import java.util.List;
import java.util.Map;
/**
* @Description:
@ -388,4 +394,17 @@ public class ExtProdOrgController extends MesBaseController {
}
}
@PostMapping(value = "/work-cell-module/by-cfg/inset")
@ApiOperation(value = "根据配置新增工位按钮")
public ResultBean insertWorkCellModuleByCfg(@RequestBody Map<String, Object> params) {
try {
if (!CollectionUtils.isEmpty(params)) prodOrgService.insertWorkCellModuleByCfg((String) params.get(MesExtConstWords.ORGANIZE_CODE), (String) params.get(MesExtConstWords.ID));
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -0,0 +1,20 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesBallTrackRule;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/24 15:35
* @Modify:
**/
@Api("辊道设备配置接口")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesBallTrackRule")
public class MesBallTrackRuleController extends BaseMesController<MesBallTrackRule>{
}

@ -13,6 +13,7 @@ import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -108,4 +109,21 @@ public class MesBomController extends BaseMesController<MesBom> {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping(value = "/reverseQuery")
@ApiOperation(value = "bom反向查询")
public ResultBean queryMesBomReverse(MesBom bom) {
try {
ValidatorBean.checkNotNull(bom.getPartNo(), "父零件号不能为空");
ValidatorBean.checkNotNull(bom.getEffStartTime(), "生效时间不能为空");
ValidatorBean.checkNotNull(bom.getNum(), "层数不能为空");
bom.setOrganizeCode(AuthUtil.getOrganizeCode());
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultList(bomService.queryMesBomReverse(bom));
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -0,0 +1,20 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesCustomerPartType;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/11/5 17:35
* @Modify:
**/
@Api(description = "客户零件类型")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesCustomerPartType")
public class MesCustomerPartTypeController extends BaseMesController<MesCustomerPartType> {
}

@ -0,0 +1,18 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesCutLengthModifyType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/20 9:45
* @Modify:
**/
@RestController
@RequestMapping( MesCommonConstant.MES_YANFEN + "/mesCutLengthModifyType")
public class MesCutLengthModifyTypeController extends BaseMesController<MesCutLengthModifyType>{
}

@ -0,0 +1,17 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesCutScheme;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
*
*/
@Api("裁片工单信息")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesCutScheme")
public class MesCutSchemeController extends BaseMesController<MesCutScheme>{
}

@ -0,0 +1,18 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeEquipment;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/18 15:20
* @Modify:
**/
@RestController
@RequestMapping( MesCommonConstant.MES_YANFEN + "/mesCutSchemeEquipment")
public class MesCutSchemeEquipmentController extends BaseMesController<MesCutSchemeEquipment>{
}

@ -0,0 +1,18 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeEquipmentDetail;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/18 17:02
* @Modify:
**/
@RestController
@RequestMapping( MesCommonConstant.MES_YANFEN + "/mesCutSchemeEquipmentDetail")
public class MesCutSchemeEquipmentDetailController extends BaseMesController<MesCutSchemeEquipmentDetail>{
}

@ -0,0 +1,18 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeEquipmentProcessParam;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/18 16:49
* @Modify:
**/
@RestController
@RequestMapping( MesCommonConstant.MES_YANFEN + "/mesCutSchemeEquipmentProcessParam")
public class MesCutSchemeEquipmentProcessParamController extends BaseMesController<MesCutSchemeEquipmentProcessParam> {
}

@ -0,0 +1,20 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeFg;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/18 13:50
* @Modify:
**/
@RestController
@RequestMapping( MesCommonConstant.MES_YANFEN + "/mesCutSchemeFg")
public class MesCutSchemeFgController extends BaseMesController<MesCutSchemeFg>{
}

@ -0,0 +1,19 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesCutSchemeMaterial;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/18 13:27
* @Modify:
**/
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesCutSchemeMaterial")
public class MesCutSchemeMaterialController extends BaseMesController<MesCutSchemeMaterial> {
}

@ -1,39 +1,17 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesMediaFileCfgService;
import cn.estsh.i3plus.ext.mes.apiservice.config.HuaWeiCloudObsConfig;
import cn.estsh.i3plus.ext.mes.apiservice.utils.HuaWeiOBSUtil;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.icloud.core.sdk.ICoreSysFileCloud;
import cn.estsh.i3plus.platform.common.exception.ImppExceptionEnum;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesMediaFileCfg;
import cn.estsh.i3plus.pojo.mes.repository.MesMediaFileCfgRepository;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.fileservice.ImppFileService;
import cn.estsh.impp.framework.boot.util.ResultBean;
import com.obs.services.ObsClient;
import com.obs.services.exception.ObsException;
import com.obs.services.model.*;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import javax.servlet.http.HttpServletResponse;
import java.io.File;
import java.io.FileInputStream;
import java.io.InputStream;
import java.io.OutputStream;
import java.net.URLEncoder;
import java.util.ArrayList;
import java.util.List;
import java.util.UUID;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description:

@ -0,0 +1,20 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesPartPackageRule;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/25 9:35
* @Modify:
**/
@Api("包装组零件规则")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesPartPackageRule")
public class MesPartPackageRuleController extends BaseMesController<MesPartPackageRule>{
}

@ -0,0 +1,20 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesPartPackageRuleDetail;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/25 9:47
* @Modify:
**/
@Api("包装组零件规则明细")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesPartPackageRuleDetail")
public class MesPartPackageRuleDetailController extends BaseMesController<MesPartPackageRuleDetail>{
}

@ -0,0 +1,48 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesPullingOrderInfoService;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesPullingOrderInfo;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.apache.commons.lang.StringUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.List;
/**
*
*/
@Api("拉动单")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesPullingOrderInfo")
public class MesPullingOrderInfoController extends BaseMesController<MesPullingOrderInfo> {
@Autowired
private IMesPullingOrderInfoService mesPullingOrderInfoService;
@GetMapping(value = "/doRePrint")
@ApiOperation(value = "拉动单补打")
public ResultBean doMesPullingOrderInfoPrint(MesPullingOrderInfo mesPullingOrderInfo) {
try {
if (StringUtils.isEmpty(mesPullingOrderInfo.getPullingOrderNo())) {
throw new ImppBusiException("拉动单号不能为空");
}
List<MesPullingOrderInfo> pullingOrderInfos = mesPullingOrderInfoService.doMesPullingOrderInfoPrint(mesPullingOrderInfo, AuthUtil.getSessionUser().getUserName());
return ResultBean.success("拉动单打印成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setResultList(pullingOrderInfos);
} catch (ImppBusiException e) {
return ResultBean.fail(e).build();
} catch (Exception e) {
return ResultBean.fail(e);
}
}
}

@ -0,0 +1,18 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesPullingOrderInfo;
import cn.estsh.i3plus.pojo.mes.bean.MesPullingOrderPartInfo;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
*
*/
@Api("拉动单")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesPullingOrderPartInfo")
public class MesPullingOrderPartInfoController extends BaseMesController<MesPullingOrderPartInfo> {
}

@ -0,0 +1,20 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.recyclablepackage.MesRecyclablePackage;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/14 10:00
* @Modify:
**/
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesRecyclablePackage")
public class MesRecyclablePackageController extends BaseMesController<MesRecyclablePackage> {
}

@ -0,0 +1,19 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.recyclablepackage.MesRecyclablePackagePart;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/14 10:57
* @Modify:
**/
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesRecyclablePackagePart")
public class MesRecyclablePackagePartController extends BaseMesController<MesRecyclablePackagePart>{
}

@ -0,0 +1,19 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.recyclablepackage.MesRecyclablePackageType;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/13 17:14
* @Modify:
**/
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesRecyclablePackageType")
public class MesRecyclablePackageTypeController extends BaseMesController<MesRecyclablePackageType> {
}

@ -6,6 +6,7 @@ import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderPart;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
@ -68,5 +69,36 @@ public class MesShippingOrderManagementDetailController extends BaseMesControlle
}
}
@GetMapping(value = "/ship-part/query-item-part")
@ApiOperation(value = "发运零件子零件明细")
public ResultBean queryDetailMesWorkOrderPart(MesWorkOrderPart detail, Pager pager) {
try {
detail.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setListPager(shippingOrderManagementDetailService.queryDetailMesWorkOrderPart(detail,pager));
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/ship-order/query-item-part")
@ApiOperation(value = "发运单子零件明细")
public ResultBean queryMesShippingOrderManagementDetail(MesWorkOrderPart detail, Pager pager) {
try {
detail.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode())
.setListPager(shippingOrderManagementDetailService.queryDetailMesWorkOrderPart(detail,pager));
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -0,0 +1,18 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesStation;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/20 14:40
* @Modify:
**/
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN+"/mesStation")
public class MesStationController extends BaseMesController<MesStation>{
}

@ -0,0 +1,21 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderAssembly;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/9/19 16:40
* @Modify:
**/
@Api(description = "工单装配件")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesWorkOrderAssembly")
public class MesWorkOrderAssemblyController extends BaseMesController<MesWorkOrderAssembly> {
}

@ -7,17 +7,14 @@ import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt;
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.excel.MesExcelTool;
import cn.estsh.i3plus.ext.mes.apiservice.utils.MesException;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.mes.apiservice.util.DateUtil;
import cn.estsh.i3plus.platform.common.convert.ConvertBean;
import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesConfig;
import cn.estsh.i3plus.pojo.base.util.StringUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesProductVersion;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrder;
import cn.estsh.i3plus.pojo.mes.model.MesWorkOrderModel;
import cn.estsh.i3plus.pojo.mes.util.MesExtEnumUtil;
import cn.estsh.i3plus.pojo.model.wms.WmsProductModel;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
@ -30,15 +27,12 @@ import io.swagger.annotations.ApiOperation;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.util.CollectionUtils;
import org.springframework.util.StringUtils;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Objects;
import java.util.stream.Collectors;
@Api(description = "工单主页面")
@RestController
@ -172,7 +166,6 @@ public class MesWorkOrderController extends BaseMesController<MesWorkOrder> {
try {
ValidatorBean.checkNotNull(model.getOrganizeCode(),"工厂代码不能为空");
ValidatorBean.checkNotNull(model.getQty(),"数量不能为空");
ValidatorBean.checkNotNull(model.getSn(),"条码不能为空");
ValidatorBean.checkNotNull(model.getPartNo(),"零件号不能为空");
mesWorkOrderService.doReportWorkReversal(model);
@ -184,6 +177,63 @@ public class MesWorkOrderController extends BaseMesController<MesWorkOrder> {
}
}
@PostMapping(value = "/save-work-print-queue")
@ApiOperation(value = "新增打印工单打印队列")
public ResultBean doSaveWorkOrderPrintQueue(@RequestBody MesWorkOrder workOrder) {
try {
ValidatorBean.checkNotNull(workOrder.getOrganizeCode(),"工厂代码不能为空");
mesWorkOrderService.doSaveWorkOrderPrintQueue(workOrder);
return ResultBean.success("工单打印队列新增成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping(value = "/work-order-reprint")
@ApiOperation(value = "装配目视单补打")
public ResultBean doReprintWorkOrder(Long[] ids) {
try {
ValidatorBean.checkNotNull(ids,"工单不能为空");
return ResultBean.success("装配目视单补打成功")
.setResultObject(mesWorkOrderService.doReprintWorkOrder(ids, AuthUtil.getOrganize().getOrganizeCode(), AuthUtil.getSessionUser().getUserName()))
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/show-work-order")
@ApiOperation(value = "装配目视单预览查询")
public ResultBean doShowWorkOrderPrint(String partNo, String workCenterCode, String partProdGroupCode, String carModelCode, String organizeCode, String userName ) {
try {
ValidatorBean.checkNotNull(workCenterCode, "产线不能为空");
ValidatorBean.checkNotNull(partProdGroupCode, "生产组代码不能为空");
ValidatorBean.checkNotNull(organizeCode, "工厂代码不能为空");
ValidatorBean.checkNotNull(userName, "操作人不能为空");
if (StringUtil.isEmpty(partNo) && StringUtil.isEmpty(carModelCode)) {
MesException.throwMesBusiException("物料号和车型代码不能同时为空");
}
return ResultBean.success("装配目视单预览查询成功")
.setResultList(mesWorkOrderService.doShowWorkOrderPrint(partNo, workCenterCode, partProdGroupCode, carModelCode, organizeCode, userName))
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PutMapping(value = "/reopen")
@ApiOperation(value = "重新打开")
public ResultBean doReopen(Long[] ids) {

@ -0,0 +1,119 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.api.base.IMesWorkOrderCutService;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderCut;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderCutDetail;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import java.util.Arrays;
/**
*
*/
@Api("裁片工单信息")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesWorkOrderCut")
public class MesWorkOrderCutController extends BaseMesController<MesWorkOrderCut>{
@Autowired
private IMesWorkOrderCutService workOrderCutService;
@PostMapping(value = "/generate")
@ApiOperation(value = "裁片工单生成", notes = "裁片工单生成")
public ResultBean doGenerateCutWorkOrder(Long[] workOrderIds, String cutCode, String remark, Integer editionNumber) {
try {
ValidatorBean.checkNotNull(workOrderIds, "工单不存在");
ValidatorBean.checkNotNull(cutCode, "裁片方案不存在");
workOrderCutService.doGenerateCutWorkOrder(Arrays.asList(workOrderIds), cutCode, remark,
AuthUtil.getOrganize().getOrganizeCode(), AuthUtil.getSessionUser().getUserName(), editionNumber);
return ResultBean.success("生成成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@GetMapping(value = "/detail/query")
@ApiOperation(value = "分页查询裁片工单明细", notes = "分页查询裁片工单明细")
public ResultBean queryWorkOrderCutDetailByPager(MesWorkOrderCutDetail workOrderCutDetail, Pager pager) {
try {
workOrderCutDetail.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
return ResultBean.success("生成成功")
.setListPager(workOrderCutService.queryWorkOrderCutDetailByPager(workOrderCutDetail, pager))
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping(value = "/release")
@ApiOperation(value = "裁片工单发布", notes = "裁片工单发布")
public ResultBean doReleaseCutWorkOrder(String[] cutWorkOrderNos) {
try {
ValidatorBean.checkNotNull(cutWorkOrderNos, "裁片工单不存在");
workOrderCutService.doReleaseCutWorkOrder(Arrays.asList(cutWorkOrderNos), AuthUtil.getOrganize().getOrganizeCode(), AuthUtil.getSessionUser().getUserName());
return ResultBean.success("发布成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping(value = "/print")
@ApiOperation(value = "裁片工单打印", notes = "裁片工单打印")
public ResultBean print(String[] cutWorkOrderNos) {
try {
ValidatorBean.checkNotNull(cutWorkOrderNos, "裁片工单不存在");
return ResultBean.success("打印成功")
.setResultObject(workOrderCutService.doPrintCutWorkOrder(Arrays.asList(cutWorkOrderNos),
AuthUtil.getOrganize().getOrganizeCode(), AuthUtil.getSessionUser().getUserName()))
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@PostMapping(value = "/update-print-status")
@ApiOperation(value = "修改裁片工单打印状态", notes = "修改裁片工单打印状态")
public ResultBean doUpdatePrintStatus(String[] cutWorkOrderIds) {
try {
ValidatorBean.checkNotNull(cutWorkOrderIds, "裁片工单不存在");
workOrderCutService.doUpdatePrintStatus(Arrays.asList(cutWorkOrderIds), AuthUtil.getOrganize().getOrganizeCode(), AuthUtil.getSessionUser().getUserName());
return ResultBean.success("发布成功")
.setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException busExcep) {
return ResultBean.fail(busExcep);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -0,0 +1,21 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.base;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderPart;
import io.swagger.annotations.Api;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/9/19 16:40
* @Modify:
**/
@Api(description = "工单零件")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/mesWorkOrderPart")
public class MesWorkOrderPartController extends BaseMesController<MesWorkOrderPart> {
}

@ -0,0 +1,48 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.board;
import cn.estsh.i3plus.ext.mes.api.busi.board.IMesYfBoardService;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.ext.mes.pojo.model.board.MesGepicsInspectionInfoModel;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import cn.estsh.impp.framework.boot.util.ValidatorBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/10/11 13:58
* @Modify:
**/
@Api("报表")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/board")
public class MesBusiBoardController {
@Autowired
private IMesYfBoardService mesYfBoardService;
@ApiOperation(value = "查询V107Melos数据", notes = "查询V107Melos数据")
@PostMapping("/query-gepics-inspection-info")
public ResultBean queryGepicsInspectionInfo(@RequestBody MesGepicsInspectionInfoModel infoModel, Pager pager){
try {
ValidatorBean.beginValid(infoModel)
.notNull("organizeCode", infoModel.getOrganizeCode());
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(mesYfBoardService.queryGepicsInspectionInfo(infoModel,pager));
} catch (ImppBusiException e) {
return ResultBean.fail(e);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -0,0 +1,121 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.busi;
import cn.estsh.i3plus.ext.mes.apiservice.serviceimpl.busi.MesEarlyWarningServiceImpl;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.mes.bean.MesEarlyWarningKanBan;
import cn.estsh.i3plus.pojo.mes.model.KanBanPictureModel;
import cn.estsh.i3plus.pojo.mes.model.MesEarlyWarningKanBanModel;
import cn.estsh.i3plus.pojo.mes.model.MesKanBanShowModel;
import cn.estsh.impp.framework.boot.util.ResultBean;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.text.ParseException;
import java.util.List;
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/earlyWarningKanBan")
public class MesEarlyWarningKanBanController {
@Autowired
private MesEarlyWarningServiceImpl mesEarlyWarningService;
/**
* 线
*
* @param organizeCode
* @return
*/
@GetMapping(path = "/list/{organizeCode}")
public ResultBean getEarlyWarningList(@PathVariable String organizeCode) {
List<MesEarlyWarningKanBan> list;
try {
list = mesEarlyWarningService.getEarlyWarningList(organizeCode);
} catch (Exception e) {
return ResultBean.fail(e.getMessage());
}
return ResultBean.success("查询成功").setResultList(list);
}
/**
*
*
* @param model
* @return
*/
@PostMapping(path = "/save")
public ResultBean saveEarlyWarningList(@RequestBody MesEarlyWarningKanBanModel model) {
try {
mesEarlyWarningService.saveEarlyWarning(model);
} catch (Exception e) {
return ResultBean.fail(e.getMessage());
}
return ResultBean.success("查询成功");
}
/**
*
*
* @param earlyWarning
*/
@PostMapping(path = "/update")
public ResultBean updateEarlyWarning(@RequestBody MesEarlyWarningKanBan earlyWarning) {
try {
mesEarlyWarningService.updateEarlyWarning(earlyWarning);
} catch (Exception e) {
return ResultBean.fail(e.getMessage());
}
return ResultBean.success("更新成功");
}
/**
*
*/
@GetMapping(path = "/delete/{id}/{organizeCode}/{userName}")
public ResultBean deleteEarlyWarning(@PathVariable Long id, @PathVariable String organizeCode, @PathVariable String userName) {
try {
mesEarlyWarningService.deleteEarlyWarning(id, organizeCode, userName);
} catch (Exception e) {
return ResultBean.fail(e.getMessage());
}
return ResultBean.success("删除成功");
}
/**
*
*/
@GetMapping(path = "/get/{id}/{organizeCode}")
public ResultBean getKanbanData(@PathVariable Long id, @PathVariable String organizeCode) {
MesEarlyWarningKanBan kanbanData = null;
try {
kanbanData = mesEarlyWarningService.getKanbanData(id, organizeCode);
} catch (Exception e) {
return ResultBean.fail(e.getMessage());
}
return ResultBean.success("查询成功").setResultObject(kanbanData);
}
@GetMapping(path = "/getData/{id}/{organizeCode}")
public ResultBean getData(@PathVariable Long id, @PathVariable String organizeCode) {
MesKanBanShowModel data = null;
try {
data = mesEarlyWarningService.doGetData(id, organizeCode);
} catch (Exception e) {
ResultBean.fail(e.getMessage());
}
return ResultBean.success("查询成功").setResultObject(data);
}
@PostMapping(path = "/save/picture")
public ResultBean savePicture(@RequestBody KanBanPictureModel kanBanPicture){
try {
mesEarlyWarningService.savePicture(kanBanPicture);
} catch (Exception e) {
throw new RuntimeException(e);
}
return ResultBean.success("保存成功");
}
}

@ -9,6 +9,7 @@ import cn.estsh.i3plus.platform.common.tool.TimeTool;
import cn.estsh.i3plus.platform.common.util.MesConstWords;
import cn.estsh.i3plus.pojo.base.bean.DdlPackBean;
import cn.estsh.i3plus.pojo.base.enumutil.CommonEnumUtil;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.base.tool.DdlPreparedPack;
import cn.estsh.i3plus.pojo.mes.bean.MesEquipment;
import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord;
@ -76,6 +77,8 @@ public class MesWhiteListController extends MesBaseController {
private MesEquipmentRepository mesEquipmentRDao;
@Autowired
private IMesPullingOrderInfoService pullingOrderInfoService;
@Autowired
private IMesDowntimeRecordService downtimeRecordService;
@PostMapping(value = "/meter/main-data")
@ApiOperation(value = "Maximo仪表主数据", notes = "Maximo仪表主数据")
@ -277,4 +280,30 @@ public class MesWhiteListController extends MesBaseController {
}
return ResultBean.success("执行成功");
}
@GetMapping(value = "/doCreatePullOrder")
@ApiOperation(value = "根据拉动组和生产工单产生拉动单")
public ResultBean doCreatePullOrder(String organizeCode, Integer pageSize) {
//统计数据
try {
pullingOrderInfoService.doCreatePullOrderByPullGroupAndWorkOrder(organizeCode,pageSize,"test");
} catch (ImppBusiException imppException) {
return ResultBean.fail(imppException);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
return ResultBean.success("执行成功");
}
@GetMapping(value = "/mesWorkOrderSendToWmsJob")
@ApiOperation(value = "MES工单推送给WMS JOB")
public ResultBean doSendMesWorkOrderToWms(String organizeCode, Integer pageSize) {
try {
mesWorkOrderService.doSendMesWorkOrderToWms(organizeCode, pageSize, MesExtConstWords.JOB);
return ResultBean.success("操作成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode());
} catch (ImppBusiException e) {
return ResultBean.fail(e).build();
} catch (Exception e) {
return ResultBean.fail(e);
}
}
}

@ -0,0 +1,46 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.report;
import cn.estsh.i3plus.ext.mes.api.busi.report.IAssemblyPartReportService;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.model.report.AssemblyPartReportModel;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/29 10:17
* @Modify:
**/
@Api("装配件报表")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/assembly-part-report")
public class AssemblyPartReportController {
@Autowired
private IAssemblyPartReportService assemblyPartReportService;
@ApiOperation(value = "装配件报表")
@PostMapping("/queryReport")
public ResultBean queryReport(AssemblyPartReportModel model, Pager pager) {
try {
model.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
ListPager<AssemblyPartReportModel> result = assemblyPartReportService.queryReport(model,pager);
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(result);
} catch (ImppBusiException e) {
return ResultBean.fail(e);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -7,13 +7,12 @@ import cn.estsh.i3plus.ext.mes.apiservice.config.AuthUtilExt;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesCokpitKanbanData;
import cn.estsh.i3plus.pojo.mes.bean.MesDowntimeRecord;
import cn.estsh.i3plus.pojo.mes.bean.MesProduceSn;
import cn.estsh.i3plus.pojo.mes.bean.MesProductionRecord;
import cn.estsh.i3plus.pojo.mes.model.MesProductionRecordModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesDowntimeRecordResModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesProductAccountModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesProductAccountResModel;
import cn.estsh.i3plus.pojo.mes.model.report.*;
import cn.estsh.impp.framework.base.controller.MesBaseController;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
@ -25,6 +24,7 @@ import org.apache.commons.collections.CollectionUtils;
import org.drools.core.rule.Collect;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
@ -148,4 +148,49 @@ public class MesBusiReportController extends MesBaseController {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@ApiOperation(value = "看板数据", notes = "看板数据")
@PostMapping("/mesCokpitKanbanData/query")
public ResultBean queryMesCokpitKanbanData(MesCokpitKanbanData kanbanData, Pager pager) {
try {
ValidatorBean.beginValid(kanbanData)
.notNull("organizeCode", kanbanData.getOrganizeCode());
return ResultBean.success("查询成功").setListPager(mesYfReportService.queryMesCokpitKanbanData(kanbanData,pager));
} catch (ImppBusiException e) {
return ResultBean.fail(e);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@ApiOperation(value = "通用导出报表查询", notes = "通用导出报表查询")
@PostMapping("/generalExport/query")
public ResultBean queryGeneralExport(MesGeneralExportReportModel model, Pager pager) {
try {
ValidatorBean.beginValid(model)
.notNull("organizeCode", model.getOrganizeCode());
return ResultBean.success("查询成功").setListPager(mesYfReportService.queryGeneralExport(model,pager));
} catch (ImppBusiException e) {
return ResultBean.fail(e);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
@ApiOperation(value = "通用发运报表查询", notes = "通用发运报表查询")
@PostMapping("/generalShipping/query")
public ResultBean queryGeneralShipping(MesGeneralShippingReportModel model, Pager pager) {
try {
ValidatorBean.beginValid(model)
.notNull("organizeCode", model.getOrganizeCode());
return ResultBean.success("查询成功").setListPager(mesYfReportService.queryGeneralShipping(model,pager));
} catch (ImppBusiException e) {
return ResultBean.fail(e);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -0,0 +1,48 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.report;
import cn.estsh.i3plus.ext.mes.api.busi.report.IProductInspectionSubReportService;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.bean.MesQmsSuspicious;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/29 13:48
* @Modify:
**/
@Api("检验产品数据子报表")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/product-inspection-sub-report")
public class ProductInspectionSubReportController {
@Autowired
private IProductInspectionSubReportService productInspectionSubReportService;
@ApiOperation(value = "检验产品数据子报表")
@PostMapping("/queryReport")
public ResultBean queryReport(MesQmsSuspicious model, Pager pager) {
try {
model.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
ListPager<MesQmsSuspicious> result = productInspectionSubReportService.queryReport(model,pager);
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(result);
} catch (ImppBusiException e) {
return ResultBean.fail(e);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -0,0 +1,48 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.report;
import cn.estsh.i3plus.ext.mes.api.busi.report.IShipmentDetailReportService;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.model.report.ShippingReportModel;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/29 9:47
* @Modify:
**/
@Api("发运明细报表")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/shipment-detail-Report")
public class ShipmentDetailReportController {
@Autowired
private IShipmentDetailReportService shipmentDetailReportService;
@ApiOperation(value = "发运明细报表")
@PostMapping("/queryReport")
public ResultBean queryReport(ShippingReportModel model, Pager pager) {
try {
model.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
ListPager<ShippingReportModel> result = shipmentDetailReportService.queryReport(model,pager);
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(result);
} catch (ImppBusiException e) {
return ResultBean.fail(e);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -0,0 +1,48 @@
package cn.estsh.i3plus.ext.mes.apiservice.controller.report;
import cn.estsh.i3plus.ext.mes.api.busi.report.ISuspiciousItemBarcodeReportService;
import cn.estsh.i3plus.ext.mes.pojo.constant.MesCommonConstant;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.base.enumutil.ResourceEnumUtil;
import cn.estsh.i3plus.pojo.mes.model.report.SuspiciousItemBarcodeReportModel;
import cn.estsh.impp.framework.boot.auth.AuthUtil;
import cn.estsh.impp.framework.boot.exception.ImppBusiException;
import cn.estsh.impp.framework.boot.exception.ImppExceptionBuilder;
import cn.estsh.impp.framework.boot.util.ResultBean;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/28 18:53
* @Modify:
**/
@Api("可疑品条码信息报表")
@RestController
@RequestMapping(MesCommonConstant.MES_YANFEN + "/suspicious-item-barcode-report")
public class SuspiciousItemBarcodeReportController {
@Autowired
private ISuspiciousItemBarcodeReportService suspiciousItemBarcodeReportService;
@ApiOperation(value = "查询可疑品条码信息报表")
@PostMapping("/queryReport")
public ResultBean queryReport(SuspiciousItemBarcodeReportModel model, Pager pager) {
try {
model.setOrganizeCode(AuthUtil.getOrganize().getOrganizeCode());
ListPager<SuspiciousItemBarcodeReportModel> result = suspiciousItemBarcodeReportService.queryReport(model,pager);
return ResultBean.success("查询成功").setCode(ResourceEnumUtil.MESSAGE.SUCCESS.getCode()).setListPager(result);
} catch (ImppBusiException e) {
return ResultBean.fail(e);
} catch (Exception e) {
return ImppExceptionBuilder.newInstance().buildExceptionResult(e);
}
}
}

@ -60,9 +60,8 @@ public class Pisces1Properties {
*
*/
LOGGER.info("【客户定制化pisces1数据源加载...】");
DynamicDataSourceProxy piscesDataSource = DynamicDataSourceProxy.initDataSourceFactory(this.getPiscesDriverClassName(),
this.getPiscesDsJdbcUrl(),this.getPiscesDsUsername(),this.getPiscesDsPassword(),TimeUnit.MINUTES.toMillis(30));
return piscesDataSource;
return DynamicDataSourceProxy.initDataSourceFactory(this.getPiscesDriverClassName(),
this.getPiscesDsJdbcUrl(), this.getPiscesDsUsername(), this.getPiscesDsPassword(),TimeUnit.MINUTES.toMillis(30));
}
}

@ -0,0 +1,67 @@
package cn.estsh.i3plus.ext.mes.apiservice.cus_suit;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.plugin.datasource.DynamicDataSourceProxy;
import lombok.Getter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.TimeUnit;
/**
* @Description : pisces2
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/11/5 11:29
* @Modify:
**/
@Configuration
public class Pisces2Properties {
public static final Logger LOGGER = LoggerFactory.getLogger(CommonConstWords.SYSTEM_LOG);
/***********************
* pisces2
*/
@Value("${impp.pisces2.datasource.isopen}")
@Getter
private boolean piscesIsOpen;
@Value("${impp.pisces2.datasource.driver-class-name}")
@Getter
private String piscesDriverClassName;
@Value("${impp.pisces2.datasource.alias}")
@Getter
private String piscesDsAlias;
@Value("${impp.pisces2.datasource.jdbc-url}")
@Getter
private String piscesDsJdbcUrl;
@Value("${impp.pisces2.datasource.username}")
@Getter
private String piscesDsUsername;
@Value("${impp.pisces2.datasource.password}")
@Getter
private String piscesDsPassword;
@Bean(name = "pisces2DataSource")
@ConditionalOnExpression("'${impp.pisces2.datasource.isopen:false}' == 'true'")
public DynamicDataSourceProxy initPiscesCustomerSet(){
LOGGER.info("【初始化客户定制化...】");
/**
*
*/
LOGGER.info("【客户定制化pisces2数据源加载...】");
return DynamicDataSourceProxy.initDataSourceFactory(this.getPiscesDriverClassName(),
this.getPiscesDsJdbcUrl(), this.getPiscesDsUsername(), this.getPiscesDsPassword(),TimeUnit.MINUTES.toMillis(30));
}
}

@ -0,0 +1,67 @@
package cn.estsh.i3plus.ext.mes.apiservice.cus_suit;
import cn.estsh.i3plus.platform.common.util.CommonConstWords;
import cn.estsh.i3plus.platform.plugin.datasource.DynamicDataSourceProxy;
import lombok.Getter;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.autoconfigure.condition.ConditionalOnExpression;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import java.util.concurrent.TimeUnit;
/**
* @Description : pisces3
* @Reference :
* @Author : junsheng.li
* @CreateDate 2024/11/5 11:29
* @Modify:
**/
@Configuration
public class Pisces3Properties {
public static final Logger LOGGER = LoggerFactory.getLogger(CommonConstWords.SYSTEM_LOG);
/***********************
* pisces3
*/
@Value("${impp.pisces3.datasource.isopen}")
@Getter
private boolean piscesIsOpen;
@Value("${impp.pisces3.datasource.driver-class-name}")
@Getter
private String piscesDriverClassName;
@Value("${impp.pisces3.datasource.alias}")
@Getter
private String piscesDsAlias;
@Value("${impp.pisces3.datasource.jdbc-url}")
@Getter
private String piscesDsJdbcUrl;
@Value("${impp.pisces3.datasource.username}")
@Getter
private String piscesDsUsername;
@Value("${impp.pisces3.datasource.password}")
@Getter
private String piscesDsPassword;
@Bean(name = "pisces3DataSource")
@ConditionalOnExpression("'${impp.pisces3.datasource.isopen:false}' == 'true'")
public DynamicDataSourceProxy initPiscesCustomerSet(){
LOGGER.info("【初始化客户定制化...】");
/**
*
*/
LOGGER.info("【客户定制化pisces3数据源加载...】");
return DynamicDataSourceProxy.initDataSourceFactory(this.getPiscesDriverClassName(),
this.getPiscesDsJdbcUrl(), this.getPiscesDsUsername(), this.getPiscesDsPassword(),TimeUnit.MINUTES.toMillis(30));
}
}

@ -60,9 +60,8 @@ public class PiscesProperties {
*
*/
LOGGER.info("【客户定制化pisces数据源加载...】");
DynamicDataSourceProxy piscesDataSource = DynamicDataSourceProxy.initDataSourceFactory(this.getPiscesDriverClassName(),
this.getPiscesDsJdbcUrl(),this.getPiscesDsUsername(),this.getPiscesDsPassword(),TimeUnit.MINUTES.toMillis(30));
return piscesDataSource;
return DynamicDataSourceProxy.initDataSourceFactory(this.getPiscesDriverClassName(),
this.getPiscesDsJdbcUrl(), this.getPiscesDsUsername(), this.getPiscesDsPassword(),TimeUnit.MINUTES.toMillis(30));
}
}

@ -3,6 +3,7 @@ package cn.estsh.i3plus.ext.mes.apiservice.dao;
import cn.estsh.i3plus.ext.mes.pojo.model.MesShippingOrderManagementDetailModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesWorkOrderPart;
import cn.estsh.i3plus.pojo.mes.bean.shipping.MesShippingOrderManagementDetail;
import io.swagger.annotations.ApiOperation;
@ -18,10 +19,13 @@ import java.util.List;
public interface IMesShippingOrderManagementDetailDao {
int queryOrderDetailGroupByPartCount(MesShippingOrderManagementDetail detail);
int queryDetailGroupByPartNo(MesWorkOrderPart detail);
List<MesShippingOrderManagementDetailModel> queryOrderDetailGroupByPartInfo(MesShippingOrderManagementDetail detail, Pager pager);
List<MesWorkOrderPart> queryOrderDetailGroupByPartInfo(MesWorkOrderPart detail, Pager pager);
@ApiOperation("查询发运单明细")
ListPager<MesShippingOrderManagementDetailModel> queryMesShippingDetailsByPager(MesShippingOrderManagementDetailModel mesShippingOrderManagementDetailModel, Pager pager);
List<MesShippingOrderManagementDetail> queryMesShippingOrderManagementDetail(MesWorkOrderPart bean);
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.ext.mes.apiservice.dao.report;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.model.report.AssemblyPartReportModel;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/29 10:21
* @Modify:
**/
public interface IAssemblyPartReportDao {
ListPager<AssemblyPartReportModel> queryReport(AssemblyPartReportModel model, Pager pager);
}

@ -4,6 +4,11 @@ import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportConditi
import cn.estsh.i3plus.ext.mes.pojo.model.report.MesDeviceDataQueryReportResultModel;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.model.report.MesGeneralExportReportModel;
import cn.estsh.i3plus.pojo.mes.model.report.MesGeneralShippingReportModel;
import io.swagger.annotations.ApiOperation;
import java.util.List;
/**
* @Description : -
@ -22,4 +27,10 @@ public interface IMesYfReportDao {
*/
ListPager<MesDeviceDataQueryReportResultModel> queryMesDeviceDataByPager(MesDeviceDataQueryReportConditionModel queryReportModel, Pager pager);
@ApiOperation("通用导出报表")
ListPager<MesGeneralExportReportModel> queryGeneralExport(MesGeneralExportReportModel mesGeneralExportReportModel, Pager pager);
@ApiOperation("通用发运报表查询")
ListPager<MesGeneralShippingReportModel> queryGeneralShipping(MesGeneralShippingReportModel model, Pager pager, List<String> shippingGroupList);
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.ext.mes.apiservice.dao.report;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.bean.MesQmsSuspicious;
/**
* @Description :
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/29 13:51
* @Modify:
**/
public interface IProductInspectionSubReportDao {
ListPager<MesQmsSuspicious> queryReport(MesQmsSuspicious model, Pager pager);
}

@ -0,0 +1,16 @@
package cn.estsh.i3plus.ext.mes.apiservice.dao.report;
import cn.estsh.i3plus.pojo.base.bean.ListPager;
import cn.estsh.i3plus.pojo.base.common.Pager;
import cn.estsh.i3plus.pojo.mes.model.report.ShippingReportModel;
/**
* @Description : Dao
* @Reference :
* @Author : PZJ
* @CreateDate : 2024/9/29 9:53
* @Modify:
**/
public interface IShipmentDetailReportDao {
ListPager<ShippingReportModel> queryReport(ShippingReportModel model, Pager pager);
}

Some files were not shown because too many files have changed in this diff Show More

Loading…
Cancel
Save