Browse Source

发货单分类

git-svn-id: svn+ssh://10.10.101.21/source/platform/platform-b2b@1118 f3bf4e98-0cf0-11e4-a00c-a99a8b9d557d
suntg 10 years ago
parent
commit
0385c6affa

+ 12 - 1
src/main/java/com/uas/platform/b2b/controller/RegisterController.java

@@ -21,7 +21,7 @@ import com.uas.platform.b2b.service.UserService;
 import com.uas.platform.core.util.serializer.FlexJsonUtils;
 
 /**
- * 企业请求
+ * 注册、找回密码
  * 
  * @author suntg
  * @date 2015年3月10日17:37:37
@@ -156,5 +156,16 @@ public class RegisterController {
 		headers.add("Content-Type", "application/text; charset=utf-8");
 		return new ResponseEntity<Boolean>(userService.isEmailUseable(email), headers, HttpStatus.OK);
 	}
+	
+	/**
+	 * 根据用户输入的登录账号获取用户的部分信息
+	 * @param userName
+	 * @return
+	 */
+	@RequestMapping(value = "/forget/info")
+	public ModelMap getUserInfoByUserName(String userName) {
+		ModelMap map = new ModelMap();
+		return map;
+	}
 
 }

+ 35 - 1
src/main/java/com/uas/platform/b2b/controller/SaleNoticeController.java

@@ -202,7 +202,7 @@ public class SaleNoticeController {
 	}
 
 	/**
-	 * 作为卖家,查看送货单
+	 * 作为卖家,查看送货单-全部
 	 * 
 	 * @param params
 	 * @return
@@ -217,6 +217,40 @@ public class SaleNoticeController {
 		return purchaseNoticeService.findSendsByPageInfo(info, keyword);
 	}
 
+	/**
+	 * 作为卖家,查看送货单-已收料
+	 * 
+	 * @param params
+	 * @return
+	 */
+	@RequestMapping(value = "/sends", params = RequestState.DONE, method = RequestMethod.GET)
+	@ResponseBody
+	public Page<SaleSendAll> getReceivedSaleSends(PageParams params, String keyword) {
+		logger.log("发货单", "查看全部的送货单");
+		PageInfo info = new PageInfo(params);
+		// 我作为卖家,把我的企业ID作为供应商ID传入
+		info.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		info.filter("verifystatus", Constant.YES);
+		return purchaseNoticeService.findSendsByPageInfo(info, keyword);
+	}
+
+	/**
+	 * 作为卖家,查看送货单-未收料(包括部分收料)
+	 * 
+	 * @param params
+	 * @return
+	 */
+	@RequestMapping(value = "/sends", params = RequestState.TODO, method = RequestMethod.GET)
+	@ResponseBody
+	public Page<SaleSendAll> getUnReceivedSaleSends(PageParams params, String keyword) {
+		logger.log("发货单", "查看全部的送货单");
+		PageInfo info = new PageInfo(params);
+		// 我作为卖家,把我的企业ID作为供应商ID传入
+		info.filter("enUU", SystemSession.getUser().getEnterprise().getUu());
+		info.filter("verifystatus", Constant.NO);
+		return purchaseNoticeService.findSendsByPageInfo(info, keyword);
+	}
+
 	/**
 	 * 导出送货提醒(全部)
 	 * 

+ 16 - 0
src/main/java/com/uas/platform/b2b/dao/SaleSendItemDao.java

@@ -50,5 +50,21 @@ public interface SaleSendItemDao extends JpaSpecificationExecutor<SaleSendItem>,
 	@Modifying(clearAutomatically = true)
 	@Query(nativeQuery = true, value = "update sale$senditem si set (si_verifyqty, si_okqty, si_notokqty) = (select sum(siv_qty), sum(siv_okqty), sum(siv_notokqty) from SALE$SENDITEMVERIFY siv where siv.SIV_SENDITEMID = si.SI_ID ) where si.si_id= :id")
 	public void updateByVerify(@Param("id") long id);
+	
+	/**
+	 * 获取发货单的发货明细数量
+	 * @param sendId
+	 * @return
+	 */
+	@Query("select count(1) from SaleSendItem s where s.send.id = :sendId")
+	public int getTotalCountBySendId(@Param("sendId") long sendId);
+
+	/**
+	 * 获取发货单的发货明细数量
+	 * @param sendId
+	 * @return
+	 */
+	@Query("select count(1) from SaleSendItem s where s.send.id = :sendId and s.verifyQty >= s.qty")
+	public int getFullVerifyCountBySendId(@Param("sendId") long sendId);
 
 }

