Browse Source

代采订单功能更新

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@8684 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
hejq 9 years ago
parent
commit
3a74b88644

+ 24 - 0
src/main/java/com/uas/platform/b2b/controller/DeputyOrderController.java

@@ -23,7 +23,9 @@ import org.springframework.web.servlet.ModelAndView;
 import com.alibaba.dubbo.common.utils.CollectionUtils;
 import com.alibaba.fastjson.JSON;
 import com.uas.platform.b2b.model.DeputyEnterprise;
+import com.uas.platform.b2b.model.DeputyHisVendors;
 import com.uas.platform.b2b.model.DeputyOrder;
+import com.uas.platform.b2b.model.DeputyOrderKeywords;
 import com.uas.platform.b2b.model.DeputyPaymentCompany;
 import com.uas.platform.b2b.model.FileUpload;
 import com.uas.platform.b2b.model.SearchFilter;
@@ -353,4 +355,26 @@ public class DeputyOrderController {
 	public ModelMap checkOrders(String salecode, Long deputyuu) {
 		return deputyOrderService.checkOrders(salecode, deputyuu);
 	}
+
+	/**
+	 * 获取代采的历史供应商
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/hisvendors", method = RequestMethod.GET)
+	@ResponseBody
+	public List<DeputyHisVendors> getHisVendors() {
+		return deputyOrderService.getHisVendors();
+	}
+
+	/**
+	 * 获取上次订单的一些数据关键词,便于自动导入
+	 * 
+	 * @return
+	 */
+	@RequestMapping(value = "/hisKeywords", method = RequestMethod.GET)
+	@ResponseBody
+	public DeputyOrderKeywords getHisKeywords() {
+		return deputyOrderService.getKeywords();
+	}
 }

+ 31 - 0
src/main/java/com/uas/platform/b2b/dao/DeputyHisVendorsDao.java

@@ -0,0 +1,31 @@
+package com.uas.platform.b2b.dao;
+
+import java.util.List;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.DeputyHisVendors;
+
+@Repository
+public interface DeputyHisVendorsDao
+		extends JpaRepository<DeputyHisVendors, Long>, JpaSpecificationExecutor<DeputyHisVendors> {
+
+	/**
+	 * 查询企业的历史供应商数据
+	 * 
+	 * @param eunn
+	 * @return
+	 */
+	List<DeputyHisVendors> findByEnuu(Long eunn);
+
+	/**
+	 * 通过企业uu和供应商名称查询记录是否存在
+	 * 
+	 * @param enuu
+	 * @param vendname
+	 * @return
+	 */
+	public DeputyHisVendors findByEnuuAndVendorname(Long enuu, String vendname);
+}

+ 20 - 0
src/main/java/com/uas/platform/b2b/dao/DeputyOrderKeywordsDao.java

@@ -0,0 +1,20 @@
+package com.uas.platform.b2b.dao;
+
+import org.springframework.data.jpa.repository.JpaRepository;
+import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
+import org.springframework.stereotype.Repository;
+
+import com.uas.platform.b2b.model.DeputyOrderKeywords;
+
+@Repository
+public interface DeputyOrderKeywordsDao
+		extends JpaRepository<DeputyOrderKeywords, Long>, JpaSpecificationExecutor<DeputyOrderKeywords> {
+
+	/**
+	 * 查询企业上次的关键字信息
+	 * 
+	 * @param enuu
+	 * @return
+	 */
+	public DeputyOrderKeywords findByEnuu(Long enuu);
+}

+ 102 - 0
src/main/java/com/uas/platform/b2b/model/DeputyHisVendors.java

