SAP报工增加生产日期

master
Yangwl 2 weeks ago
parent 93dbc28e75
commit 5f8b805cab

@ -9,10 +9,19 @@ public class SapRFW {
private String aufnr; private String aufnr;
private String gamng; private String gamng;
private String anzma; private String anzma;
private String budat;
private String remark; private String remark;
private lt_gs lt_gs; private lt_gs lt_gs;
private List<lt_hw> lt_hwList; private List<lt_hw> lt_hwList;
public String getBudat() {
return budat;
}
public void setBudat(String budat) {
this.budat = budat;
}
public String getRemark() { public String getRemark() {
return remark; return remark;
} }

@ -159,4 +159,11 @@ public class DateUtils extends org.apache.commons.lang3.time.DateUtils {
ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault()); ZonedDateTime zdt = localDateTime.atZone(ZoneId.systemDefault());
return Date.from(zdt.toInstant()); return Date.from(zdt.toInstant());
} }
public static String formatToYYYYMMDD(String inputDate, String inputFormat) throws Exception {
SimpleDateFormat inputFormatter = new SimpleDateFormat(inputFormat);
SimpleDateFormat outputFormatter = new SimpleDateFormat("yyyyMMdd");
Date date = inputFormatter.parse(inputDate);
return outputFormatter.format(date);
}
} }

@ -29,6 +29,7 @@ public class MesReportWork extends BaseEntity {
@Excel(name = "生产工单编码") @Excel(name = "生产工单编码")
private String workorderCode; private String workorderCode;
/** SAP订单号 */ /** SAP订单号 */
@Excel(name = "SAP订单号") @Excel(name = "SAP订单号")
private String workorderCodeSap; private String workorderCodeSap;

@ -36,6 +36,7 @@ import org.springframework.util.CollectionUtils;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.math.RoundingMode; import java.math.RoundingMode;
import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.LocalDateTime; import java.time.LocalDateTime;
import java.time.LocalTime; import java.time.LocalTime;
@ -580,11 +581,12 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
} }
} }
return sapRson; return sapRson;
}finally { } catch (Exception e) {
return R.fail("报工失败:"+e.getMessage());
} finally {
DynamicDataSourceContextHolder.poll(); DynamicDataSourceContextHolder.poll();
} }
} }
@Override @Override
@ -808,7 +810,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
* @param workOrder * @param workOrder
* @return * @return
*/ */
private R reportHzToSap(MesReportWork workOrder) { private R reportHzToSap(MesReportWork workOrder) throws Exception {
Date nowTime = DateUtils.getNowDate(); Date nowTime = DateUtils.getNowDate();
SapRFW sapRFW = new SapRFW(); SapRFW sapRFW = new SapRFW();
sapRFW.setAufnr(workOrder.getWorkorderCodeSap());//虚拟工单号 sapRFW.setAufnr(workOrder.getWorkorderCodeSap());//虚拟工单号
@ -847,6 +849,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
} }
sapRFW.setLt_hwList(lt_hwList); sapRFW.setLt_hwList(lt_hwList);
sapRFW.setAnzma(workOrder.getSapCode());//产线编号 sapRFW.setAnzma(workOrder.getSapCode());//产线编号
sapRFW.setBudat(DateUtils.formatToYYYYMMDD(workOrder.getProductDate(),"yyyy-MM-dd"));
sapRFW.setRemark(workOrder.getRemark());//备注 sapRFW.setRemark(workOrder.getRemark());//备注
logger.info(workOrder.getWorkorderCodeSap() + "sap工单报工请求" + JSONObject.toJSONString(sapRFW)); logger.info(workOrder.getWorkorderCodeSap() + "sap工单报工请求" + JSONObject.toJSONString(sapRFW));
R r = remoteSapService.sapRFWOrder(sapRFW); R r = remoteSapService.sapRFWOrder(sapRFW);
@ -872,7 +875,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
* @param workOrder * @param workOrder
* @return * @return
*/ */
private R reportHzToSap3(MesReportWork workOrder) { private R reportHzToSap3(MesReportWork workOrder) throws Exception {
Date nowTime = DateUtils.getNowDate(); Date nowTime = DateUtils.getNowDate();
SapRFW sapRFW = new SapRFW(); SapRFW sapRFW = new SapRFW();
sapRFW.setAufnr(workOrder.getWorkorderCodeSap());//虚拟工单号 sapRFW.setAufnr(workOrder.getWorkorderCodeSap());//虚拟工单号
@ -909,6 +912,7 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
} }
sapRFW.setLt_hwList(lt_hwList); sapRFW.setLt_hwList(lt_hwList);
sapRFW.setAnzma(workOrder.getSapCode());//产线编号 sapRFW.setAnzma(workOrder.getSapCode());//产线编号
sapRFW.setBudat(DateUtils.formatToYYYYMMDD(workOrder.getProductDate(),"yyyy-MM-dd"));
sapRFW.setRemark(workOrder.getRemark());//备注 sapRFW.setRemark(workOrder.getRemark());//备注
logger.info(workOrder.getWorkorderCodeSap() + "sap工单报工请求" + JSONObject.toJSONString(sapRFW)); logger.info(workOrder.getWorkorderCodeSap() + "sap工单报工请求" + JSONObject.toJSONString(sapRFW));
//R r= R.ok(); //R r= R.ok();
@ -1310,18 +1314,18 @@ public class IWCInterfaceServiceImpl implements IWCSInterfaceService {
} }
public static void main(String args[]){ // public static void main(String args[]){
List<String> days = new ArrayList<>(); // List<String> days = new ArrayList<>();
// 获取当前日期 // // 获取当前日期
LocalDate today = LocalDate.now(); // LocalDate today = LocalDate.now();
// 定义一个日期格式化器 // // 定义一个日期格式化器
DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd"); // DateTimeFormatter formatter = DateTimeFormatter.ofPattern("yyyy-MM-dd");
// 打印最近七天的日期 // // 打印最近七天的日期
for (int i = 0; i < 7; i++) { // for (int i = 0; i < 7; i++) {
LocalDate date = today.minusDays(i); // LocalDate date = today.minusDays(i);
days.add(date.format(formatter)); // days.add(date.format(formatter));
} // }
Collections.reverse(days); // Collections.reverse(days);
System.out.println(days); // System.out.println(days);
} // }
} }

