66 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Java
		
	
	
	
		
		
			
		
	
	
			66 lines
		
	
	
		
			2.9 KiB
		
	
	
	
		
			Java
		
	
	
	
| 
								 | 
							
								package tqq9.lc123.cloud.app.api.controller;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import com.drew.lang.annotations.NotNull;
							 | 
						||
| 
								 | 
							
								import kd.bos.dataentity.entity.DynamicObject;
							 | 
						||
| 
								 | 
							
								import kd.bos.dataentity.utils.StringUtils;
							 | 
						||
| 
								 | 
							
								import kd.bos.entity.botp.runtime.PushArgs;
							 | 
						||
| 
								 | 
							
								import kd.bos.form.plugin.AbstractFormPlugin;
							 | 
						||
| 
								 | 
							
								import kd.bos.openapi.common.custom.annotation.ApiController;
							 | 
						||
| 
								 | 
							
								import kd.bos.openapi.common.custom.annotation.ApiParam;
							 | 
						||
| 
								 | 
							
								import kd.bos.openapi.common.custom.annotation.ApiPostMapping;
							 | 
						||
| 
								 | 
							
								import kd.bos.openapi.common.result.CustomApiResult;
							 | 
						||
| 
								 | 
							
								import kd.bos.orm.query.QCP;
							 | 
						||
| 
								 | 
							
								import kd.bos.orm.query.QFilter;
							 | 
						||
| 
								 | 
							
								import kd.bos.servicehelper.BusinessDataServiceHelper;
							 | 
						||
| 
								 | 
							
								import kd.sdk.plugin.Plugin;
							 | 
						||
| 
								 | 
							
								import org.json.JSONObject;
							 | 
						||
| 
								 | 
							
								import tqq9.lc123.cloud.app.api.model.FWBillStateUpdModel;
							 | 
						||
| 
								 | 
							
								import tqq9.lc123.cloud.app.api.utils.ApiResultExt;
							 | 
						||
| 
								 | 
							
								import tqq9.lc123.cloud.app.plugin.utils.BotpParamUtils;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								import java.util.*;
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								/**
							 | 
						||
| 
								 | 
							
								 * 动态表单插件
							 | 
						||
| 
								 | 
							
								 */
							 | 
						||
| 
								 | 
							
								@ApiController(value = "AbstractFormPlugin", desc = "WMS-收获通知下推采购入库单")
							 | 
						||
| 
								 | 
							
								public class WMSPurInController extends AbstractFormPlugin implements Plugin {
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    private static String RECEIPTNOTICE = "pm_receiptnotice";
							 | 
						||
| 
								 | 
							
								    private static String PURINBILL = "im_purinbill";
							 | 
						||
| 
								 | 
							
								    private static String RECEIPTNOTICE_ENTRY = "billentry";
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								    @ApiPostMapping(value = "/WMSPushPurIn", desc = "WMS-收获通知下推采购入库单")
							 | 
						||
| 
								 | 
							
								    public CustomApiResult<ApiResultExt> WMS_PurInPush
							 | 
						||
| 
								 | 
							
								            (@NotNull @ApiParam(value = "入参", example = "") HashMap<String, Object> data) {
							 | 
						||
| 
								 | 
							
								        ApiResultExt resultExt = new ApiResultExt();
							 | 
						||
| 
								 | 
							
								        List<ApiResultExt.ResultBean> results = new ArrayList<>();
							 | 
						||
| 
								 | 
							
								        String VoucherType =(String)data.get("VoucherType");//单据类型
							 | 
						||
| 
								 | 
							
								        if(StringUtils.equals("采购订单",VoucherType)){
							 | 
						||
| 
								 | 
							
								            String rule = BotpParamUtils.getBotpRuleId(RECEIPTNOTICE, PURINBILL, "收货通知单_采购入库单_转换规则");
							 | 
						||
| 
								 | 
							
								            String billno =(String)data.get("erpOrderCode");//收货通知单编号
							 | 
						||
| 
								 | 
							
								            //收货通知单
							 | 
						||
| 
								 | 
							
								            DynamicObject receiptnotice = BusinessDataServiceHelper.loadSingle(RECEIPTNOTICE, new QFilter[]{new QFilter("billno", QCP.equals, billno)});
							 | 
						||
| 
								 | 
							
								            Map<String, Object> param =new HashMap<>();//传入转换规则处理参数
							 | 
						||
| 
								 | 
							
								            HashMap<Long, Set<Long>> entitypkMap = new HashMap<>();//上下游id映射Map
							 | 
						||
| 
								 | 
							
								            JSONObject jsonObject = new JSONObject();
							 | 
						||
| 
								 | 
							
								            Long entryId = (Long)data.get("erpDetailId");//收货通知单明细id
							 | 
						||
| 
								 | 
							
								            jsonObject.put("erpDetailId",entryId);
							 | 
						||
| 
								 | 
							
								            jsonObject.put("quantity",data.get("quantity"));
							 | 
						||
| 
								 | 
							
								            jsonObject.put("erpDetailId",data.get("erpDetailId"));
							 | 
						||
| 
								 | 
							
								            jsonObject.put("erpDetailId",data.get("erpDetailId"));
							 | 
						||
| 
								 | 
							
								            jsonObject.put("erpDetailId",data.get("erpDetailId"));
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								            PushArgs pushArgs = BotpParamUtils.getPushArgs(PURINBILL, RECEIPTNOTICE, RECEIPTNOTICE_ENTRY, param, entitypkMap, rule);
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								        resultExt.setResult(results);
							 | 
						||
| 
								 | 
							
								        return CustomApiResult.success(resultExt);
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								
							 | 
						||
| 
								 | 
							
								}
							 |