批量导入更改工艺路线

master
yinq 2 years ago
parent e8f4e2a37b
commit e2c619a0ad

@ -196,35 +196,6 @@ public class ShopOrderReleaseController {
} }
/**
* BOM
* @param fileType
* @param site
* @param user
* @param multipartFile
* @return
*/
@PostMapping("/import")
public R importFile(@PathParam("fileType") String fileType, @Param("site") String site, @Param("user") String user, @RequestParam("file") MultipartFile multipartFile) {
Boolean flag;
StringBuffer message = new StringBuffer();
try {
flag = shopOrderReleaseService.importRouter(site, user, fileType, message, multipartFile);
} catch (Exception e) {
return R.failed(e.getMessage());
}
if (flag) {
message.insert(0, "工单编号导入成功");
return R.ok(message.toString());
} else {
message.insert(0, "工单编号导入失败:");
return R.failed(message.toString());
}
}
/** /**
* 线 * 线
*/ */

@ -51,17 +51,6 @@ public interface ShopOrderReleaseService {
*/ */
List<ShopOrderRelease> findShopOrderListBatchUpdate(ShopOrderRelease shopOrderRelease); List<ShopOrderRelease> findShopOrderListBatchUpdate(ShopOrderRelease shopOrderRelease);
/**
*
*
* @param site
* @param user
* @param fileType
* @param message
* @param multipartFile
*/
Boolean importRouter(String site, String user, String fileType, StringBuffer message, MultipartFile multipartFile) throws Exception;
/** /**
* - BOM * - BOM

@ -26,6 +26,7 @@ import com.foreverwin.modular.core.exception.BaseException;
import com.foreverwin.modular.core.exception.BusinessException; import com.foreverwin.modular.core.exception.BusinessException;
import com.foreverwin.modular.core.meext.MEServices; import com.foreverwin.modular.core.meext.MEServices;
import com.foreverwin.modular.core.util.CommonMethods; import com.foreverwin.modular.core.util.CommonMethods;
import com.foreverwin.modular.core.util.R;
import com.sap.me.demand.ReleaseShopOrderRequest; import com.sap.me.demand.ReleaseShopOrderRequest;
import com.sap.me.demand.ReleaseShopOrderResponse; import com.sap.me.demand.ReleaseShopOrderResponse;
import com.sap.me.demand.ReleasedSfc; import com.sap.me.demand.ReleasedSfc;
@ -36,6 +37,7 @@ import com.sap.me.production.ChangeProductionContext;
import com.sap.me.production.ChangeProductionRequest; import com.sap.me.production.ChangeProductionRequest;
import com.sap.me.production.ChangeProductionServiceInterface; import com.sap.me.production.ChangeProductionServiceInterface;
import com.sap.me.production.OperationPlacementTypeEnum; import com.sap.me.production.OperationPlacementTypeEnum;
import org.apache.commons.fileupload.FileItem;
import org.apache.commons.net.ftp.FTPClient; import org.apache.commons.net.ftp.FTPClient;
import org.apache.ibatis.exceptions.PersistenceException; import org.apache.ibatis.exceptions.PersistenceException;
import org.apache.ibatis.executor.BatchExecutorException; import org.apache.ibatis.executor.BatchExecutorException;
@ -44,7 +46,9 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import org.springframework.transaction.interceptor.TransactionAspectSupport; import org.springframework.transaction.interceptor.TransactionAspectSupport;
import org.springframework.web.multipart.MultipartFile; import org.springframework.web.multipart.MultipartFile;
import org.springframework.web.multipart.commons.CommonsMultipartFile;
import javax.servlet.http.HttpServletRequest;
import java.io.IOException; import java.io.IOException;
import java.io.InputStream; import java.io.InputStream;
import java.math.BigDecimal; import java.math.BigDecimal;
@ -69,7 +73,7 @@ import static com.foreverwin.modular.core.meext.PapiServiceEnum.NCProductionServ
* Create Time: 2021/06/02 * Create Time: 2021/06/02
*/ */
@Service @Service("ShopOrderReleaseService")
@Transactional(rollbackFor = Exception.class) @Transactional(rollbackFor = Exception.class)
public class ShopOrderReleaseServiceImpl implements ShopOrderReleaseService { public class ShopOrderReleaseServiceImpl implements ShopOrderReleaseService {
@ -113,37 +117,50 @@ public class ShopOrderReleaseServiceImpl implements ShopOrderReleaseService {
/** /**
* *
* @param site *
* @param user * @param fileItem
* @param fileType * @param req
* @param message
* @param multipartFile
* @return * @return
* @throws Exception * @throws Exception
*/ */
@Override @Transactional(rollbackFor = Exception.class)
public Boolean importRouter(String site, String user, String fileType, StringBuffer message, MultipartFile multipartFile) throws Exception { public R importRouter(FileItem fileItem, HttpServletRequest req) throws Exception {
InputStream inputStream = null; String fileType = req.getParameter("fileType");
String site = req.getParameter("site");
CommonMethods.setSite(site);
//工单List //工单List
List<shopOrderReleaseDto> shopOrderList; List<shopOrderReleaseDto> shopOrderList;
List<ShopOrderRelease> shopOrderReleaseList = new ArrayList<ShopOrderRelease>();
try { try {
CommonsMultipartFile multipartFile = new CommonsMultipartFile(fileItem);
shopOrderList = ExcelUtils.readExcel(fileType, shopOrderReleaseDto.class, multipartFile, null); shopOrderList = ExcelUtils.readExcel(fileType, shopOrderReleaseDto.class, multipartFile, null);
} finally { if (shopOrderList == null || shopOrderList.size() <= 0) {
if (inputStream != null){ return R.failed("上传的Excel没有数据或者数据格式不正确Excel顶端标题行为:工单编号)!");
try {
inputStream.close(); } else {
} catch (IOException e) { //导入数据成功
e.printStackTrace(); for (shopOrderReleaseDto orderReleaseDto : shopOrderList) {
if (!orderReleaseDto.getShopOrder().substring(0, 1).equals("Q") && !orderReleaseDto.getShopOrder().substring(0, 3).equals("000")) {
orderReleaseDto.setShopOrder("000" + orderReleaseDto.getShopOrder());
}
ShopOrderRelease orderRelease = new ShopOrderRelease();
orderRelease.setSite(site);
orderRelease.setShopOrder(orderReleaseDto.getShopOrder());
//判断系统是否存在此工单编号
List<ShopOrderRelease> shopOrderListBatchUpdate = this.findShopOrderListBatchUpdate(orderRelease);
if (shopOrderListBatchUpdate.size() == 1) {
shopOrderReleaseList.add(shopOrderListBatchUpdate.get(0));
} else {
return R.failed("此工单编号不存在:" + orderReleaseDto.getShopOrder());
}
} }
Boolean result = this.changerouterRevision(shopOrderReleaseList, new StringBuffer(), "A");
return R.ok(result);
} }
} catch (Exception e) {
e.printStackTrace();
return R.failed(e.getMessage());
} }
if (shopOrderList == null || shopOrderList.size() <= 0) {
throw BusinessException.build("上传的Excel没有数据或者数据格式不正确");
}else {
//导入数据成功
return true;
}
} }

Loading…
Cancel
Save