+ 15 - 0
src/main/java/com/uas/platform/b2b/model/SaleSend.java

@@ -122,6 +122,13 @@ public class SaleSend implements Serializable {
 	@Column(name = "ss_backstatus")
 	private Short backStatus;
 
+	/**
+	 * 收料状态
+	 * 0 未收料,1 未收料
+	 */
+	@Column(name = "ss_verifystatus")
+	private Short verifystatus;
+
 	public Long getId() {
 		return id;
 	}
@@ -236,6 +243,14 @@ public class SaleSend implements Serializable {
 		this.date = date;
 	}
 
+	public Short getVerifystatus() {
+		return verifystatus;
+	}
+
+	public void setVerifystatus(Short verifystatus) {
+		this.verifystatus = verifystatus;
+	}
+
 	/**
 	 * 送货单详细
 	 * 

+ 15 - 0
src/main/java/com/uas/platform/b2b/model/SaleSendAll.java

@@ -111,6 +111,13 @@ public class SaleSendAll implements Serializable {
 	 */
 	@Column(name = "ss_backstatus")
 	private Short backStatus;
+	
+	/**
+	 * 收料状态
+	 * 0 未收料,1 部分收料,2已收料
+	 */
+	@Column(name = "ss_verifystatus")
+	private Short verifystatus;
 
 	public Long getId() {
 		return id;
@@ -224,4 +231,12 @@ public class SaleSendAll implements Serializable {
 		this.date = date;
 	}
 
+	public Short getVerifystatus() {
+		return verifystatus;
+	}
+
+	public void setVerifystatus(Short verifystatus) {
+		this.verifystatus = verifystatus;
+	}
+
 }

+ 20 - 0
src/main/java/com/uas/platform/b2b/service/impl/PurchaseNoticeServiceImpl.java

@@ -229,6 +229,7 @@ public class PurchaseNoticeServiceImpl implements PurchaseNoticeService {
 			send.setCurrency(order.getCurrency());
 			send.setBackStatus((short) Status.NOT_UPLOAD.value());
 			send.setSendStatus((short) Status.NOT_UPLOAD.value());
+			send.setVerifystatus(Constant.NO);//未收料
 			send.setCustUU(notice.getEnUU());
 			send.setCustUserUU(order.getUserUU());
 			send.setDate(new Date());
@@ -278,6 +279,7 @@ public class PurchaseNoticeServiceImpl implements PurchaseNoticeService {
 			saleSend.setEnUU(SystemSession.getUser().getEnterprise().getUu());
 			saleSend.setRecorder(SystemSession.getUser().getUserName());
 			saleSend.setDate(new Date());
+			saleSend.setVerifystatus(Constant.NO);//未收料
 			short number = 0;
 			List<SaleSendItem> sendItems = new ArrayList<SaleSendItem>();
 			for (SaleSendItem item : saleSend.getSendItems()) {
@@ -350,6 +352,7 @@ public class PurchaseNoticeServiceImpl implements PurchaseNoticeService {
 		saleSendItemVerifyDao.save(verifies);
 		for (SaleSendItemVerify verify : verifies) {
 			saleSendItemDao.updateByVerify(verify.getSendItemId());
+			updateVerifyStatus(verify.getSendItemId());
 		}
 	}
 
@@ -359,7 +362,24 @@ public class PurchaseNoticeServiceImpl implements PurchaseNoticeService {
 		saleSendItemVerifyDao.delete(verifies);
 		for (SaleSendItemVerify verify : verifies) {
 			saleSendItemDao.updateByVerify(verify.getSendItemId());
+			updateVerifyStatus(verify.getSendItemId());
 		}
 	}
+	
+	/**
+	 * 更新发货单的收料状态
+	 * @param sendItemId
+	 */
+	private void updateVerifyStatus(Long sendItemId) {
+		SaleSendItem sendItem = saleSendItemDao.findOne(sendItemId);
+		int totalCount = saleSendItemDao.getTotalCountBySendId(sendItem.getSend().getId());
+		int verifyCount = saleSendItemDao.getFullVerifyCountBySendId(sendItem.getSend().getId());
+		System.out.println("sendItemId: " + sendItemId + ",totalCount: " + totalCount + ",verifyCount: " + verifyCount);
+		if(verifyCount == totalCount) 
+			sendItem.getSend().setVerifystatus(Constant.YES);
+		else
+			sendItem.getSend().setVerifystatus(Constant.NO);
+		saleSendItemDao.save(sendItem);
+	}
 
 }