|
@@ -31,6 +31,7 @@ import com.iamberry.rst.service.product.mapper.ProductMapper;
|
|
|
import com.iamberry.rst.service.sys.mapper.SysConfigMapper;
|
|
|
import com.iamberry.rst.util.PageUtil;
|
|
|
import com.iamberry.wechat.tools.DateTimeUtil;
|
|
|
+import com.iamberry.wechat.tools.ResponseJson;
|
|
|
import net.sf.json.JSONArray;
|
|
|
import net.sf.json.JSONObject;
|
|
|
import org.slf4j.Logger;
|
|
@@ -149,12 +150,78 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|
|
@Transactional
|
|
|
@Override
|
|
|
public Integer updateOrderInfo(SalesOrder salesOrder) {
|
|
|
+ int flag = 0;
|
|
|
+ if(salesOrder.getSalesId()==null){
|
|
|
+ throw new RuntimeException("订单ID不存在!");
|
|
|
+ }
|
|
|
+
|
|
|
+ for (SalesOrderItem addItem:salesOrder.getSalesOrderItemList()) {
|
|
|
+ if(addItem.getItemNum() > 0 && addItem.getItemColorId() > 0){
|
|
|
+ ProductColor productColor = productService.getProduceColor(addItem.getItemColorId());
|
|
|
+ if(productColor == null){
|
|
|
+ throw new RuntimeException("删除订单项失败-查询商品失败");
|
|
|
+ }
|
|
|
+
|
|
|
+ addItem.setItemProductId(productColor.getColorProductId());
|
|
|
+ addItem.setItemColorId(productColor.getColorId());
|
|
|
+ addItem.setItemProductType(productColor.getProductType());
|
|
|
+ addItem.setItemProductName(productColor.getProductName());
|
|
|
+ addItem.setItemProductPic(productColor.getColorPicture());
|
|
|
+ addItem.setItemProductColor(productColor.getColorName());
|
|
|
+ addItem.setItemColorBar(productColor.getColorBar());
|
|
|
+ addItem.setItemCreateTime(new Date());
|
|
|
+ addItem.setItemIsSource(1);
|
|
|
+ addItem.setItemOrderId(salesOrder.getSalesId());
|
|
|
+
|
|
|
+ SupplierProduct supplierProduct = supplierProductMapper.getSupplierProductByColorId(addItem.getItemColorId());
|
|
|
+ if(supplierProduct != null){
|
|
|
+ addItem.setItemCost(supplierProduct.getSpCost());
|
|
|
+ addItem.setItemCostTotal(supplierProduct.getSpCost() * addItem.getItemNum());
|
|
|
+ }else{
|
|
|
+ throw new RuntimeException("确认订单失败-未查询到该产品("+ addItem.getItemProductName() +"-"+ addItem.getItemProductColor() +")的成本价格");
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ throw new RuntimeException("添加订单项失败-获取产品失败!");
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ SalesOrderItem soi = new SalesOrderItem();
|
|
|
+ soi.setItemOrderId(salesOrder.getSalesId());
|
|
|
+ List<SalesOrderItem> salesOrderItemList = salesOrderMapper.listSalesOrderItem(soi);
|
|
|
+
|
|
|
+ List<SalesOrderItem> updateSalesOrderItemList = new ArrayList<>();
|
|
|
+ List<SalesOrderItem>deleteSalesOrderItemList = new ArrayList<>();
|
|
|
+
|
|
|
+ for (SalesOrderItem oldSoi:salesOrderItemList) {
|
|
|
+ boolean isHave = false;
|
|
|
+ int deleteId = 0;
|
|
|
+ SalesOrderItem updateItem = null;
|
|
|
+ for (int i = 0; i < salesOrder.getSalesOrderItemList().size(); i++) {
|
|
|
+ SalesOrderItem temp = salesOrder.getSalesOrderItemList().get(i);
|
|
|
+ if(Objects.equals(temp.getItemId(), oldSoi.getItemId())){
|
|
|
+ isHave = true;
|
|
|
+ deleteId = i;
|
|
|
+ updateItem = temp;
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ if(isHave){
|
|
|
+ updateSalesOrderItemList.add(updateItem);
|
|
|
+ salesOrder.getSalesOrderItemList().remove(deleteId);
|
|
|
+ }else{
|
|
|
+ deleteSalesOrderItemList.add(oldSoi);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
- int flag = salesOrderMapper.delOrderItem(salesOrder.getSalesId());
|
|
|
- if (flag <= 0) {
|
|
|
- throw new RuntimeException("删除订单项失败!");
|
|
|
+ for (SalesOrderItem deleteId:deleteSalesOrderItemList) {
|
|
|
+ flag = salesOrderMapper.delOrderItemByItemId(deleteId.getItemId());
|
|
|
+ if (flag <= 0) {
|
|
|
+ throw new RuntimeException("修改订单失败!");
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
+
|
|
|
calculationTotal(salesOrder,salesOrder.getSalesOrderItemList());
|
|
|
|
|
|
|
|
@@ -163,11 +230,21 @@ public class SalesOrderServiceImpl implements SalesOrderService {
|
|
|
throw new RuntimeException("修改订单失败!");
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+ if(updateSalesOrderItemList != null && updateSalesOrderItemList.size() > 0) {
|
|
|
+ for (SalesOrderItem salesOrderItem : updateSalesOrderItemList) {
|
|
|
+ flag = salesOrderMapper.updateOrderItemObj(salesOrderItem);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
|
|
|
- flag = salesOrderMapper.addOrderItemList(salesOrder.getSalesOrderItemList());
|
|
|
- if (flag <= 0) {
|
|
|
- throw new RuntimeException("增加订单项失败!");
|
|
|
+ if(salesOrder.getSalesOrderItemList() != null && salesOrder.getSalesOrderItemList().size() > 0){
|
|
|
+ flag = salesOrderMapper.addOrderItemList(salesOrder.getSalesOrderItemList());
|
|
|
+ if (flag <= 0) {
|
|
|
+ throw new RuntimeException("增加订单项失败!");
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
|
|
|
Map<String,String> map = System.getenv();
|
|
|
String name = map.get("COMPUTERNAME");
|