Browse Source

对账单更新来源数据时候,主键字段错误修正

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@4499 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
shenj 10 years ago
parent
commit
11f02496ac

+ 63 - 63
src/main/java/com/uas/platform/b2b/service/impl/PurchaseApCheckServiceImpl.java

@@ -48,19 +48,19 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
 
 	@Autowired
 	PurchaseApCheckDao purchaseApCheckDao;
-	
+
 	@Autowired
 	PurchaseApCheckTodoDao purchaseApCheckTodoDao;
-	
+
 	@Autowired
 	PurchaseApCheckDoneDao purchaseApCheckDoneDao;
-	
+
 	@Autowired
 	PurchaseApCheckEndDao purchaseApCheckEndDao;
 
 	@Autowired
 	PurchaseApCheckItemDao purchaseApCheckItemDao;
-	
+
 	@Autowired
 	PurchaseApCheckIndexDao purchaseApCheckIndexDao;
 
@@ -70,7 +70,7 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
 	@Override
 	public List<PurchaseApCheck> findNotUploadAPcheck() {
 		return purchaseApCheckDao.findByCustUuAndStatusAndCheckStatus(SystemSession.getUser().getEnterprise().getUu(),
-				(short) Status.NOT_UPLOAD.value(),"未对账");
+				(short) Status.NOT_UPLOAD.value(), "未对账");
 	}
 
 	@Override
@@ -89,7 +89,7 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
 		if (checkItems != null && checkItems.size() > 0) {
 			purchaseApCheckItemDao.save(checkItems);
 		} else {
-			
+
 		}
 	}
 
@@ -129,8 +129,8 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
 						idName = "mri_id";
 						yCheckQtyName = "mri_ycheckqty";
 					}
-					String sql = "update " + sourceTable + " set " + yCheckQtyName + " = " + newYCheckQtyVal + " where "
-							+ idName + " = " + sourceIdVal;
+					String sql = "update " + sourceTable + " set " + yCheckQtyName + " = " + newYCheckQtyVal + " where " + idName + " = "
+							+ sourceIdVal;
 					jdbcTemplate.execute(sql);
 				}
 			}
@@ -140,12 +140,12 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
 		}
 		return false;
 	}
-	
+
 	@Override
 	public PurchaseApCheck findById(Long id) {
 		return purchaseApCheckDao.findOne(id);
 	}
-	
+
 	@Override
 	public void updateYCheckQty(List<HashMap<String, Object>> list) {
 		if (!CollectionUtils.isEmpty(list)) {
@@ -184,8 +184,8 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
 					idName = "mri_id";
 					yCheckQtyName = "mri_ycheckqty";
 				}
-				String sql = "update " + sourceTable + " set " + yCheckQtyName + " = " + newYCheckQtyVal + " where "
-						+ idName + " = " + sourceIdVal;
+				String sql = "update " + sourceTable + " set " + yCheckQtyName + " = " + newYCheckQtyVal + " where " + idName + " = "
+						+ sourceIdVal;
 				jdbcTemplate.execute(sql);
 
 			}
