diff --git a/anomaly/anomaly.iml b/anomaly/anomaly.iml new file mode 100644 index 00000000..7f80a290 --- /dev/null +++ b/anomaly/anomaly.iml @@ -0,0 +1,254 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java index 4a5e6ec2..e5de6789 100644 --- a/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java +++ b/anomaly/src/main/java/com/foreverwin/mesnac/anomaly/service/impl/AbnormalPlanServiceImpl.java @@ -210,7 +210,9 @@ public class AbnormalPlanServiceImpl extends ServiceImpl abnormalPlanList) { String site = CommonMethods.getSite(); - LocalDateTime now = LocalDateTime.now(); String user = CommonMethods.getUser(); + LocalDateTime now = LocalDateTime.now(); ShopOrder shopOrder=new ShopOrder(); List abnormalPlans = new ArrayList<>(); List abnormalBills = new ArrayList<>(); @@ -532,4 +534,4 @@ public class AbnormalPlanServiceImpl extends ServiceImpl sfcDispatchDtoList=sfcDispatchService.findSfcDispatchList(map); + int sum=0; + if (sfcDispatchDtoList !=null && sfcDispatchDtoList.size()!=0){ + for (SfcDispatchDto sfcDispatchDto:sfcDispatchDtoList) { + if (sfcDispatchDto.getResrce()!=null){ + String customFieldsValue = customFieldsService.getCustomFieldsValue(HandleEnum.RESOURCE.getHandle(site, sfcDispatchDto.getResrce()), "UNIT_PRICE"); + if (customFieldsValue!=null && !customFieldsValue.equals("")){ + sum=sum+Integer.parseInt(customFieldsValue); + } + } + } + } + qualityInspectionReport.get(i).put("REPAIR_COST", sum); + }catch (Exception e){ + e.printStackTrace(); + } + } + List> result = routerStepcontentService.selectDisRouterInfo(map); String ReapirContent = ""; if (result != null && result.size() != 0) { + //1、查询此异常单的SFC + String sfc=(String) temporaryMap.get("SFC"); for (int j = 0; j < result.size(); j++) { ReapirContent = ReapirContent + "【" + (String) result.get(j).get("STEP_ID") + "】" + (String) result.get(j).get("ROUTER_STEP_CONTENT"); - } + } qualityInspectionReport.get(i).put("ROUTER_STEP_CONTENT", ReapirContent); - } + + } } //责任分类 diff --git a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml index 2bde6a51..10d3d701 100644 --- a/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml +++ b/anomaly/src/main/resources/mapper/AbnormalBillMapper.xml @@ -988,7 +988,7 @@ - \ No newline at end of file + diff --git a/common/src/main/java/com/foreverwin/mesnac/common/dto/SfcDispatchDto.java b/common/src/main/java/com/foreverwin/mesnac/common/dto/SfcDispatchDto.java index fb98eb44..cf3d4f77 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/dto/SfcDispatchDto.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/dto/SfcDispatchDto.java @@ -243,6 +243,16 @@ public class SfcDispatchDto implements Serializable{ private String other4; private String other5; + private String rowColor; + + public String getRowColor() { + return rowColor; + } + + public void setRowColor(String rowColor) { + this.rowColor = rowColor; + } + public String getResourceTypeDescription() { return resourceTypeDescription; } diff --git a/common/src/main/java/com/foreverwin/mesnac/common/model/PrintLog.java b/common/src/main/java/com/foreverwin/mesnac/common/model/PrintLog.java index fa334f2e..2a8baed6 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/model/PrintLog.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/model/PrintLog.java @@ -99,6 +99,7 @@ public class PrintLog extends Model { private String other4; @TableField("OTHER_5") private String other5; + /** * 创建人 */ @@ -135,6 +136,24 @@ public class PrintLog extends Model { private Date startToDate; private String shopOrder; + private String shopOrderInput; + private String[] shopOrderInputs; + + public String[] getShopOrderInputs() { + return shopOrderInputs; + } + + public void setShopOrderInputs(String[] shopOrderInputs) { + this.shopOrderInputs = shopOrderInputs; + } + + public String getShopOrderInput() { + return shopOrderInput; + } + + public void setShopOrderInput(String shopOrderInput) { + this.shopOrderInput = shopOrderInput; + } public String getShopOrder() { return shopOrder; diff --git a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/PrintLogServiceImpl.java b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/PrintLogServiceImpl.java index c7f1ed32..6a281c24 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/service/impl/PrintLogServiceImpl.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/service/impl/PrintLogServiceImpl.java @@ -191,6 +191,12 @@ public class PrintLogServiceImpl extends ServiceImpl i @Override public List getPrintLogListByCondition(PrintLog printLog) { + //批量查询工单编号 + if (printLog.getShopOrderInput()!=null){ + String[] shopOrderInputs = printLog.getShopOrderInput().split(","); + printLog.setShopOrderInputs(shopOrderInputs); + printLog.setShopOrderInput(null); + } return printLogMapper.getPrintLogListByCondition(printLog); } diff --git a/common/src/main/java/com/foreverwin/mesnac/common/util/ActiveMQUtil.java b/common/src/main/java/com/foreverwin/mesnac/common/util/ActiveMQUtil.java index 8ac9d205..7fed959c 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/util/ActiveMQUtil.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/util/ActiveMQUtil.java @@ -24,9 +24,7 @@ public class ActiveMQUtil { private JmsMessagingTemplate mesJmsTemplate; @Autowired private Topic topic; - private static Logger logger = LoggerFactory.getLogger(ActiveMQUtil.class); - public void wechatSendMessage(String user, String text) { String queue = "send.weChat.notice"; JSONObject jsonObject = new JSONObject(); diff --git a/common/src/main/java/com/foreverwin/mesnac/common/util/MailAccountUtil.java b/common/src/main/java/com/foreverwin/mesnac/common/util/MailAccountUtil.java new file mode 100644 index 00000000..fd956da1 --- /dev/null +++ b/common/src/main/java/com/foreverwin/mesnac/common/util/MailAccountUtil.java @@ -0,0 +1,38 @@ +package com.foreverwin.mesnac.common.util; + +import cn.hutool.extra.mail.MailAccount; +import org.springframework.beans.factory.annotation.Value; +import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; +import org.springframework.stereotype.Component; + +@Component +@ConditionalOnProperty(prefix = "mail", name = {"host","from","username","password"}) +public class MailAccountUtil { + + @Value("${mail.host}") + private String host; + @Value("${mail.from}") + private String from; + @Value("${mail.username}") + private String username; + @Value("${mail.password}") + private String password; + + public MailAccount getMailAccount() { + MailAccount mailAccount = new MailAccount(); + mailAccount.setHost(host); + mailAccount.setFrom(from); + + return mailAccount; + } + + public MailAccount getMailAccount4Auth() { + MailAccount mailAccount = new MailAccount(); + mailAccount.setHost(host); + mailAccount.setFrom(from); + mailAccount.setUser(username); + mailAccount.setPass(password); + + return mailAccount; + } +} diff --git a/common/src/main/resources/mapper/PrintLogMapper.xml b/common/src/main/resources/mapper/PrintLogMapper.xml index 8ef296fa..0e7a0f55 100644 --- a/common/src/main/resources/mapper/PrintLogMapper.xml +++ b/common/src/main/resources/mapper/PrintLogMapper.xml @@ -570,6 +570,12 @@ AND SO.SHOP_ORDER = #{shopOrder} + + AND SO.SHOP_ORDER IN + + #{shopOrderItem} + + ORDER BY PL.CREATED_DATE_TIME DESC diff --git a/console/src/main/resources/application-local.yml b/console/src/main/resources/application-local.yml index 8883448e..7a4b242c 100644 --- a/console/src/main/resources/application-local.yml +++ b/console/src/main/resources/application-local.yml @@ -91,6 +91,8 @@ mepapi: mail: host: 127.0.0.1 from: Leon@857.com + username: + password: #短信服务配置 mobile: @@ -165,4 +167,4 @@ yunBpmConfig: userName: zhangzy passWord: 123456 apiBaseUrl: http://172.16.77.181:8080 - yunBpmUrl: http://yunbpmcs.mesnac.com:8080 \ No newline at end of file + yunBpmUrl: http://yunbpmcs.mesnac.com:8080 diff --git a/console/src/main/resources/application.yml b/console/src/main/resources/application.yml index f8c09f03..a158144a 100644 --- a/console/src/main/resources/application.yml +++ b/console/src/main/resources/application.yml @@ -35,9 +35,9 @@ spring: time-zone: GMT+8generateLabel date-format: yyyy-MM-dd HH:mm:ss profiles: - active: prd +# active: prd # active: qas -# active: local + active: local # active: dev # 文件上传 servlet: @@ -65,4 +65,4 @@ mybatis-plus: # log-impl: org.apache.ibatis.logging.slf4j.Slf4jImpl # configLocation: classpath:mybatisplus-config.xml configuration: - jdbc-type-for-null: 'null'#解决updateAllColumn传空值报错问题 \ No newline at end of file + jdbc-type-for-null: 'null'#解决updateAllColumn传空值报错问题 diff --git a/dataimport/dataimport.iml b/dataimport/dataimport.iml new file mode 100644 index 00000000..2d510146 --- /dev/null +++ b/dataimport/dataimport.iml @@ -0,0 +1,252 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dispatch/dispatch.iml b/dispatch/dispatch.iml new file mode 100644 index 00000000..135e2ad4 --- /dev/null +++ b/dispatch/dispatch.iml @@ -0,0 +1,235 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SfcDispatchServiceImpl.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SfcDispatchServiceImpl.java index 45bda200..4959475b 100644 --- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SfcDispatchServiceImpl.java +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/SfcDispatchServiceImpl.java @@ -99,6 +99,8 @@ public class SfcDispatchServiceImpl extends ServiceImpl + @@ -784,7 +785,7 @@ SD.RESOURCE_TYPE,RST.DESCRIPTION RESOURCE_TYPE_DESCRIPTION, SD.RESRCE, SD.EMPLOYEE, SD.EMPLOYEE USER_NAME, SD.DISPATCH_QTY, SD.PROD_HOURS, RS.DESCRIPTION RESOURCE_DESCRIPTION, CASE WHEN SD.DISPATCH_STATUS = 'COMPLETE' THEN SD.DISPATCH_QTY ELSE 0 END COMPLETED_QTY, SD.PLANNED_START_DATE, - SD.PLANNED_COMP_DATE, SD.WORK_CENTER, SD.IS_DISPATCH, SD.EMPLOYEE_DESCRIPTION, + SD.PLANNED_COMP_DATE, SD.WORK_CENTER, SD.IS_DISPATCH, SD.EMPLOYEE_DESCRIPTION,ZNU.FULL_NAME AS MODIFY_USER, SD.ACTUAL_START_DATE, SD.ACTUAL_COMPLETE_DATE, SD.REMARK, SD.DISPATCH_SEQ, SD.DISPATCH_SEQ-1 BEFORE_SEQ, SD.DISPATCH_SEQ+1 AFTER_SEQ, SD.EARLIEST_START_DATE, SD.LATEST_END_DATE, CASE WHEN CC.VALUE = '9' THEN N'是' ELSE N'否' END IS_MAJOR, CASE WHEN SD.TURN_OPERATION = 'true' THEN N'是' ELSE @@ -814,6 +815,7 @@ LEFT JOIN WORK_CENTER WR ON WR.HANDLE = WCM.WORK_CENTER_BO LEFT JOIN ROUTER RT ON SD.ROUTER_BO = RT.HANDLE LEFT JOIN RESOURCE_TYPE RST ON SD.RESOURCE_TYPE = RST.RESOURCE_TYPE + LEFT JOIN Z_NWA_USER ZNU ON ZNU.USER_NAME=SD.MODIFY_USER WHERE SD.SITE = #{site} @@ -825,6 +827,9 @@ AND SD.DISPATCH_STATUS = #{dispatchStatus} + + AND C1.VALUE LIKE '%' ||#{custom}|| '%' + AND SD.DISPATCH_STATUS IN ('NEW', 'RELEASE', 'PAUSE','START') @@ -906,12 +911,23 @@ AND SD.PLANNED_COMP_DATE <= TO_DATE(#{completeToDate}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS') + + + AND SD.ACTUAL_COMPLETE_DATE >= TO_DATE(#{actualCompleteTime}, 'YYYY-MM-DD') + + + AND SD.ACTUAL_COMPLETE_DATE <= TO_DATE(#{toActualCompleteTime}|| '15:59:59', 'YYYY-MM-DD HH24:MI:SS') + + AND SD.DISPATCH_SEQ = #{dispatchSeq} AND RT.ROUTER_TYPE = #{isRework} + + AND RT.HANDLE = #{routerBo} + GROUP BY SD.HANDLE, SD.SITE, SD.SHOP_ORDER, SD.DISPATCH_NO, SD.ROUTER_BO, C2.VALUE, C1.VALUE, IM.HANDLE, @@ -919,7 +935,7 @@ SD.STEP_ID, SD.OPERATION, OT.DESCRIPTION, SD.RESOURCE_TYPE,RST.DESCRIPTION, SD.RESRCE, SD.EMPLOYEE, SD.EMPLOYEE, SD.DISPATCH_QTY, SD.PROD_HOURS, RS.DESCRIPTION, SD.DISPATCH_STATUS, SD.DISPATCH_QTY, SD.PLANNED_START_DATE, SD.PLANNED_COMP_DATE, SD.WORK_CENTER, - SD.IS_DISPATCH, SD.EMPLOYEE_DESCRIPTION, + SD.IS_DISPATCH, SD.EMPLOYEE_DESCRIPTION,ZNU.FULL_NAME, SD.ACTUAL_START_DATE, SD.ACTUAL_COMPLETE_DATE, SD.REMARK, SD.DISPATCH_SEQ, SD.EARLIEST_START_DATE, SD.LATEST_END_DATE, CC.VALUE, SD.TURN_OPERATION,SD.IS_UPDATE_ZJH_COMPLETE, SD.BLANKING_SIZE, WR.WORK_CENTER ,SD.OTHER_2,SD.OTHER_3 diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/CustomFieldsController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/CustomFieldsController.java index 9f7bf116..6d31b6b0 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/CustomFieldsController.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/CustomFieldsController.java @@ -11,7 +11,10 @@ import org.springframework.web.bind.annotation.*; import com.foreverwin.mesnac.meapi.service.CustomFieldsService; import com.foreverwin.mesnac.meapi.model.CustomFields; + +import java.util.HashMap; import java.util.List; +import java.util.Map; /** * @@ -117,4 +120,24 @@ public class CustomFieldsController { public R removeByIds(List ids){ return R.ok(customFieldsService.removeByIds(ids)); } -} \ No newline at end of file + + @ResponseBody + @GetMapping("/getWorkOrderPageList") + public R getWorkOrderPageList(FrontPage frontPage, CustomFields customFields){ + IPage result; + try { + customFields.setAttribute("WORK_ORDER"); + QueryWrapper queryWrapper = new QueryWrapper<>(); + queryWrapper.setEntity(customFields); + if (frontPage.getGlobalQuery() != null && !"".equals(frontPage.getGlobalQuery().trim())) { + queryWrapper + .like("VALUE", frontPage.getGlobalQuery()); + } + result = customFieldsService.selectWorkOrderPage(frontPage.getPagePlus(), queryWrapper); + } catch (Exception e) { + return R.failed(e.getMessage()); + } + return R.ok(result); +// return R.ok(customFieldsService.selectWorkOrderPageList(customFields)); + } +} diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/dto/AbnormalRouterDto.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/dto/AbnormalRouterDto.java index 6ccface3..18935786 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/dto/AbnormalRouterDto.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/dto/AbnormalRouterDto.java @@ -2,6 +2,7 @@ package com.foreverwin.mesnac.meapi.dto; public class AbnormalRouterDto { private String abnormalNo; + private String sfc; private String pbDescription; private String item; private String itemRevision; @@ -13,6 +14,14 @@ public class AbnormalRouterDto { private String routerBo; private String site; + public String getSfc() { + return sfc; + } + + public void setSfc(String sfc) { + this.sfc = sfc; + } + public String getRouterType() { return routerType; } diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/CustomFieldsMapper.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/CustomFieldsMapper.java index 602140a8..bb6f9b0f 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/CustomFieldsMapper.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/CustomFieldsMapper.java @@ -1,5 +1,9 @@ package com.foreverwin.mesnac.meapi.mapper; +import com.baomidou.mybatisplus.core.conditions.Wrapper; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; +import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.foreverwin.mesnac.meapi.model.CustomFields; import com.baomidou.mybatisplus.core.mapper.BaseMapper; import org.apache.ibatis.annotations.Param; @@ -42,4 +46,10 @@ public interface CustomFieldsMapper extends BaseMapper { String selectWidthValue(@Param("site") String site, @Param("itemBo") String itemBo); String selectAttributeByItemBo(@Param("itemBo") String shopOrder); -} \ No newline at end of file + + + + List selectWorkOrderPage(@Param("locale") String locale, IPage page, @Param("ew") Wrapper wrapper); + + +} diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/SfcMapper.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/SfcMapper.java index abd5dc31..51234b40 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/SfcMapper.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/SfcMapper.java @@ -9,7 +9,9 @@ import com.foreverwin.mesnac.meapi.model.Sfc; import org.apache.ibatis.annotations.Param; import org.springframework.stereotype.Repository; +import java.awt.*; import java.time.LocalDateTime; +import java.util.List; import java.util.Map; /** @@ -30,6 +32,8 @@ public interface SfcMapper extends BaseMapper { SfcDto findSfcData(@Param("site") String site, @Param("sfc") String sfc); + List findSfcStep(@Param("site") String site, @Param("sfc") String sfc); + IPage pageByResrce(Page pagePlus, @Param("ew") QueryWrapper queryWrapper, @Param("locale") String locale, @Param("globalQuery") String globalQuery); Map findOperationBySfc(@Param("site")String site, @Param("sfc")String sfc); diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/DisRouter.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/DisRouter.java index cbc7dbf3..e4f26a42 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/DisRouter.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/model/DisRouter.java @@ -20,6 +20,16 @@ public class DisRouter extends Model { private String item; + private String sfc; + + public String getSfc() { + return sfc; + } + + public void setSfc(String sfc) { + this.sfc = sfc; + } + public String getFilePath() { return filePath; } diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/CustomFieldsService.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/CustomFieldsService.java index fcbcf24f..a3a77c0d 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/CustomFieldsService.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/CustomFieldsService.java @@ -1,6 +1,8 @@ package com.foreverwin.mesnac.meapi.service; +import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.foreverwin.mesnac.meapi.model.CustomFields; import com.baomidou.mybatisplus.extension.service.IService; import com.foreverwin.modular.core.util.FrontPage; @@ -20,6 +22,8 @@ import java.util.Map; */ public interface CustomFieldsService extends IService { + + IPage selectWorkOrderPage(Page page, QueryWrapper queryWrapper); /** * 分页查询 * @param frontPage @@ -109,4 +113,5 @@ public interface CustomFieldsService extends IService { * @param customFieldsList */ void saveOrUpdateCustomFields(List customFieldsList); -} \ No newline at end of file + +} diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/CustomFieldsServiceImpl.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/CustomFieldsServiceImpl.java index 2b3457cc..483068fc 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/CustomFieldsServiceImpl.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/CustomFieldsServiceImpl.java @@ -1,5 +1,6 @@ package com.foreverwin.mesnac.meapi.service.impl; +import com.baomidou.mybatisplus.extension.plugins.pagination.Page; import com.foreverwin.modular.core.util.FrontPage; import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper; import com.baomidou.mybatisplus.core.metadata.IPage; @@ -10,6 +11,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import org.apache.log4j.LogManager; import org.apache.log4j.Logger; +import org.springframework.context.i18n.LocaleContextHolder; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Propagation; @@ -17,6 +19,7 @@ import org.springframework.transaction.annotation.Transactional; import java.util.Date; import java.util.List; +import java.util.Locale; import java.util.Map; /** @@ -124,6 +127,13 @@ public class CustomFieldsServiceImpl extends ServiceImpl selectWorkOrderPage(Page page, QueryWrapper queryWrapper) { + Locale locale = LocaleContextHolder.getLocale(); + page.setRecords(this.customFieldsMapper.selectWorkOrderPage(locale.getLanguage(), page, queryWrapper)); + return page; + } + @Override public IPage selectPage(FrontPage frontPage, CustomFields customFields) { QueryWrapper queryWrapper = new QueryWrapper<>(); @@ -139,4 +149,4 @@ public class CustomFieldsServiceImpl extends ServiceImpl implements RouterService { - @Autowired private RouterMapper routerMapper; @Autowired @@ -55,6 +56,8 @@ public class RouterServiceImpl extends ServiceImpl impleme private PicturesService picturesService; @Autowired private RouterStepMapper routerStepMapper; + @Autowired + private SfcMapper sfcMapper; @Override public IPage selectPage(FrontPage frontPage, Router router) { @@ -114,7 +117,12 @@ public class RouterServiceImpl extends ServiceImpl impleme if (routerStepDtoList == null || routerStepDtoList.size() <= 0) { throw BusinessException.build("工艺路线步骤不能为空"); } - + //查询此SFC下的步骤标识 + List sfcDtoList = sfcMapper.findSfcStep(site,disRouter.getSfc()); + List sfcsteplist=new ArrayList(); + for (SfcDto sfcDto : sfcDtoList) { + sfcsteplist.add(sfcDto.getStepId()); + } //校验router步骤是否重复 List stepDtoList = disRouter.getDisRouterStepDtoList(); List> routerAllStepList = routerStepMapper.findRouterAllStep(disRouter,site); @@ -130,7 +138,11 @@ public class RouterServiceImpl extends ServiceImpl impleme List collect = routerAllStepList.stream().map(e -> { return e.get("STEP_ID"); }).collect(Collectors.toList()); throw new BaseException("请重新输入工艺步骤,该工艺路线已存在的返修步骤为:" + collect.toString()); } + if (sfcsteplist.contains(stepId)){ + throw new BaseException("此产品条码存在返修步骤标识重复情况,请修改返修步骤标识。" ); + } } + } //工艺路线BO diff --git a/meapi/src/main/resources/mapper/CustomFieldsMapper.xml b/meapi/src/main/resources/mapper/CustomFieldsMapper.xml index e8a48103..325d08d0 100644 --- a/meapi/src/main/resources/mapper/CustomFieldsMapper.xml +++ b/meapi/src/main/resources/mapper/CustomFieldsMapper.xml @@ -300,4 +300,23 @@ SELECT "VALUE" FROM CUSTOM_FIELDS WHERE HANDLE = #{handle} AND ATTRIBUTE = #{attribute} + + + diff --git a/meapi/src/main/resources/mapper/DataFieldListMapper.xml b/meapi/src/main/resources/mapper/DataFieldListMapper.xml index e2235963..2b7b8003 100644 --- a/meapi/src/main/resources/mapper/DataFieldListMapper.xml +++ b/meapi/src/main/resources/mapper/DataFieldListMapper.xml @@ -349,6 +349,7 @@ INNER JOIN DATA_FIELD_LIST DFL ON DF.HANDLE = DFL.DATA_FIELD_BO LEFT JOIN DATA_FIELD_LIST_T DFLT ON DFL.HANDLE = DFLT.DATA_FIELD_LIST_BO AND DFLT.LOCALE = #{locale} + DFL.IS_DEFAULT !='true' DF.HANDLE = #{dataField.handle} diff --git a/meapi/src/main/resources/mapper/RouterMapper.xml b/meapi/src/main/resources/mapper/RouterMapper.xml index 9a389427..7acdba0e 100644 --- a/meapi/src/main/resources/mapper/RouterMapper.xml +++ b/meapi/src/main/resources/mapper/RouterMapper.xml @@ -699,7 +699,7 @@ AND rs.ROUTER_TYPE = 'C' AND rs.TEMPORARY_ROUTER IS NULL - AND I.ITEM IS NOT NULL + + diff --git a/production/production.iml b/production/production.iml new file mode 100644 index 00000000..ee440277 --- /dev/null +++ b/production/production.iml @@ -0,0 +1,242 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java b/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java index 7778b264..4e27deb2 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/controller/PodTemplateController.java @@ -161,6 +161,7 @@ public class PodTemplateController { } if (sfcDtoList.size() != 1){ throw new BaseException("只能选择一条数据"); + } if (sfcDtoList.get(0).getQty()==1){ throw new BaseException("SFC:"+sfcDtoList.get(0).getSfc()+"数量为1,无法执行首件报检"); diff --git a/production/src/main/java/com/foreverwin/mesnac/production/controller/Result.java b/production/src/main/java/com/foreverwin/mesnac/production/controller/Result.java new file mode 100644 index 00000000..758c7d38 --- /dev/null +++ b/production/src/main/java/com/foreverwin/mesnac/production/controller/Result.java @@ -0,0 +1,10 @@ +package com.foreverwin.mesnac.production.controller; + +import lombok.Data; + +@Data +public class Result { + private String msg; + private String code; + private String token; +} diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java index f476a3c8..7ffb01b4 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/impl/PodTemplateServiceImpl.java @@ -396,7 +396,6 @@ public class PodTemplateServiceImpl implements PodTemplateService { throw new BaseException("产品条码["+sfcDto.getSfc()+"]上次首检不合格,请再次执行首检报检"); } } - if (StringUtil.isBlank(is_check)) { //是否有自检检验项目 List inspectionItemDetails = inspectionItemService.selectQualityInspection(sfc, operation, stepId, Constants.INSPECTION_TYPE_Z); @@ -436,9 +435,11 @@ public class PodTemplateServiceImpl implements PodTemplateService { throw new BaseException("拆单后同一工序不能一分钟内点两次完成!"); } } + if (!operation.equals("WX_6106GX")){ + //物料消耗 + materialConsumption(site, operation, HandleEnum.SFC.getHandle(site, sfc), stepId, resrce); + } - //物料消耗 - materialConsumption(site, operation, HandleEnum.SFC.getHandle(site, sfc), stepId, resrce); //专检创建 Map paramMap = new HashMap<>(); paramMap.put("SFC", sfc); @@ -489,7 +490,8 @@ public class PodTemplateServiceImpl implements PodTemplateService { } } - else { + + if (!StringUtil.isBlank(is_check)){ CreateLogisticsTask(sfcDispatchById,sfcDto.getItem()); } @@ -498,7 +500,6 @@ public class PodTemplateServiceImpl implements PodTemplateService { sfcCrossService.completeAction(site, currentRevisionRef.getHandle(), resrce, sfcServiceById.getHandle(), qty); //更改派工单状态 sfcDispatchCommonService.updateSfcDispatchStatus(site, CommonMethods.getUser(), dispatchNo, DispatchStatusEnum.COMPLETE.getCode(),workHour); - QueryWrapper queryWrapper = new QueryWrapper<>(); queryWrapper.eq(SfcDispatch.SFC,sfcDispatchById.getSfc()); queryWrapper.eq(SfcDispatch.SHOP_ORDER,sfcDispatchById.getShopOrder()); @@ -802,6 +803,11 @@ public class PodTemplateServiceImpl implements PodTemplateService { flag=true; break; } + else if(nextsfcDispatch!=null && nextsfcDispatch.equals("WX_6106GX") && sfcDispatchById.getOperation().equals("WX_6106GX")){ + flag=true; + break; + } + else if (nextsfcDispatch != null && !stringList.contains(nextsfcDispatch.getOperation()) && nextsfcDispatch.getWorkCenter().equals(sfcDispatchById.getWorkCenter())) { flag=false; @@ -850,6 +856,10 @@ public class PodTemplateServiceImpl implements PodTemplateService { flag=false; break; } + else if(nextsfcDispatch!=null && nextsfcDispatch.getOperation().equals("WX_6106GX") && sfcDispatchById.getOperation().equals("WX_6106GX")){ + flag=true; + break; + } else if (nextsfcDispatch != null && stringList.contains(nextsfcDispatch.getOperation())){ continue; } @@ -861,15 +871,29 @@ public class PodTemplateServiceImpl implements PodTemplateService { queryWrappers.like(SfcDispatch.ROUTER_BO, sfcDispatchById.getRouterBo().substring(0,sfcDispatchById.getRouterBo().lastIndexOf(","))); // queryWrappers.eq(SfcDispatch.ROUTER_BO,sfcDispatchById.getRouterBo()); nextsfcDispatch = sfcDispatchService.getOne(queryWrappers); - if (nextsfcDispatch.getOther2() != null - && Constants.RK.equals(nextsfcDispatch.getOther2()) && stringList.contains(nextsfcDispatch.getOperation())){ + if (nextsfcDispatch.getOther2() != null){ + String workCenter=""; + if (nextsfcDispatch.getOther2().equals("RK")){ + workCenter="BCP"; + flag=true; + }else if(sfcDispatchById.getWorkCenter().equals("HJ") && !nextsfcDispatch.getOther2().equals("H")){ + flag=true; + workCenter=sfcDispatchById.getWorkCenter(); + }else if (sfcDispatchById.getWorkCenter().equals("JJ") && !nextsfcDispatch.getOther2().equals("J")){ + flag=true; + workCenter=sfcDispatchById.getWorkCenter(); + }else if (sfcDispatchById.getWorkCenter().equals("ZP") && !nextsfcDispatch.getOther2().equals("Z")){ + flag=true; + workCenter=sfcDispatchById.getWorkCenter(); + }else { + flag=false; + } nextsfcDispatch.setOperation(nextsfcDispatch.getOperation()); nextsfcDispatch.setStepId(nextsfcDispatch.getStepId()); - nextsfcDispatch.setWorkCenter("BCP"); + nextsfcDispatch.setWorkCenter(workCenter); } else { return; } - flag=true; break; } } diff --git a/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/InspectionTaskManageServiceImpl.java b/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/InspectionTaskManageServiceImpl.java index 2aacec04..d3fea04c 100644 --- a/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/InspectionTaskManageServiceImpl.java +++ b/quality/src/main/java/com/foreverwin/mesnac/quality/service/impl/InspectionTaskManageServiceImpl.java @@ -332,6 +332,10 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ flag=false; break; } + else if(nextsfcDispatch!=null && nextsfcDispatch.equals("WX_6106GX") && sfcDispatchById.getOperation().equals("WX_6106GX")){ + flag=true; + break; + } else if (nextsfcDispatch != null && stringList.contains(nextsfcDispatch.getOperation())){ continue; } @@ -375,6 +379,10 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ flag=false; break; } + else if(nextsfcDispatch!=null && nextsfcDispatch.getOperation().equals("WX_6106GX") && sfcDispatchById.getOperation().equals("WX_6106GX")){ + flag=true; + break; + } else if (nextsfcDispatch != null && stringList.contains(nextsfcDispatch.getOperation())){ continue; } @@ -386,15 +394,29 @@ public class InspectionTaskManageServiceImpl implements InspectionTaskManageServ queryWrappers.like(SfcDispatch.ROUTER_BO, sfcDispatchById.getRouterBo().substring(0,sfcDispatchById.getRouterBo().lastIndexOf(","))); // queryWrappers.eq(SfcDispatch.ROUTER_BO,sfcDispatchById.getRouterBo()); nextsfcDispatch = sfcDispatchService.getOne(queryWrappers); - if (nextsfcDispatch.getOther2() != null - && Constants.RK.equals(nextsfcDispatch.getOther2()) && stringList.contains(nextsfcDispatch.getOperation())){ + if (nextsfcDispatch.getOther2() != null){ + String workCenter=""; + if (nextsfcDispatch.getOther2().equals("RK")){ + workCenter="BCP"; + flag=true; + }else if(sfcDispatchById.getWorkCenter().equals("HJ") && !nextsfcDispatch.getOther2().equals("H")){ + flag=true; + workCenter=sfcDispatchById.getWorkCenter(); + }else if (sfcDispatchById.getWorkCenter().equals("JJ") && !nextsfcDispatch.getOther2().equals("J")){ + flag=true; + workCenter=sfcDispatchById.getWorkCenter(); + }else if (sfcDispatchById.getWorkCenter().equals("ZP") && !nextsfcDispatch.getOther2().equals("Z")){ + flag=true; + workCenter=sfcDispatchById.getWorkCenter(); + }else { + flag=false; + } nextsfcDispatch.setOperation(nextsfcDispatch.getOperation()); nextsfcDispatch.setStepId(nextsfcDispatch.getStepId()); - nextsfcDispatch.setWorkCenter("BCP"); + nextsfcDispatch.setWorkCenter(workCenter); } else { return; } - flag=true; break; } }