GZMachinesWeb/.svn/pristine/74/74d0a16b96f7a3f020f60f4284c...

165 lines
5.2 KiB
Plaintext

package com.bonus.lease.service;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.List;
import java.util.Locale;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import com.bonus.core.DateTimeHelper;
import com.bonus.lease.beans.AgreementBean;
import com.bonus.lease.beans.LeaseApplicationBean;
import com.bonus.lease.dao.AgreementDao;
import com.bonus.lease.dao.LeaseApplicationDao;
import com.bonus.sys.BaseServiceImp;
import com.bonus.sys.UserShiroHelper;
import com.bonus.wf.beans.ProcessRecordBean;
import com.bonus.wf.beans.TaskRecordBean;
import com.bonus.wf.dao.ProcessRecordDao;
import com.bonus.wf.dao.TaskRecordDao;
@Service("leaseApplicationService")
public class LeaseApplicationServiceImp extends BaseServiceImp<LeaseApplicationBean> implements LeaseApplicationService{
@Autowired LeaseApplicationDao dao;
@Autowired ProcessRecordDao prdao;
@Autowired TaskRecordDao trdao;
@Autowired AgreementDao adao;
@Override
public void addLeaseApply(LeaseApplicationBean o) {
ProcessRecordBean process = new ProcessRecordBean();
String userId = UserShiroHelper.getRealCurrentUser().getId()+"";
String userName = UserShiroHelper.getRealCurrentUser().getName();
//新增领料申请明细表单
o.setOperator(userName);
o.setOperationTime(DateTimeHelper.getNowTime());
o.setApplyTime(DateTimeHelper.getNowTime());
AgreementBean a = new AgreementBean();
a.setCode(o.getAgreementCode());
List<AgreementBean> list = adao.findAgreeCodeId(a);
String agreeId = "";
if(list.size() > 0){
agreeId = list.get(0).getId();
}
o.setAgreementId(agreeId);
o.setApplyNumber(findApplyNumber(o));
dao.insert(o);
//新增领料流程记录
process.setOperationTime(DateTimeHelper.getNowTime());
process.setOperationUserId(userId);
process.setProcessId("2");
prdao.insert(process);
//新增领料申请任务
TaskRecordBean task = new TaskRecordBean();
String companyId = UserShiroHelper.getRealCurrentUser().getCompanyId();
task.setCompanyId(companyId);
task.setDefinitionId("1");
task.setTaskId(o.getId());
task.setIsFinish("0");
task.setOperationTime(DateTimeHelper.getNowTime());
task.setOperationUserId(userId);
task.setProcessId("2");
task.setRemark(o.getRemark());
task.setNumber(o.getApplyNumber());
task.setLeasePerson(o.getProposer());
task.setPhone(o.getPhone());
trdao.insert(task);
}
@Override
public List<AgreementBean> findAgreeCode(AgreementBean o) {
return adao.findAgreeCode(o);
}
@Override
public String findApplyNumber(LeaseApplicationBean o) {
String yearLast = new SimpleDateFormat("yy",Locale.CHINESE).format(Calendar.getInstance().getTime());
String nowDay = DateTimeHelper.getFormatNowMonthAndDay();
String operationTime = DateTimeHelper.getNowDate();
o.setApplyTime(operationTime);
String count = dao.findApplyNumber(o);
int str = Integer.parseInt(count) + 1;
String counts = String.format("%03d", str);
String code = "SQ" + yearLast + nowDay + counts;
return code;
}
@Override
public void buildLeaseTask(LeaseApplicationBean o) {
String companyId = UserShiroHelper.getRealCurrentUser().getCompanyId();
//查询领料申请信息
List<LeaseApplicationBean> list = dao.find(o);
String remark="";
String leasePerson="";
String phone="";
String agreementId="";
if(list.size() > 0){
remark = list.get(0).getRemark();
leasePerson = list.get(0).getProposer();
phone = list.get(0).getPhone();
agreementId = list.get(0).getAgreementId();
}
//生成领料单编号
String yearLast = new SimpleDateFormat("yy",Locale.CHINESE).format(Calendar.getInstance().getTime());
String nowDay = DateTimeHelper.getFormatNowMonthAndDay();
String operationTime = DateTimeHelper.getNowDate();
o.setApplyTime(operationTime);
String count = dao.findLeaseApplyNumber(o);
int str = Integer.parseInt(count);
String counts = String.format("%03d", str);
String code = "ZL" + yearLast + nowDay + counts;
//创建领料任务
TaskRecordBean tr = new TaskRecordBean();
String userId = UserShiroHelper.getRealCurrentUser().getId()+"";
tr.setDefinitionId("2");
tr.setProcessId("2");
tr.setOperationTime(DateTimeHelper.getNowTime());
tr.setOperationUserId(userId);
tr.setLeasePerson(leasePerson);
tr.setPhone(phone);
tr.setRemark(remark);
tr.setNumber(code);
tr.setCompanyId(companyId);
tr.setIsFinish("0");
tr.setTaskId(o.getTaskId());
TaskRecordBean trApply = new TaskRecordBean();
trApply.setId(o.getTaskId());
trApply.setCompanyId(companyId);
trApply.setIsFinish("1");
trdao.update(trApply);
trdao.insert(tr);
tr.setAgreementId(agreementId);
tr.setTaskId(tr.getId());
trdao.addTaskAgreement(tr);
}
@Override
public Integer deleteApply(LeaseApplicationBean o) {
Integer res = dao.deleteApply(o);
List<LeaseApplicationBean> list = dao.getApplyNumberById(o);
if(list.size() > 0){
dao.delByNumber(list.get(0));
}
return res;
}
@Override
public List<LeaseApplicationBean> getTaskDetails(LeaseApplicationBean o) {
return dao.getTaskDetails(o);
}
@Override
public List<LeaseApplicationBean> getSubInfo(LeaseApplicationBean o) {
return dao.getSubInfo(o);
}
}