@@ -0,0 +1,102 @@
+package com.uas.platform.b2b.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+
+/**
+ * 历史代采订单终端供应商
+ * 
+ * @author hejq
+ * @time 创建时间:2017年5月26日
+ */
+@Entity
+@Table(name = "purc$deputyhisvendors")
+public class DeputyHisVendors implements Serializable {
+
+	/**
+	 * 序号
+	 */
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键id
+	 */
+	@Id
+	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "purc$deputyhisvendors_gen")
+	@SequenceGenerator(name = "purc$deputyhisvendors_gen", sequenceName = "purc$deputyhisvendors_seq", allocationSize = 1)
+	@Column(name = "dh_id")
+	private Long id;
+	
+	/**
+	 * 记录企业uu
+	 */
+	@Column(name = "dh_enuu")
+	private Long enuu;
+	
+	/**
+	 * 记录人uu
+	 */
+	@Column(name = "dh_useruu")
+	private Long useruu;
+
+	/**
+	 * 记录日期
+	 */
+	@Column(name = "dh_date")
+	private Date date;
+
+	/**
+	 * 供应商名称
+	 */
+	@Column(name = "dh_vendorname")
+	private String vendorname;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Long getEnuu() {
+		return enuu;
+	}
+
+	public void setEnuu(Long enuu) {
+		this.enuu = enuu;
+	}
+
+	public Long getUseruu() {
+		return useruu;
+	}
+
+	public void setUseruu(Long useruu) {
+		this.useruu = useruu;
+	}
+
+	public Date getDate() {
+		return date;
+	}
+
+	public void setDate(Date date) {
+		this.date = date;
+	}
+
+	public String getVendorname() {
+		return vendorname;
+	}
+
+	public void setVendorname(String vendorname) {
+		this.vendorname = vendorname;
+	}
+
+}

+ 228 - 0
src/main/java/com/uas/platform/b2b/model/DeputyOrderKeywords.java

@@ -0,0 +1,228 @@
+package com.uas.platform.b2b.model;
+
+import java.io.Serializable;
+import java.util.Date;
+
+import javax.persistence.Column;
+import javax.persistence.Entity;
+import javax.persistence.GeneratedValue;
+import javax.persistence.GenerationType;
+import javax.persistence.Id;
+import javax.persistence.SequenceGenerator;
+import javax.persistence.Table;
+
+/**
+ * 代采订单记录关键字,下次新增时自动带入
+ * 
+ * @author hejq
+ * @time 创建时间:2017年5月26日
+ */
+@Entity
+@Table(name = "purc$deputykeywords")
+public class DeputyOrderKeywords implements Serializable {
+
+	/**
+	 * 序列
+	 */
+	private static final long serialVersionUID = 1L;
+
+	/**
+	 * 主键id
+	 */
+	@Id
+	@GeneratedValue(strategy = GenerationType.SEQUENCE, generator = "purc$deputykeywords_gen")
+	@SequenceGenerator(name = "purc$deputykeywords_gen", sequenceName = "purc$deputykeywords_seq", allocationSize = 1)
+	@Column(name = "dk_id")
+	private Long id;
+
+	/**
+	 * 录入企业uu
+	 */
+	@Column(name = "dk_enuu")
+	private Long enuu;
+	
+	/**
+	 * 录入人uu
+	 */
+	@Column(name = "dk_useruu")
+	private Long useruu;
+
+	/**
+	 * 最近一次更新时间
+	 */
+	@Column(name = "dk_date")
+	private Date date;
+
+	/**
+	 * 供应商联系电话
+	 */
+	@Column(name = "dk_vendtel")
+	private String vendtel;
+
+	/**
+	 * 供应商联系人
+	 */
+	@Column(name = "dk_venduser")
+	private String venduser;
+
+	/**
+	 * 终端供应商地址
+	 */
+	@Column(name = "dk_tervendaddress")
+	private String tervendaddress;
+
+	/**
+	 * 公司全称
+	 */
+	@Column(name = "dk_companyname")
+	private String companyname;
+
+	/**
+	 * 银行名称
+	 */
+	@Column(name = "dk_bankname")
+	private String bankname;
+
+	/**
+	 * 银行账户
+	 */
+	@Column(name = "dk_bankaccount")
+	private String bankaccount;
+
+	/**
+	 * 银行地址
+	 */
+	@Column(name = "dk_bankaddress")
+	private String bankaddress;
+
+	/**
+	 * 银行代码
+	 */
+	@Column(name = "dk_bankcode")
+	private String bankcode;
+
+	/**
+	 * 其他资料
+	 */
+	@Column(name = "dk_otherdata")
+	private String otherdata;
+
+	/**
+	 * 我方法定代表人
+	 */
+	@Column(name = "dk_legalrepresent")
+	private String legalrepresent;
+
+	public Long getId() {
+		return id;
+	}
+
+	public void setId(Long id) {
+		this.id = id;
+	}
+
+	public Long getEnuu() {
+		return enuu;
+	}
+
+	public void setEnuu(Long enuu) {
+		this.enuu = enuu;
+	}
+
+	public Long getUseruu() {
+		return useruu;
+	}
+
+	public void setUseruu(Long useruu) {
+		this.useruu = useruu;
+	}
+
+	public Date getDate() {
+		return date;
+	}
+
+	public void setDate(Date date) {
+		this.date = date;
+	}
+
+	public String getVendtel() {
+		return vendtel;
+	}
+
+	public void setVendtel(String vendtel) {
+		this.vendtel = vendtel;
+	}
+
+	public String getVenduser() {
+		return venduser;
+	}
+
+	public void setVenduser(String venduser) {
+		this.venduser = venduser;
+	}
+
+	public String getTervendaddress() {
+		return tervendaddress;
+	}
+
+	public void setTervendaddress(String tervendaddress) {
+		this.tervendaddress = tervendaddress;
+	}
+
+	public String getCompanyname() {
+		return companyname;
+	}
+
+	public void setCompanyname(String companyname) {
+		this.companyname = companyname;
+	}
+
+	public String getBankname() {
+		return bankname;
+	}
+
+	public void setBankname(String bankname) {
+		this.bankname = bankname;
+	}
+
+	public String getBankaccount() {
+		return bankaccount;
+	}
+
+	public void setBankaccount(String bankaccount) {
+		this.bankaccount = bankaccount;
+	}
+
+	public String getBankaddress() {
+		return bankaddress;
+	}
+
+	public void setBankaddress(String bankaddress) {
+		this.bankaddress = bankaddress;
+	}
+
+	public String getBankcode() {
+		return bankcode;
+	}
+
+	public void setBankcode(String bankcode) {
+		this.bankcode = bankcode;
+	}
+
+	public String getOtherdata() {
+		return otherdata;
+	}
+
+	public void setOtherdata(String otherdata) {
+		this.otherdata = otherdata;
+	}
+
+	public String getLegalrepresent() {
+		return legalrepresent;
+	}
+
+	public void setLegalrepresent(String legalrepresent) {
+		this.legalrepresent = legalrepresent;
+	}
+
+}

