|
|
@@ -352,7 +352,7 @@ public class SaleInterfaceSyncServiceImpl extends ServiceImpl<SaleInterfaceSyncM
|
|
|
|
|
|
@Override
|
|
|
@Transactional(rollbackFor = Exception.class)
|
|
|
- public Result<String> actionSyncOrder(Collection<? extends Serializable> idList) {
|
|
|
+ public synchronized Result<String> actionSyncOrder(Collection<? extends Serializable> idList) {
|
|
|
|
|
|
QueryWrapper<SaleInterfaceSync> entityQuery = new QueryWrapper<>();
|
|
|
entityQuery.in("id", idList);
|
|
|
@@ -669,6 +669,9 @@ public class SaleInterfaceSyncServiceImpl extends ServiceImpl<SaleInterfaceSyncM
|
|
|
case "10":
|
|
|
parseAnglo(file);
|
|
|
break;
|
|
|
+ case "12":
|
|
|
+ OMAN(file);
|
|
|
+ break;
|
|
|
default:
|
|
|
return;
|
|
|
}
|
|
|
@@ -850,7 +853,8 @@ public class SaleInterfaceSyncServiceImpl extends ServiceImpl<SaleInterfaceSyncM
|
|
|
SaleInterfaceItem saleInterfaceItem = new SaleInterfaceItem();
|
|
|
saleInterfaceItem.setDescription(jsonObject.getString("Description"));
|
|
|
saleInterfaceItem.setQuantity(jsonObject.getString("Quantity"));
|
|
|
- saleInterfaceItem.setSyncItemCode(jsonObject.getString("Item Code/Part"));
|
|
|
+ saleInterfaceItem.setSupplierPartNumber(jsonObject.getString("Item Code/Part"));
|
|
|
+// saleInterfaceItem.setSyncItemCode(jsonObject.getString("Item Code/Part"));
|
|
|
saleInterfaceItem.setUnitOfMeasure(jsonObject.getString("UoM") == null ? "" : jsonObject.getString("UoM").toUpperCase());
|
|
|
saleInterfaceItem.setHeadId(id);
|
|
|
saleInterfaceItemMapper.insert(saleInterfaceItem);
|
|
|
@@ -1489,6 +1493,144 @@ public class SaleInterfaceSyncServiceImpl extends ServiceImpl<SaleInterfaceSyncM
|
|
|
}
|
|
|
|
|
|
|
|
|
+ }
|
|
|
+
|
|
|
+ public void OMAN(MultipartFile file) throws Exception {
|
|
|
+ try {
|
|
|
+
|
|
|
+ SaleInterfaceSync saleInterfaceSync = new SaleInterfaceSync();
|
|
|
+ List<SaleInterfaceItem> saleInterfaceItemList = new ArrayList<>();
|
|
|
+
|
|
|
+ LoginUser sysUser = (LoginUser) SecurityUtils.getSubject().getPrincipal();
|
|
|
+ String id = UUIDGenerator.generate();
|
|
|
+ saleInterfaceSync.setId(id);
|
|
|
+ saleInterfaceSync.setCreateBy(sysUser.getUsername());
|
|
|
+
|
|
|
+ InputStream inputStream = file.getInputStream();
|
|
|
+ Workbook workbook = WorkbookFactory.create(inputStream);
|
|
|
+ Sheet sheet = workbook.getSheetAt(0);
|
|
|
+
|
|
|
+ String Remarks = "";
|
|
|
+
|
|
|
+ for(int index = 0; index <= sheet.getLastRowNum(); index ++) {
|
|
|
+ if(index == 4 || index == 5){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+ Row row = sheet.getRow(index);
|
|
|
+ if(index == 0){
|
|
|
+ Cell cell = row.getCell(11);
|
|
|
+ if(cell !=null && Strings.isNotBlank(cell.getStringCellValue())) {
|
|
|
+ String vessel = cell.getStringCellValue();
|
|
|
+ saleInterfaceSync.setVesselCode(vessel);
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ if(index == 1){
|
|
|
+ Cell cell = row.getCell(17);
|
|
|
+ if(cell !=null && Strings.isNotBlank(cell.getStringCellValue())) {
|
|
|
+ String buyerName = cell.getStringCellValue();
|
|
|
+ saleInterfaceSync.setBuyerName(buyerName);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ if(index == 2){
|
|
|
+ Cell cell = row.getCell(11);
|
|
|
+ if(cell !=null && Strings.isNotBlank(cell.getStringCellValue())) {
|
|
|
+ String quotation = cell.getStringCellValue();
|
|
|
+ saleInterfaceSync.setReferenceNumber(quotation);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ if(index == 3){
|
|
|
+ Cell cell = row.getCell(11);
|
|
|
+ if(cell !=null && Strings.isNotBlank(cell.getStringCellValue())) {
|
|
|
+ String currency = cell.getStringCellValue();
|
|
|
+ saleInterfaceSync.setCurrencyCode(currency);
|
|
|
+ }
|
|
|
+
|
|
|
+ Cell cell5 = row.getCell(15);
|
|
|
+ if(cell5 !=null && Strings.isNotBlank(cell5.getStringCellValue())) {
|
|
|
+ String validUntil = cell5.getStringCellValue();
|
|
|
+ SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy", Locale.ENGLISH); // 注意这里的格式要和输入的字符串格式对应
|
|
|
+ try {
|
|
|
+ Date date = sdf.parse(validUntil);
|
|
|
+ saleInterfaceSync.setAdviseBeforeDate(date);
|
|
|
+ } catch (ParseException e) {
|
|
|
+ e.printStackTrace();
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(index < 6){
|
|
|
+ continue;
|
|
|
+ }
|
|
|
+
|
|
|
+ Cell cell = row.getCell(10);
|
|
|
+ Cell cell11 = row.getCell(11);
|
|
|
+ if((cell == null || Strings.isBlank(cell.getStringCellValue())) && (cell11 == null || Strings.isBlank(cell11.getStringCellValue()))){
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ if(cell == null || Strings.isBlank(cell.getStringCellValue())) {
|
|
|
+ if(Strings.isNotBlank(cell11.getStringCellValue())) {
|
|
|
+ String demo = cell11.getStringCellValue();
|
|
|
+ Remarks = Remarks + demo;
|
|
|
+ }
|
|
|
+
|
|
|
+ }else{
|
|
|
+
|
|
|
+ SaleInterfaceItem interfaceItem = new SaleInterfaceItem();
|
|
|
+ interfaceItem.setHeadId(id);
|
|
|
+
|
|
|
+ String itemCode = cell.getStringCellValue();
|
|
|
+ interfaceItem.setSupplierPartNumber(itemCode);
|
|
|
+
|
|
|
+ Cell cell1 = row.getCell(11);
|
|
|
+ if(cell1!=null && StringUtils.isNotBlank(cell1.getStringCellValue())){
|
|
|
+
|
|
|
+ String description = cell1.getStringCellValue();
|
|
|
+ interfaceItem.setDescription(description);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ Cell cell2 = row.getCell(12);
|
|
|
+ if(cell2!=null && StringUtils.isNotBlank(cell2.getStringCellValue())){
|
|
|
+
|
|
|
+ String quantity = cell2.getStringCellValue();
|
|
|
+ interfaceItem.setQuantity(quantity);
|
|
|
+ }
|
|
|
+
|
|
|
+ Cell cell3 = row.getCell(13);
|
|
|
+ if(cell3!=null && StringUtils.isNotBlank(cell3.getStringCellValue())){
|
|
|
+
|
|
|
+ String unit = cell3.getStringCellValue();
|
|
|
+ interfaceItem.setUnitOfMeasure(unit);
|
|
|
+ }
|
|
|
+
|
|
|
+ interfaceItem.setComment(Remarks);
|
|
|
+
|
|
|
+ saleInterfaceItemList.add(interfaceItem);
|
|
|
+
|
|
|
+ Remarks = "";
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ if(saleInterfaceItemList.size() > 0){
|
|
|
+ saleInterfaceSyncMapper.insert(saleInterfaceSync);
|
|
|
+ for (SaleInterfaceItem o:saleInterfaceItemList){
|
|
|
+
|
|
|
+ saleInterfaceItemMapper.insert(o);
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
+ inputStream.close();
|
|
|
+ } catch (Exception e) {
|
|
|
+ log.error("导入出错", e);
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
|
|
|
public void parseTechnava(MultipartFile file) throws Exception{
|