|
@@ -0,0 +1,216 @@
|
|
|
|
+package handler.yongyou;
|
|
|
|
+
|
|
|
|
+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.entity.longyanpurchaseorder.LongYanPurchaseDetail;
|
|
|
|
+import com.platform.dao.entity.longyanpurchaseorder.LongYanPurchaseOrder;
|
|
|
|
+import com.platform.dao.entity.store.OutStoreForm;
|
|
|
|
+import com.platform.dao.enums.LongYanPurchaseDetailStatusEnum;
|
|
|
|
+import com.platform.dao.enums.LongYanPurchaseOrderStatusEnum;
|
|
|
|
+import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseDetailMapper;
|
|
|
|
+import com.platform.dao.mapper.longyanpurchaseorder.LongYanPurchaseOrderMapper;
|
|
|
|
+import com.platform.dao.mapper.store.OutStoreFormMapper;
|
|
|
|
+import handler.yongyou.request.*;
|
|
|
|
+import handler.yongyou.response.ApplyOutStoreFormResponse;
|
|
|
|
+import handler.yongyou.response.BaseResponse;
|
|
|
|
+import handler.yongyou.response.ToYongYouBaseResponse;
|
|
|
|
+import lombok.extern.slf4j.Slf4j;
|
|
|
|
+import org.springframework.stereotype.Component;
|
|
|
|
+import tk.mybatis.mapper.weekend.Weekend;
|
|
|
|
+import tk.mybatis.mapper.weekend.WeekendCriteria;
|
|
|
|
+
|
|
|
|
+import javax.annotation.Resource;
|
|
|
|
+import java.util.ArrayList;
|
|
|
|
+import java.util.List;
|
|
|
|
+import java.util.stream.Collectors;
|
|
|
|
+
|
|
|
|
+@Slf4j
|
|
|
|
+@Component
|
|
|
|
+public class ApplyOutStoreFormHandler extends BaseRequestHandler {
|
|
|
|
+ @Resource
|
|
|
|
+ private LongYanPurchaseOrderMapper longYanPurchaseOrderMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ private LongYanPurchaseDetailMapper longYanPurchaseDetailMapper;
|
|
|
|
+ @Resource
|
|
|
|
+ private OutStoreFormMapper outStoreFormMapper;
|
|
|
|
+
|
|
|
|
+ public ApplyOutStoreFormHandler(){
|
|
|
|
+ setServiceType(DictTypeEnum.THIRD_PARTY_YONGYOU_ADDSPARE.getType());
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public R successHandler(FromYongYouBaseRequest req,String reqStr) {
|
|
|
|
+ ToYongYouBaseResponse response = new ToYongYouBaseResponse();
|
|
|
|
+ R r = new R();
|
|
|
|
+ try {
|
|
|
|
+// PurchaseOrderStatusModNoticeRequest request = (PurchaseOrderStatusModNoticeRequest)req;
|
|
|
|
+ PurchaseOrderStatusModNoticeRequest purchaseOrderStatusModNoticeRequest = JsonUtils.jsonToModel(reqStr,PurchaseOrderStatusModNoticeRequest.class);
|
|
|
|
+ List<ModRequest> requests = purchaseOrderStatusModNoticeRequest.getModRequests();
|
|
|
|
+ List<LongYanPurchaseDetailDTO> updateDetails = new ArrayList<>();
|
|
|
|
+ List<LongYanPurchaseOrder> updateOrders = new ArrayList<>();
|
|
|
|
+ for (ModRequest 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);
|
|
|
|
+ for (PurchaseDetails details1 : purchaseDetails) {
|
|
|
|
+ for (LongYanPurchaseDetailDTO detail1 : dtos) {
|
|
|
|
+ if (detail1.getNo().equals(details1.getSpareNo())) {
|
|
|
|
+ detail1.setYongYouId(request.getYongYouId());
|
|
|
|
+// detail1.setDetailStatus(details1.getStatus());
|
|
|
|
+ addDetailStatus(details1,detail1);
|
|
|
|
+ detail1.setPurchasedNum(details1.getPurchasedNum());
|
|
|
|
+ detail1.setInStoreNum(details1.getInStoreNum());
|
|
|
|
+ detail1.setNo(details1.getSpareNo());
|
|
|
|
+ detail1.setYongYouRemark(details1.getRemark());
|
|
|
|
+ updateDetails.add(detail1);
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ addStatus(request,order);
|
|
|
|
+ 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;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ @Override
|
|
|
|
+ public R successHandler2(FromPurchaseBaseRequest req, String reqStr) {
|
|
|
|
+ ApplyOutStoreFormResponse response = new ApplyOutStoreFormResponse();
|
|
|
|
+ R r = new R();
|
|
|
|
+ try {
|
|
|
|
+ OutStoreForm form = new OutStoreForm();
|
|
|
|
+ form.setStatus(4);//推送成功
|
|
|
|
+ List<OutStoreForm> outStoreForms = outStoreFormMapper.select(form);
|
|
|
|
+// PurchaseOrderStatusModNoticeRequest request = (PurchaseOrderStatusModNoticeRequest)req;
|
|
|
|
+// PurchaseOrderStatusModNoticeRequest purchaseOrderStatusModNoticeRequest = JsonUtils.jsonToModel(reqStr,PurchaseOrderStatusModNoticeRequest.class);
|
|
|
|
+// List<ModRequest> requests = purchaseOrderStatusModNoticeRequest.getModRequests();
|
|
|
|
+// List<LongYanPurchaseDetailDTO> updateDetails = new ArrayList<>();
|
|
|
|
+// List<LongYanPurchaseOrder> updateOrders = new ArrayList<>();
|
|
|
|
+// for (ModRequest 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);
|
|
|
|
+// for (PurchaseDetails details1 : purchaseDetails) {
|
|
|
|
+// for (LongYanPurchaseDetailDTO detail1 : dtos) {
|
|
|
|
+// if (detail1.getNo().equals(details1.getSpareNo())) {
|
|
|
|
+// detail1.setYongYouId(request.getYongYouId());
|
|
|
|
+//// detail1.setDetailStatus(details1.getStatus());
|
|
|
|
+// addDetailStatus(details1,detail1);
|
|
|
|
+// detail1.setPurchasedNum(details1.getPurchasedNum());
|
|
|
|
+// detail1.setInStoreNum(details1.getInStoreNum());
|
|
|
|
+// detail1.setNo(details1.getSpareNo());
|
|
|
|
+// detail1.setYongYouRemark(details1.getRemark());
|
|
|
|
+// updateDetails.add(detail1);
|
|
|
|
+// break;
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+// }
|
|
|
|
+//
|
|
|
|
+// addStatus(request,order);
|
|
|
|
+// updateOrders.add(order);
|
|
|
|
+// }
|
|
|
|
+// longYanPurchaseDetailMapper.updateBatchPurchaseDetails(updateDetails);
|
|
|
|
+// longYanPurchaseOrderMapper.updateBatchPurchaseOrder(updateOrders);
|
|
|
|
+ if (outStoreForms==null||outStoreForms.size()<=0){
|
|
|
|
+ response.setResult(false);
|
|
|
|
+ response.setMsg("未查到数据!");
|
|
|
|
+ }else {
|
|
|
|
+ response.setResult(true);
|
|
|
|
+ response.setMsg("成功");
|
|
|
|
+ }
|
|
|
|
+ r.setData(response);
|
|
|
|
+ }catch (Exception e){
|
|
|
|
+ response.setResult(false);
|
|
|
|
+ response.setMsg("失败");
|
|
|
|
+ r.setData(response);
|
|
|
|
+ }
|
|
|
|
+ return r;
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void addDetailStatus(PurchaseDetails data, LongYanPurchaseDetailDTO detail) {
|
|
|
|
+ if ("已请购".equals(data.getStatus())){
|
|
|
|
+ detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.applyed.getValue());
|
|
|
|
+ }else if ("已询价".equals(data.getStatus())){
|
|
|
|
+ detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.asked_price.getValue());
|
|
|
|
+ }else if ("采购中".equals(data.getStatus())){
|
|
|
|
+ detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.purchasing.getValue());
|
|
|
|
+ }else if ("已采购".equals(data.getStatus())){
|
|
|
|
+ detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.purchased.getValue());
|
|
|
|
+ }else if ("入库中".equals(data.getStatus())){
|
|
|
|
+ detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.in_storing.getValue());
|
|
|
|
+ }else if ("已入库".equals(data.getStatus())){
|
|
|
|
+ detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.in_stored.getValue());
|
|
|
|
+ }else if ("请购关闭".equals(data.getStatus())){
|
|
|
|
+ detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.close_apply_order.getValue());
|
|
|
|
+ }else if ("请购中".equals(data.getStatus())){
|
|
|
|
+ detail.setDetailStatus(LongYanPurchaseDetailStatusEnum.apply_purchasing.getValue());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ private void addStatus(ModRequest request, LongYanPurchaseOrder udpOrder) {
|
|
|
|
+ if ("锁定".equals(request.getOrderStatus())){
|
|
|
|
+ udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.locked.getValue());
|
|
|
|
+ }else if ("开立".equals(request.getOrderStatus())){
|
|
|
|
+ udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.stand.getValue());
|
|
|
|
+ }else if ("审核".equals(request.getOrderStatus())){
|
|
|
|
+ udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.check.getValue());
|
|
|
|
+ }else if ("取消关闭".equals(request.getOrderStatus())){
|
|
|
|
+ udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.cancel_close.getValue());
|
|
|
|
+ }
|
|
|
|
+ else if ("正常关闭".equals(request.getOrderStatus())){
|
|
|
|
+ udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.normal_close.getValue());
|
|
|
|
+ }
|
|
|
|
+ else if ("未知状态".equals(request.getOrderStatus())){
|
|
|
|
+ udpOrder.setStatus(LongYanPurchaseOrderStatusEnum.unknowing_status.getValue());
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+
|
|
|
|
+ /**
|
|
|
|
+ * 获取分页数据
|
|
|
|
+ * @param req
|
|
|
|
+ * @param resp
|
|
|
|
+ */
|
|
|
|
+ @Override
|
|
|
|
+ public void successResponse(BaseRequest req, BaseResponse resp) {
|
|
|
|
+ AddSpareRequest request = (AddSpareRequest)req;
|
|
|
|
+// AddSpareResponse response = (AddSpareResponse)resp;
|
|
|
|
+ }
|
|
|
|
+}
|