@ -706,6 +706,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
select select
ow.workorder_code workorderCode, ow.workorder_code workorderCode,
ow.workorder_code_sap workorderCodeSap, ow.workorder_code_sap workorderCodeSap,
ow.product_date,
mrw.quantity_feedback quantityFeedback, mrw.quantity_feedback quantityFeedback,
mrw.product_code productCode, mrw.product_code productCode,
mrw.product_name productName, mrw.product_name productName,

@ -17,18 +17,32 @@ import com.op.sap.mapper.SapBaseProductMapper;
import com.op.sap.service.SapItemSyncService; import com.op.sap.service.SapItemSyncService;
import com.op.system.api.RemoteUserService; import com.op.system.api.RemoteUserService;
import com.sap.conn.jco.*; import com.sap.conn.jco.*;
import org.apache.poi.ss.usermodel.Sheet;
import org.apache.poi.ss.usermodel.Workbook;
import org.apache.poi.ss.usermodel.WorkbookFactory;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component; import org.springframework.stereotype.Component;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import javax.print.*;
import javax.print.attribute.HashPrintRequestAttributeSet;
import javax.print.attribute.standard.Copies;
import javax.print.attribute.standard.MediaSizeName;
import javax.validation.Validator; import javax.validation.Validator;
import java.awt.*;
import java.awt.print.PageFormat;
import java.awt.print.Printable;
import java.io.File;
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.math.BigDecimal; import java.math.BigDecimal;
import java.text.SimpleDateFormat; import java.text.SimpleDateFormat;
import java.time.LocalDate; import java.time.LocalDate;
import java.time.format.DateTimeFormatter; import java.time.format.DateTimeFormatter;
import java.util.*; import java.util.*;
import java.util.List;
@Component @Component
@Service @Service
@ -1380,5 +1394,5 @@ public class SapItemSyncImpl implements SapItemSyncService {
} }
} }
} }

@ -294,6 +294,8 @@ public class SapOrderServiceImpl implements SapOrderService {
jCoParameterList.setValue("P_ANZMA", sapRFW.getAnzma()); jCoParameterList.setValue("P_ANZMA", sapRFW.getAnzma());
//备注 //备注
jCoParameterList.setValue("P_TEXT", sapRFW.getRemark()); jCoParameterList.setValue("P_TEXT", sapRFW.getRemark());
//记账日期格式为YYYYMMDD
jCoParameterList.setValue("P_BUDAT", sapRFW.getBudat());
if (sapRFW.getLt_gs() == null) { if (sapRFW.getLt_gs() == null) {
return R.fail("生产订单报工工时为空"); return R.fail("生产订单报工工时为空");
} }

Loading…
Cancel
Save