|
@@ -1,9 +1,14 @@
|
|
|
package handler.yongyou;
|
|
|
|
|
|
+import com.alibaba.fastjson.JSONArray;
|
|
|
import com.alibaba.fastjson.JSONObject;
|
|
|
+import com.google.gson.JsonArray;
|
|
|
import com.platform.common.enums.DictTypeEnum;
|
|
|
+import com.platform.common.util.BeanConverterUtil;
|
|
|
import com.platform.common.util.JsonUtils;
|
|
|
import com.platform.common.util.R;
|
|
|
+import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseDetailDTO;
|
|
|
+import com.platform.dao.dto.longyanpurchaseorder.LongYanPurchaseOrderDTO;
|
|
|
import com.platform.dao.dto.upms.ThirdInfoLogDTO;
|
|
|
import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseDetail;
|
|
|
import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
|
|
@@ -21,6 +26,7 @@ import tk.mybatis.mapper.weekend.WeekendCriteria;
|
|
|
|
|
|
import javax.annotation.Resource;
|
|
|
import java.time.LocalDateTime;
|
|
|
+import java.util.ArrayList;
|
|
|
import java.util.List;
|
|
|
import java.util.stream.Collectors;
|
|
|
|
|
@@ -36,36 +42,45 @@ public class PurchaseOrderModNoticeHandler extends BaseRequestHandler {
|
|
|
setServiceType(DictTypeEnum.THIRD_PARTY_YONGYOU_ADDSPARE.getType());
|
|
|
}
|
|
|
|
|
|
-
|
|
|
@Override
|
|
|
- public R successHandler(FromYongYouBaseRequest req) {
|
|
|
- PurchaseOrderStatusModNoticeRequest request = (PurchaseOrderStatusModNoticeRequest)req;
|
|
|
- List<PurchaseDetails> purchaseDetails = request.getPurchaseDetails();
|
|
|
- List<String> spareNos = purchaseDetails.stream().map(PurchaseDetails::getSpareNo).collect(Collectors.toList());
|
|
|
- LongYanPurchaseOrder order = new LongYanPurchaseOrder();
|
|
|
- order.setYongYouId(request.getYongYouId());
|
|
|
- order = longYanPurchaseOrderMapper.selectOne(order);
|
|
|
- LongYanPurchaseDetail detail = new LongYanPurchaseDetail();
|
|
|
- detail.setLongYangPurchaseOrderId(order.getId());
|
|
|
- Weekend<LongYanPurchaseDetail> weekend = new Weekend(LongYanPurchaseDetail.class);
|
|
|
- WeekendCriteria<LongYanPurchaseDetail,Object> weekendCriteria = weekend.weekendCriteria();
|
|
|
- weekendCriteria.andEqualTo(LongYanPurchaseDetail::getLongYangPurchaseOrderId,order.getId());
|
|
|
- weekendCriteria.andIn(LongYanPurchaseDetail::getNo,spareNos);
|
|
|
- List<LongYanPurchaseDetail> details = longYanPurchaseDetailMapper.selectByExample(weekend);
|
|
|
- int count = 0;
|
|
|
- for (PurchaseDetails details1:purchaseDetails){
|
|
|
- if (1==details1.getStatus()){//已入库
|
|
|
- count++;
|
|
|
- }
|
|
|
- for (LongYanPurchaseDetail detail1: details){
|
|
|
- if (detail1.getNo().equals(details1.getSpareNo())){
|
|
|
- detail1.setDetailStatus(details1.getStatus());
|
|
|
- detail1.setUpdateTime(LocalDateTime.now());
|
|
|
- longYanPurchaseDetailMapper.updateByPrimaryKeySelective(detail1);
|
|
|
- break;
|
|
|
+ public R successHandler(FromYongYouBaseRequest req,String reqStr) {
|
|
|
+ ToYongYouBaseResponse response = new ToYongYouBaseResponse();
|
|
|
+ R r = new R();
|
|
|
+ try {
|
|
|
+// PurchaseOrderStatusModNoticeRequest request = (PurchaseOrderStatusModNoticeRequest)req;
|
|
|
+ List<PurchaseOrderStatusModNoticeRequest> requests = JSONArray.parseArray(reqStr, PurchaseOrderStatusModNoticeRequest.class);
|
|
|
+ List<LongYanPurchaseDetailDTO> updateDetails = new ArrayList<>();
|
|
|
+ List<LongYanPurchaseOrder> updateOrders = new ArrayList<>();
|
|
|
+ for (PurchaseOrderStatusModNoticeRequest request : requests) {
|
|
|
+ List<PurchaseDetails> purchaseDetails = request.getPurchaseDetails();
|
|
|
+ List<String> spareNos = purchaseDetails.stream().map(PurchaseDetails::getSpareNo).collect(Collectors.toList());
|
|
|
+ LongYanPurchaseOrder order = new LongYanPurchaseOrder();
|
|
|
+ order.setYongYouId(request.getYongYouId());
|
|
|
+ order = longYanPurchaseOrderMapper.selectOne(order);
|
|
|
+ LongYanPurchaseDetail detail = new LongYanPurchaseDetail();
|
|
|
+ detail.setLongYangPurchaseOrderId(order.getId());
|
|
|
+ Weekend<LongYanPurchaseDetail> weekend = new Weekend(LongYanPurchaseDetail.class);
|
|
|
+ WeekendCriteria<LongYanPurchaseDetail, Object> weekendCriteria = weekend.weekendCriteria();
|
|
|
+ weekendCriteria.andEqualTo(LongYanPurchaseDetail::getLongYangPurchaseOrderId, order.getId());
|
|
|
+ weekendCriteria.andIn(LongYanPurchaseDetail::getNo, spareNos);
|
|
|
+ List<LongYanPurchaseDetail> details = longYanPurchaseDetailMapper.selectByExample(weekend);
|
|
|
+ List<LongYanPurchaseDetailDTO> dtos = BeanConverterUtil.copyListProperties(details, LongYanPurchaseDetailDTO.class);
|
|
|
+ int count = 0;
|
|
|
+ for (PurchaseDetails details1 : purchaseDetails) {
|
|
|
+ if (1 == details1.getStatus()) {//已入库
|
|
|
+ count++;
|
|
|
+ }
|
|
|
+ for (LongYanPurchaseDetailDTO detail1 : dtos) {
|
|
|
+ if (detail1.getNo().equals(details1.getSpareNo())) {
|
|
|
+ detail1.setYongYouId(request.getYongYouId());
|
|
|
+ detail1.setDetailStatus(details1.getStatus());
|
|
|
+ detail1.setPurchasedNum(details1.getPurchasedNum());
|
|
|
+ detail1.setInStoreNum(details1.getInStoreNum());
|
|
|
+ updateDetails.add(detail1);
|
|
|
+ break;
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
- }
|
|
|
- }
|
|
|
// if (count==0){
|
|
|
// order.setStatus(LongYanPurchaseOrderStatusEnum.not_in_store.getValue());
|
|
|
// }else if (count>0&&count<purchaseDetails.size()){
|
|
@@ -76,15 +91,24 @@ public class PurchaseOrderModNoticeHandler extends BaseRequestHandler {
|
|
|
// order.setStatus(request.getStatus());
|
|
|
// order.setRefuseRemark(request.getRemark());
|
|
|
// order.setUpdateTime(LocalDateTime.now());
|
|
|
- longYanPurchaseOrderMapper.updateByPrimaryKeySelective(order);
|
|
|
- ToYongYouBaseResponse response = new ToYongYouBaseResponse();
|
|
|
- R r = new R();
|
|
|
- response.setResult(true);
|
|
|
- response.setMsg("成功");
|
|
|
- r.setData(response);
|
|
|
+ order.setStatus(request.getOrderStatus());
|
|
|
+ updateOrders.add(order);
|
|
|
+ }
|
|
|
+ longYanPurchaseDetailMapper.updateBatchPurchaseDetails(updateDetails);
|
|
|
+ longYanPurchaseOrderMapper.updateBatchPurchaseOrder(updateOrders);
|
|
|
+ response.setResult(true);
|
|
|
+ response.setMsg("成功");
|
|
|
+ r.setData(response);
|
|
|
+ }catch (Exception e){
|
|
|
+ response.setResult(false);
|
|
|
+ response.setMsg("失败");
|
|
|
+ r.setData(response);
|
|
|
+ }
|
|
|
return r;
|
|
|
}
|
|
|
|
|
|
+
|
|
|
+
|
|
|
/**
|
|
|
* 获取分页数据
|
|
|
* @param req
|