Merge remote-tracking branch 'origin/master'

master
赵嘉伟 4 years ago
commit af51295f35

@ -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;
}
}

@ -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;
}

@ -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<PrintLogMapper, PrintLog> 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<PrintLogMapper, PrintLog> 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<PrintLogMapper, PrintLog> i
public List<PrintLog> getPrintLogListByCondition(PrintLog printLog) {
return printLogMapper.getPrintLogListByCondition(printLog);
}
@Scheduled(cron = "0 0/3 20 * * ? ")
public void myTask(){
List<PrintLog> list = printLogService.list();
for (PrintLog printLog:list) {
printLog.setModifiedDateTime(LocalDateTime.now());
}
printLogService.updateBatchById(list);
}
}

@ -38,8 +38,8 @@ ws:
ftp:
host: 172.16.251.165
port: 21
username:
password:
username: mesftp
password: mesnac1@3
#打印服务
print:

@ -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<CallItem> 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));
}

@ -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")

@ -341,7 +341,8 @@ public class IssueItemServiceImpl extends ServiceImpl<IssueItemMapper, IssueItem
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
//查询匹配的叫料记录
List<CallItem> list = callItemService.findIssueMatchCallItemList(site, workOrder, blankingSize, resource, item);
// List<CallItem> list = callItemService.findIssueMatchCallItemList(site, workOrder, blankingSize, resource, item);
List<CallItem> list = callItemMapper.findIssueMatchCallItemListPda(site, workCenter, null, resource, item);
if (list == null || list.size() <= 0) {
throw BusinessException.build("根据发料数据未找到发料记录!");
}

@ -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<SfcDispatchMapper, SfcDi
@Autowired
private SfcService sfcService;
@Autowired
private ResrceService resrceService;
@Autowired
private RouterService routerService;
@Autowired
private NwaUserService nwaUserService;
@Autowired
private ResrceService resourceService;
@Autowired
private CallItemService callItemService;
@ -371,6 +370,15 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
//派工更新清单
List<SfcDispatch> list = new ArrayList<>();
//如果导入-查询所有用户
Map<String, List<NwaUser>> userMap = new HashMap<>();
if (DispatchStatusEnum.IMPORT.getCode().equals(type)) {
List<NwaUser> 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<SfcDispatchMapper, SfcDi
String dispatchNo = sfcDispatchDto.getDispatchNo();
String resourceType = sfcDispatchDto.getResourceType();
//派工保存
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.IMPORT.getCode().equals(type)) {
String handle = HandleEnum.SFC_DISPATCH.getHandle(site, dispatchNo);
@ -427,8 +417,71 @@ public class SfcDispatchServiceImpl extends ServiceImpl<SfcDispatchMapper, SfcDi
sfcDispatch.setHandle(handle);
//是否导入
sfcDispatch.setIsImport(Constants.BOOL_TRUE);
//导入的是人员名称-查找人员编号,设备
String employee = "";
String employeeDescription = sfcDispatchDto.getEmployee();
if (StringUtil.notBlank(employeeDescription)) {
String _employeeDescription;
String []employeeDescriptionArray = employeeDescription.split(",");
String []employeeArray = new String[employeeDescriptionArray.length];
for (int i = 0; i < employeeDescriptionArray.length; i++) {
_employeeDescription = employeeDescriptionArray[i];
List<NwaUser> _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<Resrce> 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<SfcDispatchMapper, SfcDi
}
//派工人员为多个(只要一个匹配)
String [] employeeArray = new String[1];
if (!employees.contains(",")) {
employeeArray[0] = employees;
} else {
employeeArray = employees.split(",");
}
String []employeeArray = employees.split(",");
Boolean isMatch = false;
for (int m = 0; m < employeeArray.length; m++) {
String employee = employeeArray[m];

@ -197,9 +197,10 @@ public class SurplusReturnServiceImpl extends ServiceImpl<SurplusReturnMapper, S
// {"ITEM":"500100010001","INVENTORY":"500100010001*20210721","ITEM_DESC":"测试物料","SUPPLIER":"BA002"}
PrintLog printLog = new PrintLog();
printLog.setHandle(UUID.randomUUID().toString());
printLog.setSfc(site);
printLog.setSite(site);
printLog.setCategory(Constants.PRINT_TYPE_EXM);
printLog.setPrintTemplate(Constants.PRINT_TYPE_EXM);
printLog.setPrintNum(0);
// 查询供应商
InventoryAssyData inventoryAssyData = new InventoryAssyData();
inventoryAssyData.setInventoryBo(inventoryBo);

@ -758,7 +758,7 @@
) WIP
LEFT JOIN Z_SFC_DISPATCH V1 ON V1.SITE = WIP.SITE AND V1.SFC = WIP.SFC AND V1.DISPATCH_SEQ = WIP.BEFORE_SEQ
LEFT JOIN Z_SFC_DISPATCH V2 ON V2.SITE = WIP.SITE AND V2.SFC = WIP.SFC AND V2.DISPATCH_SEQ = WIP.AFTER_SEQ
ORDER BY WIP.SHOP_ORDER
ORDER BY WIP.SHOP_ORDER, WIP.SFC, TO_NUMBER(WIP.DISPATCH_SEQ)
</select>
<update id="updateSfcDispatchStatus" >

@ -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()));
}
}

@ -178,14 +178,7 @@ public class ResrceController {
List<Resrce> 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());

@ -19,7 +19,7 @@ import java.util.List;
public interface NwaUserMapper extends BaseMapper<NwaUser> {
NwaUser findUserByUserName(@Param("site")String site, @Param("user")String user);
List<NwaUser> findAllUser(@Param("site")String site);;
List<NwaUser> findAllUser(@Param("site")String site);
List<NwaUser> selectAllByUserGroups(@Param("site")String site,@Param("list")List<String> list);

@ -28,7 +28,7 @@ public interface NwaUserService extends IService<NwaUser> {
NwaUser findUserByUserName(String id);
List<NwaUser> findAllUser();
List<NwaUser> findAllUser(String site);
/**

@ -58,8 +58,7 @@ public class NwaUserServiceImpl extends ServiceImpl<NwaUserMapper, NwaUser> impl
}
@Override
public List<NwaUser> findAllUser() {
String site = CommonMethods.getSite();
public List<NwaUser> findAllUser(String site) {
return nwaUserMapper.findAllUser(site);
}

@ -321,7 +321,7 @@
</if>
</select>
<select id="findAllUser" resultMap="BaseResultMap">
SELECT USER_NAME,FULL_NAME
SELECT USER_NAME, FULL_NAME
FROM Z_NWA_USER
WHERE SITE = #{site}
</select>

@ -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<String> 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();
}

@ -16,7 +16,7 @@ public interface PodTemplateService {
void sfcStart(Map<String, Object> 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);

@ -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;
}

Loading…
Cancel
Save