订单管理相关
This commit is contained in:
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,9 @@
|
||||
package com.zt.plat.module.erp.service.erp;
|
||||
|
||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpBillMainSaveReqVO;
|
||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpOrderSaveReqVO;
|
||||
|
||||
public interface ErpOrderService {
|
||||
|
||||
String submitOrderToErp(ErpOrderSaveReqVO createVo);
|
||||
}
|
||||
@@ -0,0 +1,95 @@
|
||||
package com.zt.plat.module.erp.service.erp;
|
||||
|
||||
|
||||
import com.zt.plat.framework.security.core.util.SecurityFrameworkUtils;
|
||||
import com.zt.plat.module.erp.api.ErpExternalApi;
|
||||
import com.zt.plat.module.erp.api.dto.ErpSubmitReqDTO;
|
||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpBillMainSaveReqVO;
|
||||
import com.zt.plat.module.erp.controller.admin.erp.vo.ErpOrderSaveReqVO;
|
||||
import jakarta.annotation.Resource;
|
||||
import org.springframework.stereotype.Service;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.HashMap;
|
||||
import java.util.List;
|
||||
import java.util.Map;
|
||||
@Service
|
||||
public class ErpOrderServiceImpl implements ErpOrderService {
|
||||
@Resource
|
||||
public ErpExternalApi erpExternalApi;
|
||||
@Override
|
||||
public String submitOrderToErp(ErpOrderSaveReqVO createVo) {
|
||||
|
||||
ErpSubmitReqDTO reqDTO = buildBaseReqDTO(createVo, "061");
|
||||
|
||||
Map<String, Object> req = new HashMap<>();
|
||||
Map<String, Object> head = new HashMap<>();
|
||||
// head
|
||||
head.put("comp_code", createVo.getCompCode());
|
||||
head.put("vendor", createVo.getVendor());
|
||||
head.put("doc_type", createVo.getDocType());
|
||||
head.put("doc_date", createVo.getDocDate());
|
||||
head.put("purch_org", createVo.getPurchOrg());
|
||||
head.put("pur_group", createVo.getPurGroup());
|
||||
head.put("currency", createVo.getCurrency());
|
||||
head.put("exch_rate", createVo.getExchRate());
|
||||
req.put("head", head);
|
||||
//exte
|
||||
Map<String, Object> exte = new HashMap<>();
|
||||
exte.put("zzhth", createVo.getZzhth());
|
||||
exte.put("zxxyh", createVo.getZxxyh());
|
||||
exte.put("znote", createVo.getZnote());
|
||||
exte.put("zlifnr", createVo.getZlifnr());
|
||||
req.put("exte", exte);
|
||||
getMaps(createVo, req);
|
||||
reqDTO.setReq(req);
|
||||
|
||||
return submitToErp(reqDTO);
|
||||
}
|
||||
|
||||
private ErpSubmitReqDTO buildBaseReqDTO(ErpOrderSaveReqVO vo, String funcnr) {
|
||||
ErpSubmitReqDTO reqDTO = new ErpSubmitReqDTO();
|
||||
reqDTO.setFuncnr(funcnr);
|
||||
reqDTO.setBskey(vo.getOrderid());
|
||||
reqDTO.setUsrid(String.valueOf(SecurityFrameworkUtils.getLoginUserId()));
|
||||
reqDTO.setUsrnm((SecurityFrameworkUtils.getLoginUserNickname()));
|
||||
return reqDTO;
|
||||
}
|
||||
|
||||
|
||||
private String submitToErp(ErpSubmitReqDTO reqDTO) {
|
||||
HashMap<String, String> response = erpExternalApi.submitDataToErp(reqDTO);
|
||||
return response.get("resStr");
|
||||
}
|
||||
private void getMaps(ErpOrderSaveReqVO vo, Map<String, Object> req) {
|
||||
List<Map<String, Object>> items = new ArrayList<>();
|
||||
Map<String, Object> item = new HashMap<>();
|
||||
item.put("po_item", vo.getPoItem());
|
||||
item.put("material", vo.getMaterial());
|
||||
item.put("plant", vo.getPlant());
|
||||
item.put("stge_loc", vo.getStgeLoc());
|
||||
item.put("quantity", vo.getQuantity());
|
||||
item.put("po_unit", vo.getPoUnit());
|
||||
item.put("net_price", vo.getNetPrice());
|
||||
item.put("price_unit", vo.getPriceUnit());
|
||||
item.put("tax_code", vo.getTaxCode());
|
||||
item.put("gr_based_iv", vo.getGrBasedIv());
|
||||
item.put("unlimited_dlv", vo.getUnlimitedDlv());
|
||||
item.put("batch", vo.getBatch());
|
||||
item.put("item_cat", vo.getItemCat());
|
||||
item.put("acctass_cat", vo.getAcctassCat());
|
||||
item.put("matl_group", vo.getMatlGroup());
|
||||
item.put("short_text", vo.getShortText());
|
||||
item.put("ret_item", vo.getRetItem());
|
||||
item.put("free_item", vo.getFreeItem());
|
||||
item.put("vendr_batch", vo.getVendrBatch());
|
||||
item.put("note_xq", vo.getNoteXq());
|
||||
item.put("note_wl", vo.getNoteWl());
|
||||
item.put("vend_mat", vo.getVendMat());
|
||||
items.add(item);
|
||||
if ("K".equals(vo.getAcctassCat())||"P".equals(vo.getAcctassCat())){
|
||||
req.put("acct", vo.getActsCtgrDtl());
|
||||
}
|
||||
req.put("item", items);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user