@ -1,11 +1,31 @@
package com.dsic.gj_erp.controller.pbsc ;
import org.springframework.web.bind.annotation.RequestMapping ;
import org.springframework.web.bind.annotation.RestController ;
import cn.hutool.core.date.DateUtil ;
import cn.hutool.core.util.StrUtil ;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper ;
import com.dsic.gj_erp.annotation.AuthFunction ;
import com.dsic.gj_erp.bean.ResultBean ;
import com.dsic.gj_erp.bean.jcsj.DmBchxylp ;
import com.dsic.gj_erp.bean.jhgk.DmYdjhLj ;
import com.dsic.gj_erp.bean.pbsc.MpYlxxp ;
import com.dsic.gj_erp.exception.CustomException ;
import com.dsic.gj_erp.mapper.jcsj.DmBchxylpMapper ;
import com.dsic.gj_erp.service.jcsj.DmBchxylpService ;
import com.dsic.gj_erp.service.pgsc.MpYlxxpService ;
import org.apache.commons.lang3.StringUtils ;
import org.springframework.beans.factory.annotation.Autowired ;
import org.springframework.web.bind.annotation.* ;
import javax.servlet.http.HttpServletRequest ;
import java.math.BigDecimal ;
import java.math.RoundingMode ;
import java.util.ArrayList ;
import java.util.List ;
import java.util.Map ;
/ * *
* < p >
* 前 端 控 制 器
* 前 端 控 制 器
* < / p >
*
* @author xhj
@ -14,6 +34,131 @@ import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping ( "/mpYlxxp" )
public class MpYlxxpController {
@Autowired
MpYlxxpService mpYlxxpService ;
@Autowired
DmBchxylpMapper dmBchxylpMapper ;
@PostMapping ( "/getYlList" )
@ResponseBody
public ResultBean getYlList ( HttpServletRequest req , @RequestBody Map map ) throws Exception , CustomException {
QueryWrapper < MpYlxxp > qw = new QueryWrapper < > ( ) ;
qw . eq ( StrUtil . isNotEmpty ( ( String ) map . get ( "dcch" ) ) , "dc_ch" , ( String ) map . get ( "dcch" ) ) ;
qw . eq ( StrUtil . isNotEmpty ( ( String ) map . get ( "pl" ) ) , "dc_pl" , ( String ) map . get ( "pl" ) ) ;
return new ResultBean ( mpYlxxpService . list ( qw ) ) ;
}
@PostMapping ( "/getYlListAdd" )
@ResponseBody
public ResultBean getYlListAdd ( HttpServletRequest req , @RequestBody Map map ) throws Exception , CustomException {
return new ResultBean ( dmBchxylpMapper . getYlListAdd ( map ) ) ;
}
@PostMapping ( "/getYlListAddZx" )
@ResponseBody
@AuthFunction
public ResultBean getYlListAddZx ( HttpServletRequest req , @RequestBody List < DmBchxylp > list ) throws Exception , CustomException {
List < MpYlxxp > rList = new ArrayList < > ( ) ;
for ( DmBchxylp dmBchxylp : list ) {
// 判断 是否重复导入
List < MpYlxxp > list1 = mpYlxxpService . list ( new QueryWrapper < MpYlxxp > ( ) . eq ( "DC_CH" , dmBchxylp . getDcCh ( ) ) . eq ( "ylbh" , dmBchxylp . getYlbh ( ) ) ) ;
if ( list1 . size ( ) > 0 ) {
continue ;
}
MpYlxxp mpYlxxp = new MpYlxxp ( ) ;
mpYlxxp . setHxbh ( dmBchxylp . getHxbh ( ) ) ;
mpYlxxp . setXh ( dmBchxylp . getXh ( ) ) ;
mpYlxxp . setDcCh ( dmBchxylp . getDcCh ( ) ) ;
mpYlxxp . setDcPl ( dmBchxylp . getDcPl ( ) ) ;
mpYlxxp . setSl ( dmBchxylp . getSl ( ) ) ;
mpYlxxp . setDcHx ( dmBchxylp . getYlzd1 ( ) ) ;
mpYlxxp . setDcZl ( dmBchxylp . getDcZl ( ) ) ;
mpYlxxp . setWpgg ( dmBchxylp . getWpgg ( ) ) ;
mpYlxxp . setWpxh ( dmBchxylp . getWpxh ( ) ) ;
String ls_wpgg = dmBchxylp . getWpgg ( ) ;
int li_pos = ls_wpgg . indexOf ( '*' ) ; // 查找 '*' 的位置
double ldgg = 0 ;
String ls_gg = "" ;
// 如果找到 '*' 符号
if ( li_pos > 0 ) {
// 提取 '*' 前的子字符串
ls_gg = ls_wpgg . substring ( 0 , li_pos ) ;
ldgg = Double . parseDouble ( ls_wpgg . substring ( 0 , li_pos ) ) ;
}
// 将字符串转换为 BigDecimal( 如果是数值型)
BigDecimal t1Value ;
try {
t1Value = new BigDecimal ( ls_gg ) ;
} catch ( NumberFormatException e ) {
// 处理转换异常
t1Value = BigDecimal . ZERO ; // 或根据需要设置默认值
}
mpYlxxp . setT1 ( t1Value ) ;
String ls_ly_wpgg = dmBchxylp . getYlgg ( ) ; // 示例数据
// String ls_gg = "example3"; // 示例数据
String ls_gg1 = "" ;
String ls_gg2 = "" ;
String ls_gg3 = "" ;
int li_pos1 = ls_ly_wpgg . indexOf ( '*' ) ; // 查找 '*' 的位置
// 如果找到 '*'
if ( li_pos1 > 0 ) {
// 提取 '*' 前的子字符串
ls_gg1 = ls_ly_wpgg . substring ( 0 , li_pos1 ) ;
// 提取 '*' 后的子字符串
ls_gg2 = ls_ly_wpgg . substring ( li_pos1 + 1 ) ;
}
// 拼接 ls_gg 和 ls_ly_wpgg 生成 ls_gg3
ls_gg3 = ls_gg + "*" + ls_ly_wpgg ;
// 转换 ls_gg1 和 ls_gg2 为 BigDecimal
BigDecimal b1Value = BigDecimal . ZERO ;
BigDecimal lValue = BigDecimal . ZERO ;
BigDecimal ylzlValue = BigDecimal . ZERO ;
BigDecimal ls_ggDecimal = BigDecimal . ZERO ;
try {
b1Value = new BigDecimal ( ls_gg1 ) ;
lValue = new BigDecimal ( ls_gg2 ) ;
ls_ggDecimal = new BigDecimal ( ls_gg ) ;
} catch ( NumberFormatException e ) {
// 处理转换错误
// 设置默认值为 0
b1Value = BigDecimal . ZERO ;
lValue = BigDecimal . ZERO ;
ls_ggDecimal = BigDecimal . ZERO ;
}
// 计算 ylzl = round(dec(ls_gg)*dec(ls_gg2)*dec(ls_gg1)*7850/1000000000, 3)
BigDecimal multiplier = new BigDecimal ( 7850 ) ;
BigDecimal divisor = new BigDecimal ( 1000000000 ) ;
ylzlValue = ls_ggDecimal . multiply ( lValue ) . multiply ( b1Value ) . multiply ( multiplier ) . divide ( divisor , 3 , RoundingMode . HALF_UP ) ;
mpYlxxp . setB1 ( b1Value ) ;
mpYlxxp . setL ( lValue ) ;
mpYlxxp . setYlzl ( ylzlValue ) ;
mpYlxxp . setTzbh ( dmBchxylp . getTzbh ( ) ) ;
mpYlxxp . setYlbh ( dmBchxylp . getYlbh ( ) ) ;
mpYlxxp . setYlzd1 ( ls_gg3 ) ;
mpYlxxp . setZt ( "01" ) ;
mpYlxxp . setBzrq ( DateUtil . format ( DateUtil . date ( ) , "yyyy/MM/dd HH:mm" ) ) ;
mpYlxxp . setBzry ( ( String ) req . getAttribute ( "yhms" ) ) ;
rList . add ( mpYlxxp ) ;
}
return new ResultBean ( rList ) ;
}
@PostMapping ( "/delYlxx" )
@ResponseBody
public ResultBean delYlxx ( HttpServletRequest req , @RequestBody Map map ) throws Exception , CustomException {
return new ResultBean ( mpYlxxpService . removeById ( ( String ) map . get ( "ylsxh" ) ) ) ;
}
@PostMapping ( "/saveYl" )
@ResponseBody
public ResultBean saveYl ( HttpServletRequest req , @RequestBody List < MpYlxxp > list ) throws Exception , CustomException {
for ( MpYlxxp mpYlxxp : list ) {
if ( StringUtils . isBlank ( mpYlxxp . getYlsxh ( ) ) ) {
}
}
return new ResultBean ( ) ;
}
}