|
@@ -23,6 +23,7 @@ import com.iamberry.wechat.tools.DateTimeUtil;
|
|
|
import net.sf.json.JSONArray;
|
|
|
import net.sf.json.JSONNull;
|
|
|
import net.sf.json.JSONObject;
|
|
|
+import org.apache.commons.beanutils.PropertyUtils;
|
|
|
import org.apache.commons.lang.StringUtils;
|
|
|
import org.slf4j.Logger;
|
|
|
import org.slf4j.LoggerFactory;
|
|
@@ -33,6 +34,7 @@ import org.springframework.transaction.annotation.Transactional;
|
|
|
|
|
|
import javax.xml.crypto.Data;
|
|
|
import java.beans.Transient;
|
|
|
+import java.lang.reflect.InvocationTargetException;
|
|
|
import java.util.*;
|
|
|
|
|
|
import static sun.misc.MessageUtils.where;
|
|
@@ -146,59 +148,6 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|
|
return salesOrder;
|
|
|
}
|
|
|
|
|
|
-
|
|
|
- List<SalesOrder> listSalesOrder = new ArrayList<>();
|
|
|
- List<SalesOrderItem> list = salesOrder.getSalesOrderItemList();
|
|
|
-
|
|
|
- List<DownsingleRuleInfo> listDownsingleRuleInfo = salesOrderService.listDownsingleRule();
|
|
|
- if (listDownsingleRuleInfo.size() < 1) {
|
|
|
- return listSalesOrder;
|
|
|
- }
|
|
|
- for (DownsingleRuleInfo downsingleRuleInfo : listDownsingleRuleInfo) {
|
|
|
- SalesOrder order = null;
|
|
|
-
|
|
|
- List<SalesOrderItem> originalList = list;
|
|
|
- List<SalesOrderItem> itemList = new ArrayList<>();
|
|
|
- for (DownsingleRuleItemInfo downsingleRuleItemInfo : downsingleRuleInfo.getDownsingleRuleItemList()) {
|
|
|
-
|
|
|
- for (int i = 0; i < list.size(); i++) {
|
|
|
- if (list.get(i).getItemColorBar().equals(downsingleRuleItemInfo.getDownsingleItemBar())
|
|
|
- && downsingleRuleItemInfo.getDownsingleItemNum() <= list.get(i).getItemNum()) {
|
|
|
- if (downsingleRuleItemInfo.getDownsingleItemNum() < list.get(i).getItemNum()) {
|
|
|
-
|
|
|
- list.get(i).setItemNum(list.get(i).getItemNum() - downsingleRuleItemInfo.getDownsingleItemNum());
|
|
|
- SalesOrderItem orderItem = list.get(i);
|
|
|
- orderItem.setItemNum(downsingleRuleItemInfo.getDownsingleItemNum());
|
|
|
- itemList.add(list.get(i));
|
|
|
- } else {
|
|
|
- itemList.add(list.get(i));
|
|
|
- list.remove(i);
|
|
|
- break;
|
|
|
- }
|
|
|
- } else {
|
|
|
- itemList.clear();
|
|
|
- list = originalList;
|
|
|
- break;
|
|
|
- }
|
|
|
- }
|
|
|
-
|
|
|
- }
|
|
|
- if (itemList.size() > 0) {
|
|
|
- order = salesOrder;
|
|
|
- order.setSalesOrderItemList(itemList);
|
|
|
- }
|
|
|
- if (order != null) {
|
|
|
- listSalesOrder.add(order);
|
|
|
- }
|
|
|
- }
|
|
|
- if (list.size() > 0) {
|
|
|
- SalesOrder remainingOrder = new SalesOrder();
|
|
|
- remainingOrder = salesOrder;
|
|
|
- remainingOrder.setSalesOrderItemList(list);
|
|
|
- listSalesOrder.add(remainingOrder);
|
|
|
- }
|
|
|
- }*/
|
|
|
-
|
|
|
public void parseOrder(SalesOrder oginerOrder, List<SalesOrder> listOrder) {
|
|
|
|
|
|
if (oginerOrder.getSalesOrderItemList().size() <= 0) {
|
|
@@ -214,7 +163,9 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|
|
|
|
|
Map<String, SalesOrderItem> itemMap = new HashMap<>(oginerOrder.getSalesOrderItemList().size());
|
|
|
for (SalesOrderItem item : oginerOrder.getSalesOrderItemList()) {
|
|
|
- itemMap.put(item.getItemColorBar(), item);
|
|
|
+ SalesOrderItem itemTwo = new SalesOrderItem();
|
|
|
+ BeanUtils.copyProperties(item,itemTwo);
|
|
|
+ itemMap.put(item.getItemColorBar(), itemTwo);
|
|
|
}
|
|
|
|
|
|
|
|
@@ -232,10 +183,11 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|
|
if (count == rule.getDownsingleRuleItemList().size()) {
|
|
|
|
|
|
SalesOrder newOrder = new SalesOrder();
|
|
|
- BeanUtils.copyProperties(oginerOrder, newOrder);
|
|
|
+ BeanUtils.copyProperties(oginerOrder,newOrder);
|
|
|
newOrder.setSalesOrderItemList(new ArrayList<SalesOrderItem>(count));
|
|
|
for (DownsingleRuleItemInfo item : rule.getDownsingleRuleItemList()) {
|
|
|
- SalesOrderItem temp = itemMap.get(item.getDownsingleItemBar());
|
|
|
+ SalesOrderItem temp = new SalesOrderItem();
|
|
|
+ BeanUtils.copyProperties(itemMap.get(item.getDownsingleItemBar()),temp);
|
|
|
temp.setItemNum(item.getDownsingleItemNum());
|
|
|
newOrder.getSalesOrderItemList().add(temp);
|
|
|
}
|
|
@@ -245,11 +197,23 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|
|
for (DownsingleRuleItemInfo item : rule.getDownsingleRuleItemList()) {
|
|
|
if (item.getDownsingleItemNum() == itemMap.get(item.getDownsingleItemBar()).getItemNum()) {
|
|
|
|
|
|
- oginerOrder.getSalesOrderItemList().remove(itemMap.get(item.getDownsingleItemBar()));
|
|
|
+
|
|
|
+ for(int i = 0;i<oginerOrder.getSalesOrderItemList().size();i++){
|
|
|
+ if(oginerOrder.getSalesOrderItemList().get(i).getItemColorBar() .equals(item.getDownsingleItemBar())){
|
|
|
+ oginerOrder.getSalesOrderItemList().remove(i);
|
|
|
+ }
|
|
|
+ }
|
|
|
} else {
|
|
|
- SalesOrderItem orderItem = itemMap.get(item.getDownsingleItemBar());
|
|
|
+
|
|
|
+ SalesOrderItem orderItem = new SalesOrderItem();
|
|
|
+ BeanUtils.copyProperties(itemMap.get(item.getDownsingleItemBar()),orderItem);
|
|
|
int oldCount = orderItem.getItemNum();
|
|
|
- orderItem.setItemNum(oldCount - item.getDownsingleItemNum());
|
|
|
+
|
|
|
+ for(int i = 0;i<oginerOrder.getSalesOrderItemList().size();i++){
|
|
|
+ if(oginerOrder.getSalesOrderItemList().get(i).getItemColorBar() .equals(item.getDownsingleItemBar())){
|
|
|
+ oginerOrder.getSalesOrderItemList().get(i).setItemNum(oldCount - item.getDownsingleItemNum());
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
parseOrder(oginerOrder, listOrder);
|