@@ -200,17 +200,17 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
 	@Override
 	public boolean updateApCheckStatus(Long id) {
 		PurchaseApCheck apCheck = purchaseApCheckDao.findOne(id);
-		if(apCheck != null ) {
-			for(PurchaseApCheckItem item : apCheck.getItems()) {
+		if (apCheck != null) {
+			for (PurchaseApCheckItem item : apCheck.getItems()) {
 				String sourceTable = item.getSourceTable();
 				String idName = null;
-				List<String> list = getSourceInfo(sourceTable,idName,"");
-				if(list != null && list.size() == 3) {
-					String sql = "select count(0) from " + item.getSourceTable() +" where " + list.get(1) +"=" + item.getSourceId();
-					Integer count = jdbcTemplate.queryForObject(sql,Integer.class);
-					if(count == 0) {
+				List<String> list = getSourceInfo(sourceTable, idName, "");
+				if (list != null && list.size() == 3) {
+					String sql = "select count(0) from " + item.getSourceTable() + " where " + list.get(1) + "=" + item.getSourceId();
+					Integer count = jdbcTemplate.queryForObject(sql, Integer.class);
+					if (count == 0) {
 						apCheck.setStatus((short) Status.DISABLED.value());
-						purchaseApCheckDao.save(apCheck);	
+						purchaseApCheckDao.save(apCheck);
 						return false;
 					}
 				}
@@ -218,10 +218,9 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
 		}
 		Short stu = (short) Status.NOT_UPLOAD.value();
 		apCheck.setStatus(stu);
-		purchaseApCheckDao.save(apCheck);	
+		purchaseApCheckDao.save(apCheck);
 		return true;
 	}
-	
 
 	@Override
 	@Transactional
@@ -234,7 +233,7 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
 		purchaseApCheck.setRecorder(SystemSession.getUser().getUserName());
 		Short number = 0;
 		List<PurchaseApCheckItem> items = new ArrayList<PurchaseApCheckItem>();
-		//保存成功的同时来源单据更新一下
+		// 保存成功的同时来源单据更新一下
 		List<SourceForApcheck> sources = new ArrayList<>();
 		for (PurchaseApCheckItem item : purchaseApCheck.getItems()) {
 			SourceForApcheck source = new SourceForApcheck(item);
@@ -251,15 +250,15 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
 		// TODO 把items转成主记录的形式
 		return purchaseApCheck;
 	}
-	
+
 	public boolean updateSourceInfo(List<SourceForApcheck> list) {
-		if(!CollectionUtils.isEmpty(list)) {
-			for(SourceForApcheck source : list) {
-				if(source.hasInfo()) {
+		if (!CollectionUtils.isEmpty(list)) {
+			for (SourceForApcheck source : list) {
+				if (source.hasInfo()) {
 					String idName = null;
 					String yCheckQtyName = null;
 					if (source.getSourceTable().equals("purc$returnitem")) {
-						idName = "pai_id";
+						idName = "pri_id";
 						yCheckQtyName = "pri_ycheckqty";
 					} else if (source.getSourceTable().equals("purc$acceptitem")) {
 						idName = "pai_id";
@@ -267,18 +266,18 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
 					} else if (source.getSourceTable().equals("purc$badinitem")) {
 						idName = "pbi_id";
 						yCheckQtyName = "pbi_ycheckqty";
-					} else if (source.getSourceTable().equals( "purc$badoutitem")) {
+					} else if (source.getSourceTable().equals("purc$badoutitem")) {
 						idName = "poi_id";
 						yCheckQtyName = "poi_ycheckqty";
-					} else if (source.getSourceTable().equals( "make$acceptitem")) {
+					} else if (source.getSourceTable().equals("make$acceptitem")) {
 						idName = "mai_id";
 						yCheckQtyName = "mai_ycheckqty";
-					} else if (source.getSourceTable().equals( "make$returnitem")) {
+					} else if (source.getSourceTable().equals("make$returnitem")) {
 						idName = "mri_id";
 						yCheckQtyName = "mri_ycheckqty";
 					}
-					String sql = "update " + source.getSourceTable() + " set " + yCheckQtyName + " = " + source.getNewYCheckQty() + " where "
-							+ idName + " = " + source.getSourceId();
+					String sql = "update " + source.getSourceTable() + " set " + yCheckQtyName + " = " + source.getNewYCheckQty()
+							+ " where " + idName + " = " + source.getSourceId();
 					jdbcTemplate.execute(sql);
 				} else {
 					throw new IllegalOperatorException("保存失败!");
@@ -291,91 +290,92 @@ public class PurchaseApCheckServiceImpl implements PurchaseApCheckService {
 
 	@Override
 	public Page<PurchaseApCheck> findAllByPageInfo(final PageInfo pageInfo, final String keyword, SearchFilter searchFilter) {
-		if(searchFilter != null) {
-			if(searchFilter.getFromDate() != null)
+		if (searchFilter != null) {
+			if (searchFilter.getFromDate() != null)
 				pageInfo.expression(PredicateUtils.gte("recordDate", new Date(searchFilter.getFromDate()), false));
-			if(searchFilter.getEndDate() != null)
+			if (searchFilter.getEndDate() != null)
 				pageInfo.expression(PredicateUtils.lte("recordDate", new Date(searchFilter.getEndDate()), false));
 		}
 		return purchaseApCheckDao.findAll(new Specification<PurchaseApCheck>() {
 			public Predicate toPredicate(Root<PurchaseApCheck> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
-				if(StringUtils.hasText(keyword)) {
-					pageInfo.expression(PredicateUtils.in("id", purchaseApCheckIndexDao.findByKeyword(
-							SystemSession.getUser().getEnterprise().getUu(), keyword), false));
+				if (StringUtils.hasText(keyword)) {
+					pageInfo.expression(PredicateUtils.in("id",
+							purchaseApCheckIndexDao.findByKeyword(SystemSession.getUser().getEnterprise().getUu(), keyword), false));
 				}
 				query.where(pageInfo.getPredicates(root, query, builder));
 				return null;
 			}
 		}, pageInfo);
 	}
-	
+
 	public Page<PurchaseApCheckTodo> findTodoByPageInfo(final PageInfo pageInfo, final String keyword, SearchFilter searchFilter) {
-		if(searchFilter != null) {
-			if(searchFilter.getFromDate() != null)
+		if (searchFilter != null) {
+			if (searchFilter.getFromDate() != null)
 				pageInfo.expression(PredicateUtils.gte("recordDate", new Date(searchFilter.getFromDate()), false));
-			if(searchFilter.getEndDate() != null)
+			if (searchFilter.getEndDate() != null)
 				pageInfo.expression(PredicateUtils.lte("recordDate", new Date(searchFilter.getEndDate()), false));
 		}
 		return purchaseApCheckTodoDao.findAll(new Specification<PurchaseApCheckTodo>() {
 			public Predicate toPredicate(Root<PurchaseApCheckTodo> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
-				if(StringUtils.hasText(keyword)) {
-					pageInfo.expression(PredicateUtils.in("id", purchaseApCheckIndexDao.findByKeyword(
-							SystemSession.getUser().getEnterprise().getUu(), keyword), false));
+				if (StringUtils.hasText(keyword)) {
+					pageInfo.expression(PredicateUtils.in("id",
+							purchaseApCheckIndexDao.findByKeyword(SystemSession.getUser().getEnterprise().getUu(), keyword), false));
 				}
 				query.where(pageInfo.getPredicates(root, query, builder));
 				return null;
 			}
 		}, pageInfo);
 	}
-	
+
 	public Page<PurchaseApCheckDone> findDoneByPageInfo(final PageInfo pageInfo, final String keyword, SearchFilter searchFilter) {
-		if(searchFilter != null) {
-			if(searchFilter.getFromDate() != null)
+		if (searchFilter != null) {
+			if (searchFilter.getFromDate() != null)
 				pageInfo.expression(PredicateUtils.gte("recordDate", new Date(searchFilter.getFromDate()), false));
-			if(searchFilter.getEndDate() != null)
+			if (searchFilter.getEndDate() != null)
 				pageInfo.expression(PredicateUtils.lte("recordDate", new Date(searchFilter.getEndDate()), false));
 		}
 		return purchaseApCheckDoneDao.findAll(new Specification<PurchaseApCheckDone>() {
 			public Predicate toPredicate(Root<PurchaseApCheckDone> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
-				if(StringUtils.hasText(keyword)) {
-					pageInfo.expression(PredicateUtils.in("id", purchaseApCheckIndexDao.findByKeyword(
-							SystemSession.getUser().getEnterprise().getUu(), keyword), false));
+				if (StringUtils.hasText(keyword)) {
+					pageInfo.expression(PredicateUtils.in("id",
+							purchaseApCheckIndexDao.findByKeyword(SystemSession.getUser().getEnterprise().getUu(), keyword), false));
 				}
 				query.where(pageInfo.getPredicates(root, query, builder));
 				return null;
 			}
 		}, pageInfo);
 	}
-	
+
 	public Page<PurchaseApCheckEnd> findEndByPageInfo(final PageInfo pageInfo, final String keyword, SearchFilter searchFilter) {
-		if(searchFilter != null) {
-			if(searchFilter.getFromDate() != null)
+		if (searchFilter != null) {
+			if (searchFilter.getFromDate() != null)
 				pageInfo.expression(PredicateUtils.gte("recordDate", new Date(searchFilter.getFromDate()), false));
-			if(searchFilter.getEndDate() != null)
+			if (searchFilter.getEndDate() != null)
 				pageInfo.expression(PredicateUtils.lte("recordDate", new Date(searchFilter.getEndDate()), false));
 		}
 		return purchaseApCheckEndDao.findAll(new Specification<PurchaseApCheckEnd>() {
 			public Predicate toPredicate(Root<PurchaseApCheckEnd> root, CriteriaQuery<?> query, CriteriaBuilder builder) {
-				if(StringUtils.hasText(keyword)) {
-					pageInfo.expression(PredicateUtils.in("id", purchaseApCheckIndexDao.findByKeyword(
-							SystemSession.getUser().getEnterprise().getUu(), keyword), false));
+				if (StringUtils.hasText(keyword)) {
+					pageInfo.expression(PredicateUtils.in("id",
+							purchaseApCheckIndexDao.findByKeyword(SystemSession.getUser().getEnterprise().getUu(), keyword), false));
 				}
 				query.where(pageInfo.getPredicates(root, query, builder));
 				return null;
 			}
 		}, pageInfo);
 	}
-	
+
 	/**
 	 * 获取出入库单数据信息
+	 * 
 	 * @param sourceTable
 	 * @param idName
 	 * @param yCheckQtyName
 	 * @return
 	 */
-	public List<String> getSourceInfo(String sourceTable, String idName,String yCheckQtyName){
+	public List<String> getSourceInfo(String sourceTable, String idName, String yCheckQtyName) {
 		List<String> list = new ArrayList<String>();
-		if(sourceTable != null) {
+		if (sourceTable != null) {
 			if (sourceTable.equals("purc$returnitem")) {
 				idName = "pri_id";
 				yCheckQtyName = "pri_ycheckqty";