@ -19,7 +19,10 @@ import com.dreamchaser.depository_manage.utils.WordUtil;
import org.apache.http.protocol.HTTP ;
import org.springframework.beans.Mergeable ;
import org.springframework.beans.factory.annotation.Autowired ;
import org.springframework.dao.DataAccessException ;
import org.springframework.data.redis.core.RedisOperations ;
import org.springframework.data.redis.core.RedisTemplate ;
import org.springframework.data.redis.core.SessionCallback ;
import org.springframework.stereotype.Service ;
import org.springframework.transaction.annotation.Transactional ;
import cn.hutool.core.lang.Snowflake ;
@ -28,6 +31,7 @@ import java.io.IOException;
import java.math.BigDecimal ;
import java.util.* ;
import java.util.concurrent.TimeUnit ;
import java.util.concurrent.atomic.AtomicInteger ;
/ * *
* @author Dreamchaser
@ -47,7 +51,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
@Autowired
private RoleService roleService ;
@Autowired
private RedisTemplate < String , String > redisTemplate ;
private RedisTemplate < String , String > redisTemplate ;
/ * *
* 提交申请 , 插入一条仓库调度记录
@ -72,61 +76,64 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
/ * *
* 插入一条入库记录
*
* @param map
* @return
* /
@Override
public Integer applicationIn ( Map < String , Object > map ) {
Integer depositoryId = ObjectFormatUtil . toInteger ( map . get ( "depositoryId" ) ) ;
Integer depositoryId = ObjectFormatUtil . toInteger ( map . get ( "depositoryId" ) ) ;
Depository depositoryRecordById = depositoryMapper . findDepositoryRecordById ( depositoryId ) ;
Map < String , Object > temp = new HashMap < > ( ) ;
temp . put ( "dname" , depositoryRecordById . getDname ( ) ) ;
temp . put ( "dcode" , depositoryRecordById . getCode ( ) ) ;
Map < String , Object > temp = new HashMap < > ( ) ;
temp . put ( "dname" , depositoryRecordById . getDname ( ) ) ;
temp . put ( "dcode" , depositoryRecordById . getCode ( ) ) ;
Double Inventory = depositoryMapper . getToDayInventoryByDName ( temp ) ;
String code = createCode ( depositoryRecordById . getDname ( ) , "InOrderNumber" ) ;
String code = createCode ( depositoryRecordById . getDname ( ) , "InOrderNumber" ) ;
Double quantity = Double . parseDouble ( ( String ) map . get ( "quantity" ) ) ;
Integer mid = ObjectFormatUtil . toInteger ( map . get ( "mid" ) ) ;
Material material = materialMapper . findMaterialById ( mid ) ;
// 判断剩余容量是否可以存入
if ( depositoryRecordById . getMaxNumber ( ) - Inventory < quantity ) {
if ( depositoryRecordById . getMaxNumber ( ) - Inventory < quantity ) {
return 0 ;
}
Map < String , Object > param = new HashMap < > ( ) ;
param . put ( "depositoryId" , depositoryId ) ;
param . put ( "mname" , material . getMname ( ) ) ;
Map < String , Object > param = new HashMap < > ( ) ;
param . put ( "depositoryId" , depositoryId ) ;
param . put ( "mname" , material . getMname ( ) ) ;
List < Material > materialByCondition = materialMapper . findMaterialByCondition ( param ) ;
// 计算当前入库材料金额
int amounts = ( int ) ( ( material . getPrice ( ) / 100 ) * quantity * 100 ) ;
map . put ( "price" , amounts ) ;
String simpleTime = DateUtil . getSimpleTime ( new Date ( ) ) ;
map . put ( "applicant_time" , DateUtil . DateTimeToTimeStamp ( simpleTime ) ) ;
map . put ( "code" , code ) ;
map . put ( "applicant_time" , DateUtil . DateTimeToTimeStamp ( simpleTime ) ) ;
map . put ( "code" , code ) ;
// 获取当前材料
if ( materialByCondition . size ( ) > 0 ) { // 如果当前存在
if ( materialByCondition . size ( ) > 0 ) { // 如果当前存在
Material mt = materialByCondition . get ( 0 ) ;
mt . setAmounts ( mt . getAmounts ( ) + amounts ) ;
mt . setQuantity ( ( int ) ( mt . getQuantity ( ) + quantity ) ) ;
materialMapper . updateMaterial ( mt ) ;
} else {
Map < String , Object > insert = new HashMap < > ( ) ;
} else {
Map < String , Object > insert = new HashMap < > ( ) ;
Material materialById = materialMapper . findMaterialById ( mid ) ;
insert . put ( "depositoryId" , depositoryId ) ;
insert . put ( "price" , materialById . getPrice ( ) ) ;
insert . put ( "mname" , materialById . getMname ( ) ) ;
insert . put ( "quantity" , quantity ) ;
insert . put ( "materialTypeId" , materialById . getTypeId ( ) ) ;
insert . put ( "code" , materialById . getCode ( ) ) ;
insert . put ( "unit" , materialById . getUnit ( ) ) ;
insert . put ( "version" , materialById . getVersion ( ) ) ;
insert . put ( "texture" , materialById . getTexture ( ) ) ;
insert . put ( "amounts" , quantity * materialById . getPrice ( ) ) ;
insert . put ( "depositoryCode" , materialById . getDepositoryCode ( ) ) ;
insert . put ( "depositoryId" , depositoryId ) ;
insert . put ( "price" , materialById . getPrice ( ) ) ;
insert . put ( "mname" , materialById . getMname ( ) ) ;
insert . put ( "quantity" , quantity ) ;
insert . put ( "materialTypeId" , materialById . getTypeId ( ) ) ;
insert . put ( "code" , materialById . getCode ( ) ) ;
insert . put ( "unit" , materialById . getUnit ( ) ) ;
insert . put ( "version" , materialById . getVersion ( ) ) ;
insert . put ( "texture" , materialById . getTexture ( ) ) ;
insert . put ( "amounts" , quantity * materialById . getPrice ( ) ) ;
insert . put ( "depositoryCode" , materialById . getDepositoryCode ( ) ) ;
materialMapper . insertMaterial ( insert ) ;
}
return depositoryRecordMapper . insertApplicationInRecord ( map ) ;
}
/ * *
* 插入一条出库记录
*
* @param map
* @return
* /
@ -134,19 +141,23 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
public Integer insertApplicationOutRecord ( Map < String , Object > map ) {
Double quantity = Double . parseDouble ( ( String ) map . get ( "quantity" ) ) ;
Long time = DateUtil . DateTimeToTimeStamp ( DateUtil . getSimpleTime ( new Date ( ) ) ) ;
map . put ( "applicantTime" , time ) ;
map . put ( "applicantTime" , time ) ;
Integer mid = ObjectFormatUtil . toInteger ( map . get ( "mid" ) ) ;
// 获取当前材料
Material materialById = materialMapper . findMaterialById ( mid ) ;
int amounts = ( int ) ( ( materialById . getPrice ( ) / 100 ) * quantity * 100 ) ;
map . put ( "price" , amounts ) ;
String simpleTime = DateUtil . getSimpleTime ( new Date ( ) ) ;
map . put ( "depositoryId" , materialById . getDepositoryId ( ) ) ;
map . put ( "state" , "待部门负责人审核" ) ;
map . put ( "istransfer" , 2 ) ;
map . put ( "depositoryId" , materialById . getDepositoryId ( ) ) ;
map . put ( "state" , "待部门负责人审核" ) ;
map . put ( "istransfer" , 2 ) ;
Map < String , Object > update = new HashMap < > ( ) ;
update . put ( "id" , materialById . getId ( ) ) ;
update . put ( "numberOfTemporary" , materialById . getNumberOfTemporary ( ) + quantity ) ;
materialMapper . updateMaterial ( update ) ;
Depository depositoryRecordById = depositoryMapper . findDepositoryRecordById ( materialById . getDepositoryId ( ) ) ;
String code = createCode ( depositoryRecordById . getDname ( ) , "outOrderNumber" ) ;
map . put ( "code" , code ) ;
String code = createCode ( depositoryRecordById . getDname ( ) , "outOrderNumber" ) ;
map . put ( "code" , code ) ;
return depositoryRecordMapper . insertApplicationOutRecord ( map ) ;
}
@ -162,6 +173,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
/ * *
* 计算购入材料总数
*
* @return
* /
@Override
@ -169,13 +181,14 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
List < ApplicationInRecordP > applicationInRecordPAll = depositoryRecordMapper . findApplicationInRecordPAll ( ) ;
Double sum = 0 . 0 ;
for ( int i = 0 ; i < applicationInRecordPAll . size ( ) ; i + + ) {
sum + = ( double ) applicationInRecordPAll . get ( i ) . getQuantity ( ) ;
sum + = ( double ) applicationInRecordPAll . get ( i ) . getQuantity ( ) ;
}
return sum ;
}
/ * *
* 计算出库材料总数
*
* @param state
* @return
* /
@ -190,8 +203,8 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
}
} else {
for ( int i = 0 ; i < applicationOutRecordPAll . size ( ) ; i + + ) {
if ( state . equals ( applicationOutRecordPAll . get ( i ) . getState ( ) ) ) {
sum + = ( double ) applicationOutRecordPAll . get ( i ) . getQuantity ( ) ;
if ( state . equals ( applicationOutRecordPAll . get ( i ) . getState ( ) ) ) {
sum + = ( double ) applicationOutRecordPAll . get ( i ) . getQuantity ( ) ;
}
}
}
@ -210,21 +223,21 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
Integer mid = ObjectFormatUtil . toInteger ( map . get ( "mid" ) ) ;
Double quantity = Double . parseDouble ( ( String ) map . get ( "quantity" ) ) ;
Material material = materialMapper . findMaterialById ( mid ) ;
map . put ( "depositoryId" , material . getDepositoryId ( ) ) ;
map . put ( "depositoryId" , material . getDepositoryId ( ) ) ;
map . put ( "mid" , mid ) ;
map . put ( "state" , "待部门负责人审核" ) ;
String simpleTime = DateUtil . getSimpleTime ( new Date ( ) ) ;
map . put ( "applicantTime" , DateUtil . DateTimeToTimeStamp ( simpleTime ) ) ;
map . put ( "price" , material . getPrice ( ) * quantity * 100 ) ;
map . put ( "istransfer" , 1 ) ;
map . put ( "istransfer" , 1 ) ;
map . put ( "fromId" , material . getDepositoryId ( ) ) ;
//清除主键
// depositoryRecordMapper.insertApplicationInRecord(map);
transferRecordMapper . addTransferRecord ( map ) ;
TransferRecord transferRecordByCondition = transferRecordMapper . findTransferRecordByCondition ( map ) . get ( 0 ) ;
map . put ( "transferId" , transferRecordByCondition . getId ( ) ) ;
map . put ( "transferId" , transferRecordByCondition . getId ( ) ) ;
Depository depositoryRecordById = depositoryMapper . findDepositoryRecordById ( material . getDepositoryId ( ) ) ;
map . put ( "code" , createCode ( depositoryRecordById . getDname ( ) , "outOrderNumber" ) ) ;
map . put ( "code" , createCode ( depositoryRecordById . getDname ( ) , "outOrderNumber" ) ) ;
//清除主键
return depositoryRecordMapper . insertApplicationOutRecord ( map ) ;
}
@ -252,12 +265,11 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
UserByPort userByPort = PageController . FindUserById ( userIdByDidList . get ( i ) ) ;
depositoryManager + = userByPort . getId ( ) . toString ( ) + "," ;
}
map . put ( "depositoryManager" , depositoryManager ) ;
map . put ( "depositoryManager" , depositoryManager ) ;
} else {
map . put ( "state" , "部门负责人审核未通过" ) ;
}
}
else {
} else {
String simpleTime = DateUtil . getSimpleTime ( new Date ( ) ) ;
map . put ( "depositoryManagerTime" , DateUtil . DateTimeToTimeStamp ( simpleTime ) ) ;
map . put ( "depositoryManager" , userid ) ;
@ -271,16 +283,21 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
Double sum = material . getPrice ( ) * record . getQuantity ( ) ;
material . setAmounts ( material . getAmounts ( ) - sum ) ;
material . setQuantity ( material . getQuantity ( ) - record . getQuantity ( ) ) ;
material . setNumberOfTemporary ( material . getNumberOfTemporary ( ) - record . getQuantity ( ) ) ;
materialMapper . updateMaterial ( material ) ;
if ( record . getIstransfer ( ) = = 1 ) {
map . put ( "quantity" , record . getQuantity ( ) . toString ( ) ) ;
map . put ( "applicantId" , record . getApplicantId ( ) ) ;
map . put ( "transferId" , record . getTransferId ( ) ) ;
if ( record . getIstransfer ( ) = = 1 ) {
map . put ( "quantity" , record . getQuantity ( ) . toString ( ) ) ;
map . put ( "applicantId" , record . getApplicantId ( ) ) ;
map . put ( "transferId" , record . getTransferId ( ) ) ;
transferMaterial ( map ) ;
}
} else {
map . put ( "state" , "未出库" ) ;
map . put ( "depositoryManagerMessage" , "当前仓位库存量不足" ) ;
map . put ( "state" , "未出库" ) ;
map . put ( "depositoryManagerMessage" , "当前仓位库存量不足" ) ;
Map < String , Object > update = new HashMap < > ( ) ;
update . put ( "id" , material . getId ( ) ) ;
update . put ( "numberOfTemporary" , 0 ) ;
materialMapper . updateMaterial ( update ) ;
depositoryRecordMapper . updateApplicationOutRecord ( map ) ;
return - 1 ;
}
@ -294,36 +311,37 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
/ * *
* 转移物品
*
* @param map
* /
public void transferMaterial ( Map < String , Object > map ) {
Map < String , Object > param = new HashMap < > ( ) ;
public void transferMaterial ( Map < String , Object > map ) {
Map < String , Object > param = new HashMap < > ( ) ;
Integer transferId = ObjectFormatUtil . toInteger ( map . get ( "transferId" ) ) ;
TransferRecord transferRecor = transferRecordMapper . findTransferRecordById ( transferId ) ;
Integer mid = transferRecor . getMid ( ) ;
Material material = materialMapper . findMaterialById ( mid ) ;
param . put ( "mname" , material . getMname ( ) ) ;
param . put ( "depositoryId" , transferRecor . getToId ( ) ) ;
param . put ( "mname" , material . getMname ( ) ) ;
param . put ( "depositoryId" , transferRecor . getToId ( ) ) ;
List < Material > materiallist = materialMapper . findMaterialByCondition ( param ) ;
if ( materiallist . size ( ) > 0 ) {
map . put ( "depositoryId" , transferRecor . getToId ( ) ) ;
if ( materiallist . size ( ) > 0 ) {
map . put ( "depositoryId" , transferRecor . getToId ( ) ) ;
applicationIn ( map ) ;
map . put ( "mid" , materiallist . get ( 0 ) . getId ( ) ) ;
} else {
Map < String , Object > insert = new HashMap < > ( ) ;
map . put ( "mid" , materiallist . get ( 0 ) . getId ( ) ) ;
} else {
Map < String , Object > insert = new HashMap < > ( ) ;
Material materialById = materialMapper . findMaterialById ( mid ) ;
Integer quantity = ObjectFormatUtil . toInteger ( map . get ( "quantity" ) ) ;
insert . put ( "depositoryId" , transferRecor . getToId ( ) ) ;
insert . put ( "price" , materialById . getPrice ( ) ) ;
insert . put ( "mname" , materialById . getMname ( ) ) ;
insert . put ( "quantity" , quantity ) ;
insert . put ( "materialTypeId" , materialById . getTypeId ( ) ) ;
insert . put ( "code" , materialById . getCode ( ) ) ;
insert . put ( "unit" , materialById . getUnit ( ) ) ;
insert . put ( "version" , materialById . getVersion ( ) ) ;
insert . put ( "texture" , materialById . getTexture ( ) ) ;
insert . put ( "amounts" , quantity * materialById . getPrice ( ) ) ;
insert . put ( "depositoryCode" , materialById . getDepositoryCode ( ) ) ;
insert . put ( "depositoryId" , transferRecor . getToId ( ) ) ;
insert . put ( "price" , materialById . getPrice ( ) ) ;
insert . put ( "mname" , materialById . getMname ( ) ) ;
insert . put ( "quantity" , quantity ) ;
insert . put ( "materialTypeId" , materialById . getTypeId ( ) ) ;
insert . put ( "code" , materialById . getCode ( ) ) ;
insert . put ( "unit" , materialById . getUnit ( ) ) ;
insert . put ( "version" , materialById . getVersion ( ) ) ;
insert . put ( "texture" , materialById . getTexture ( ) ) ;
insert . put ( "amounts" , quantity * materialById . getPrice ( ) ) ;
insert . put ( "depositoryCode" , materialById . getDepositoryCode ( ) ) ;
materialMapper . insertMaterial ( insert ) ;
}
}
@ -388,6 +406,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
/ * *
* 根据条件查询入库记录 , 同时支持分页查询
*
* @param map
* @return
* /
@ -402,9 +421,9 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
page = ObjectFormatUtil . toInteger ( map . get ( "page" ) ) ;
map . put ( "begin" , ( page - 1 ) * size ) ;
}
if ( map . containsKey ( "applyTime" ) ) {
if ( map . containsKey ( "applyTime" ) ) {
String applyTime = ( String ) map . get ( "applyTime" ) ;
map . put ( "applicantTime" , DateUtil . DateTimeByMonthToTimeStamp ( applyTime ) ) ;
map . put ( "applicantTime" , DateUtil . DateTimeByMonthToTimeStamp ( applyTime ) ) ;
}
List < ApplicationInRecordP > list = depositoryRecordMapper . findApplicationInRecordPByCondition ( map ) ;
for ( int i = 0 ; i < list . size ( ) ; i + + ) {
@ -412,12 +431,14 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
String time = DateUtil . TimeStampToDateTime ( Long . valueOf ( list . get ( i ) . getApplicantTime ( ) ) ) ;
list . get ( i ) . setApplicantName ( userByPortById . getName ( ) ) ;
list . get ( i ) . setApplicantTime ( time ) ;
list . get ( i ) . setApplyRemark ( list . get ( i ) . getApplyRemark ( ) = = null ? "" : list . get ( i ) . getApplyRemark ( ) ) ;
list . get ( i ) . setApplyRemark ( list . get ( i ) . getApplyRemark ( ) = = null ? "" : list . get ( i ) . getApplyRemark ( ) ) ;
}
return list ;
}
/ * *
* 根据条件查询出库记录 , 同时支持分页查询
*
* @param map
* @return
* /
@ -432,9 +453,9 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
page = ObjectFormatUtil . toInteger ( map . get ( "page" ) ) ;
map . put ( "begin" , ( page - 1 ) * size ) ;
}
if ( map . containsKey ( "applyTime" ) ) {
if ( map . containsKey ( "applyTime" ) ) {
String applyTime = ( String ) map . get ( "applyTime" ) ;
map . put ( "applicantTime" , DateUtil . DateTimeByMonthToTimeStamp ( applyTime ) ) ;
map . put ( "applicantTime" , DateUtil . DateTimeByMonthToTimeStamp ( applyTime ) ) ;
}
List < ApplicationOutRecordP > list = depositoryRecordMapper . findApplicationOutRecordPByCondition ( map ) ;
for ( int i = 0 ; i < list . size ( ) ; i + + ) {
@ -442,13 +463,14 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
String time = DateUtil . TimeStampToDateTime ( Long . valueOf ( list . get ( i ) . getApplicantTime ( ) ) ) ;
list . get ( i ) . setApplicantName ( userByPortById . getName ( ) ) ;
list . get ( i ) . setApplicantTime ( time ) ;
list . get ( i ) . setApplyRemark ( list . get ( i ) . getApplyRemark ( ) = = null ? "" : list . get ( i ) . getApplyRemark ( ) ) ;
list . get ( i ) . setApplyRemark ( list . get ( i ) . getApplyRemark ( ) = = null ? "" : list . get ( i ) . getApplyRemark ( ) ) ;
}
return list ;
}
/ * *
* 根据条件查询出库记录数目
*
* @param map
* @return
* /
@ -459,6 +481,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
/ * *
* 根据id查询出库记录
*
* @param id
* @return
* /
@ -469,6 +492,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
/ * *
* 根据条件查询入库记录数目
*
* @param map
* @return
* /
@ -539,6 +563,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
public Integer findMyTaskCount ( Map < String , Object > map ) {
return depositoryRecordMapper . findMyTaskCount ( map ) ;
}
/ * *
* 返回该我的任务数 ( 完成或者未完成 )
*
@ -571,13 +596,13 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
Double sum = 0 . 0 ;
if ( state . isEmpty ( ) ) {
for ( int i = 0 ; i < depositoryRecordAll . size ( ) ; i + + ) {
if ( Integer . compare ( depositoryRecordAll . get ( i ) . getType ( ) , type ) = = 0 ) {
if ( Integer . compare ( depositoryRecordAll . get ( i ) . getType ( ) , type ) = = 0 ) {
sum + = depositoryRecordAll . get ( i ) . getQuantity ( ) ;
}
}
} else {
for ( int i = 0 ; i < depositoryRecordAll . size ( ) ; i + + ) {
if ( Integer . compare ( depositoryRecordAll . get ( i ) . getType ( ) , type ) = = 0 & & state . equals ( depositoryRecordAll . get ( i ) . getState ( ) ) ) {
if ( Integer . compare ( depositoryRecordAll . get ( i ) . getType ( ) , type ) = = 0 & & state . equals ( depositoryRecordAll . get ( i ) . getState ( ) ) ) {
sum + = depositoryRecordAll . get ( i ) . getQuantity ( ) ;
}
}
@ -599,13 +624,13 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
Double sum = 0 . 0 ;
if ( state . isEmpty ( ) ) {
for ( int i = 0 ; i < depositoryRecordAll . size ( ) ; i + + ) {
if ( Integer . compare ( depositoryRecordAll . get ( i ) . getType ( ) , type ) = = 0 ) {
if ( Integer . compare ( depositoryRecordAll . get ( i ) . getType ( ) , type ) = = 0 ) {
sum + = ( depositoryRecordAll . get ( i ) . getPrice ( ) / 100 ) ;
}
}
} else {
for ( int i = 0 ; i < depositoryRecordAll . size ( ) ; i + + ) {
if ( Integer . compare ( depositoryRecordAll . get ( i ) . getType ( ) , type ) = = 0 & & state . equals ( depositoryRecordAll . get ( i ) . getState ( ) ) ) {
if ( Integer . compare ( depositoryRecordAll . get ( i ) . getType ( ) , type ) = = 0 & & state . equals ( depositoryRecordAll . get ( i ) . getState ( ) ) ) {
sum + = ( depositoryRecordAll . get ( i ) . getPrice ( ) / 100 ) ;
}
}
@ -617,6 +642,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
/ * *
* 计算入库材料总额
*
* @return
* /
@Override
@ -625,7 +651,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
Double sum = 0 . 0 ;
for ( int i = 0 ; i < applicationInRecordPAll . size ( ) ; i + + ) {
double price = applicationInRecordPAll . get ( i ) . getPrice ( ) ;
sum + = price / 100 ;
sum + = price / 100 ;
}
BigDecimal bg = new BigDecimal ( sum ) ;
sum = bg . setScale ( 2 , BigDecimal . ROUND_HALF_UP ) . doubleValue ( ) ;
@ -634,6 +660,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
/ * *
* 计算出库材料总额
*
* @param state
* @return
* /
@ -644,14 +671,14 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
if ( state . isEmpty ( ) ) {
for ( int i = 0 ; i < applicationOutRecordPAll . size ( ) ; i + + ) {
Double price = applicationOutRecordPAll . get ( i ) . getPrice ( ) ;
sum + = ( double ) ( price / 100 ) ;
sum + = ( double ) ( price / 100 ) ;
}
} else {
for ( int i = 0 ; i < applicationOutRecordPAll . size ( ) ; i + + ) {
if ( state . equals ( applicationOutRecordPAll . get ( i ) . getState ( ) ) ) {
if ( state . equals ( applicationOutRecordPAll . get ( i ) . getState ( ) ) ) {
Double price = applicationOutRecordPAll . get ( i ) . getPrice ( ) ;
sum + = ( double ) ( price / 100 ) ;
sum + = ( double ) ( price / 100 ) ;
}
}
}
@ -701,7 +728,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
map . put ( "depositoryId" , depositoryId ) ;
if ( type = = 1 ) {
return depositoryRecordMapper . findApplicationInRecordByDate ( map ) ;
} else {
} else {
map . put ( "state" , "已出库" ) ;
return depositoryRecordMapper . findApplicationOutRecordByDate ( map ) ;
}
@ -763,10 +790,10 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
@Override
public Double findMaterialCountByMonth1 ( Map < String , Object > map ) {
Integer type = ObjectFormatUtil . toInteger ( map . get ( "type" ) ) ;
if ( type = = 1 ) {
if ( type = = 1 ) {
// 如果入库
return depositoryRecordMapper . findApplicationInByMonth ( map ) ;
} else {
} else {
// 如果出库
return depositoryRecordMapper . findApplicationOutByMonth ( map ) ;
}
@ -784,6 +811,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
/ * *
* 根据id查询入库记录
*
* @param id
* @return
* /
@ -794,8 +822,9 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
/ * *
* 根据id删除入库记录
* @return 受影响的行数
*
* @param id
* @return 受影响的行数
* /
@Override
public Integer deleteApplicationInRecordById ( Integer id ) {
@ -804,6 +833,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
/ * *
* 根据id集合删除多条入库记录
*
* @param list id集合
* @return 受影响的行数
* /
@ -813,7 +843,6 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
}
/ * *
* 对查出来的记录进行包装 , 包装成前端需要的数据
*
@ -842,7 +871,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
for ( SimpleApplicationOutRecord record : list ) {
SimpleApplicationOutRecordP d = new SimpleApplicationOutRecordP ( record ) ;
UserByPort userByPort = findUserByPortById ( record . getApplicantId ( ) ) ;
d . setApplyRemark ( d . getApplyRemark ( ) = = null ? "" : d . getApplyRemark ( ) ) ;
d . setApplyRemark ( d . getApplyRemark ( ) = = null ? "" : d . getApplyRemark ( ) ) ;
d . setApplicantName ( userByPort . getName ( ) ) ;
result . add ( d ) ;
}
@ -881,6 +910,7 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
/ * *
* 根据id获取对应用户
*
* @param id
* @return
* /
@ -898,27 +928,29 @@ public class DepositoryRecordServiceImpl implements DepositoryRecordService {
}
JSONObject jsonObject = JSONObject . parseObject ( post ) ;
JSONObject data = ( JSONObject ) jsonObject . get ( "data" ) ;
UserByPort userByPort = JSONObject . toJavaObject ( data , UserByPort . class ) ;
UserByPort userByPort = JSONObject . toJavaObject ( data , UserByPort . class ) ;
return userByPort ;
}
/ * *
* 生成单号
*
* @param depositoryName
* @return
* /
private String createCode ( String depositoryName , String key ) {
private String createCode ( String depositoryName , String key ) {
// 单号(公司简称+仓库简称+年月日+数字(位数设置>=9))
String code = "GK" ;
String nowTime = DateUtil . getNowTime ( ) ;
depositoryName = WordUtil . getPinYinHeadChar ( depositoryName ) ;
String orderNumber = redisTemplate . opsForValue ( ) . get ( key ) ;
if ( orderNumber = = null ) {
redisTemplate . opsForValue ( ) . set ( key , "1" , DateUtil . getSecondsNextEarlyMorning ( ) , TimeUnit . SECONDS ) ;
if ( orderNumber = = null ) {
redisTemplate . opsForValue ( ) . set ( key , "1" , DateUtil . getSecondsNextEarlyMorning ( ) , TimeUnit . SECONDS ) ;
orderNumber = "1" ;
}
int newNumber = ObjectFormatUtil . toInteger ( orderNumber ) + 1 ;
redisTemplate . boundValueOps ( key ) . set ( String . valueOf ( newNumber ) , DateUtil . getSecondsNextEarlyMorning ( ) , TimeUnit . SECONDS ) ;
redisTemplate . boundValueOps ( key ) . set ( String . valueOf ( newNumber ) , DateUtil . getSecondsNextEarlyMorning ( ) , TimeUnit . SECONDS ) ;
orderNumber = String . format ( "%09d" , ObjectFormatUtil . toInteger ( orderNumber ) ) ;
code = code + depositoryName + nowTime + orderNumber ;
return code ;