+ 16 - 0
src/main/java/com/uas/platform/b2b/service/DeputyOrderService.java

@@ -6,7 +6,9 @@ import org.apache.poi.ss.usermodel.Workbook;
 import org.springframework.ui.ModelMap;
 
 import com.uas.platform.b2b.model.DeputyEnterprise;
+import com.uas.platform.b2b.model.DeputyHisVendors;
 import com.uas.platform.b2b.model.DeputyOrder;
+import com.uas.platform.b2b.model.DeputyOrderKeywords;
 import com.uas.platform.b2b.model.DeputyPaymentCompany;
 
 public interface DeputyOrderService {
@@ -117,4 +119,18 @@ public interface DeputyOrderService {
 	 * @return
 	 */
 	public ModelMap checkOrders(String salecode, Long deputyuu);
+
+	/**
+	 * 获取代采的历史供应商
+	 * 
+	 * @return
+	 */
+	public List<DeputyHisVendors> getHisVendors();
+
+	/**
+	 * 获取上一次记录的关键词
+	 * 
+	 * @return
+	 */
+	public DeputyOrderKeywords getKeywords();
 }

+ 52 - 0
src/main/java/com/uas/platform/b2b/service/impl/DeputyOrderServiceImpl.java

@@ -13,14 +13,18 @@ import org.springframework.beans.factory.annotation.Autowired;
 import org.springframework.stereotype.Service;
 import org.springframework.ui.ModelMap;
 
+import com.uas.platform.b2b.dao.DeputyHisVendorsDao;
 import com.uas.platform.b2b.dao.DeputyOrderDao;
 import com.uas.platform.b2b.dao.DeputyOrderItemDao;
+import com.uas.platform.b2b.dao.DeputyOrderKeywordsDao;
 import com.uas.platform.b2b.dao.DeputyPaymentCompanyDao;
 import com.uas.platform.b2b.dao.VendorDao;
 import com.uas.platform.b2b.mobile.dao.DeputyEnterpriseDao;
 import com.uas.platform.b2b.model.DeputyEnterprise;
+import com.uas.platform.b2b.model.DeputyHisVendors;
 import com.uas.platform.b2b.model.DeputyOrder;
 import com.uas.platform.b2b.model.DeputyOrderItem;
+import com.uas.platform.b2b.model.DeputyOrderKeywords;
 import com.uas.platform.b2b.model.DeputyPaymentCompany;
 import com.uas.platform.b2b.model.Vendor;
 import com.uas.platform.b2b.service.DeputyOrderService;
@@ -50,6 +54,12 @@ public class DeputyOrderServiceImpl implements DeputyOrderService {
 	@Autowired
 	private DeputyPaymentCompanyDao deputyPaymentCompanyDao;
 
+	@Autowired
+	private DeputyHisVendorsDao deputyHisVendorsDao;
+
+	@Autowired
+	private DeputyOrderKeywordsDao deputyOrderKeywordsDao;
+
 	@Override
 	public ModelMap releaseByWorkbook(Workbook workbook) {
 		ModelMap modelMap = new ModelMap();
@@ -223,6 +233,38 @@ public class DeputyOrderServiceImpl implements DeputyOrderService {
 			deputyOrderDao.save(order);
 			map.put("id", order.getId());
 		}
+		// 记录关键字
+		DeputyOrderKeywords keyword = new DeputyOrderKeywords();
+		DeputyOrderKeywords oldkeyword = deputyOrderKeywordsDao
+				.findByEnuu(SystemSession.getUser().getEnterprise().getUu());
+		if (oldkeyword != null) {// 更新
+			keyword = oldkeyword;
+		}
+		keyword.setBankaccount(order.getBankaccount());
+		keyword.setBankaddress(order.getBankaddress());
+		keyword.setBankcode(order.getBankcode());
+		keyword.setBankname(order.getBankname());
+		keyword.setCompanyname(order.getCompanyname());
+		keyword.setDate(new Date());
+		keyword.setEnuu(SystemSession.getUser().getEnterprise().getUu());
+		keyword.setLegalrepresent(order.getLegalrepresent());
+		keyword.setOtherdata(order.getOtherdata());
+		keyword.setTervendaddress(order.getTervendaddress());
+		keyword.setUseruu(SystemSession.getUser().getUserUU());
+		keyword.setVendtel(order.getVendtel());
+		keyword.setVenduser(order.getVenduser());
+		deputyOrderKeywordsDao.save(keyword);
+		// 记录供应商
+		DeputyHisVendors oldvendor = deputyHisVendorsDao
+				.findByEnuuAndVendorname(SystemSession.getUser().getEnterprise().getUu(), order.getTervendor());
+		if (null == oldvendor) {// 不存在才进行插入
+			DeputyHisVendors vendor = new DeputyHisVendors();
+			vendor.setDate(new Date());
+			vendor.setEnuu(SystemSession.getUser().getEnterprise().getUu());
+			vendor.setUseruu(SystemSession.getUser().getUserUU());
+			vendor.setVendorname(order.getTervendor());
+			deputyHisVendorsDao.save(vendor);
+		}
 		return map;
 	}
 
@@ -353,4 +395,14 @@ public class DeputyOrderServiceImpl implements DeputyOrderService {
 		return map;
 	}
 
+	@Override
+	public List<DeputyHisVendors> getHisVendors() {
+		return deputyHisVendorsDao.findByEnuu(SystemSession.getUser().getEnterprise().getUu());
+	}
+
+	@Override
+	public DeputyOrderKeywords getKeywords() {
+		return deputyOrderKeywordsDao.findByEnuu(SystemSession.getUser().getEnterprise().getUu());
+	}
+
 }

+ 35 - 1
src/main/webapp/resources/js/index/app.js

@@ -11905,6 +11905,29 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 			})
 		}
 		
