diff --git a/evo-admin/src/main/java/com/evo/common/controller/TestController.java b/evo-admin/src/main/java/com/evo/common/controller/TestController.java index 1458342..38073b6 100644 --- a/evo-admin/src/main/java/com/evo/common/controller/TestController.java +++ b/evo-admin/src/main/java/com/evo/common/controller/TestController.java @@ -587,208 +587,64 @@ public class TestController { public static void main(String[] args) throws Exception { - String str = "GW000001,总经理,00101,总经办;" + - "GW000002,经营副总,00101,总经办;" + - "GW000003,生产副总,00101,总经办;" + - "GW000004,机械总工程师,013,研究院;" + - "GW000005,常务副总,00101,总经办;" + - "GW000006,电气总工程师,013,研究院;" + - "GW000007,销售总监,00202,工业事业部;" + - "GW000008,营销专员,00202,工业事业部;" + - "GW000009,销售总监,00201,舞台事业部;" + - "GW000010,区域经理,00202,工业事业部;" + - "GW000011,销售内勤,00202,工业事业部;" + - "GW000012,生管部部长,005,生产管理部;" + - "GW000013,调度员,007,装配车间;" + - "GW000015,装一工段长,007,装配车间;" + - "GW000016,装一组长,007,装配车间;" + - "GW000017,装一装配工,007,装配车间;" + - "GW000018,装二装配工,007,装配车间;" + - "GW000030,工艺工程师,011,工艺所;" + - "GW000031,仓储部长,009,仓储物流部;" + - "GW000032,库管员,009,仓储物流部;" + - "GW000033,设计部部长,013,研究院;" + - "GW000034,机械设计工程师,013,研究院;" + - "GW000036,工艺技术员,011,工艺所;" + - "GW000039,质量部部长,012,质量管理部;" + - "GW000040,质检员,012,质量管理部;" + - "GW000041,财务部部长,003,财务部;" + - "GW000042,出纳,003,财务部;" + - "GW000044,采购部部长,004,采购部;" + - "GW000045,采购员,004,采购部;" + - "GW000047,C++工程师,013,研究院;" + - "GW000058,质量工程师(QE),012,质量管理部;" + - "GW000063,信息中心专员,00104,信息化办公室;" + - "GW000064,行政办主任,00102,行政办;" + - "GW000065,行政专员,00102,行政办;" + - "GW000066,信息中心主任,00104,信息化办公室;" + - "GW000067,人资办主任,00103,人资办;" + - "GW000068,人资专员,00103,人资办;" + - "GW000069,员工关系专员,00103,人资办;" + - "GW000070,总经办主任,00101,总经办;" + - "GW000071,总经办专员,00101,总经办;" + - "GW000072,成本会计,003,财务部;" + - "GW000073,总账会计,003,财务部;" + - "GW000074,往来会计,003,财务部;" + - "GW000075,库管组长,009,仓储物流部;" + - "GW000076,电控部长,013,研究院;" + - "GW000077,电气工程师,013,研究院;" + - "GW000078,点收组长,012,质量管理部;" + - "GW000079,点收员,012,质量管理部;" + - "GW000080,调式工程师,013,研究院;" + - "GW000081,前端工程师,013,研究院;" + - "GW000082,JAVA工程师,013,研究院;" + - "GW000083,嵌入式工程师,013,研究院;" + - "GW000084,装二工段长,007,装配车间;" + - "GW000085,装二组长,007,装配车间;" + - "GW000086,电钳工段长,007,装配车间;" + - "GW000087,售后副段长,015,售后服务科;" + - "GW000088,电钳工,007,装配车间;" + - "GW000089,调度员,006,机加车间;" + - "GW000090,统计员,006,机加车间;" + - "GW000091,卧加组长,006,机加车间;" + - "GW000092,铆焊副工段长,006,机加车间;" + - "GW000093,走心机操作工,006,机加车间;" + - "GW000094,下料组组长,006,机加车间;" + - "GW000095,非标焊接工段长,018,铆焊车间;" + - "GW000096,攻丝操作员,006,机加车间;" + - "GW000097,机一车间主任,006,机加车间;" + - "GW000098,机一操作员,006,机加车间;" + - "GW000099,机二车间主任,006,机加车间;" + - "GW000100,机二副工段长,006,机加车间;" + - "GW000101,卧加操作员,006,机加车间;" + - "GW000102,机三车间主任,006,机加车间;" + - "GW000103,机三副工段长,006,机加车间;" + - "GW000104,龙门组组长,006,机加车间;" + - "GW000105,立加850组长,006,机加车间;" + - "GW000106,立加850操作员,006,机加车间;" + - "GW000107,保安,00102,行政办;" + - "GW000108,保洁,00102,行政办;" + - "GW000109,外贸业务经理,00202,工业事业部;" + - "GW000110,设备科科长,016,设备科;" + - "GW000111,设备维修工,016,设备科;" + - "GW000112,设备工程师,016,设备科;" + - "GW000113,生管员,005,生产管理部;" + - "GW000114,工艺部部长,011,工艺所;" + - "GW000116,技术员1,013,研究院;" + - "GW000117,焊工,006,机加车间;" + - "GW000118,铆工,018,铆焊车间;" + - "GW000119,助理工程师,013,研究院;" + - "GW000120,技术员2,013,研究院;" + - "GW000121,项目专员,005,生产管理部;" + - "GW000122,售后服务部部长,015,售后服务科;" + - "GW000123,售后工程师,015,售后服务科;" + - "GW000124,算法工程师,013,研究院;" + - "GW000125,PACK研发部主管,013,研究院;" + - "GW000126,BMS应用工程师,013,研究院;" + - "GW000127,仓储部副部长,009,仓储物流部;" + - "GW000128,机械研发部部长,013,研究院;" + - "GW000129,测试员,013,研究院;" + - "GW000130,生产副总助理,00101,总经办;" + - "GW000131,销售内勤,002004,大客户事业部;" + - "GW000133,销售内勤,00201,舞台事业部;" + - "GW000134,区域经理,00201,舞台事业部;" + - "GW000135,营销专员,00201,舞台事业部;" + - "GW000137,外贸员,00202,工业事业部;" + - "GW000139,生管部副部长,005,生产管理部;" + - "GW000140,下料操作工,018,铆焊车间;" + - "GW000141,铆焊工段长,018,铆焊车间;" + - "GW000142,研发一所所长,013,研究院;" + - "GW000143,工步工艺员,006,机加车间;" + - "GW000144,数车工段长,006,机加车间;" + - "GW000145,打磨工,018,铆焊车间;" + - "GW000146,工艺技术员,013,研究院;" + - "GW000147,内勤,005,生产管理部;" + - "GW000148,机械手操作工,018,铆焊车间;" + - "GW000149,激光切操作工,018,铆焊车间;" + - "GW000150,转序员,018,铆焊车间;" + - "GW000151,综合技术员,018,铆焊车间;" + - "GW000152,点收员,004,采购部;" + - "GW000153,机二文员,006,机加车间;" + - "GW000154,外协员,005,生产管理部;" + - "GW000155,机械工程师,013,研究院;" + - "GW000156,机械研发专员,013,研究院;" + - "GW000157,激光淬火操作工,018,铆焊车间;" + - "GW000158,转序员,006,机加车间;" + - "GW000159,电钳采购,023,电钳车间;" + - "GW000160,装配车间主任,007,装配车间;" + - "GW000161,铆焊车间主任,018,铆焊车间;" + - "GW000162,电钳车间主任,023,电钳车间;" + - "GW000163,计划员,005,生产管理部;" + - "GW000164,机二编程员,006,机加车间;" + - "GW000165,攻丝操作员,007,装配车间;" + - "GW000166,电钳工,023,电钳车间;" + - "GW000167,校形操作工,018,铆焊车间;" + - "GW000168,激光切板组长,018,铆焊车间;" + - "GW000169,火焰操作工,018,铆焊车间;" + - "GW000170,火焰、切管组组长,018,铆焊车间;" + - "GW000171,转运组长,018,铆焊车间;" + - "GW000172,下料工段长,018,铆焊车间;" + - "GW000173,激光焊工,018,铆焊车间;" + - "GW000174,焊工,018,铆焊车间;" + - "GW000175,精密件组长,018,铆焊车间;" + - "GW000176,坡口机操作工,018,铆焊车间;" + - "GW000177,自动化组长,018,铆焊车间;" + - "GW000178,行程检测,023,电钳车间;" + - "GW000179,研发二所所长,013,研究院;" + - "GW000180,铆工组长,018,铆焊车间;" + - "GW000181,研发三所所长,013,研究院;" + - "GW000182,电气技术员,013,研究院;" + - "GW000183,库管员,018,铆焊车间;" + - "GW000184,自动化焊接工段长,018,铆焊车间;" + - "GW000185,统计员,018,铆焊车间;" + - "GW000186,研发四所所长,013,研究院;" + - "GW000187,研究院院长,013,研究院;" + - "GW000188,研发六所所长,013,研究院;" + - "GW000189,调试测试工程师,013,研究院;" + - "GW000190,研发七所所长,013,研究院;" + - "GW000191,研究院副院长,013,研究院;" + - "GW000192,人事专员,00103,人资办;" + - "GW000193,信息化主任,00104,信息化办公室;" + - "GW000194,信息化专员,00104,信息化办公室;" + - "GW000195,售后服务科长,015,售后服务科;" + - "GW000196,助理工程师,00202,工业事业部;" + - "GW000197,机械工程师,00202,工业事业部;" + - "GW000198,外贸员,00201,舞台事业部;" + - "GW000199,应收会计,003,财务部;" + - "GW000200,应付会计,003,财务部;" + - "GW000201,机二编程组长,006,机加车间;" + - "GW000202,调度员,005,生产管理部;" + - "GW000203,生产计划员,005,生产管理部;" + - "GW000204,点收员,009,仓储物流部;" + - "GW000205,仓储物流部长,009,仓储物流部;" + - "GW000206,仓储物流副部长,009,仓储物流部;" + - "GW000207,龙门操作员,006,机加车间;" + - "GW000208,制程检验员,012,质量管理部;" + - "GW000209,成品检验员,012,质量管理部;" + - "GW000210,质量管理部长,012,质量管理部;" + - "GW000211,三坐标检验员,012,质量管理部;" + - "GW000212,质量体系工程师,012,质量管理部;" + - "GW000213,普车工段长,006,机加车间;" + - "GW000214,普机操作工,006,机加车间;" + - "GW000215,台钻操作工,006,机加车间;" + - "GW000216,锯床,006,机加车间;" + - "GW000217,磨床操作工,006,机加车间;" + - "GW000218,机三编程员,006,机加车间;" + - "GW000219,线切割组长,006,机加车间;" + - "GW000220,线切割操作工,006,机加车间;" + - "GW000221,数车操作工,006,机加车间;" + - "GW000222,磨齿机操作工,006,机加车间;" + - "GW000223,激光淬火操作工,006,机加车间;" + - "GW000224,编程员,006,机加车间;" + - "GW000225,工段长,006,机加车间;" + - "GW000226,链条组长,007,装配车间;" + - "GW000227,箱体组长,007,装配车间"; + String str = "郝卫明,8000;" + + "郝亮,1500;" + + "柳晓龙,1300;" + + "王旭,800;" + + "张克龙,1500;" + + "贾会涛,500;" + + "李凯伟,2500;" + + "石泽明,500;" + + "马明广,500;" + + "宋金娜,800;" + + "吴海庆,318;" + + "冯翠莎,500;" + + "赵科飞,1000;" + + "李进江,431;" + + "李佳铭,1000;" + + "耿利刚,100;" + + "张雨轩,400;" + + "李永文,1000;" + + "代程翼,900;" + + "李晓亮,800;" + + "李兴酉,800;" + + "王晓凡,800;" + + "董献召,354;" + + "王晓军,300;" + + "苏冰,2000;" + + "吴建彬,500;" + + "王怀志,1000;" + + "张广适,400;" + + "赵兰争,800;" + + "齐乐芳,500;" + + "魏佳蕊,500;" + + "范会雨,424;" + + "康坤兰,500;" + + "牛立革,600;" + + "付佳兴,265;" + + "游梦浩,277;" + + "魏辰强,500;" + + "吴凯亮,400;" + + "董亚军,500;" + + "赵雄飞,1000;" + + "宁世汉,351;" + + "张会杰,500;" + + "王光磊,207;" + + "梅丙立,189;" + + "李泽宇,200;" + + "印子鹏,100;" + + "李雷升,100;" + + "杨策,305;" + + "赵芊慧,200;" + + "朱海斌,100;" + + "李彦辉,100;" + + "李增全,200;" + + "靳立节,100"; String[] aa = str.split(";"); - int sort = 1; - List deptNames = new ArrayList<>(); for (int i = 0; i < aa.length; i++) { String a = aa[i].trim(); String[] ss = a.split(","); - if(!deptNames.contains(ss[3])) { - System.out.println("update sys_dept set dept_code='"+ss[2]+"' where dept_name = '"+ss[3]+"';"); - deptNames.add(ss[3]); - } + System.out.println("CALL `修改其他补助`('"+ss[0]+"', "+ss[1]+");"); // System.out.println("INSERT INTO `evo_cw_dev`.`sys_dict_data` (`dict_sort`, `dict_label`, `dict_value`, `dict_type`, `css_class`, `list_class`, `is_default`, `status`, `create_by`, `create_time`, `update_by`, `update_time`, `remark`) " + // "VALUES ( "+(sort++)+", '"+ss[1]+"', '"+ss[0]+"_"+ss[2]+"', 'job_info', NULL, 'default', 'N', '0', 'admin', now(), '', NULL, NULL);"); diff --git a/evo-admin/src/main/java/com/evo/ding/processor/instance/impl/InstanceChangeReceptionExchangeProcessor.java b/evo-admin/src/main/java/com/evo/ding/processor/instance/impl/InstanceChangeReceptionExchangeProcessor.java index e9fd573..591942c 100644 --- a/evo-admin/src/main/java/com/evo/ding/processor/instance/impl/InstanceChangeReceptionExchangeProcessor.java +++ b/evo-admin/src/main/java/com/evo/ding/processor/instance/impl/InstanceChangeReceptionExchangeProcessor.java @@ -12,6 +12,8 @@ import com.evo.common.utils.StringUtils; import com.evo.ding.DingUtils; import com.evo.ding.processor.instance.InstanceChangeExchangeProcessor; import com.evo.personnelMatters.domain.RzMealExpenses; +import com.evo.personnelMatters.domain.RzMealExpensesDetail; +import com.evo.personnelMatters.service.RzMealExpensesDetailService; import com.evo.personnelMatters.service.RzMealExpensesService; import com.evo.system.mapper.SysDictDataMapper; import lombok.extern.slf4j.Slf4j; @@ -38,6 +40,8 @@ public class InstanceChangeReceptionExchangeProcessor implements InstanceChangeE private SysDictDataMapper sysDictDataMapper; //数据字典 @Resource private RzMealExpensesService rzMealExpensesService; + @Resource + RzMealExpensesDetailService rzMealExpensesDetailService; @Override public boolean accept(String processCode) { return InstanceChangeExchangeProcessor.PROCESS_CODE_RECEPTION_CARD.equals(processCode); @@ -65,13 +69,17 @@ public class InstanceChangeReceptionExchangeProcessor implements InstanceChangeE BigDecimal unitPrice = DataUtils.DEFAULT_VALUE; //查询消费情况 Map dicMap = sysDictDataMapper.selectDictDataByType(Constants.SYS_RESTAUTANT).stream().collect(Collectors.toMap(SysDictData::getDictCode, SysDictData::getDictValue)); - + RzMealExpensesDetail detail = new RzMealExpensesDetail(); + detail.setType(3); if("早餐".equals(diningType)){ unitPrice = new BigDecimal(dicMap.get(Constants.zc_code)); + detail.setMealVoucherType("早餐"); }else if ("午餐".equals(diningType)){ unitPrice = new BigDecimal(dicMap.get(Constants.wc_code)); + detail.setMealVoucherType("午餐"); } else if ("晚餐".equals(diningType)) { unitPrice = new BigDecimal(dicMap.get(Constants.wcc_code)); + detail.setMealVoucherType("晚餐"); } BigDecimal totalAmount = unitPrice.multiply(new BigDecimal(diningNum)); //预计月份 @@ -82,16 +90,23 @@ public class InstanceChangeReceptionExchangeProcessor implements InstanceChangeE RzMealExpenses rzMealExpenses = new RzMealExpenses(); if(Collections.isNotEmpty(list)){ rzMealExpenses = list.get(0); - rzMealExpenses.setHospitalityFee(new BigDecimal(DataUtils.findDefaultValue(rzMealExpenses.getHospitalityFee(), 0d)).add(totalAmount).doubleValue()); - rzMealExpensesService.updateRzMealExpenses(rzMealExpenses); +// rzMealExpenses.setHospitalityFee(totalAmount.add(new BigDecimal(DataUtils.findDefaultValue(rzMealExpenses.getHospitalityFee(), 0d))).doubleValue()); +// rzMealExpensesService.updateById(rzMealExpenses); }else { rzMealExpenses = new RzMealExpenses(); rzMealExpenses.setYearMonthTime(month.substring(0, 7)); rzMealExpenses.setWaterUnitPrice(ParamUtils.getWaterUnitPrice()); rzMealExpenses.setElectricityUnitPrice(ParamUtils.getElectricityUnitPrice()); - rzMealExpenses.setHospitalityFee(totalAmount.doubleValue()); +// rzMealExpenses.setHospitalityFee(totalAmount.doubleValue()); rzMealExpensesService.save(rzMealExpenses); } + detail.setExpensesId(rzMealExpenses.getId()); + detail.setNum(Integer.valueOf(diningNum)); + detail.setUnitPrice(unitPrice.doubleValue()); + detail.setTotalPrice(totalAmount.doubleValue()); + detail.setCompanyName("YT"); //默认为河北伊特 + rzMealExpensesDetailService.saveRzMealExpensesDetail(detail); + } catch (Exception e) { log.error("解析招待审批出现错误:错误信息为:{}", e.getMessage()); e.printStackTrace(); diff --git a/evo-admin/src/main/java/com/evo/finance/mapper/RzSalaryDetailMapper.java b/evo-admin/src/main/java/com/evo/finance/mapper/RzSalaryDetailMapper.java index 88e5fae..672d149 100644 --- a/evo-admin/src/main/java/com/evo/finance/mapper/RzSalaryDetailMapper.java +++ b/evo-admin/src/main/java/com/evo/finance/mapper/RzSalaryDetailMapper.java @@ -53,7 +53,7 @@ public interface RzSalaryDetailMapper extends BaseMapper * @param staffId 工资详情主键 * @return 工资详情 */ - public RzSalaryDetail selectRzSalaryDetailByStaffId(Long staffId); + public RzSalaryDetail selectRzSalaryDetailByStaffId(@Param("staffId") Long staffId, @Param("month")Date month); /** * 根据月份查询工资详情列表 diff --git a/evo-admin/src/main/java/com/evo/finance/processor/SalaryCalculationStrategyExchangeProcessor.java b/evo-admin/src/main/java/com/evo/finance/processor/SalaryCalculationStrategyExchangeProcessor.java index b4a7e4c..e1b33db 100644 --- a/evo-admin/src/main/java/com/evo/finance/processor/SalaryCalculationStrategyExchangeProcessor.java +++ b/evo-admin/src/main/java/com/evo/finance/processor/SalaryCalculationStrategyExchangeProcessor.java @@ -227,13 +227,11 @@ public interface SalaryCalculationStrategyExchangeProcessor { default void calculation(SysStaff sysStaff, SysStaffDetail detail, RzSalaryDetail rzSalaryDetail, List> salaryInfoMapList){ RzSalaryDetailMapper rzSalaryDetailMapper = SpringUtils.getBean(RzSalaryDetailMapper.class); - SysStaffDetailMapper sysStaffDetailMapper = SpringUtils.getBean(SysStaffDetailMapper.class); - //获取统计月份 int curr_month = DateUtils.getMonth(rzSalaryDetail.getMonth()); //获取工资统计月份,查询上个月的纳税公司 得到年度免征额 - RzSalaryDetail old_rzSalary = rzSalaryDetailMapper.selectRzSalaryDetailByStaffId(rzSalaryDetail.getStaffId()); + RzSalaryDetail old_rzSalary = rzSalaryDetailMapper.selectRzSalaryDetailByStaffId(rzSalaryDetail.getStaffId(),DateUtils.addMonths(rzSalaryDetail.getMonth(), -1)); BigDecimal annualExemptionAmount = new BigDecimal("5000.00"); //判断员工为 新入职,公司纳税主题改变,同一主题超一年的,同一主题不超一年但跨年的 if(StringUtils.isNull(old_rzSalary) || !old_rzSalary.getWbFlag().equals(sysStaff.getCompanyName()) || curr_month == 12){ diff --git a/evo-admin/src/main/resources/mapper/finance/RzSalaryDetailMapper.xml b/evo-admin/src/main/resources/mapper/finance/RzSalaryDetailMapper.xml index ecc8d6c..86e2e85 100644 --- a/evo-admin/src/main/resources/mapper/finance/RzSalaryDetailMapper.xml +++ b/evo-admin/src/main/resources/mapper/finance/RzSalaryDetailMapper.xml @@ -250,9 +250,9 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" where id = #{id} - - where del_flag = '0' and staff_id = #{staffId} order by month desc limit 1 + where del_flag = '0' and staff_id = #{staffId} and DATE_FORMAT( month, '%Y%m' ) = DATE_FORMAT( #{month} , '%Y%m' ) order by month desc limit 1