Browse Source

批量更新价格增加操作日志

hejq 8 years ago
parent
commit
b9c6480dd0

+ 42 - 0
src/main/java/com/uas/platform/b2b/erp/controller/OrderSendStatusController.java

@@ -0,0 +1,42 @@
+package com.uas.platform.b2b.erp.controller;
+
+import com.uas.platform.b2b.erp.model.APCheck;
+import com.uas.platform.b2b.erp.model.OrderSendStatusColumn;
+import com.uas.platform.b2b.erp.service.OrderSendStatusService;
+import com.uas.platform.core.util.serializer.FlexJsonUtils;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.web.bind.annotation.RequestMapping;
+import org.springframework.web.bind.annotation.RequestMethod;
+import org.springframework.web.bind.annotation.RequestParam;
+import org.springframework.web.bind.annotation.RestController;
+
+import java.io.UnsupportedEncodingException;
+import java.net.URLDecoder;
+import java.util.List;
+
+/**
+ * 订单同步更新id的接口
+ *
+ * Created by hejq on 2017-12-15.
+ */
+@RequestMapping("/erp/order")
+@RestController
+public class OrderSendStatusController {
+
+    @Autowired
+    private OrderSendStatusService orderService;
+
+    /**
+     * 通过订单的相关信息获取传输到平台的信息
+     *
+     * @param data
+     * @param callerName
+     * @return
+     */
+    @RequestMapping(method = RequestMethod.POST)
+    public List<OrderSendStatusColumn> getByOrderInfo(@RequestParam("data") String data, @RequestParam("callerName") String callerName) throws UnsupportedEncodingException {
+        String jsonStr = URLDecoder.decode(data, "UTF-8");
+        List<OrderSendStatusColumn> columns =  FlexJsonUtils.fromJsonArray(jsonStr, OrderSendStatusColumn.class);
+        return orderService.getOrderInfo(columns, callerName);
+    }
+}

+ 56 - 0
src/main/java/com/uas/platform/b2b/erp/model/OrderSendStatusColumn.java

@@ -0,0 +1,56 @@
+package com.uas.platform.b2b.erp.model;
+
+public class OrderSendStatusColumn {
+
+	/**
+	 * 表格单据的主键id
+	 */
+	private Long id;
+	
+	/**
+	 * 对应的平台的id
+	 */
+	private Long b2b_id;
+	
+	/**
+	 * 单据类型
+	 */
+	private String caller;
+
+	/**
+	 * 订单编号
+	 */
+	private String code;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Long getB2b_id() {
+		return b2b_id;
+	}
+
+	public void setB2b_id(Long b2b_id) {
+		this.b2b_id = b2b_id;
+	}
+
+	public String getCaller() {
+		return caller;
+	}
+
+	public void setCaller(String caller) {
+		this.caller = caller;
+	}
+
+	public String getCode() {
+		return code;
+	}
+
+	public void setCode(String code) {
+		this.code = code;
+	}
+}

+ 13 - 0
src/main/java/com/uas/platform/b2b/erp/service/OrderSendStatusService.java

@@ -0,0 +1,13 @@
+package com.uas.platform.b2b.erp.service;
+
+import com.uas.platform.b2b.erp.model.OrderSendStatusColumn;
+
+import java.util.List;
+
+/**
+ * Created by hejq on 2017-12-18.
+ */
+public interface OrderSendStatusService {
+
+    List<OrderSendStatusColumn> getOrderInfo(List<OrderSendStatusColumn> columns, String callerName);
+}

+ 43 - 0
src/main/java/com/uas/platform/b2b/erp/service/impl/OrderSendStatusServiceImpl.java

@@ -0,0 +1,43 @@
+package com.uas.platform.b2b.erp.service.impl;
+
+import com.uas.platform.b2b.dao.CommonDao;
+import com.uas.platform.b2b.erp.model.OrderSendStatusColumn;
+import com.uas.platform.b2b.erp.service.OrderSendStatusService;
+import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
+import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.core.logging.BufferedLoggerManager;
+import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.stereotype.Service;
+import org.springframework.util.CollectionUtils;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * Created by hejq on 2017-12-18.
+ */
+@Service
+public class OrderSendStatusServiceImpl implements OrderSendStatusService {
+
+    private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
+
+    @Autowired
+    private CommonDao commonDao;
+
+    @Override
+    public List<OrderSendStatusColumn> getOrderInfo(List<OrderSendStatusColumn> columns, String callerName) {
+        String sql = null;
+        List<OrderSendStatusColumn> columnList = new ArrayList<OrderSendStatusColumn>();
+        if(callerName.equalsIgnoreCase("purcAccept")) {
+            for(OrderSendStatusColumn column : columns) {
+                List<OrderSendStatusColumn> statusColumnList = new ArrayList<OrderSendStatusColumn>();
+                sql = "select distinct pa_id b2b_id," + column.getId() + " as id, pa_code code id from purc$accept where pa_enuu = " + SystemSession.getUser().getEnterprise().getUu()
+                        + " and (pa_erpid=" + column.getId() + "or pa_code = '" + column.getCode() + "')";
+                statusColumnList =  commonDao.query(sql, OrderSendStatusColumn.class);
+                if(!CollectionUtils.isEmpty(statusColumnList))
+                    columnList.add(statusColumnList.get(0));
+            }
+        }
+        return columnList;
+    }
+}

+ 5 - 0
src/main/java/com/uas/platform/b2b/service/impl/PurchaseApBillServiceImpl.java

@@ -3,11 +3,13 @@ package com.uas.platform.b2b.service.impl;
 import com.uas.platform.b2b.core.util.ContextUtils;
 import com.uas.platform.b2b.dao.*;
 import com.uas.platform.b2b.erp.model.ProdInOutRefreshPrice;
+import com.uas.platform.b2b.erp.support.ErpBufferedLogger;
 import com.uas.platform.b2b.event.PurchaseApBillSaveEvent;
 import com.uas.platform.b2b.model.*;
 import com.uas.platform.b2b.search.SearchService;
 import com.uas.platform.b2b.service.PurchaseApBillService;
 import com.uas.platform.b2b.support.SystemSession;
+import com.uas.platform.core.logging.BufferedLoggerManager;
 import com.uas.platform.core.model.Constant;
 import com.uas.platform.core.model.PageInfo;
 import com.uas.platform.core.model.Status;
@@ -50,6 +52,8 @@ public class PurchaseApBillServiceImpl implements PurchaseApBillService {
 	@Autowired
 	private ProductDao productDao;
 
+	private final static ErpBufferedLogger logger = BufferedLoggerManager.getLogger(ErpBufferedLogger.class);
+
 	@Override
 	public void save(List<PurchaseApBillItem> apBillItems) {
 		List<PurchaseApBillItem> newApBillItems = purchaseApBillItemDao.save(apBillItems);
@@ -184,6 +188,7 @@ public class PurchaseApBillServiceImpl implements PurchaseApBillService {
 					if(null != prod.getPbu_taxrate())
 						sql = sql + ", i.papi_taxrate = " + prod.getPbu_taxrate();
 					commonDao.getJdbcTemplate().update(sql);
+					logger.log("批量更新价格", "更新'" + prod.getPbu_inoutno() + "'发票明细价格", 1);
 					// 更新主表的税金合计
 					purchaseApBillDao.refreshAmountAndTaxSum(SystemSession.getUser().getEnterprise().getUu(), prod.getPbu_inoutno());
 				}