Explorar o código

fix: 财务批量结算,拼接notes详情

lixuesong %!s(int64=3) %!d(string=hai) anos
pai
achega
caff642b82

+ 14 - 3
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/controller/WmPayOffController.java

@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.pig4cloud.plugin.excel.annotation.ResponseExcel;
 import com.qunzhixinxi.hnqz.admin.entity.WmScorePackage;
+import com.qunzhixinxi.hnqz.admin.entity.WmScorePackageSettleNote;
 import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleInput;
 import com.qunzhixinxi.hnqz.admin.entity.input.WmScorePackageSettleOutput;
 import com.qunzhixinxi.hnqz.admin.entity.model.excel.WmScorePackageSettleExcelModel;
@@ -30,6 +31,7 @@ import org.springframework.web.bind.annotation.RestController;
 
 import java.util.ArrayList;
 import java.util.List;
+import java.util.Map;
 
 /**
  * 结算表
@@ -278,12 +280,21 @@ public class WmPayOffController {
 		}
 		List<String> msgList = new ArrayList<>();
 		for (WmScorePackageSettleInput input : inputList) {
-			if(StringUtils.isEmpty(input.getId()) || StringUtils.isEmpty(input.getSubType()) || CollectionUtils.isEmpty(input.getNotes())
+			if(StringUtils.isEmpty(input.getId()) || StringUtils.isEmpty(input.getSubType())
 				|| null == input.getInvoiceCategory() || StringUtils.isEmpty(input.getScorePackageName())) {
 				return R.failed("数据异常");
 			}
-			R r = wmPayOffService.settleIssueBySubType(input);
-			msgList.add(String.format("%s:%s", input.getScorePackageName(), r.getMsg()));
+			// 查询结算详情(用于拼接notes数据)
+			R queryR = wmPayOffService.settleById(input);
+
+			if (queryR.getCode() == 0) {
+				Map<String, Object> queryData = (Map<String, Object>) queryR.getData();
+				input.setNotes((List<WmScorePackageSettleNote>) queryData.get("notes"));
+				R settleR = wmPayOffService.settleIssueBySubType(input);
+				msgList.add(String.format("%s:%s", input.getScorePackageName(), settleR.getMsg()));
+			} else {
+				msgList.add(String.format("%s:%s", input.getScorePackageName(), queryR.getMsg()));
+			}
 		}
 		return R.ok(msgList);
 	}