+		// 查询上次的关键词记录
+		DeputyOrder.hisKeywords({}, function(data) {
+			$scope.deOrder.vendtel = data.vendtel;
+			$scope.deOrder.venduser = data.venduser;
+			$scope.deOrder.otherdata = data.otherdata;
+			$scope.deOrder.companyname = data.companyname;
+			$scope.deOrder.bankaccount = data.bankaccount;
+			$scope.deOrder.bankaddress = data.bankaddress;
+			$scope.deOrder.bankcode = data.bankcode;
+			$scope.deOrder.bankname = data.bankname;
+			$scope.deOrder.legalrepresent = data.legalrepresent;
+			$scope.deOrder.tervendaddress = data.tervendaddress;
+		}, function(response) {
+			toaster.pop('error', '提示', response.data);
+		});
+		
+		// 查询历史供应商
+		DeputyOrder.hisvendors({}, function(data) {
+			$scope.hisvendors = data;
+		}, function(response) {
+			toaster.pop('error', '提示', response.data);
+		});
+		
 		//增加商品
 		$scope.add = function(index) {
 			if($scope.deOrder.deputyOrderItems[index].prodcode == null) {
@@ -12163,6 +12186,13 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 		};
 		loadData();
 		
+		// 查询历史供应商
+		DeputyOrder.hisvendors({}, function(data) {
+			$scope.hisvendors = data;
+		}, function(response) {
+			toaster.pop('error', '提示', response.data);
+		});
+		
 		// 代采企业列表
 		DeputyOrder.deputyEnterprise({}, function(data) {
 			$scope.deputyEnterprises = data;
@@ -12258,6 +12288,8 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 					}
 				})
 				angular.forEach($scope.deOrder.deputyOrderItems, function(item) {
+					$scope.deOrder.totalamount = 0;
+					$scope.deOrder.orderamount = 0;
 					$scope.deOrder.totalamount += item.amount * item.unitprice;
 					$scope.deOrder.usdpayment += item.amount * item.unitprice;
 					$scope.deOrder.orderamount += item.amount * item.unitprice * (1 + $scope.rate.rate/100);
@@ -12300,6 +12332,8 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 		$scope.save = function() {
 			$scope.deOrder.entrystatus = '保存';
 			angular.forEach($scope.deOrder.deputyOrderItems, function(item) {
+				$scope.deOrder.totalamount = 0;
+				$scope.deOrder.totalpayament = 0;
 				$scope.deOrder.totalamount += item.amount * item.unitprice;
 				$scope.deOrder.totalpayament += item.amount * item.unitprice;
 			});
@@ -12309,7 +12343,7 @@ define([ 'toaster', 'charts', 'ngTable', 'common/services', 'common/directives',
 				DeputyOrder.saveDeOrder({deOrder: $scope.deOrder}, {}, function(data) {
 					if(data.id) {
 						toaster.pop('success', '提示', '保存成功');
-						window.location.reload();
+						loadData();
 					}
 					if(data.error) {
 						toaster.pop('error', '提示', '保存失败');

+ 9 - 0
src/main/webapp/resources/js/index/services/DeputyOrder.js

@@ -54,6 +54,15 @@ define(['ngResource'], function() {
             checkOrders: {
             	url: 'deputyOrder/checkOrders',
             	method: 'GET'
+            },
+            hisvendors: {
+            	url: 'deputyOrder/hisvendors',
+            	method: 'GET',
+            	isArray: true
+            },
+            hisKeywords: {
+            	url: 'deputyOrder/hisKeywords',
+            	method: 'GET'
             }
 		})
 	}]).factory('getDeOrder', ['$resource', function($resource) {

+ 6 - 1
src/main/webapp/resources/tpl/index/purc/deputyOrder_detail.html

@@ -194,7 +194,12 @@
                         <li>
                             <div class="fl">
                                 <em>终端供应商名称:</em>
-                                <span><input type="text" class="input01" ng-model="deOrder.tervendor" ng-readonly="!deOrder.$editing"></span>
+                                <span><!-- <input type="text" class="input01" ng-model="deOrder.tervendor" ng-readonly="!deOrder.$editing"> -->
+                                	 <input  ng-model="deOrder.tervendor" list="hisvendors" class="select" style="width: 200px">
+	                                    <datalist id="hisvendors" ng-repeat="vendor in hisvendors">
+	                                    	 <option value="{{vendor.vendorname}}">{{vendor.vendorname}}</option>
+	                                    </datalist>
+                                </span>
                             </div>
                             <div class="fr">
                                 <em>电话:</em>

+ 6 - 1
src/main/webapp/resources/tpl/index/purc/deputyOrder_new.html

@@ -202,7 +202,12 @@
                         <li>
                             <div class="fl">
                                 <em>终端供应商名称:</em>
-                                <span><input type="text" class="input01" ng-model="deOrder.tervendor"></span>
+                                <span><!-- <input type="text" class="input01" ng-model="deOrder.tervendor"> -->
+                                	 <input  ng-model="deOrder.tervendor" list="hisvendors" class="select" style="width: 200px">
+	                                    <datalist id="hisvendors" ng-repeat="vendor in hisvendors">
+	                                    	 <option value="{{vendor.vendorname}}">{{vendor.vendorname}}</option>
+	                                    </datalist>
+                                </span>
                             </div>
                             <div class="fr">
                                 <em>电话:</em>