فهرست منبع

fix: userSub 分税源地

shc 3 سال پیش
والد
کامیت
0ead0dbb90

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

@@ -306,7 +306,7 @@ public class WmPayOffController {
 
 		Optional<WmScorePackage> any = wsList.stream().filter(ws -> StringUtils.isEmpty(ws.getId())).findAny();
 
-		if (any.isPresent()){
+		if (any.isPresent()) {
 			return R.failed("数据异常,请联系管理员:" + any.get().getScoreName());
 		}
 
@@ -324,7 +324,7 @@ public class WmPayOffController {
 	@PostMapping("/settleIssueBySubType")
 	public R<?> settleIssueBySubType(@RequestBody WmScorePackageSettleInput input) {
 
-		if (StrUtil.isAllNotBlank(input.getId(), input.getScorePackageName()) || input.getSubjectLocation() == null || CollUtil.isEmpty(input.getNotes()) || null == input.getInvoiceCategory()) {
+		if (StrUtil.isBlank(input.getId()) || StrUtil.isBlank(input.getScorePackageName()) || input.getSubjectLocation() == null || CollUtil.isEmpty(input.getNotes()) || null == input.getInvoiceCategory()) {
 			return R.failed("数据异常");
 		}
 

+ 21 - 12
hnqz-upms/hnqz-upms-biz/src/main/java/com/qunzhixinxi/hnqz/admin/service/impl/WmPayOffServiceImpl.java

@@ -368,7 +368,7 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
 
 		// 人力家
 		if (SubjectTypeEnum.TYPE_RENLIJIA.getCode().equals(subType)) {
-			return settleByRenLiJia(input, sysDeptSub);
+			return settleByRenLiJia(input, sysDeptSub, operator);
 		}
 		// 自由职家
 		else if (SubjectTypeEnum.TYPE_OLADING.getCode().equals(subType)) {
@@ -377,7 +377,7 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
 		// 税邦云
 		else {
 			log.info("税邦云结算开始-获取会员所属企业的统一社会信用代码:{} ", taxCode);
-			return settleByShuiBangYun(input, sysDeptSub, taxCode);
+			return settleByShuiBangYun(input, sysDeptSub, taxCode, operator);
 		}
 
 	}
@@ -411,7 +411,7 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
 
 		// 人力家
 		if (SubjectTypeEnum.TYPE_RENLIJIA.getCode().equals(subType)) {
-			return settleByRenLiJia(input, sysDeptSub);
+			return settleByRenLiJia(input, sysDeptSub, operator);
 		}
 		// 自由职家
 		else if (SubjectTypeEnum.TYPE_OLADING.getCode().equals(subType)) {
@@ -420,7 +420,7 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
 		// 税邦云
 		else {
 			log.info("税邦云结算开始-获取会员所属企业的统一社会信用代码:{} ", taxCode);
-			return settleByShuiBangYun(input, sysDeptSub, taxCode);
+			return settleByShuiBangYun(input, sysDeptSub, taxCode, operator);
 		}
 
 	}
@@ -455,8 +455,10 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
 		for (WmScorePackageSettleNote note : notes) {
 			SysUser sysUser = sysUserMapper.selectById(note.getUserId());
 
-			SysUserSub userSub = sysUserSubMapper.selectOne(Wrappers.<SysUserSub>lambdaQuery().eq(SysUserSub::getGigType, GigTypeEnum.OLADING)
+			SysUserSub userSub = sysUserSubMapper.selectOne(Wrappers.<SysUserSub>lambdaQuery()
 					.eq(SysUserSub::getUserId, sysUser.getUserId())
+					.eq(SysUserSub::getSubjectLocation, input.getSubjectLocation())
+					.eq(SysUserSub::getDeptId, operator.getDeptId())
 			);
 
 			if (userSub == null) {
@@ -610,11 +612,13 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
 	 * @param input      结算数据
 	 * @param sysDeptSub 结算配置
 	 * @param taxCode    税号
+	 * @param operator   操作员
 	 * @return 结果
 	 */
 	private R<?> settleByShuiBangYun(WmScorePackageSettleInput input,
 									 SysDeptSub sysDeptSub,
-									 String taxCode) {
+									 String taxCode,
+									 HnqzUser operator) {
 		List<WmScorePackageSettleNote> notes = input.getNotes();
 		StringBuilder noticeInfo = new StringBuilder();
 
@@ -631,8 +635,10 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
 		for (WmScorePackageSettleNote note : notes) {
 			SysUser sysUser = sysUserMapper.selectById(note.getUserId());
 
-			SysUserSub userSub = sysUserSubMapper.selectOne(Wrappers.<SysUserSub>lambdaQuery().eq(SysUserSub::getGigType, GigTypeEnum.TAX_HELPOR)
+			SysUserSub userSub = sysUserSubMapper.selectOne(Wrappers.<SysUserSub>lambdaQuery()
 					.eq(SysUserSub::getUserId, sysUser.getUserId())
+					.eq(SysUserSub::getSubjectLocation, input.getSubjectLocation())
+					.eq(SysUserSub::getDeptId, operator.getDeptId())
 			);
 
 			if (userSub == null) {
@@ -742,11 +748,12 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
 	/**
 	 * 人力家结算
 	 *
-	 * @param input          结算数据
-	 * @param sysDeptSub     结算配置
+	 * @param input      结算数据
+	 * @param sysDeptSub 结算配置
+	 * @param operator   操作员
 	 * @return 结果
 	 */
-	private R<?> settleByRenLiJia(WmScorePackageSettleInput input, SysDeptSub sysDeptSub) {
+	private R<?> settleByRenLiJia(WmScorePackageSettleInput input, SysDeptSub sysDeptSub, HnqzUser operator) {
 		List<WmScorePackageSettleNote> notes = input.getNotes();
 
 		for (WmScorePackageSettleNote note : notes) {
@@ -767,8 +774,10 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
 		for (WmScorePackageSettleNote note : notes) {
 
 			SysUser sysUser = sysUserMapper.selectById(note.getUserId());
-			SysUserSub userSub = sysUserSubMapper.selectOne(Wrappers.<SysUserSub>lambdaQuery().eq(SysUserSub::getGigType, GigTypeEnum.REN_LI_JIA)
+			SysUserSub userSub = sysUserSubMapper.selectOne(Wrappers.<SysUserSub>lambdaQuery()
 					.eq(SysUserSub::getUserId, sysUser.getUserId())
+					.eq(SysUserSub::getSubjectLocation, input.getSubjectLocation())
+					.eq(SysUserSub::getDeptId, operator.getDeptId())
 			);
 
 			if (userSub == null) {
@@ -825,7 +834,7 @@ public class WmPayOffServiceImpl extends ServiceImpl<WmPayOffMapper, WmPayOff> i
 
 				List<Map<String, String>> jsdList = new ArrayList<>(1);
 				Map<String, String> jsdMap = new HashMap<>(4);
-				jsdMap.put("amount", String.format("%.2f",note.getSettleAmount().doubleValue()));
+				jsdMap.put("amount", String.format("%.2f", note.getSettleAmount().doubleValue()));
 				jsdMap.put("mobile", sysUser.getPhone());
 				jsdMap.put("idCard", sysUser.getIdCardNumber());
 				jsdMap.put("name", sysUser.getRealname());