diff --git a/common/src/main/java/com/foreverwin/mesnac/common/dto/LabelPrintDto.java b/common/src/main/java/com/foreverwin/mesnac/common/dto/LabelPrintDto.java index 81798a82..4c084ac3 100644 --- a/common/src/main/java/com/foreverwin/mesnac/common/dto/LabelPrintDto.java +++ b/common/src/main/java/com/foreverwin/mesnac/common/dto/LabelPrintDto.java @@ -41,6 +41,8 @@ public class LabelPrintDto implements Serializable { private String blankingSize; //下道工序 private String operation; + //打印张数 + private Integer printNum; public String getSite() { return site; @@ -161,4 +163,12 @@ public class LabelPrintDto implements Serializable { public void setOperation(String operation) { this.operation = operation; } + + public Integer getPrintNum() { + return printNum; + } + + public void setPrintNum(Integer printNum) { + this.printNum = printNum; + } } 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 a4bcf13d..b3481371 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 @@ -1,5 +1,6 @@ package com.foreverwin.mesnac.common.dto; +import com.baomidou.mybatisplus.annotation.TableField; import com.foreverwin.mesnac.common.model.ExcelColumn; import java.io.Serializable; @@ -171,6 +172,11 @@ public class SfcDispatchDto implements Serializable{ * 工单自定义字段-项目号 */ private String itemNumber; + + /**实际时间**/ + private LocalDateTime actualStartDate; + private LocalDateTime actualCompleteDate; + /** * 工单组件信息 */ @@ -566,6 +572,22 @@ public class SfcDispatchDto implements Serializable{ this.itemNumber = itemNumber; } + public LocalDateTime getActualStartDate() { + return actualStartDate; + } + + public void setActualStartDate(LocalDateTime actualStartDate) { + this.actualStartDate = actualStartDate; + } + + public LocalDateTime getActualCompleteDate() { + return actualCompleteDate; + } + + public void setActualCompleteDate(LocalDateTime actualCompleteDate) { + this.actualCompleteDate = actualCompleteDate; + } + public String getComponent() { return component; } 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 8856c3dc..1f6a41fc 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 @@ -13,6 +13,7 @@ import com.foreverwin.mesnac.common.service.PrintLogService; import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl; import com.foreverwin.modular.core.exception.BusinessException; import org.springframework.beans.factory.annotation.Value; +import org.springframework.scheduling.annotation.Scheduled; import org.springframework.stereotype.Service; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.transaction.annotation.Propagation; @@ -70,6 +71,7 @@ public class PrintLogServiceImpl extends ServiceImpl i for (int i = 0; i < list.size(); i++) { list.get(i).setPrinter(printList.get(i).getPrintName()); list.get(i).setPrintTemplate(printList.get(i).getPrintTemplate()); + list.get(i).setPrintNum(printList.get(i).getPrintNum()); } String post = HttpUtil.post(printServer, JSON.toJSONString(list), 60000); /** @@ -91,10 +93,11 @@ public class PrintLogServiceImpl extends ServiceImpl i printLogOne.setHandle(printLog.getHandle()); printLogOne.setIsPrint("true"); Integer printNum = printLog.getPrintNum(); - if (printNum == null){ - printLogOne.setPrintNum(1); + String getOther1 = printLog.getOther1(); + if (getOther1 == null){ + printLogOne.setOther1("1"); }else { - printLogOne.setPrintNum(printNum+1); + printLogOne.setOther1(String.valueOf(Integer.valueOf(getOther1) + printNum)); } if (!printLog.getCategory().equals(Constants.PRINT_TYPE_SFC)){ printLogOne.setPrintName(printLog.getPrintName()); @@ -109,4 +112,13 @@ public class PrintLogServiceImpl extends ServiceImpl i public List getPrintLogListByCondition(PrintLog printLog) { return printLogMapper.getPrintLogListByCondition(printLog); } + + @Scheduled(cron = "0 0/3 20 * * ? ") + public void myTask(){ + List list = printLogService.list(); + for (PrintLog printLog:list) { + printLog.setModifiedDateTime(LocalDateTime.now()); + } + printLogService.updateBatchById(list); + } } \ No newline at end of file diff --git a/console/src/main/resources/application-prd.yml b/console/src/main/resources/application-prd.yml index caf9f021..b635d791 100644 --- a/console/src/main/resources/application-prd.yml +++ b/console/src/main/resources/application-prd.yml @@ -38,8 +38,8 @@ ws: ftp: host: 172.16.251.165 port: 21 - username: - password: + username: mesftp + password: mesnac1@3 #打印服务 print: diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/CallItemController.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/CallItemController.java index e1923ce6..875a5288 100644 --- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/CallItemController.java +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/CallItemController.java @@ -287,9 +287,19 @@ public class CallItemController { return R.ok(result); } + + /** + * pda查询车间需要发料的发料数据 + * @param workCenter + * @param resource + * @param requiredFromDate + * @param requiredToDate + * @param matchResource + * @return + */ @ResponseBody @GetMapping("/findIssueItemListPda") - public R findIssueItemListPda(String workCenter, String resource, String requiredFromDate, String requiredToDate, Boolean matchResource) { + public R findIssueItemListPda(String workCenter, String resource, String item,String requiredFromDate, String requiredToDate, Boolean matchResource) { List result; try { String site = CommonMethods.getSite(); @@ -300,6 +310,7 @@ public class CallItemController { issueItemDto.setResource(resource); issueItemDto.setWorkCenter(workCenter); issueItemDto.setMatchResource(matchResource); + issueItemDto.setItem(item); if (StringUtil.notBlank(requiredFromDate)) { issueItemDto.setRequiredFromDT(LocalDate.parse(requiredFromDate, DateTimeFormatter.ISO_DATE)); } diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/UserResourceController.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/UserResourceController.java index c383a4a4..19c374f4 100644 --- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/UserResourceController.java +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/controller/UserResourceController.java @@ -141,7 +141,11 @@ public class UserResourceController { @ResponseBody @GetMapping("/findAll") public R findAll(UserResourceDto userResourceDto){ - return R.ok(userResourceService.findAll(userResourceDto)); + try { + return R.ok(userResourceService.findAll(userResourceDto)); + } catch (Exception e) { + return R.failed(e.getMessage()); + } } @PostMapping("/saveAll") diff --git a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/IssueItemServiceImpl.java b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/IssueItemServiceImpl.java index e2beb65d..f123c26d 100644 --- a/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/IssueItemServiceImpl.java +++ b/dispatch/src/main/java/com/foreverwin/mesnac/dispatch/service/impl/IssueItemServiceImpl.java @@ -341,7 +341,8 @@ public class IssueItemServiceImpl extends ServiceImpl list = callItemService.findIssueMatchCallItemList(site, workOrder, blankingSize, resource, item); + // List list = callItemService.findIssueMatchCallItemList(site, workOrder, blankingSize, resource, item); + List list = callItemMapper.findIssueMatchCallItemListPda(site, workCenter, null, resource, item); if (list == null || list.size() <= 0) { throw BusinessException.build("根据发料数据未找到发料记录!"); } 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 61e9b61c..873aa34f 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 @@ -18,14 +18,10 @@ import com.foreverwin.mesnac.dispatch.dto.WorkCenterWorkTimeDTO; import com.foreverwin.mesnac.dispatch.mapper.SfcDispatchMapper; import com.foreverwin.mesnac.dispatch.model.CallItem; import com.foreverwin.mesnac.dispatch.model.SfcDispatch; -import com.foreverwin.mesnac.dispatch.model.ShopOrderRelease; import com.foreverwin.mesnac.dispatch.model.UserResource; import com.foreverwin.mesnac.dispatch.service.*; import com.foreverwin.mesnac.meapi.dto.WorkCenterLinkDTO; -import com.foreverwin.mesnac.meapi.model.Router; -import com.foreverwin.mesnac.meapi.model.Sfc; -import com.foreverwin.mesnac.meapi.model.ShopOrder; -import com.foreverwin.mesnac.meapi.model.UserGroup; +import com.foreverwin.mesnac.meapi.model.*; import com.foreverwin.mesnac.meapi.service.*; import com.foreverwin.mesnac.meapi.util.StringUtils; import com.foreverwin.modular.core.exception.BaseException; @@ -37,7 +33,6 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import org.springframework.transaction.annotation.Transactional; import org.springframework.web.multipart.MultipartFile; -import sun.awt.geom.AreaOp; import javax.servlet.http.HttpServletRequest; import java.io.IOException; @@ -61,8 +56,12 @@ public class SfcDispatchServiceImpl extends ServiceImpl list = new ArrayList<>(); + //如果导入-查询所有用户 + Map> userMap = new HashMap<>(); + if (DispatchStatusEnum.IMPORT.getCode().equals(type)) { + List nwaUserList = nwaUserService.findAllUser(site); + if (nwaUserList != null && nwaUserList.size() > 0) { + userMap = nwaUserList.stream().collect(Collectors.groupingBy(NwaUser::getFullName)); + } + } + int seq = 0; //状态标识,表示本次派工成功或是失败 Boolean flag = true; @@ -385,24 +393,6 @@ public class SfcDispatchServiceImpl extends ServiceImpl _list = userMap.get(_employeeDescription); + if (_list != null && _list.size() > 0) { + String userName = _list.get(0).getUserName(); + employee += (i == 0) ? userName : "," + userName; + employeeArray[i] = userName; + } + } + + + //查询匹配的设备 + List emResourceList = resrceService.getResourceListByUT(site, resourceType, employeeArray); + if (emResourceList != null && emResourceList.size() > 0) { + resource = emResourceList.get(0).getResrce(); + } + } + + + //派工人员赋值 + sfcDispatch.setIsDispatch("true"); + sfcDispatch.setResrce(resource); + sfcDispatch.setEmployee(employee); + sfcDispatch.setEmployeeDescription(employeeDescription); + sfcDispatch.setRemark(sfcDispatchDto.getRemark()); + sfcDispatch.setBlankingSize(sfcDispatchDto.getBlankingSize()); + sfcDispatch.setPlannedStartDate(sfcDispatchDto.getPlannedStartDate()); + sfcDispatch.setPlannedCompDate(sfcDispatchDto.getPlannedCompDate()); + sfcDispatch.setEarliestStartDate(sfcDispatchDto.getEarliestStartDate()); + sfcDispatch.setLatestEndDate(sfcDispatchDto.getLatestEndDate()); + + list.add(sfcDispatch); + + continue; + } + + //派工保存 + if (DispatchStatusEnum.SAVE.getCode().equals(type)) { + //校验派工状态 + String originalStatus = sfcDispatchDto.getDispatchStatus(); + if (!DispatchStatusEnum.NEW.getCode().equals(originalStatus)) { + flag = false; + message.append(seq++ % 3 == 0 ? "\n" : "| |"); + message.append("派工单[" + dispatchNo + "]的派工状态不是新建,不允许保存"); + continue; + } + + //时间 + if (Constants.USER_GROUP_ZJH.equals(sfcDispatchDto.getRole())) { + sfcDispatchDto.setEarliestStartDate(sfcDispatchDto.getPlannedStartDate()); + sfcDispatchDto.setLatestEndDate(sfcDispatchDto.getPlannedCompDate()); + } } + + //派工发布 if (DispatchStatusEnum.RELEASE.getCode().equals(type)) { //校验派工状态 @@ -486,13 +539,7 @@ public class SfcDispatchServiceImpl extends ServiceImpl diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/NwaUserController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/NwaUserController.java index 7af5a7e8..647d8b34 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/NwaUserController.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/NwaUserController.java @@ -149,11 +149,10 @@ public class NwaUserController { /** * 不分页查询 - * @param user * @return */ @GetMapping("findAllUser") public R findAllUser(){ - return R.ok(nwaUserService.findAllUser()); + return R.ok(nwaUserService.findAllUser(CommonMethods.getSite())); } } \ No newline at end of file diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResrceController.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResrceController.java index 5ac59e01..a29ae89d 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResrceController.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/controller/ResrceController.java @@ -178,14 +178,7 @@ public class ResrceController { List result; try { String site = CommonMethods.getSite(); - String [] userArray = new String[1]; - if (StringUtils.notBlank(user)) { - if (user.contains(",")) { - userArray = user.split(","); - } else { - userArray[0] = user; - } - } + String []userArray = user.split(","); result = resrceService.getResourceListByUT(site, resourceType, userArray); } catch (Exception e) { return R.failed(e.getMessage()); diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/NwaUserMapper.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/NwaUserMapper.java index 379b7e72..4228e67b 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/NwaUserMapper.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/mapper/NwaUserMapper.java @@ -19,7 +19,7 @@ import java.util.List; public interface NwaUserMapper extends BaseMapper { NwaUser findUserByUserName(@Param("site")String site, @Param("user")String user); - List findAllUser(@Param("site")String site);; + List findAllUser(@Param("site")String site); List selectAllByUserGroups(@Param("site")String site,@Param("list")List list); diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/NwaUserService.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/NwaUserService.java index aee47346..8d6322f9 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/NwaUserService.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/NwaUserService.java @@ -28,7 +28,7 @@ public interface NwaUserService extends IService { NwaUser findUserByUserName(String id); - List findAllUser(); + List findAllUser(String site); /** diff --git a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/NwaUserServiceImpl.java b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/NwaUserServiceImpl.java index a2449279..31dbfd18 100644 --- a/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/NwaUserServiceImpl.java +++ b/meapi/src/main/java/com/foreverwin/mesnac/meapi/service/impl/NwaUserServiceImpl.java @@ -58,8 +58,7 @@ public class NwaUserServiceImpl extends ServiceImpl impl } @Override - public List findAllUser() { - String site = CommonMethods.getSite(); + public List findAllUser(String site) { return nwaUserMapper.findAllUser(site); } diff --git a/meapi/src/main/resources/mapper/NwaUserMapper.xml b/meapi/src/main/resources/mapper/NwaUserMapper.xml index 2c98a8d2..380ca1a0 100644 --- a/meapi/src/main/resources/mapper/NwaUserMapper.xml +++ b/meapi/src/main/resources/mapper/NwaUserMapper.xml @@ -321,7 +321,7 @@ 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 9f7b5e9f..ad6274f8 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 @@ -13,6 +13,7 @@ import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Controller; import org.springframework.web.bind.annotation.*; +import java.util.ArrayList; import java.util.List; import java.util.Map; @@ -76,9 +77,16 @@ public class PodTemplateController { if (StringUtil.isBlank(resrce)) { throw new BaseException("资源不能为空"); } - for (SfcDto sfcDto : sfcDtoList) { - podTemplateService.sfcComplete(sfcDto,resrce); + ArrayList sfcList = new ArrayList<>(); + try { + for (SfcDto sfcDto : sfcDtoList) { + String completeSfc = podTemplateService.sfcComplete(sfcDto, resrce); + sfcList.add(completeSfc); + } + }catch (Exception e){ + return R.failed(sfcList,e.getMessage()); } + return R.ok(); } diff --git a/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java b/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java index 14cd85eb..23bb03bd 100644 --- a/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java +++ b/production/src/main/java/com/foreverwin/mesnac/production/service/PodTemplateService.java @@ -16,7 +16,7 @@ public interface PodTemplateService { void sfcStart(Map map); - void sfcComplete(SfcDto sfcDto, String resrce); + String sfcComplete(SfcDto sfcDto, String resrce); void sendErp(String sfc, String stepId, BigDecimal qty, BigDecimal scrapQty, BigDecimal workHour); 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 142b35a4..03869e30 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 @@ -237,7 +237,7 @@ public class PodTemplateServiceImpl implements PodTemplateService { } @Override - public void sfcComplete(SfcDto sfcDto, String resrce) { + public String sfcComplete(SfcDto sfcDto, String resrce) { String site = CommonMethods.getSite(); String operation = sfcDto.getOperation(); Operation currentRevisionRef = operationService.getCurrentRevisionRef(site, operation); @@ -309,6 +309,7 @@ public class PodTemplateServiceImpl implements PodTemplateService { } catch (Exception e) { ExceptionUtil.throwException(e); } + return sfc; }